From 3f6fef03df31e8aee654b80cc07ee3aebb67394a Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Thu, 25 May 2023 14:55:02 -0500 Subject: [PATCH] add a lisp server potentially --- src/compile.lisp | 9 +++++ src/health-form.lisp | 6 ---- src/server/main.lisp | 46 ++++++++++++++++++++++++ static/js/forms.js | 76 ++++++++++++++++++++-------------------- static/js/health-form.js | 4 +-- 5 files changed, 95 insertions(+), 46 deletions(-) create mode 100644 src/compile.lisp create mode 100644 src/server/main.lisp diff --git a/src/compile.lisp b/src/compile.lisp new file mode 100644 index 0000000..0eec152 --- /dev/null +++ b/src/compile.lisp @@ -0,0 +1,9 @@ +(load "~/quicklisp/setup.lisp") +(ql:quickload :parenscript) + +(defpackage tfcconnection + (:use #:ps)) + +(in-package :tfcconnection) + +(with-open-file (ps:*parenscript-stream* #P"~/dev/tfcconnection/static/js/health-form.js" :direction :output :if-exists :supersede) (ps:ps-compile-file #P"~/dev/tfcconnection/src/health-form.lisp")) diff --git a/src/health-form.lisp b/src/health-form.lisp index e0764da..77f8e85 100644 --- a/src/health-form.lisp +++ b/src/health-form.lisp @@ -1,9 +1,3 @@ -;; (load "~/quicklisp/setup.lisp") -;; (ql:quickload :parenscript) - -(defpackage tfcconnection - (:use #:ps)) - (in-package :tfcconnection) (defun submit-form () diff --git a/src/server/main.lisp b/src/server/main.lisp new file mode 100644 index 0000000..f763f06 --- /dev/null +++ b/src/server/main.lisp @@ -0,0 +1,46 @@ +(load "~/quicklisp/setup.lisp") +(ql:quickload :hunchentoot) +(ql:quickload :caveman2) +(ql:quickload :jsown) +(ql:quickload :cl-json) + +(defpackage tfc-server + (:use #:hunchentoot #:jsown #:caveman2 #:com.inuoe.jzon)) + +(in-package :tfcconnection) + +(defun handle-post-request (request) + (let ((form-data (hunchentoot:req request))) + (with-response-buffer (stream :content-type "text/plain") + (format stream "Received form data: ~A" form-data)))) + +(push (create-prefix-dispatcher "/data" 'handle-post-request) hunchentoot:*dispatch-table*) + +(hunchentoot:define-easy-handler (say-yo :uri "/yo") (name) + (setf (hunchentoot:content-type*) "text/plain") + (format nil "Hey~@[ ~A~]!" name)) + +(hunchentoot:define-easy-handler (respond :uri "/health-form") () + (setf (hunchentoot:content-type*) "multipart/form-data") + (let ((request-type (hunchentoot:request-method hunchentoot:*request*))) + (cond ((eq request-type :get) nil) + ((eq request-type :post) + (let* ((data (hunchentoot:raw-post-data :force-text t)) + (json-obj (com.inuoe.jzon:parse data)) + ) + ;; (print (format nil "Json: ~A" (com.inuoe.jzon:stringify json-obj))) + (uiop:println "Received Health Form") + (render-json json-obj) + (process-form json-obj) + data))))) + +(defvar *last*) + +(defun process-form (form) + "Processes the form and sends it on" + (uiop:println (gethash "yes" form))) + + +(defun render-json (object) + (uiop:println (format nil "Json: ~A" (com.inuoe.jzon:stringify object)))) + diff --git a/static/js/forms.js b/static/js/forms.js index 197e80a..0ffb918 100644 --- a/static/js/forms.js +++ b/static/js/forms.js @@ -1,7 +1,7 @@ var shadow$provide = {}; var CLOSURE_NO_DEPS = true; var CLOSURE_BASE_PATH = '/js/cljs-runtime/'; -var CLOSURE_DEFINES = {"shadow.cljs.devtools.client.env.repl_pprint":false,"shadow.cljs.devtools.client.env.reload_strategy":"optimized","shadow.cljs.devtools.client.env.devtools_url":"","shadow.cljs.devtools.client.env.autoload":true,"shadow.cljs.devtools.client.env.proc_id":"fd1add0f-1ab2-4608-b025-6d2e0178c920","shadow.cljs.devtools.client.env.use_document_protocol":false,"goog.ENABLE_DEBUG_LOADER":false,"shadow.cljs.devtools.client.env.server_port":9630,"shadow.cljs.devtools.client.env.server_token":"4c578756-7a1e-4621-873e-b2291a1571ef","shadow.cljs.devtools.client.env.use_document_host":true,"shadow.cljs.devtools.client.env.module_format":"goog","goog.LOCALE":"en","shadow.cljs.devtools.client.env.build_id":"app","shadow.cljs.devtools.client.env.ignore_warnings":false,"goog.DEBUG":true,"shadow.cljs.devtools.client.env.log":true,"shadow.cljs.devtools.client.env.ssl":false,"shadow.cljs.devtools.client.env.enabled":true,"shadow.cljs.devtools.client.env.server_host":"localhost","shadow.cljs.devtools.client.env.worker_client_id":2,"goog.TRANSPILE":"never"}; +var CLOSURE_DEFINES = {"shadow.cljs.devtools.client.env.repl_pprint":false,"shadow.cljs.devtools.client.env.reload_strategy":"optimized","shadow.cljs.devtools.client.env.devtools_url":"","shadow.cljs.devtools.client.env.autoload":true,"shadow.cljs.devtools.client.env.proc_id":"e3edcfbf-2725-45a2-9574-9a634116b51d","shadow.cljs.devtools.client.env.use_document_protocol":false,"goog.ENABLE_DEBUG_LOADER":false,"shadow.cljs.devtools.client.env.server_port":9630,"shadow.cljs.devtools.client.env.server_token":"d53f07c4-7782-4a5d-aa2e-0740356a75be","shadow.cljs.devtools.client.env.use_document_host":true,"shadow.cljs.devtools.client.env.module_format":"goog","goog.LOCALE":"en","shadow.cljs.devtools.client.env.build_id":"app","shadow.cljs.devtools.client.env.ignore_warnings":false,"goog.DEBUG":true,"shadow.cljs.devtools.client.env.log":true,"shadow.cljs.devtools.client.env.ssl":false,"shadow.cljs.devtools.client.env.enabled":true,"shadow.cljs.devtools.client.env.server_host":"localhost","shadow.cljs.devtools.client.env.worker_client_id":2,"goog.TRANSPILE":"never"}; var COMPILED = false; var goog = goog || {}; goog.global = this || self; @@ -1439,9 +1439,9 @@ SHADOW_ENV.evalLoad("goog.structs.structs.js", true , "goog.provide(\x22goog.str SHADOW_ENV.evalLoad("goog.uri.utils.js", true , "goog.provide(\x22goog.uri.utils\x22);\ngoog.provide(\x22goog.uri.utils.ComponentIndex\x22);\ngoog.provide(\x22goog.uri.utils.QueryArray\x22);\ngoog.provide(\x22goog.uri.utils.QueryValue\x22);\ngoog.provide(\x22goog.uri.utils.StandardQueryParam\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.string\x22);\ngoog.uri.utils.CharCode_ \x3d {AMPERSAND:38, EQUAL:61, HASH:35, QUESTION:63};\ngoog.uri.utils.buildFromEncodedParts \x3d function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_queryData, opt_fragment) {\n var out \x3d \x22\x22;\n if (opt_scheme) {\n out +\x3d opt_scheme + \x22:\x22;\n }\n if (opt_domain) {\n out +\x3d \x22//\x22;\n if (opt_userInfo) {\n out +\x3d opt_userInfo + \x22@\x22;\n }\n out +\x3d opt_domain;\n if (opt_port) {\n out +\x3d \x22:\x22 + opt_port;\n }\n }\n if (opt_path) {\n out +\x3d opt_path;\n }\n if (opt_queryData) {\n out +\x3d \x22?\x22 + opt_queryData;\n }\n if (opt_fragment) {\n out +\x3d \x22#\x22 + opt_fragment;\n }\n return out;\n};\ngoog.uri.utils.splitRe_ \x3d new RegExp(\x22^\x22 + \x22(?:\x22 + \x22([^:/?#.]+)\x22 + \x22:)?\x22 + \x22(?://\x22 + \x22(?:([^\\\\\\\\/?#]*)@)?\x22 + \x22([^\\\\\\\\/?#]*?)\x22 + \x22(?::([0-9]+))?\x22 + \x22(?\\x3d[\\\\\\\\/?#]|$)\x22 + \x22)?\x22 + \x22([^?#]+)?\x22 + \x22(?:\\\\?([^#]*))?\x22 + \x22(?:#([\\\\s\\\\S]*))?\x22 + \x22$\x22);\ngoog.uri.utils.ComponentIndex \x3d {SCHEME:1, USER_INFO:2, DOMAIN:3, PORT:4, PATH:5, QUERY_DATA:6, FRAGMENT:7};\ngoog.uri.utils.urlPackageSupportLoggingHandler_ \x3d null;\ngoog.uri.utils.setUrlPackageSupportLoggingHandler \x3d function(handler) {\n goog.uri.utils.urlPackageSupportLoggingHandler_ \x3d handler;\n};\ngoog.uri.utils.split \x3d function(uri) {\n var result \x3d uri.match(goog.uri.utils.splitRe_);\n if (goog.uri.utils.urlPackageSupportLoggingHandler_ \x26\x26 [\x22http\x22, \x22https\x22, \x22ws\x22, \x22wss\x22, \x22ftp\x22].indexOf(result[goog.uri.utils.ComponentIndex.SCHEME]) \x3e\x3d 0) {\n goog.uri.utils.urlPackageSupportLoggingHandler_(uri);\n }\n return result;\n};\ngoog.uri.utils.decodeIfPossible_ \x3d function(uri, opt_preserveReserved) {\n if (!uri) {\n return uri;\n }\n return opt_preserveReserved ? decodeURI(uri) : decodeURIComponent(uri);\n};\ngoog.uri.utils.getComponentByIndex_ \x3d function(componentIndex, uri) {\n return goog.uri.utils.split(uri)[componentIndex] || null;\n};\ngoog.uri.utils.getScheme \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME, uri);\n};\ngoog.uri.utils.getEffectiveScheme \x3d function(uri) {\n var scheme \x3d goog.uri.utils.getScheme(uri);\n if (!scheme \x26\x26 goog.global.self \x26\x26 goog.global.self.location) {\n var protocol \x3d goog.global.self.location.protocol;\n scheme \x3d protocol.slice(0, -1);\n }\n return scheme ? scheme.toLowerCase() : \x22\x22;\n};\ngoog.uri.utils.getUserInfoEncoded \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO, uri);\n};\ngoog.uri.utils.getUserInfo \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(uri));\n};\ngoog.uri.utils.getDomainEncoded \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN, uri);\n};\ngoog.uri.utils.getDomain \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(uri), true);\n};\ngoog.uri.utils.getPort \x3d function(uri) {\n return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT, uri)) || null;\n};\ngoog.uri.utils.getPathEncoded \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH, uri);\n};\ngoog.uri.utils.getPath \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(uri), true);\n};\ngoog.uri.utils.getQueryData \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA, uri);\n};\ngoog.uri.utils.getFragmentEncoded \x3d function(uri) {\n var hashIndex \x3d uri.indexOf(\x22#\x22);\n return hashIndex \x3c 0 ? null : uri.slice(hashIndex + 1);\n};\ngoog.uri.utils.setFragmentEncoded \x3d function(uri, fragment) {\n return goog.uri.utils.removeFragment(uri) + (fragment ? \x22#\x22 + fragment : \x22\x22);\n};\ngoog.uri.utils.getFragment \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(uri));\n};\ngoog.uri.utils.getHost \x3d function(uri) {\n var pieces \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], pieces[goog.uri.utils.ComponentIndex.USER_INFO], pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);\n};\ngoog.uri.utils.getOrigin \x3d function(uri) {\n var pieces \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], null, pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);\n};\ngoog.uri.utils.getPathAndAfter \x3d function(uri) {\n var pieces \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(null, null, null, null, pieces[goog.uri.utils.ComponentIndex.PATH], pieces[goog.uri.utils.ComponentIndex.QUERY_DATA], pieces[goog.uri.utils.ComponentIndex.FRAGMENT]);\n};\ngoog.uri.utils.removeFragment \x3d function(uri) {\n var hashIndex \x3d uri.indexOf(\x22#\x22);\n return hashIndex \x3c 0 ? uri : uri.slice(0, hashIndex);\n};\ngoog.uri.utils.haveSameDomain \x3d function(uri1, uri2) {\n var pieces1 \x3d goog.uri.utils.split(uri1);\n var pieces2 \x3d goog.uri.utils.split(uri2);\n return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.DOMAIN] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.SCHEME] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.SCHEME] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.PORT] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.PORT];\n};\ngoog.uri.utils.assertNoFragmentsOrQueries_ \x3d function(uri) {\n goog.asserts.assert(uri.indexOf(\x22#\x22) \x3c 0 \x26\x26 uri.indexOf(\x22?\x22) \x3c 0, \x22goog.uri.utils: Fragment or query identifiers are not supported: [%s]\x22, uri);\n};\ngoog.uri.utils.QueryValue;\ngoog.uri.utils.QueryArray;\ngoog.uri.utils.parseQueryData \x3d function(encodedQuery, callback) {\n if (!encodedQuery) {\n return;\n }\n var pairs \x3d encodedQuery.split(\x22\\x26\x22);\n for (var i \x3d 0; i \x3c pairs.length; i++) {\n var indexOfEquals \x3d pairs[i].indexOf(\x22\\x3d\x22);\n var name \x3d null;\n var value \x3d null;\n if (indexOfEquals \x3e\x3d 0) {\n name \x3d pairs[i].substring(0, indexOfEquals);\n value \x3d pairs[i].substring(indexOfEquals + 1);\n } else {\n name \x3d pairs[i];\n }\n callback(name, value ? goog.string.urlDecode(value) : \x22\x22);\n }\n};\ngoog.uri.utils.splitQueryData_ \x3d function(uri) {\n var hashIndex \x3d uri.indexOf(\x22#\x22);\n if (hashIndex \x3c 0) {\n hashIndex \x3d uri.length;\n }\n var questionIndex \x3d uri.indexOf(\x22?\x22);\n var queryData;\n if (questionIndex \x3c 0 || questionIndex \x3e hashIndex) {\n questionIndex \x3d hashIndex;\n queryData \x3d \x22\x22;\n } else {\n queryData \x3d uri.substring(questionIndex + 1, hashIndex);\n }\n return [uri.slice(0, questionIndex), queryData, uri.slice(hashIndex)];\n};\ngoog.uri.utils.joinQueryData_ \x3d function(parts) {\n return parts[0] + (parts[1] ? \x22?\x22 + parts[1] : \x22\x22) + parts[2];\n};\ngoog.uri.utils.appendQueryData_ \x3d function(queryData, newData) {\n if (!newData) {\n return queryData;\n }\n return queryData ? queryData + \x22\\x26\x22 + newData : newData;\n};\ngoog.uri.utils.appendQueryDataToUri_ \x3d function(uri, queryData) {\n if (!queryData) {\n return uri;\n }\n var parts \x3d goog.uri.utils.splitQueryData_(uri);\n parts[1] \x3d goog.uri.utils.appendQueryData_(parts[1], queryData);\n return goog.uri.utils.joinQueryData_(parts);\n};\ngoog.uri.utils.appendKeyValuePairs_ \x3d function(key, value, pairs) {\n goog.asserts.assertString(key);\n if (Array.isArray(value)) {\n goog.asserts.assertArray(value);\n for (var j \x3d 0; j \x3c value.length; j++) {\n goog.uri.utils.appendKeyValuePairs_(key, String(value[j]), pairs);\n }\n } else if (value !\x3d null) {\n pairs.push(key + (value \x3d\x3d\x3d \x22\x22 ? \x22\x22 : \x22\\x3d\x22 + goog.string.urlEncode(value)));\n }\n};\ngoog.uri.utils.buildQueryData \x3d function(keysAndValues, opt_startIndex) {\n goog.asserts.assert(Math.max(keysAndValues.length - (opt_startIndex || 0), 0) % 2 \x3d\x3d 0, \x22goog.uri.utils: Key/value lists must be even in length.\x22);\n var params \x3d [];\n for (var i \x3d opt_startIndex || 0; i \x3c keysAndValues.length; i +\x3d 2) {\n var key \x3d keysAndValues[i];\n goog.uri.utils.appendKeyValuePairs_(key, keysAndValues[i + 1], params);\n }\n return params.join(\x22\\x26\x22);\n};\ngoog.uri.utils.buildQueryDataFromMap \x3d function(map) {\n var params \x3d [];\n for (var key in map) {\n goog.uri.utils.appendKeyValuePairs_(key, map[key], params);\n }\n return params.join(\x22\\x26\x22);\n};\ngoog.uri.utils.appendParams \x3d function(uri, var_args) {\n var queryData \x3d arguments.length \x3d\x3d 2 ? goog.uri.utils.buildQueryData(arguments[1], 0) : goog.uri.utils.buildQueryData(arguments, 1);\n return goog.uri.utils.appendQueryDataToUri_(uri, queryData);\n};\ngoog.uri.utils.appendParamsFromMap \x3d function(uri, map) {\n var queryData \x3d goog.uri.utils.buildQueryDataFromMap(map);\n return goog.uri.utils.appendQueryDataToUri_(uri, queryData);\n};\ngoog.uri.utils.appendParam \x3d function(uri, key, opt_value) {\n var value \x3d opt_value !\x3d null ? \x22\\x3d\x22 + goog.string.urlEncode(opt_value) : \x22\x22;\n return goog.uri.utils.appendQueryDataToUri_(uri, key + value);\n};\ngoog.uri.utils.findParam_ \x3d function(uri, startIndex, keyEncoded, hashOrEndIndex) {\n var index \x3d startIndex;\n var keyLength \x3d keyEncoded.length;\n while ((index \x3d uri.indexOf(keyEncoded, index)) \x3e\x3d 0 \x26\x26 index \x3c hashOrEndIndex) {\n var precedingChar \x3d uri.charCodeAt(index - 1);\n if (precedingChar \x3d\x3d goog.uri.utils.CharCode_.AMPERSAND || precedingChar \x3d\x3d goog.uri.utils.CharCode_.QUESTION) {\n var followingChar \x3d uri.charCodeAt(index + keyLength);\n if (!followingChar || followingChar \x3d\x3d goog.uri.utils.CharCode_.EQUAL || followingChar \x3d\x3d goog.uri.utils.CharCode_.AMPERSAND || followingChar \x3d\x3d goog.uri.utils.CharCode_.HASH) {\n return index;\n }\n }\n index +\x3d keyLength + 1;\n }\n return -1;\n};\ngoog.uri.utils.hashOrEndRe_ \x3d /#|$/;\ngoog.uri.utils.hasParam \x3d function(uri, keyEncoded) {\n return goog.uri.utils.findParam_(uri, 0, keyEncoded, uri.search(goog.uri.utils.hashOrEndRe_)) \x3e\x3d 0;\n};\ngoog.uri.utils.getParamValue \x3d function(uri, keyEncoded) {\n var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n var foundIndex \x3d goog.uri.utils.findParam_(uri, 0, keyEncoded, hashOrEndIndex);\n if (foundIndex \x3c 0) {\n return null;\n } else {\n var endPosition \x3d uri.indexOf(\x22\\x26\x22, foundIndex);\n if (endPosition \x3c 0 || endPosition \x3e hashOrEndIndex) {\n endPosition \x3d hashOrEndIndex;\n }\n foundIndex +\x3d keyEncoded.length + 1;\n return goog.string.urlDecode(uri.slice(foundIndex, endPosition !\x3d\x3d -1 ? endPosition : 0));\n }\n};\ngoog.uri.utils.getParamValues \x3d function(uri, keyEncoded) {\n var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n var position \x3d 0;\n var foundIndex;\n var result \x3d [];\n while ((foundIndex \x3d goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) \x3e\x3d 0) {\n position \x3d uri.indexOf(\x22\\x26\x22, foundIndex);\n if (position \x3c 0 || position \x3e hashOrEndIndex) {\n position \x3d hashOrEndIndex;\n }\n foundIndex +\x3d keyEncoded.length + 1;\n result.push(goog.string.urlDecode(uri.slice(foundIndex, Math.max(position, 0))));\n }\n return result;\n};\ngoog.uri.utils.trailingQueryPunctuationRe_ \x3d /[?\x26]($|#)/;\ngoog.uri.utils.removeParam \x3d function(uri, keyEncoded) {\n var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n var position \x3d 0;\n var foundIndex;\n var buffer \x3d [];\n while ((foundIndex \x3d goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) \x3e\x3d 0) {\n buffer.push(uri.substring(position, foundIndex));\n position \x3d Math.min(uri.indexOf(\x22\\x26\x22, foundIndex) + 1 || hashOrEndIndex, hashOrEndIndex);\n }\n buffer.push(uri.slice(position));\n return buffer.join(\x22\x22).replace(goog.uri.utils.trailingQueryPunctuationRe_, \x22$1\x22);\n};\ngoog.uri.utils.setParam \x3d function(uri, keyEncoded, value) {\n return goog.uri.utils.appendParam(goog.uri.utils.removeParam(uri, keyEncoded), keyEncoded, value);\n};\ngoog.uri.utils.setParamsFromMap \x3d function(uri, params) {\n var parts \x3d goog.uri.utils.splitQueryData_(uri);\n var queryData \x3d parts[1];\n var buffer \x3d [];\n if (queryData) {\n queryData.split(\x22\\x26\x22).forEach(function(pair) {\n var indexOfEquals \x3d pair.indexOf(\x22\\x3d\x22);\n var name \x3d indexOfEquals \x3e\x3d 0 ? pair.slice(0, indexOfEquals) : pair;\n if (!params.hasOwnProperty(name)) {\n buffer.push(pair);\n }\n });\n }\n parts[1] \x3d goog.uri.utils.appendQueryData_(buffer.join(\x22\\x26\x22), goog.uri.utils.buildQueryDataFromMap(params));\n return goog.uri.utils.joinQueryData_(parts);\n};\ngoog.uri.utils.appendPath \x3d function(baseUri, path) {\n goog.uri.utils.assertNoFragmentsOrQueries_(baseUri);\n if (goog.string.endsWith(baseUri, \x22/\x22)) {\n baseUri \x3d baseUri.slice(0, -1);\n }\n if (goog.string.startsWith(path, \x22/\x22)) {\n path \x3d path.slice(1);\n }\n return \x22\x22 + baseUri + \x22/\x22 + path;\n};\ngoog.uri.utils.setPath \x3d function(uri, path) {\n if (!goog.string.startsWith(path, \x22/\x22)) {\n path \x3d \x22/\x22 + path;\n }\n var parts \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(parts[goog.uri.utils.ComponentIndex.SCHEME], parts[goog.uri.utils.ComponentIndex.USER_INFO], parts[goog.uri.utils.ComponentIndex.DOMAIN], parts[goog.uri.utils.ComponentIndex.PORT], path, parts[goog.uri.utils.ComponentIndex.QUERY_DATA], parts[goog.uri.utils.ComponentIndex.FRAGMENT]);\n};\ngoog.uri.utils.StandardQueryParam \x3d {RANDOM:\x22zx\x22};\ngoog.uri.utils.makeUnique \x3d function(uri) {\n return goog.uri.utils.setParam(uri, goog.uri.utils.StandardQueryParam.RANDOM, goog.string.getRandomString());\n};\n"); SHADOW_ENV.evalLoad("goog.uri.uri.js", true , "goog.provide(\x22goog.Uri\x22);\ngoog.provide(\x22goog.Uri.QueryData\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.collections.maps\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.structs\x22);\ngoog.require(\x22goog.uri.utils\x22);\ngoog.require(\x22goog.uri.utils.ComponentIndex\x22);\ngoog.require(\x22goog.uri.utils.StandardQueryParam\x22);\ngoog.Uri \x3d function(opt_uri, opt_ignoreCase) {\n this.scheme_ \x3d \x22\x22;\n this.userInfo_ \x3d \x22\x22;\n this.domain_ \x3d \x22\x22;\n this.port_ \x3d null;\n this.path_ \x3d \x22\x22;\n this.fragment_ \x3d \x22\x22;\n this.isReadOnly_ \x3d false;\n this.ignoreCase_ \x3d false;\n this.queryData_;\n var m;\n if (opt_uri instanceof goog.Uri) {\n this.ignoreCase_ \x3d opt_ignoreCase !\x3d\x3d undefined ? opt_ignoreCase : opt_uri.getIgnoreCase();\n this.setScheme(opt_uri.getScheme());\n this.setUserInfo(opt_uri.getUserInfo());\n this.setDomain(opt_uri.getDomain());\n this.setPort(opt_uri.getPort());\n this.setPath(opt_uri.getPath());\n this.setQueryData(opt_uri.getQueryData().clone());\n this.setFragment(opt_uri.getFragment());\n } else if (opt_uri \x26\x26 (m \x3d goog.uri.utils.split(String(opt_uri)))) {\n this.ignoreCase_ \x3d !!opt_ignoreCase;\n this.setScheme(m[goog.uri.utils.ComponentIndex.SCHEME] || \x22\x22, true);\n this.setUserInfo(m[goog.uri.utils.ComponentIndex.USER_INFO] || \x22\x22, true);\n this.setDomain(m[goog.uri.utils.ComponentIndex.DOMAIN] || \x22\x22, true);\n this.setPort(m[goog.uri.utils.ComponentIndex.PORT]);\n this.setPath(m[goog.uri.utils.ComponentIndex.PATH] || \x22\x22, true);\n this.setQueryData(m[goog.uri.utils.ComponentIndex.QUERY_DATA] || \x22\x22, true);\n this.setFragment(m[goog.uri.utils.ComponentIndex.FRAGMENT] || \x22\x22, true);\n } else {\n this.ignoreCase_ \x3d !!opt_ignoreCase;\n this.queryData_ \x3d new goog.Uri.QueryData(null, this.ignoreCase_);\n }\n};\ngoog.Uri.RANDOM_PARAM \x3d goog.uri.utils.StandardQueryParam.RANDOM;\ngoog.Uri.prototype.toString \x3d function() {\n var out \x3d [];\n var scheme \x3d this.getScheme();\n if (scheme) {\n out.push(goog.Uri.encodeSpecialChars_(scheme, goog.Uri.reDisallowedInSchemeOrUserInfo_, true), \x22:\x22);\n }\n var domain \x3d this.getDomain();\n if (domain || scheme \x3d\x3d \x22file\x22) {\n out.push(\x22//\x22);\n var userInfo \x3d this.getUserInfo();\n if (userInfo) {\n out.push(goog.Uri.encodeSpecialChars_(userInfo, goog.Uri.reDisallowedInSchemeOrUserInfo_, true), \x22@\x22);\n }\n out.push(goog.Uri.removeDoubleEncoding_(goog.string.urlEncode(domain)));\n var port \x3d this.getPort();\n if (port !\x3d null) {\n out.push(\x22:\x22, String(port));\n }\n }\n var path \x3d this.getPath();\n if (path) {\n if (this.hasDomain() \x26\x26 path.charAt(0) !\x3d \x22/\x22) {\n out.push(\x22/\x22);\n }\n out.push(goog.Uri.encodeSpecialChars_(path, path.charAt(0) \x3d\x3d \x22/\x22 ? goog.Uri.reDisallowedInAbsolutePath_ : goog.Uri.reDisallowedInRelativePath_, true));\n }\n var query \x3d this.getEncodedQuery();\n if (query) {\n out.push(\x22?\x22, query);\n }\n var fragment \x3d this.getFragment();\n if (fragment) {\n out.push(\x22#\x22, goog.Uri.encodeSpecialChars_(fragment, goog.Uri.reDisallowedInFragment_));\n }\n return out.join(\x22\x22);\n};\ngoog.Uri.prototype.resolve \x3d function(relativeUri) {\n var absoluteUri \x3d this.clone();\n var overridden \x3d relativeUri.hasScheme();\n if (overridden) {\n absoluteUri.setScheme(relativeUri.getScheme());\n } else {\n overridden \x3d relativeUri.hasUserInfo();\n }\n if (overridden) {\n absoluteUri.setUserInfo(relativeUri.getUserInfo());\n } else {\n overridden \x3d relativeUri.hasDomain();\n }\n if (overridden) {\n absoluteUri.setDomain(relativeUri.getDomain());\n } else {\n overridden \x3d relativeUri.hasPort();\n }\n var path \x3d relativeUri.getPath();\n if (overridden) {\n absoluteUri.setPort(relativeUri.getPort());\n } else {\n overridden \x3d relativeUri.hasPath();\n if (overridden) {\n if (path.charAt(0) !\x3d \x22/\x22) {\n if (this.hasDomain() \x26\x26 !this.hasPath()) {\n path \x3d \x22/\x22 + path;\n } else {\n var lastSlashIndex \x3d absoluteUri.getPath().lastIndexOf(\x22/\x22);\n if (lastSlashIndex !\x3d -1) {\n path \x3d absoluteUri.getPath().slice(0, lastSlashIndex + 1) + path;\n }\n }\n }\n path \x3d goog.Uri.removeDotSegments(path);\n }\n }\n if (overridden) {\n absoluteUri.setPath(path);\n } else {\n overridden \x3d relativeUri.hasQuery();\n }\n if (overridden) {\n absoluteUri.setQueryData(relativeUri.getQueryData().clone());\n } else {\n overridden \x3d relativeUri.hasFragment();\n }\n if (overridden) {\n absoluteUri.setFragment(relativeUri.getFragment());\n }\n return absoluteUri;\n};\ngoog.Uri.prototype.clone \x3d function() {\n return new goog.Uri(this);\n};\ngoog.Uri.prototype.getScheme \x3d function() {\n return this.scheme_;\n};\ngoog.Uri.prototype.setScheme \x3d function(newScheme, opt_decode) {\n this.enforceReadOnly();\n this.scheme_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newScheme, true) : newScheme;\n if (this.scheme_) {\n this.scheme_ \x3d this.scheme_.replace(/:$/, \x22\x22);\n }\n return this;\n};\ngoog.Uri.prototype.hasScheme \x3d function() {\n return !!this.scheme_;\n};\ngoog.Uri.prototype.getUserInfo \x3d function() {\n return this.userInfo_;\n};\ngoog.Uri.prototype.setUserInfo \x3d function(newUserInfo, opt_decode) {\n this.enforceReadOnly();\n this.userInfo_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newUserInfo) : newUserInfo;\n return this;\n};\ngoog.Uri.prototype.hasUserInfo \x3d function() {\n return !!this.userInfo_;\n};\ngoog.Uri.prototype.getDomain \x3d function() {\n return this.domain_;\n};\ngoog.Uri.prototype.setDomain \x3d function(newDomain, opt_decode) {\n this.enforceReadOnly();\n this.domain_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newDomain, true) : newDomain;\n return this;\n};\ngoog.Uri.prototype.hasDomain \x3d function() {\n return !!this.domain_;\n};\ngoog.Uri.prototype.getPort \x3d function() {\n return this.port_;\n};\ngoog.Uri.prototype.setPort \x3d function(newPort) {\n this.enforceReadOnly();\n if (newPort) {\n newPort \x3d Number(newPort);\n if (isNaN(newPort) || newPort \x3c 0) {\n throw new Error(\x22Bad port number \x22 + newPort);\n }\n this.port_ \x3d newPort;\n } else {\n this.port_ \x3d null;\n }\n return this;\n};\ngoog.Uri.prototype.hasPort \x3d function() {\n return this.port_ !\x3d null;\n};\ngoog.Uri.prototype.getPath \x3d function() {\n return this.path_;\n};\ngoog.Uri.prototype.setPath \x3d function(newPath, opt_decode) {\n this.enforceReadOnly();\n this.path_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newPath, true) : newPath;\n return this;\n};\ngoog.Uri.prototype.hasPath \x3d function() {\n return !!this.path_;\n};\ngoog.Uri.prototype.hasQuery \x3d function() {\n return this.queryData_.toString() !\x3d\x3d \x22\x22;\n};\ngoog.Uri.prototype.setQueryData \x3d function(queryData, opt_decode) {\n this.enforceReadOnly();\n if (queryData instanceof goog.Uri.QueryData) {\n this.queryData_ \x3d queryData;\n this.queryData_.setIgnoreCase(this.ignoreCase_);\n } else {\n if (!opt_decode) {\n queryData \x3d goog.Uri.encodeSpecialChars_(queryData, goog.Uri.reDisallowedInQuery_);\n }\n this.queryData_ \x3d new goog.Uri.QueryData(queryData, this.ignoreCase_);\n }\n return this;\n};\ngoog.Uri.prototype.setQuery \x3d function(newQuery, opt_decode) {\n return this.setQueryData(newQuery, opt_decode);\n};\ngoog.Uri.prototype.getEncodedQuery \x3d function() {\n return this.queryData_.toString();\n};\ngoog.Uri.prototype.getDecodedQuery \x3d function() {\n return this.queryData_.toDecodedString();\n};\ngoog.Uri.prototype.getQueryData \x3d function() {\n return this.queryData_;\n};\ngoog.Uri.prototype.getQuery \x3d function() {\n return this.getEncodedQuery();\n};\ngoog.Uri.prototype.setParameterValue \x3d function(key, value) {\n this.enforceReadOnly();\n this.queryData_.set(key, value);\n return this;\n};\ngoog.Uri.prototype.setParameterValues \x3d function(key, values) {\n this.enforceReadOnly();\n if (!Array.isArray(values)) {\n values \x3d [String(values)];\n }\n this.queryData_.setValues(key, values);\n return this;\n};\ngoog.Uri.prototype.getParameterValues \x3d function(name) {\n return this.queryData_.getValues(name);\n};\ngoog.Uri.prototype.getParameterValue \x3d function(paramName) {\n return this.queryData_.get(paramName);\n};\ngoog.Uri.prototype.getFragment \x3d function() {\n return this.fragment_;\n};\ngoog.Uri.prototype.setFragment \x3d function(newFragment, opt_decode) {\n this.enforceReadOnly();\n this.fragment_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newFragment) : newFragment;\n return this;\n};\ngoog.Uri.prototype.hasFragment \x3d function() {\n return !!this.fragment_;\n};\ngoog.Uri.prototype.hasSameDomainAs \x3d function(uri2) {\n return (!this.hasDomain() \x26\x26 !uri2.hasDomain() || this.getDomain() \x3d\x3d uri2.getDomain()) \x26\x26 (!this.hasPort() \x26\x26 !uri2.hasPort() || this.getPort() \x3d\x3d uri2.getPort());\n};\ngoog.Uri.prototype.makeUnique \x3d function() {\n this.enforceReadOnly();\n this.setParameterValue(goog.Uri.RANDOM_PARAM, goog.string.getRandomString());\n return this;\n};\ngoog.Uri.prototype.removeParameter \x3d function(key) {\n this.enforceReadOnly();\n this.queryData_.remove(key);\n return this;\n};\ngoog.Uri.prototype.setReadOnly \x3d function(isReadOnly) {\n this.isReadOnly_ \x3d isReadOnly;\n return this;\n};\ngoog.Uri.prototype.isReadOnly \x3d function() {\n return this.isReadOnly_;\n};\ngoog.Uri.prototype.enforceReadOnly \x3d function() {\n if (this.isReadOnly_) {\n throw new Error(\x22Tried to modify a read-only Uri\x22);\n }\n};\ngoog.Uri.prototype.setIgnoreCase \x3d function(ignoreCase) {\n this.ignoreCase_ \x3d ignoreCase;\n if (this.queryData_) {\n this.queryData_.setIgnoreCase(ignoreCase);\n }\n return this;\n};\ngoog.Uri.prototype.getIgnoreCase \x3d function() {\n return this.ignoreCase_;\n};\ngoog.Uri.parse \x3d function(uri, opt_ignoreCase) {\n return uri instanceof goog.Uri ? uri.clone() : new goog.Uri(uri, opt_ignoreCase);\n};\ngoog.Uri.create \x3d function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_query, opt_fragment, opt_ignoreCase) {\n var uri \x3d new goog.Uri(null, opt_ignoreCase);\n opt_scheme \x26\x26 uri.setScheme(opt_scheme);\n opt_userInfo \x26\x26 uri.setUserInfo(opt_userInfo);\n opt_domain \x26\x26 uri.setDomain(opt_domain);\n opt_port \x26\x26 uri.setPort(opt_port);\n opt_path \x26\x26 uri.setPath(opt_path);\n opt_query \x26\x26 uri.setQueryData(opt_query);\n opt_fragment \x26\x26 uri.setFragment(opt_fragment);\n return uri;\n};\ngoog.Uri.resolve \x3d function(base, rel) {\n if (!(base instanceof goog.Uri)) {\n base \x3d goog.Uri.parse(base);\n }\n if (!(rel instanceof goog.Uri)) {\n rel \x3d goog.Uri.parse(rel);\n }\n return base.resolve(rel);\n};\ngoog.Uri.removeDotSegments \x3d function(path) {\n if (path \x3d\x3d \x22..\x22 || path \x3d\x3d \x22.\x22) {\n return \x22\x22;\n } else if (!goog.string.contains(path, \x22./\x22) \x26\x26 !goog.string.contains(path, \x22/.\x22)) {\n return path;\n } else {\n var leadingSlash \x3d goog.string.startsWith(path, \x22/\x22);\n var segments \x3d path.split(\x22/\x22);\n var out \x3d [];\n for (var pos \x3d 0; pos \x3c segments.length;) {\n var segment \x3d segments[pos++];\n if (segment \x3d\x3d \x22.\x22) {\n if (leadingSlash \x26\x26 pos \x3d\x3d segments.length) {\n out.push(\x22\x22);\n }\n } else if (segment \x3d\x3d \x22..\x22) {\n if (out.length \x3e 1 || out.length \x3d\x3d 1 \x26\x26 out[0] !\x3d \x22\x22) {\n out.pop();\n }\n if (leadingSlash \x26\x26 pos \x3d\x3d segments.length) {\n out.push(\x22\x22);\n }\n } else {\n out.push(segment);\n leadingSlash \x3d true;\n }\n }\n return out.join(\x22/\x22);\n }\n};\ngoog.Uri.decodeOrEmpty_ \x3d function(val, opt_preserveReserved) {\n if (!val) {\n return \x22\x22;\n }\n return opt_preserveReserved ? decodeURI(val.replace(/%25/g, \x22%2525\x22)) : decodeURIComponent(val);\n};\ngoog.Uri.encodeSpecialChars_ \x3d function(unescapedPart, extra, opt_removeDoubleEncoding) {\n if (typeof unescapedPart \x3d\x3d\x3d \x22string\x22) {\n var encoded \x3d encodeURI(unescapedPart).replace(extra, goog.Uri.encodeChar_);\n if (opt_removeDoubleEncoding) {\n encoded \x3d goog.Uri.removeDoubleEncoding_(encoded);\n }\n return encoded;\n }\n return null;\n};\ngoog.Uri.encodeChar_ \x3d function(ch) {\n var n \x3d ch.charCodeAt(0);\n return \x22%\x22 + (n \x3e\x3e 4 \x26 15).toString(16) + (n \x26 15).toString(16);\n};\ngoog.Uri.removeDoubleEncoding_ \x3d function(doubleEncodedString) {\n return doubleEncodedString.replace(/%25([0-9a-fA-F]{2})/g, \x22%$1\x22);\n};\ngoog.Uri.reDisallowedInSchemeOrUserInfo_ \x3d /[#\\/\\?@]/g;\ngoog.Uri.reDisallowedInRelativePath_ \x3d /[#\\?:]/g;\ngoog.Uri.reDisallowedInAbsolutePath_ \x3d /[#\\?]/g;\ngoog.Uri.reDisallowedInQuery_ \x3d /[#\\?@]/g;\ngoog.Uri.reDisallowedInFragment_ \x3d /#/g;\ngoog.Uri.haveSameDomain \x3d function(uri1String, uri2String) {\n var pieces1 \x3d goog.uri.utils.split(uri1String);\n var pieces2 \x3d goog.uri.utils.split(uri2String);\n return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.DOMAIN] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.PORT] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.PORT];\n};\ngoog.Uri.QueryData \x3d function(opt_query, opt_ignoreCase) {\n this.keyMap_ \x3d null;\n this.count_ \x3d null;\n this.encodedQuery_ \x3d opt_query || null;\n this.ignoreCase_ \x3d !!opt_ignoreCase;\n};\ngoog.Uri.QueryData.prototype.ensureKeyMapInitialized_ \x3d function() {\n if (!this.keyMap_) {\n this.keyMap_ \x3d new Map();\n this.count_ \x3d 0;\n if (this.encodedQuery_) {\n var self \x3d this;\n goog.uri.utils.parseQueryData(this.encodedQuery_, function(name, value) {\n self.add(goog.string.urlDecode(name), value);\n });\n }\n }\n};\ngoog.Uri.QueryData.createFromMap \x3d function(map, opt_ignoreCase) {\n var keys \x3d goog.structs.getKeys(map);\n if (typeof keys \x3d\x3d \x22undefined\x22) {\n throw new Error(\x22Keys are undefined\x22);\n }\n var queryData \x3d new goog.Uri.QueryData(null, opt_ignoreCase);\n var values \x3d goog.structs.getValues(map);\n for (var i \x3d 0; i \x3c keys.length; i++) {\n var key \x3d keys[i];\n var value \x3d values[i];\n if (!Array.isArray(value)) {\n queryData.add(key, value);\n } else {\n queryData.setValues(key, value);\n }\n }\n return queryData;\n};\ngoog.Uri.QueryData.createFromKeysValues \x3d function(keys, values, opt_ignoreCase) {\n if (keys.length !\x3d values.length) {\n throw new Error(\x22Mismatched lengths for keys/values\x22);\n }\n var queryData \x3d new goog.Uri.QueryData(null, opt_ignoreCase);\n for (var i \x3d 0; i \x3c keys.length; i++) {\n queryData.add(keys[i], values[i]);\n }\n return queryData;\n};\ngoog.Uri.QueryData.prototype.getCount \x3d function() {\n this.ensureKeyMapInitialized_();\n return this.count_;\n};\ngoog.Uri.QueryData.prototype.add \x3d function(key, value) {\n this.ensureKeyMapInitialized_();\n this.invalidateCache_();\n key \x3d this.getKeyName_(key);\n var values \x3d this.keyMap_.get(key);\n if (!values) {\n this.keyMap_.set(key, values \x3d []);\n }\n values.push(value);\n this.count_ \x3d goog.asserts.assertNumber(this.count_) + 1;\n return this;\n};\ngoog.Uri.QueryData.prototype.remove \x3d function(key) {\n this.ensureKeyMapInitialized_();\n key \x3d this.getKeyName_(key);\n if (this.keyMap_.has(key)) {\n this.invalidateCache_();\n this.count_ \x3d goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length;\n return this.keyMap_.delete(key);\n }\n return false;\n};\ngoog.Uri.QueryData.prototype.clear \x3d function() {\n this.invalidateCache_();\n this.keyMap_ \x3d null;\n this.count_ \x3d 0;\n};\ngoog.Uri.QueryData.prototype.isEmpty \x3d function() {\n this.ensureKeyMapInitialized_();\n return this.count_ \x3d\x3d 0;\n};\ngoog.Uri.QueryData.prototype.containsKey \x3d function(key) {\n this.ensureKeyMapInitialized_();\n key \x3d this.getKeyName_(key);\n return this.keyMap_.has(key);\n};\ngoog.Uri.QueryData.prototype.containsValue \x3d function(value) {\n var vals \x3d this.getValues();\n return goog.array.contains(vals, value);\n};\ngoog.Uri.QueryData.prototype.forEach \x3d function(f, opt_scope) {\n this.ensureKeyMapInitialized_();\n this.keyMap_.forEach(function(values, key) {\n values.forEach(function(value) {\n f.call(opt_scope, value, key, this);\n }, this);\n }, this);\n};\ngoog.Uri.QueryData.prototype.getKeys \x3d function() {\n this.ensureKeyMapInitialized_();\n const vals \x3d Array.from(this.keyMap_.values());\n const keys \x3d Array.from(this.keyMap_.keys());\n const rv \x3d [];\n for (let i \x3d 0; i \x3c keys.length; i++) {\n const val \x3d vals[i];\n for (let j \x3d 0; j \x3c val.length; j++) {\n rv.push(keys[i]);\n }\n }\n return rv;\n};\ngoog.Uri.QueryData.prototype.getValues \x3d function(opt_key) {\n this.ensureKeyMapInitialized_();\n let rv \x3d [];\n if (typeof opt_key \x3d\x3d\x3d \x22string\x22) {\n if (this.containsKey(opt_key)) {\n rv \x3d rv.concat(this.keyMap_.get(this.getKeyName_(opt_key)));\n }\n } else {\n const values \x3d Array.from(this.keyMap_.values());\n for (let i \x3d 0; i \x3c values.length; i++) {\n rv \x3d rv.concat(values[i]);\n }\n }\n return rv;\n};\ngoog.Uri.QueryData.prototype.set \x3d function(key, value) {\n this.ensureKeyMapInitialized_();\n this.invalidateCache_();\n key \x3d this.getKeyName_(key);\n if (this.containsKey(key)) {\n this.count_ \x3d goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length;\n }\n this.keyMap_.set(key, [value]);\n this.count_ \x3d goog.asserts.assertNumber(this.count_) + 1;\n return this;\n};\ngoog.Uri.QueryData.prototype.get \x3d function(key, opt_default) {\n if (!key) {\n return opt_default;\n }\n var values \x3d this.getValues(key);\n return values.length \x3e 0 ? String(values[0]) : opt_default;\n};\ngoog.Uri.QueryData.prototype.setValues \x3d function(key, values) {\n this.remove(key);\n if (values.length \x3e 0) {\n this.invalidateCache_();\n this.keyMap_.set(this.getKeyName_(key), goog.array.clone(values));\n this.count_ \x3d goog.asserts.assertNumber(this.count_) + values.length;\n }\n};\ngoog.Uri.QueryData.prototype.toString \x3d function() {\n if (this.encodedQuery_) {\n return this.encodedQuery_;\n }\n if (!this.keyMap_) {\n return \x22\x22;\n }\n const sb \x3d [];\n const keys \x3d Array.from(this.keyMap_.keys());\n for (var i \x3d 0; i \x3c keys.length; i++) {\n const key \x3d keys[i];\n const encodedKey \x3d goog.string.urlEncode(key);\n const val \x3d this.getValues(key);\n for (var j \x3d 0; j \x3c val.length; j++) {\n var param \x3d encodedKey;\n if (val[j] !\x3d\x3d \x22\x22) {\n param +\x3d \x22\\x3d\x22 + goog.string.urlEncode(val[j]);\n }\n sb.push(param);\n }\n }\n return this.encodedQuery_ \x3d sb.join(\x22\\x26\x22);\n};\ngoog.Uri.QueryData.prototype.toDecodedString \x3d function() {\n return goog.Uri.decodeOrEmpty_(this.toString());\n};\ngoog.Uri.QueryData.prototype.invalidateCache_ \x3d function() {\n this.encodedQuery_ \x3d null;\n};\ngoog.Uri.QueryData.prototype.filterKeys \x3d function(keys) {\n this.ensureKeyMapInitialized_();\n this.keyMap_.forEach(function(value, key) {\n if (!goog.array.contains(keys, key)) {\n this.remove(key);\n }\n }, this);\n return this;\n};\ngoog.Uri.QueryData.prototype.clone \x3d function() {\n var rv \x3d new goog.Uri.QueryData();\n rv.encodedQuery_ \x3d this.encodedQuery_;\n if (this.keyMap_) {\n rv.keyMap_ \x3d new Map(this.keyMap_);\n rv.count_ \x3d this.count_;\n }\n return rv;\n};\ngoog.Uri.QueryData.prototype.getKeyName_ \x3d function(arg) {\n var keyName \x3d String(arg);\n if (this.ignoreCase_) {\n keyName \x3d keyName.toLowerCase();\n }\n return keyName;\n};\ngoog.Uri.QueryData.prototype.setIgnoreCase \x3d function(ignoreCase) {\n var resetKeys \x3d ignoreCase \x26\x26 !this.ignoreCase_;\n if (resetKeys) {\n this.ensureKeyMapInitialized_();\n this.invalidateCache_();\n this.keyMap_.forEach(function(value, key) {\n var lowerCase \x3d key.toLowerCase();\n if (key !\x3d lowerCase) {\n this.remove(key);\n this.setValues(lowerCase, value);\n }\n }, this);\n }\n this.ignoreCase_ \x3d ignoreCase;\n};\ngoog.Uri.QueryData.prototype.extend \x3d function(var_args) {\n for (var i \x3d 0; i \x3c arguments.length; i++) {\n var data \x3d arguments[i];\n goog.structs.forEach(data, function(value, key) {\n this.add(key, value);\n }, this);\n }\n};\n"); SHADOW_ENV.evalLoad("goog.string.stringbuffer.js", true , "goog.provide(\x22goog.string.StringBuffer\x22);\ngoog.string.StringBuffer \x3d function(opt_a1, var_args) {\n if (opt_a1 !\x3d null) {\n this.append.apply(this, arguments);\n }\n};\ngoog.string.StringBuffer.prototype.buffer_ \x3d \x22\x22;\ngoog.string.StringBuffer.prototype.set \x3d function(s) {\n this.buffer_ \x3d \x22\x22 + s;\n};\ngoog.string.StringBuffer.prototype.append \x3d function(a1, opt_a2, var_args) {\n this.buffer_ +\x3d String(a1);\n if (opt_a2 !\x3d null) {\n for (let i \x3d 1; i \x3c arguments.length; i++) {\n this.buffer_ +\x3d arguments[i];\n }\n }\n return this;\n};\ngoog.string.StringBuffer.prototype.clear \x3d function() {\n this.buffer_ \x3d \x22\x22;\n};\ngoog.string.StringBuffer.prototype.getLength \x3d function() {\n return this.buffer_.length;\n};\ngoog.string.StringBuffer.prototype.toString \x3d function() {\n return this.buffer_;\n};\n"); -SHADOW_ENV.evalLoad("cljs.core.js", true , "goog.provide(\x27cljs.core\x27);\ngoog.scope(function(){\n cljs.core.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n cljs.core.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n cljs.core.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\ncljs.core._STAR_clojurescript_version_STAR_ \x3d \x221.11.60\x22;\ncljs.core._STAR_unchecked_if_STAR_ \x3d false;\ncljs.core._STAR_unchecked_arrays_STAR_ \x3d false;\ncljs.core._STAR_warn_on_infer_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.PROTOCOL_SENTINEL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.PROTOCOL_SENTINEL \x3d ({});\n}\ncljs.core.MODULE_URIS \x3d null;\ncljs.core.MODULE_INFOS \x3d null;\n/**\n * Var bound to the name value of the compiler build :target option.\n * For example, if the compiler build :target is :nodejs, *target* will be bound\n * to \x22nodejs\x22. *target* is a Google Closure define and can be set by compiler\n * :closure-defines option.\n * @define {string}\n */\ncljs.core._STAR_target_STAR_ \x3d goog.define(\x22cljs.core._STAR_target_STAR_\x22,\x22default\x22);\n/**\n * Manually set the JavaScript global context. Only \x22window\x22, \x22self\x22\n * , and \x22global\x22 supported. \n * @define {string}\n */\ncljs.core._STAR_global_STAR_ \x3d goog.define(\x22cljs.core._STAR_global_STAR_\x22,\x22default\x22);\n/**\n * Var bound to the current namespace. Only used for bootstrapping.\n * @type {*}\n */\ncljs.core._STAR_ns_STAR_ \x3d null;\n/**\n * @type {*}\n */\ncljs.core._STAR_out_STAR_ \x3d null;\ncljs.core._STAR_assert_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print output.\n * Whatever function *print-fn* is bound to will be passed any\n * Strings which should be printed.\n */\ncljs.core._STAR_print_fn_STAR_ \x3d null;\n}\n/**\n * Arranges to have tap functions executed via the supplied f, a\n * function of no arguments. Returns true if successful, false otherwise.\n */\ncljs.core._STAR_exec_tap_fn_STAR_ \x3d (function cljs$core$_STAR_exec_tap_fn_STAR_(f){\nvar and__5043__auto__ \x3d (typeof setTimeout !\x3d\x3d \x27undefined\x27);\nif(and__5043__auto__){\nvar G__14680 \x3d setTimeout(f,(0));\nreturn (cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1 ? cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1(G__14680) : cljs.core.boolean$.call(null,G__14680));\n} else {\nreturn and__5043__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_err_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print error output.\n * Whatever function *print-err-fn* is bound to will be passed any\n * Strings which should be printed.\n */\ncljs.core._STAR_print_err_fn_STAR_ \x3d null;\n}\n/**\n * Set *print-fn* to f.\n */\ncljs.core.set_print_fn_BANG_ \x3d (function cljs$core$set_print_fn_BANG_(f){\nreturn (cljs.core._STAR_print_fn_STAR_ \x3d f);\n});\n/**\n * Set *print-err-fn* to f.\n */\ncljs.core.set_print_err_fn_BANG_ \x3d (function cljs$core$set_print_err_fn_BANG_(f){\nreturn (cljs.core._STAR_print_err_fn_STAR_ \x3d f);\n});\n/**\n * When set to true, output will be flushed whenever a newline is printed.\n * \n * Defaults to true.\n */\ncljs.core._STAR_flush_on_newline_STAR_ \x3d true;\n/**\n * When set to logical false will drop newlines from printing calls.\n * This is to work around the implicit newlines emitted by standard JavaScript\n * console objects.\n */\ncljs.core._STAR_print_newline_STAR_ \x3d true;\n/**\n * When set to logical false, strings and characters will be printed with\n * non-alphanumeric characters converted to the appropriate escape sequences.\n * \n * Defaults to true\n */\ncljs.core._STAR_print_readably_STAR_ \x3d true;\n/**\n * If set to logical true, when printing an object, its metadata will also\n * be printed in a form that can be read back by the reader.\n * \n * Defaults to false.\n */\ncljs.core._STAR_print_meta_STAR_ \x3d false;\n/**\n * When set to logical true, objects will be printed in a way that preserves\n * their type when read in later.\n * \n * Defaults to false.\n */\ncljs.core._STAR_print_dup_STAR_ \x3d false;\n/**\n * *print-namespace-maps* controls whether the printer will print\n * namespace map literal syntax.\n * \n * Defaults to false, but the REPL binds it to true.\n */\ncljs.core._STAR_print_namespace_maps_STAR_ \x3d false;\n/**\n * *print-length* controls how many items of each collection the\n * printer will print. If it is bound to logical false, there is no\n * limit. Otherwise, it must be bound to an integer indicating the maximum\n * number of items of each collection to print. If a collection contains\n * more items, the printer will print items up to the limit followed by\n * \x27...\x27 to represent the remaining items. The root binding is nil\n * indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_length_STAR_ \x3d null;\n/**\n * *print-level* controls how many levels deep the printer will\n * print nested objects. If it is bound to logical false, there is no\n * limit. Otherwise, it must be bound to an integer indicating the maximum\n * level to print. Each argument to print is at level 0; if an argument is a\n * collection, its items are at level 1; and so on. If an object is a\n * collection and is at a level greater than or equal to the value bound to\n * *print-level*, the printer prints \x27#\x27 to represent it. The root binding\n * is nil indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_level_STAR_ \x3d null;\n/**\n * *print-fns-bodies* controls whether functions print their source or\n * only their names.\n */\ncljs.core._STAR_print_fn_bodies_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_loaded_libs_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core._STAR_loaded_libs_STAR_ \x3d null;\n}\ncljs.core.pr_opts \x3d (function cljs$core$pr_opts(){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939),cljs.core._STAR_flush_on_newline_STAR_,new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),cljs.core._STAR_print_readably_STAR_,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),cljs.core._STAR_print_meta_STAR_,new cljs.core.Keyword(null,\x22dup\x22,\x22dup\x22,556298533),cljs.core._STAR_print_dup_STAR_,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),cljs.core._STAR_print_length_STAR_], null);\n});\n/**\n * Set *print-fn* to console.log\n */\ncljs.core.enable_console_print_BANG_ \x3d (function cljs$core$enable_console_print_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.log.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\ncljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.error.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\nreturn null;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.truth_ \x3d (function cljs$core$truth_(x){\nreturn (x !\x3d null \x26\x26 x !\x3d\x3d false);\n});\ncljs.core.not_native \x3d null;\n\n/**\n * Tests if 2 arguments are the same object\n */\ncljs.core.identical_QMARK_ \x3d (function cljs$core$identical_QMARK_(x,y){\nreturn (x \x3d\x3d\x3d y);\n});\n/**\n * Returns true if x is nil, false otherwise.\n */\ncljs.core.nil_QMARK_ \x3d (function cljs$core$nil_QMARK_(x){\nreturn (x \x3d\x3d null);\n});\n/**\n * Returns true if x is a JavaScript array.\n */\ncljs.core.array_QMARK_ \x3d (function cljs$core$array_QMARK_(x){\nif((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nodejs\x22)){\nreturn Array.isArray(x);\n} else {\nreturn (x instanceof Array);\n}\n});\n/**\n * Returns true if x is a JavaScript number.\n */\ncljs.core.number_QMARK_ \x3d (function cljs$core$number_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true if x is logical false, false otherwise.\n */\ncljs.core.not \x3d (function cljs$core$not(x){\nif((x \x3d\x3d null)){\nreturn true;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Returns true if x is not nil, false otherwise.\n */\ncljs.core.some_QMARK_ \x3d (function cljs$core$some_QMARK_(x){\nreturn (!((x \x3d\x3d null)));\n});\n/**\n * Returns true if x\x27s constructor is Object\n */\ncljs.core.object_QMARK_ \x3d (function cljs$core$object_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nreturn (x.constructor \x3d\x3d\x3d Object);\n} else {\nreturn false;\n}\n});\n/**\n * Returns true if x is a JavaScript string.\n */\ncljs.core.string_QMARK_ \x3d (function cljs$core$string_QMARK_(x){\nreturn (\x22string\x22 \x3d\x3d\x3d goog.typeOf(x));\n});\n/**\n * Returns true if x is a JavaScript string of length one.\n */\ncljs.core.char_QMARK_ \x3d (function cljs$core$char_QMARK_(x){\nreturn ((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 (((1) \x3d\x3d\x3d x.length)));\n});\n/**\n * Returns true if given any argument.\n */\ncljs.core.any_QMARK_ \x3d (function cljs$core$any_QMARK_(x){\nreturn true;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.native_satisfies_QMARK_ \x3d (function cljs$core$native_satisfies_QMARK_(p,x){\nvar x__$1 \x3d (((x \x3d\x3d null))?null:x);\nif((p[goog.typeOf(x__$1)])){\nreturn true;\n} else {\nif((p[\x22_\x22])){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\ncljs.core.is_proto_ \x3d (function cljs$core$is_proto_(x){\nreturn (x.constructor.prototype \x3d\x3d\x3d x);\n});\n/**\n * When compiled for a command-line target, whatever function\n * *main-cli-fn* is set to will be called with the command-line\n * argv as arguments\n */\ncljs.core._STAR_main_cli_fn_STAR_ \x3d null;\n/**\n * A sequence of the supplied command line arguments, or nil if\n * none were supplied\n */\ncljs.core._STAR_command_line_args_STAR_ \x3d null;\n/**\n * Return x\x27s constructor.\n */\ncljs.core.type \x3d (function cljs$core$type(x){\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn x.constructor;\n}\n});\ncljs.core.missing_protocol \x3d (function cljs$core$missing_protocol(proto,obj){\nvar ty \x3d cljs.core.type(obj);\nvar ty__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d ty;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn ty.cljs$lang$type;\n} else {\nreturn and__5043__auto__;\n}\n})())?ty.cljs$lang$ctorStr:goog.typeOf(obj));\nreturn (new Error([\x22No protocol method \x22,proto,\x22 defined for type \x22,ty__$1,\x22: \x22,obj].join(\x22\x22)));\n});\ncljs.core.type__GT_str \x3d (function cljs$core$type__GT_str(ty){\nvar temp__5802__auto__ \x3d ty.cljs$lang$ctorStr;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar s \x3d temp__5802__auto__;\nreturn s;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(ty);\n}\n});\ncljs.core.load_file \x3d (function cljs$core$load_file(file){\nif(cljs.core.truth_(COMPILED)){\nreturn null;\n} else {\nreturn goog.nodeGlobalRequire(file);\n}\n});\nif((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((goog.typeOf(Symbol) \x3d\x3d\x3d \x22function\x22)))){\ncljs.core.ITER_SYMBOL \x3d Symbol.iterator;\n} else {\ncljs.core.ITER_SYMBOL \x3d \x22@@iterator\x22;\n}\n/**\n * @enum {string}\n */\ncljs.core.CHAR_MAP \x3d ({\x22]\x22: \x22_RBRACK_\x22, \x22\x27\x22: \x22_SINGLEQUOTE_\x22, \x22\x3d\x22: \x22_EQ_\x22, \x22\\\x22\x22: \x22_DOUBLEQUOTE_\x22, \x22!\x22: \x22_BANG_\x22, \x22*\x22: \x22_STAR_\x22, \x22%\x22: \x22_PERCENT_\x22, \x22|\x22: \x22_BAR_\x22, \x22~\x22: \x22_TILDE_\x22, \x22/\x22: \x22_SLASH_\x22, \x22\\\\\x22: \x22_BSLASH_\x22, \x22-\x22: \x22_\x22, \x22?\x22: \x22_QMARK_\x22, \x22\x26\x22: \x22_AMPERSAND_\x22, \x22:\x22: \x22_COLON_\x22, \x22\x3c\x22: \x22_LT_\x22, \x22{\x22: \x22_LBRACE_\x22, \x22}\x22: \x22_RBRACE_\x22, \x22[\x22: \x22_LBRACK_\x22, \x22#\x22: \x22_SHARP_\x22, \x22^\x22: \x22_CARET_\x22, \x22+\x22: \x22_PLUS_\x22, \x22@\x22: \x22_CIRCA_\x22, \x22\x3e\x22: \x22_GT_\x22});\n/**\n * @enum {string}\n */\ncljs.core.DEMUNGE_MAP \x3d ({\x22_RBRACE_\x22: \x22}\x22, \x22_COLON_\x22: \x22:\x22, \x22_BANG_\x22: \x22!\x22, \x22_QMARK_\x22: \x22?\x22, \x22_BSLASH_\x22: \x22\\\\\\\\\x22, \x22_SLASH_\x22: \x22/\x22, \x22_PERCENT_\x22: \x22%\x22, \x22_PLUS_\x22: \x22+\x22, \x22_SHARP_\x22: \x22#\x22, \x22_LBRACE_\x22: \x22{\x22, \x22_BAR_\x22: \x22|\x22, \x22_LBRACK_\x22: \x22[\x22, \x22_EQ_\x22: \x22\x3d\x22, \x22_\x22: \x22-\x22, \x22_TILDE_\x22: \x22~\x22, \x22_RBRACK_\x22: \x22]\x22, \x22_GT_\x22: \x22\x3e\x22, \x22_SINGLEQUOTE_\x22: \x22\x27\x22, \x22_CIRCA_\x22: \x22@\x22, \x22_AMPERSAND_\x22: \x22\x26\x22, \x22_DOUBLEQUOTE_\x22: \x22\\\\\\\x22\x22, \x22_CARET_\x22: \x22^\x22, \x22_LT_\x22: \x22\x3c\x22, \x22_STAR_\x22: \x22*\x22});\ncljs.core.DEMUNGE_PATTERN \x3d null;\n/**\n * Returns highest resolution time offered by host in milliseconds.\n */\ncljs.core.system_time \x3d (function cljs$core$system_time(){\nif((((typeof performance !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((performance.now \x3d\x3d null)))))){\nreturn performance.now();\n} else {\nif((((typeof process !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((process.hrtime \x3d\x3d null)))))){\nvar t \x3d process.hrtime();\nreturn ((((t[(0)]) * 1.0E9) + (t[(1)])) / 1000000.0);\n} else {\nreturn (new Date()).getTime();\n\n}\n}\n});\n/**\n * Construct a JavaScript array of the specified dimensions. Accepts ignored\n * type argument for compatibility with Clojure. Note that there is no efficient\n * way to allocate multi-dimensional arrays in JavaScript; as such, this function\n * will run in polynomial time when called with 3 or more arguments.\n */\ncljs.core.make_array \x3d (function cljs$core$make_array(var_args){\nvar G__14685 \x3d arguments.length;\nswitch (G__14685) {\ncase 1:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16282 \x3d arguments.length;\nvar i__5770__auto___16283 \x3d (0);\nwhile(true){\nif((i__5770__auto___16283 \x3c len__5769__auto___16282)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16283]));\n\nvar G__16284 \x3d (i__5770__auto___16283 + (1));\ni__5770__auto___16283 \x3d G__16284;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,size,more_sizes){\nvar dims \x3d more_sizes;\nvar dimarray \x3d (new Array(size));\nvar n__5636__auto___16286 \x3d dimarray.length;\nvar i_16287 \x3d (0);\nwhile(true){\nif((i_16287 \x3c n__5636__auto___16286)){\n(dimarray[i_16287] \x3d (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.make_array,null,dims) : cljs.core.apply.call(null,cljs.core.make_array,null,dims)));\n\nvar G__16288 \x3d (i_16287 + (1));\ni_16287 \x3d G__16288;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn dimarray;\n}));\n\n/** @this {Function} */\n(cljs.core.make_array.cljs$lang$applyTo \x3d (function (seq14682){\nvar G__14683 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14682) : cljs.core.first.call(null,seq14682));\nvar seq14682__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14682) : cljs.core.next.call(null,seq14682));\nvar G__14684 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14682__$1) : cljs.core.first.call(null,seq14682__$1));\nvar seq14682__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14682__$1) : cljs.core.next.call(null,seq14682__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14683,G__14684,seq14682__$2);\n}));\n\n(cljs.core.make_array.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a javascript array, cloned from the passed in array\n */\ncljs.core.aclone \x3d (function cljs$core$aclone(arr){\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(len));\nvar n__5636__auto___16292 \x3d len;\nvar i_16293 \x3d (0);\nwhile(true){\nif((i_16293 \x3c n__5636__auto___16292)){\n(new_arr[i_16293] \x3d (arr[i_16293]));\n\nvar G__16294 \x3d (i_16293 + (1));\ni_16293 \x3d G__16294;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_arr;\n});\n/**\n * Creates a new javascript array.\n * @param {...*} var_args\n */\ncljs.core.array \x3d (function cljs$core$array(var_args){\nvar a \x3d (new Array(arguments.length));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c a.length)){\n(a[i] \x3d (arguments[i]));\n\nvar G__16295 \x3d (i + (1));\ni \x3d G__16295;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n});\ncljs.core.maybe_warn \x3d (function cljs$core$maybe_warn(e){\nif(cljs.core.truth_(cljs.core._STAR_print_err_fn_STAR_)){\nreturn cljs.core._STAR_print_err_fn_STAR_.call(null,e);\n} else {\nreturn null;\n}\n});\ncljs.core.checked_aget \x3d (function cljs$core$checked_aget(var_args){\nvar G__14690 \x3d arguments.length;\nswitch (G__14690) {\ncase 2:\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16299 \x3d arguments.length;\nvar i__5770__auto___16300 \x3d (0);\nwhile(true){\nif((i__5770__auto___16300 \x3c len__5769__auto___16299)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16300]));\n\nvar G__16301 \x3d (i__5770__auto___16300 + (1));\ni__5770__auto___16300 \x3d G__16301;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\ntry{if(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e14691){var e_16302 \x3d e14691;\ncljs.core.maybe_warn(e_16302);\n}\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__14692 \x3d cljs.core.checked_aget;\nvar G__14693 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__14694 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__14692,G__14693,G__14694) : cljs.core.apply.call(null,G__14692,G__14693,G__14694));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget.cljs$lang$applyTo \x3d (function (seq14687){\nvar G__14688 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14687) : cljs.core.first.call(null,seq14687));\nvar seq14687__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14687) : cljs.core.next.call(null,seq14687));\nvar G__14689 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14687__$1) : cljs.core.first.call(null,seq14687__$1));\nvar seq14687__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14687__$1) : cljs.core.next.call(null,seq14687__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14688,G__14689,seq14687__$2);\n}));\n\n(cljs.core.checked_aget.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset \x3d (function cljs$core$checked_aset(var_args){\nvar G__14700 \x3d arguments.length;\nswitch (G__14700) {\ncase 3:\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16309 \x3d arguments.length;\nvar i__5770__auto___16310 \x3d (0);\nwhile(true){\nif((i__5770__auto___16310 \x3c len__5769__auto___16309)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16310]));\n\nvar G__16311 \x3d (i__5770__auto___16310 + (1));\ni__5770__auto___16310 \x3d G__16311;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\ntry{if(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e14701){var e_16313 \x3d e14701;\ncljs.core.maybe_warn(e_16313);\n}\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__14702 \x3d cljs.core.checked_aset;\nvar G__14703 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__14704 \x3d idx2;\nvar G__14705 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__14702,G__14703,G__14704,G__14705) : cljs.core.apply.call(null,G__14702,G__14703,G__14704,G__14705));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset.cljs$lang$applyTo \x3d (function (seq14696){\nvar G__14697 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14696) : cljs.core.first.call(null,seq14696));\nvar seq14696__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14696) : cljs.core.next.call(null,seq14696));\nvar G__14698 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14696__$1) : cljs.core.first.call(null,seq14696__$1));\nvar seq14696__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14696__$1) : cljs.core.next.call(null,seq14696__$1));\nvar G__14699 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14696__$2) : cljs.core.first.call(null,seq14696__$2));\nvar seq14696__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14696__$2) : cljs.core.next.call(null,seq14696__$2));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14697,G__14698,G__14699,seq14696__$3);\n}));\n\n(cljs.core.checked_aset.cljs$lang$maxFixedArity \x3d (3));\n\ncljs.core.checked_aget_SINGLEQUOTE_ \x3d (function cljs$core$checked_aget_SINGLEQUOTE_(var_args){\nvar G__14710 \x3d arguments.length;\nswitch (G__14710) {\ncase 2:\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16320 \x3d arguments.length;\nvar i__5770__auto___16321 \x3d (0);\nwhile(true){\nif((i__5770__auto___16321 \x3c len__5769__auto___16320)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16321]));\n\nvar G__16322 \x3d (i__5770__auto___16321 + (1));\ni__5770__auto___16321 \x3d G__16322;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__14711 \x3d cljs.core.checked_aget_SINGLEQUOTE_;\nvar G__14712 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__14713 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__14711,G__14712,G__14713) : cljs.core.apply.call(null,G__14711,G__14712,G__14713));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq14707){\nvar G__14708 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14707) : cljs.core.first.call(null,seq14707));\nvar seq14707__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14707) : cljs.core.next.call(null,seq14707));\nvar G__14709 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14707__$1) : cljs.core.first.call(null,seq14707__$1));\nvar seq14707__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14707__$1) : cljs.core.next.call(null,seq14707__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14708,G__14709,seq14707__$2);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset_SINGLEQUOTE_ \x3d (function cljs$core$checked_aset_SINGLEQUOTE_(var_args){\nvar G__14719 \x3d arguments.length;\nswitch (G__14719) {\ncase 3:\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16324 \x3d arguments.length;\nvar i__5770__auto___16325 \x3d (0);\nwhile(true){\nif((i__5770__auto___16325 \x3c len__5769__auto___16324)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16325]));\n\nvar G__16326 \x3d (i__5770__auto___16325 + (1));\ni__5770__auto___16325 \x3d G__16326;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__14720 \x3d cljs.core.checked_aset_SINGLEQUOTE_;\nvar G__14721 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__14722 \x3d idx2;\nvar G__14723 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__14720,G__14721,G__14722,G__14723) : cljs.core.apply.call(null,G__14720,G__14721,G__14722,G__14723));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq14715){\nvar G__14716 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14715) : cljs.core.first.call(null,seq14715));\nvar seq14715__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14715) : cljs.core.next.call(null,seq14715));\nvar G__14717 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14715__$1) : cljs.core.first.call(null,seq14715__$1));\nvar seq14715__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14715__$1) : cljs.core.next.call(null,seq14715__$1));\nvar G__14718 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14715__$2) : cljs.core.first.call(null,seq14715__$2));\nvar seq14715__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14715__$2) : cljs.core.next.call(null,seq14715__$2));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14716,G__14717,G__14718,seq14715__$3);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the value at the index/indices. Works on JavaScript arrays.\n */\ncljs.core.aget \x3d (function cljs$core$aget(var_args){\nvar G__14728 \x3d arguments.length;\nswitch (G__14728) {\ncase 2:\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16331 \x3d arguments.length;\nvar i__5770__auto___16332 \x3d (0);\nwhile(true){\nif((i__5770__auto___16332 \x3c len__5769__auto___16331)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16332]));\n\nvar G__16333 \x3d (i__5770__auto___16332 + (1));\ni__5770__auto___16332 \x3d G__16333;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nreturn (array[idx]);\n}));\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__14729 \x3d cljs.core.aget;\nvar G__14730 \x3d (array[idx]);\nvar G__14731 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__14729,G__14730,G__14731) : cljs.core.apply.call(null,G__14729,G__14730,G__14731));\n}));\n\n/** @this {Function} */\n(cljs.core.aget.cljs$lang$applyTo \x3d (function (seq14725){\nvar G__14726 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14725) : cljs.core.first.call(null,seq14725));\nvar seq14725__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14725) : cljs.core.next.call(null,seq14725));\nvar G__14727 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14725__$1) : cljs.core.first.call(null,seq14725__$1));\nvar seq14725__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14725__$1) : cljs.core.next.call(null,seq14725__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14726,G__14727,seq14725__$2);\n}));\n\n(cljs.core.aget.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Sets the value at the index/indices. Works on JavaScript arrays.\n * Returns val.\n */\ncljs.core.aset \x3d (function cljs$core$aset(var_args){\nvar G__14737 \x3d arguments.length;\nswitch (G__14737) {\ncase 3:\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16335 \x3d arguments.length;\nvar i__5770__auto___16336 \x3d (0);\nwhile(true){\nif((i__5770__auto___16336 \x3c len__5769__auto___16335)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16336]));\n\nvar G__16337 \x3d (i__5770__auto___16336 + (1));\ni__5770__auto___16336 \x3d G__16337;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__14738 \x3d cljs.core.aset;\nvar G__14739 \x3d (array[idx]);\nvar G__14740 \x3d idx2;\nvar G__14741 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__14738,G__14739,G__14740,G__14741) : cljs.core.apply.call(null,G__14738,G__14739,G__14740,G__14741));\n}));\n\n/** @this {Function} */\n(cljs.core.aset.cljs$lang$applyTo \x3d (function (seq14733){\nvar G__14734 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14733) : cljs.core.first.call(null,seq14733));\nvar seq14733__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14733) : cljs.core.next.call(null,seq14733));\nvar G__14735 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14733__$1) : cljs.core.first.call(null,seq14733__$1));\nvar seq14733__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14733__$1) : cljs.core.next.call(null,seq14733__$1));\nvar G__14736 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14733__$2) : cljs.core.first.call(null,seq14733__$2));\nvar seq14733__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14733__$2) : cljs.core.next.call(null,seq14733__$2));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14734,G__14735,G__14736,seq14733__$3);\n}));\n\n(cljs.core.aset.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the length of the array. Works on arrays of all types.\n */\ncljs.core.alength \x3d (function cljs$core$alength(array){\nreturn array.length;\n});\n/**\n * Returns an array with components set to the values in aseq. Optional type\n * argument accepted for compatibility with Clojure.\n */\ncljs.core.into_array \x3d (function cljs$core$into_array(var_args){\nvar G__14743 \x3d arguments.length;\nswitch (G__14743) {\ncase 1:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (aseq){\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(null,aseq);\n}));\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,aseq){\nvar G__14744 \x3d (function (a,x){\na.push(x);\n\nreturn a;\n});\nvar G__14745 \x3d [];\nvar G__14746 \x3d aseq;\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__14744,G__14745,G__14746) : cljs.core.reduce.call(null,G__14744,G__14745,G__14746));\n}));\n\n(cljs.core.into_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Invoke JavaScript object method via string. Needed when the\n * string is not a valid unquoted property name.\n */\ncljs.core.js_invoke \x3d (function cljs$core$js_invoke(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16339 \x3d arguments.length;\nvar i__5770__auto___16340 \x3d (0);\nwhile(true){\nif((i__5770__auto___16340 \x3c len__5769__auto___16339)){\nargs__5775__auto__.push((arguments[i__5770__auto___16340]));\n\nvar G__16341 \x3d (i__5770__auto___16340 + (1));\ni__5770__auto___16340 \x3d G__16341;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,s,args){\nreturn (obj[s]).apply(obj,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args));\n}));\n\n(cljs.core.js_invoke.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.js_invoke.cljs$lang$applyTo \x3d (function (seq14747){\nvar G__14748 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14747) : cljs.core.first.call(null,seq14747));\nvar seq14747__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14747) : cljs.core.next.call(null,seq14747));\nvar G__14749 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq14747__$1) : cljs.core.first.call(null,seq14747__$1));\nvar seq14747__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq14747__$1) : cljs.core.next.call(null,seq14747__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14748,G__14749,seq14747__$2);\n}));\n\n/**\n * Returns true if x is an instance of Symbol\n */\ncljs.core.js_symbol_QMARK_ \x3d (function cljs$core$js_symbol_QMARK_(x){\nreturn (((goog.typeOf(x) \x3d\x3d\x3d \x22symbol\x22)) || ((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((x instanceof Symbol)))));\n});\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.Fn \x3d function(){};\n\n\n/**\n * Protocol for adding the ability to invoke an object as a function.\n * For example, a vector can also be used to look up a value:\n * ([1 2 3 4] 1) \x3d\x3e 2\n * @interface\n */\ncljs.core.IFn \x3d function(){};\n\nvar cljs$core$IFn$_invoke$dyn_16349 \x3d (function() {\nvar G__16350 \x3d null;\nvar G__16350__1 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__2 \x3d (function (this$,a){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5394__auto__.call(null,this$,a));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5392__auto__.call(null,this$,a));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__3 \x3d (function (this$,a,b){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5394__auto__.call(null,this$,a,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5392__auto__.call(null,this$,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__4 \x3d (function (this$,a,b,c){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5394__auto__.call(null,this$,a,b,c));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5392__auto__.call(null,this$,a,b,c));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__5 \x3d (function (this$,a,b,c,d){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5394__auto__.call(null,this$,a,b,c,d));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5392__auto__.call(null,this$,a,b,c,d));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__6 \x3d (function (this$,a,b,c,d,e){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5394__auto__.call(null,this$,a,b,c,d,e));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5392__auto__.call(null,this$,a,b,c,d,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__7 \x3d (function (this$,a,b,c,d,e,f){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5394__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5392__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__8 \x3d (function (this$,a,b,c,d,e,f,g){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__16350__22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$22 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$22 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nG__16350 \x3d function(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nswitch(arguments.length){\ncase 1:\nreturn G__16350__1.call(this,this$);\ncase 2:\nreturn G__16350__2.call(this,this$,a);\ncase 3:\nreturn G__16350__3.call(this,this$,a,b);\ncase 4:\nreturn G__16350__4.call(this,this$,a,b,c);\ncase 5:\nreturn G__16350__5.call(this,this$,a,b,c,d);\ncase 6:\nreturn G__16350__6.call(this,this$,a,b,c,d,e);\ncase 7:\nreturn G__16350__7.call(this,this$,a,b,c,d,e,f);\ncase 8:\nreturn G__16350__8.call(this,this$,a,b,c,d,e,f,g);\ncase 9:\nreturn G__16350__9.call(this,this$,a,b,c,d,e,f,g,h);\ncase 10:\nreturn G__16350__10.call(this,this$,a,b,c,d,e,f,g,h,i);\ncase 11:\nreturn G__16350__11.call(this,this$,a,b,c,d,e,f,g,h,i,j);\ncase 12:\nreturn G__16350__12.call(this,this$,a,b,c,d,e,f,g,h,i,j,k);\ncase 13:\nreturn G__16350__13.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l);\ncase 14:\nreturn G__16350__14.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\ncase 15:\nreturn G__16350__15.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\ncase 16:\nreturn G__16350__16.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\ncase 17:\nreturn G__16350__17.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\ncase 18:\nreturn G__16350__18.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\ncase 19:\nreturn G__16350__19.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\ncase 20:\nreturn G__16350__20.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\ncase 21:\nreturn G__16350__21.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\ncase 22:\nreturn G__16350__22.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16350.cljs$core$IFn$_invoke$arity$1 \x3d G__16350__1;\nG__16350.cljs$core$IFn$_invoke$arity$2 \x3d G__16350__2;\nG__16350.cljs$core$IFn$_invoke$arity$3 \x3d G__16350__3;\nG__16350.cljs$core$IFn$_invoke$arity$4 \x3d G__16350__4;\nG__16350.cljs$core$IFn$_invoke$arity$5 \x3d G__16350__5;\nG__16350.cljs$core$IFn$_invoke$arity$6 \x3d G__16350__6;\nG__16350.cljs$core$IFn$_invoke$arity$7 \x3d G__16350__7;\nG__16350.cljs$core$IFn$_invoke$arity$8 \x3d G__16350__8;\nG__16350.cljs$core$IFn$_invoke$arity$9 \x3d G__16350__9;\nG__16350.cljs$core$IFn$_invoke$arity$10 \x3d G__16350__10;\nG__16350.cljs$core$IFn$_invoke$arity$11 \x3d G__16350__11;\nG__16350.cljs$core$IFn$_invoke$arity$12 \x3d G__16350__12;\nG__16350.cljs$core$IFn$_invoke$arity$13 \x3d G__16350__13;\nG__16350.cljs$core$IFn$_invoke$arity$14 \x3d G__16350__14;\nG__16350.cljs$core$IFn$_invoke$arity$15 \x3d G__16350__15;\nG__16350.cljs$core$IFn$_invoke$arity$16 \x3d G__16350__16;\nG__16350.cljs$core$IFn$_invoke$arity$17 \x3d G__16350__17;\nG__16350.cljs$core$IFn$_invoke$arity$18 \x3d G__16350__18;\nG__16350.cljs$core$IFn$_invoke$arity$19 \x3d G__16350__19;\nG__16350.cljs$core$IFn$_invoke$arity$20 \x3d G__16350__20;\nG__16350.cljs$core$IFn$_invoke$arity$21 \x3d G__16350__21;\nG__16350.cljs$core$IFn$_invoke$arity$22 \x3d G__16350__22;\nreturn G__16350;\n})()\n;\ncljs.core._invoke \x3d (function cljs$core$_invoke(var_args){\nvar G__14751 \x3d arguments.length;\nswitch (G__14751) {\ncase 1:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase 8:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$8((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase 9:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$9((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase 10:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$10((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase 11:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$11((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase 12:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$12((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase 13:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$13((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase 14:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$14((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase 15:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$15((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase 16:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$16((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase 17:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$17((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase 18:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$18((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase 19:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$19((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase 20:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$20((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase 21:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$21((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase 22:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$22((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$1 \x3d (function (this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$1(this$);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$2 \x3d (function (this$,a){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$2(this$,a);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$3 \x3d (function (this$,a,b){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$3(this$,a,b);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$4 \x3d (function (this$,a,b,c){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$4 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$4(this$,a,b,c);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$5 \x3d (function (this$,a,b,c,d){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$5 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$6 \x3d (function (this$,a,b,c,d,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$6 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$7 \x3d (function (this$,a,b,c,d,e,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$7 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$8 \x3d (function (this$,a,b,c,d,e,f,g){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$8 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$9 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$10 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$11 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$12 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$13 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$14 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$15 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$16 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$17 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$18 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$19 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$20 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$21 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$22 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_16349(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\n}));\n\n(cljs.core._invoke.cljs$lang$maxFixedArity \x3d 22);\n\n\n\n/**\n * Protocol for cloning a value.\n * @interface\n */\ncljs.core.ICloneable \x3d function(){};\n\nvar cljs$core$ICloneable$_clone$dyn_16746 \x3d (function (value){\nvar x__5393__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5394__auto__ \x3d (cljs.core._clone[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5394__auto__.call(null,value));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._clone[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5392__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22ICloneable.-clone\x22,value);\n}\n}\n});\n/**\n * Creates a clone of value.\n */\ncljs.core._clone \x3d (function cljs$core$_clone(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.cljs$core$ICloneable$_clone$arity$1 \x3d\x3d null)))))){\nreturn value.cljs$core$ICloneable$_clone$arity$1(value);\n} else {\nreturn cljs$core$ICloneable$_clone$dyn_16746(value);\n}\n});\n\n\n/**\n * Protocol for adding the ability to count a collection in constant time.\n * @interface\n */\ncljs.core.ICounted \x3d function(){};\n\nvar cljs$core$ICounted$_count$dyn_16749 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._count[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._count[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ICounted.-count\x22,coll);\n}\n}\n});\n/**\n * Calculates the count of coll in constant time. Used by cljs.core/count.\n */\ncljs.core._count \x3d (function cljs$core$_count(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICounted$_count$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICounted$_count$arity$1(coll);\n} else {\nreturn cljs$core$ICounted$_count$dyn_16749(coll);\n}\n});\n\n\n/**\n * Protocol for creating an empty collection.\n * @interface\n */\ncljs.core.IEmptyableCollection \x3d function(){};\n\nvar cljs$core$IEmptyableCollection$_empty$dyn_16750 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._empty[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._empty[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEmptyableCollection.-empty\x22,coll);\n}\n}\n});\n/**\n * Returns an empty collection of the same category as coll. Used\n * by cljs.core/empty.\n */\ncljs.core._empty \x3d (function cljs$core$_empty(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(coll);\n} else {\nreturn cljs$core$IEmptyableCollection$_empty$dyn_16750(coll);\n}\n});\n\n\n/**\n * Protocol for adding to a collection.\n * @interface\n */\ncljs.core.ICollection \x3d function(){};\n\nvar cljs$core$ICollection$_conj$dyn_16755 \x3d (function (coll,o){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._conj[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5394__auto__.call(null,coll,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._conj[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5392__auto__.call(null,coll,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ICollection.-conj\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with o added to it. The new item\n * should be added to the most efficient place, e.g.\n * (conj [1 2 3 4] 5) \x3d\x3e [1 2 3 4 5]\n * (conj \x27(2 3 4 5) 1) \x3d\x3e \x27(1 2 3 4 5)\n */\ncljs.core._conj \x3d (function cljs$core$_conj(coll,o){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICollection$_conj$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICollection$_conj$arity$2(coll,o);\n} else {\nreturn cljs$core$ICollection$_conj$dyn_16755(coll,o);\n}\n});\n\n\n/**\n * Protocol for collections to provide indexed-based access to their items.\n * @interface\n */\ncljs.core.IIndexed \x3d function(){};\n\nvar cljs$core$IIndexed$_nth$dyn_16758 \x3d (function() {\nvar G__16759 \x3d null;\nvar G__16759__2 \x3d (function (coll,n){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5394__auto__.call(null,coll,n));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5392__auto__.call(null,coll,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nvar G__16759__3 \x3d (function (coll,n,not_found){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5394__auto__.call(null,coll,n,not_found));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5392__auto__.call(null,coll,n,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nG__16759 \x3d function(coll,n,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__16759__2.call(this,coll,n);\ncase 3:\nreturn G__16759__3.call(this,coll,n,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16759.cljs$core$IFn$_invoke$arity$2 \x3d G__16759__2;\nG__16759.cljs$core$IFn$_invoke$arity$3 \x3d G__16759__3;\nreturn G__16759;\n})()\n;\n/**\n * Returns the value at the index n in the collection coll.\n * Returns not-found if index n is out of bounds and not-found is supplied.\n */\ncljs.core._nth \x3d (function cljs$core$_nth(var_args){\nvar G__14753 \x3d arguments.length;\nswitch (G__14753) {\ncase 2:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(coll,n);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_16758(coll,n);\n}\n}));\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(coll,n,not_found);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_16758(coll,n,not_found);\n}\n}));\n\n(cljs.core._nth.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Marker protocol indicating an array sequence.\n * @interface\n */\ncljs.core.ASeq \x3d function(){};\n\n\n/**\n * Protocol for collections to provide access to their items as sequences.\n * @interface\n */\ncljs.core.ISeq \x3d function(){};\n\nvar cljs$core$ISeq$_first$dyn_16776 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._first[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._first[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first item in the collection coll. Used by cljs.core/first.\n */\ncljs.core._first \x3d (function cljs$core$_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_first$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_first$dyn_16776(coll);\n}\n});\n\nvar cljs$core$ISeq$_rest$dyn_16786 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._rest[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._rest[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-rest\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. It should\n * always return a seq, e.g.\n * (rest []) \x3d\x3e ()\n * (rest nil) \x3d\x3e ()\n */\ncljs.core._rest \x3d (function cljs$core$_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_rest$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_rest$dyn_16786(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the next items of a collection.\n * @interface\n */\ncljs.core.INext \x3d function(){};\n\nvar cljs$core$INext$_next$dyn_16789 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._next[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._next[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22INext.-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. In contrast to\n * rest, it should return nil if there are no more items, e.g.\n * (next []) \x3d\x3e nil\n * (next nil) \x3d\x3e nil\n */\ncljs.core._next \x3d (function cljs$core$_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$INext$_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$INext$_next$arity$1(coll);\n} else {\nreturn cljs$core$INext$_next$dyn_16789(coll);\n}\n});\n\n\n/**\n * Protocol for looking up a value in a data structure.\n * @interface\n */\ncljs.core.ILookup \x3d function(){};\n\nvar cljs$core$ILookup$_lookup$dyn_16792 \x3d (function() {\nvar G__16793 \x3d null;\nvar G__16793__2 \x3d (function (o,k){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5394__auto__.call(null,o,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5392__auto__.call(null,o,k));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nvar G__16793__3 \x3d (function (o,k,not_found){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5394__auto__.call(null,o,k,not_found));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5392__auto__.call(null,o,k,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nG__16793 \x3d function(o,k,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__16793__2.call(this,o,k);\ncase 3:\nreturn G__16793__3.call(this,o,k,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16793.cljs$core$IFn$_invoke$arity$2 \x3d G__16793__2;\nG__16793.cljs$core$IFn$_invoke$arity$3 \x3d G__16793__3;\nreturn G__16793;\n})()\n;\n/**\n * Use k to look up a value in o. If not-found is supplied and k is not\n * a valid value that can be used for look up, not-found is returned.\n */\ncljs.core._lookup \x3d (function cljs$core$_lookup(var_args){\nvar G__14755 \x3d arguments.length;\nswitch (G__14755) {\ncase 2:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$2(o,k);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_16792(o,k);\n}\n}));\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$3(o,k,not_found);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_16792(o,k,not_found);\n}\n}));\n\n(cljs.core._lookup.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for adding associativity to collections.\n * @interface\n */\ncljs.core.IAssociative \x3d function(){};\n\nvar cljs$core$IAssociative$_contains_key_QMARK_$dyn_16804 \x3d (function (coll,k){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._contains_key_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5394__auto__.call(null,coll,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._contains_key_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5392__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-contains-key?\x22,coll);\n}\n}\n});\n/**\n * Returns true if k is a key in coll.\n */\ncljs.core._contains_key_QMARK_ \x3d (function cljs$core$_contains_key_QMARK_(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(coll,k);\n} else {\nreturn cljs$core$IAssociative$_contains_key_QMARK_$dyn_16804(coll,k);\n}\n});\n\nvar cljs$core$IAssociative$_assoc$dyn_16810 \x3d (function (coll,k,v){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._assoc[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5394__auto__.call(null,coll,k,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5392__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-assoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with a mapping from key k to\n * value v added to it.\n */\ncljs.core._assoc \x3d (function cljs$core$_assoc(coll,k,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_assoc$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(coll,k,v);\n} else {\nreturn cljs$core$IAssociative$_assoc$dyn_16810(coll,k,v);\n}\n});\n\n\n/**\n * Protocol for implementing entry finding in collections.\n * @interface\n */\ncljs.core.IFind \x3d function(){};\n\nvar cljs$core$IFind$_find$dyn_16821 \x3d (function (coll,k){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._find[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5394__auto__.call(null,coll,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._find[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5392__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFind.-find\x22,coll);\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core._find \x3d (function cljs$core$_find(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IFind$_find$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IFind$_find$arity$2(coll,k);\n} else {\nreturn cljs$core$IFind$_find$dyn_16821(coll,k);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to collections.\n * @interface\n */\ncljs.core.IMap \x3d function(){};\n\nvar cljs$core$IMap$_dissoc$dyn_16822 \x3d (function (coll,k){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._dissoc[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5394__auto__.call(null,coll,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._dissoc[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5392__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IMap.-dissoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the mapping for key k.\n */\ncljs.core._dissoc \x3d (function cljs$core$_dissoc(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMap$_dissoc$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMap$_dissoc$arity$2(coll,k);\n} else {\nreturn cljs$core$IMap$_dissoc$dyn_16822(coll,k);\n}\n});\n\n\n/**\n * Protocol for examining a map entry.\n * @interface\n */\ncljs.core.IMapEntry \x3d function(){};\n\nvar cljs$core$IMapEntry$_key$dyn_16825 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._key[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._key[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core._key \x3d (function cljs$core$_key(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_key$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_key$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_key$dyn_16825(coll);\n}\n});\n\nvar cljs$core$IMapEntry$_val$dyn_16829 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._val[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._val[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-val\x22,coll);\n}\n}\n});\n/**\n * Returns the value of the map entry.\n */\ncljs.core._val \x3d (function cljs$core$_val(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_val$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_val$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_val$dyn_16829(coll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a collection.\n * @interface\n */\ncljs.core.ISet \x3d function(){};\n\nvar cljs$core$ISet$_disjoin$dyn_16830 \x3d (function (coll,v){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._disjoin[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5394__auto__.call(null,coll,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._disjoin[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5392__auto__.call(null,coll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ISet.-disjoin\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll that does not contain v.\n */\ncljs.core._disjoin \x3d (function cljs$core$_disjoin(coll,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISet$_disjoin$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISet$_disjoin$arity$2(coll,v);\n} else {\nreturn cljs$core$ISet$_disjoin$dyn_16830(coll,v);\n}\n});\n\n\n/**\n * Protocol for collections to provide access to their items as stacks. The top\n * of the stack should be accessed in the most efficient way for the different\n * data structures.\n * @interface\n */\ncljs.core.IStack \x3d function(){};\n\nvar cljs$core$IStack$_peek$dyn_16835 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._peek[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._peek[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-peek\x22,coll);\n}\n}\n});\n/**\n * Returns the item from the top of the stack. Is used by cljs.core/peek.\n */\ncljs.core._peek \x3d (function cljs$core$_peek(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_peek$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_peek$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_peek$dyn_16835(coll);\n}\n});\n\nvar cljs$core$IStack$_pop$dyn_16839 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._pop[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._pop[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-pop\x22,coll);\n}\n}\n});\n/**\n * Returns a new stack without the item on top of the stack. Is used\n * by cljs.core/pop.\n */\ncljs.core._pop \x3d (function cljs$core$_pop(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_pop$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_pop$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_pop$dyn_16839(coll);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to collections.\n * @interface\n */\ncljs.core.IVector \x3d function(){};\n\nvar cljs$core$IVector$_assoc_n$dyn_16842 \x3d (function (coll,n,val){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._assoc_n[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5394__auto__.call(null,coll,n,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc_n[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5392__auto__.call(null,coll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22IVector.-assoc-n\x22,coll);\n}\n}\n});\n/**\n * Returns a new vector with value val added at position n.\n */\ncljs.core._assoc_n \x3d (function cljs$core$_assoc_n(coll,n,val){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IVector$_assoc_n$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IVector$_assoc_n$arity$3(coll,n,val);\n} else {\nreturn cljs$core$IVector$_assoc_n$dyn_16842(coll,n,val);\n}\n});\n\n\n/**\n * Protocol for adding dereference functionality to a reference.\n * @interface\n */\ncljs.core.IDeref \x3d function(){};\n\nvar cljs$core$IDeref$_deref$dyn_16843 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._deref[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._deref[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IDeref.-deref\x22,o);\n}\n}\n});\n/**\n * Returns the value of the reference o.\n */\ncljs.core._deref \x3d (function cljs$core$_deref(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDeref$_deref$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IDeref$_deref$arity$1(o);\n} else {\nreturn cljs$core$IDeref$_deref$dyn_16843(o);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.IDerefWithTimeout \x3d function(){};\n\nvar cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_16846 \x3d (function (o,msec,timeout_val){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._deref_with_timeout[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5394__auto__.call(null,o,msec,timeout_val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._deref_with_timeout[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5392__auto__.call(null,o,msec,timeout_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IDerefWithTimeout.-deref-with-timeout\x22,o);\n}\n}\n});\ncljs.core._deref_with_timeout \x3d (function cljs$core$_deref_with_timeout(o,msec,timeout_val){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3(o,msec,timeout_val);\n} else {\nreturn cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_16846(o,msec,timeout_val);\n}\n});\n\n\n/**\n * Protocol for accessing the metadata of an object.\n * @interface\n */\ncljs.core.IMeta \x3d function(){};\n\nvar cljs$core$IMeta$_meta$dyn_16852 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._meta[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._meta[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IMeta.-meta\x22,o);\n}\n}\n});\n/**\n * Returns the metadata of object o.\n */\ncljs.core._meta \x3d (function cljs$core$_meta(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IMeta$_meta$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IMeta$_meta$arity$1(o);\n} else {\nreturn cljs$core$IMeta$_meta$dyn_16852(o);\n}\n});\n\n\n/**\n * Protocol for adding metadata to an object.\n * @interface\n */\ncljs.core.IWithMeta \x3d function(){};\n\nvar cljs$core$IWithMeta$_with_meta$dyn_16854 \x3d (function (o,meta){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._with_meta[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5394__auto__.call(null,o,meta));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._with_meta[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5392__auto__.call(null,o,meta));\n} else {\nthrow cljs.core.missing_protocol(\x22IWithMeta.-with-meta\x22,o);\n}\n}\n});\n/**\n * Returns a new object with value of o and metadata meta added to it.\n */\ncljs.core._with_meta \x3d (function cljs$core$_with_meta(o,meta){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IWithMeta$_with_meta$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IWithMeta$_with_meta$arity$2(o,meta);\n} else {\nreturn cljs$core$IWithMeta$_with_meta$dyn_16854(o,meta);\n}\n});\n\n\n/**\n * Protocol for seq types that can reduce themselves.\n * Called by cljs.core/reduce.\n * @interface\n */\ncljs.core.IReduce \x3d function(){};\n\nvar cljs$core$IReduce$_reduce$dyn_16863 \x3d (function() {\nvar G__16864 \x3d null;\nvar G__16864__2 \x3d (function (coll,f){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5394__auto__.call(null,coll,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5392__auto__.call(null,coll,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nvar G__16864__3 \x3d (function (coll,f,start){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5394__auto__.call(null,coll,f,start));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5392__auto__.call(null,coll,f,start));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nG__16864 \x3d function(coll,f,start){\nswitch(arguments.length){\ncase 2:\nreturn G__16864__2.call(this,coll,f);\ncase 3:\nreturn G__16864__3.call(this,coll,f,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16864.cljs$core$IFn$_invoke$arity$2 \x3d G__16864__2;\nG__16864.cljs$core$IFn$_invoke$arity$3 \x3d G__16864__3;\nreturn G__16864;\n})()\n;\n/**\n * f should be a function of 2 arguments. If start is not supplied,\n * returns the result of applying f to the first 2 items in coll, then\n * applying f to that result and the 3rd item, etc.\n */\ncljs.core._reduce \x3d (function cljs$core$_reduce(var_args){\nvar G__14757 \x3d arguments.length;\nswitch (G__14757) {\ncase 2:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(coll,f);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_16863(coll,f);\n}\n}));\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,start){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(coll,f,start);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_16863(coll,f,start);\n}\n}));\n\n(cljs.core._reduce.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for associative types that can reduce themselves\n * via a function of key and val. Called by cljs.core/reduce-kv.\n * @interface\n */\ncljs.core.IKVReduce \x3d function(){};\n\nvar cljs$core$IKVReduce$_kv_reduce$dyn_16875 \x3d (function (coll,f,init){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._kv_reduce[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5394__auto__.call(null,coll,f,init));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._kv_reduce[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5392__auto__.call(null,coll,f,init));\n} else {\nthrow cljs.core.missing_protocol(\x22IKVReduce.-kv-reduce\x22,coll);\n}\n}\n});\n/**\n * Reduces an associative collection and returns the result. f should be\n * a function that takes three arguments.\n */\ncljs.core._kv_reduce \x3d (function cljs$core$_kv_reduce(coll,f,init){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IKVReduce$_kv_reduce$arity$3(coll,f,init);\n} else {\nreturn cljs$core$IKVReduce$_kv_reduce$dyn_16875(coll,f,init);\n}\n});\n\n\n/**\n * Protocol for adding value comparison functionality to a type.\n * @interface\n */\ncljs.core.IEquiv \x3d function(){};\n\nvar cljs$core$IEquiv$_equiv$dyn_16878 \x3d (function (o,other){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._equiv[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5394__auto__.call(null,o,other));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._equiv[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5392__auto__.call(null,o,other));\n} else {\nthrow cljs.core.missing_protocol(\x22IEquiv.-equiv\x22,o);\n}\n}\n});\n/**\n * Returns true if o and other are equal, false otherwise.\n */\ncljs.core._equiv \x3d (function cljs$core$_equiv(o,other){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IEquiv$_equiv$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IEquiv$_equiv$arity$2(o,other);\n} else {\nreturn cljs$core$IEquiv$_equiv$dyn_16878(o,other);\n}\n});\n\n\n/**\n * Protocol for adding hashing functionality to a type.\n * @interface\n */\ncljs.core.IHash \x3d function(){};\n\nvar cljs$core$IHash$_hash$dyn_16879 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._hash[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._hash[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IHash.-hash\x22,o);\n}\n}\n});\n/**\n * Returns the hash code of o.\n */\ncljs.core._hash \x3d (function cljs$core$_hash(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IHash$_hash$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IHash$_hash$arity$1(o);\n} else {\nreturn cljs$core$IHash$_hash$dyn_16879(o);\n}\n});\n\n\n/**\n * Protocol for adding the ability to a type to be transformed into a sequence.\n * @interface\n */\ncljs.core.ISeqable \x3d function(){};\n\nvar cljs$core$ISeqable$_seq$dyn_16882 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._seq[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._seq[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeqable.-seq\x22,o);\n}\n}\n});\n/**\n * Returns a seq of o, or nil if o is empty.\n */\ncljs.core._seq \x3d (function cljs$core$_seq(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISeqable$_seq$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$ISeqable$_seq$arity$1(o);\n} else {\nreturn cljs$core$ISeqable$_seq$dyn_16882(o);\n}\n});\n\n\n/**\n * Marker interface indicating a persistent collection of sequential items\n * @interface\n */\ncljs.core.ISequential \x3d function(){};\n\n\n/**\n * Marker interface indicating a persistent list\n * @interface\n */\ncljs.core.IList \x3d function(){};\n\n\n/**\n * Marker interface indicating a record object\n * @interface\n */\ncljs.core.IRecord \x3d function(){};\n\n\n/**\n * Protocol for reversing a seq.\n * @interface\n */\ncljs.core.IReversible \x3d function(){};\n\nvar cljs$core$IReversible$_rseq$dyn_16887 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._rseq[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._rseq[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IReversible.-rseq\x22,coll);\n}\n}\n});\n/**\n * Returns a seq of the items in coll in reversed order.\n */\ncljs.core._rseq \x3d (function cljs$core$_rseq(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReversible$_rseq$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReversible$_rseq$arity$1(coll);\n} else {\nreturn cljs$core$IReversible$_rseq$dyn_16887(coll);\n}\n});\n\n\n/**\n * Protocol for a collection which can represent their items\n * in a sorted manner. \n * @interface\n */\ncljs.core.ISorted \x3d function(){};\n\nvar cljs$core$ISorted$_sorted_seq$dyn_16889 \x3d (function (coll,ascending_QMARK_){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._sorted_seq[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5394__auto__.call(null,coll,ascending_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._sorted_seq[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5392__auto__.call(null,coll,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n */\ncljs.core._sorted_seq \x3d (function cljs$core$_sorted_seq(coll,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq$arity$2(coll,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq$dyn_16889(coll,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_sorted_seq_from$dyn_16897 \x3d (function (coll,k,ascending_QMARK_){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._sorted_seq_from[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5394__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._sorted_seq_from[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5392__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq-from\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n * If ascending is true, the result should contain all items which are \x3e or \x3e\x3d\n * than k. If ascending is false, the result should contain all items which\n * are \x3c or \x3c\x3d than k, e.g.\n * (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 true) \x3d\x3e (3 4 5)\n * (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 false) \x3d\x3e (3 2 1)\n */\ncljs.core._sorted_seq_from \x3d (function cljs$core$_sorted_seq_from(coll,k,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq_from$arity$3(coll,k,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq_from$dyn_16897(coll,k,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_entry_key$dyn_16900 \x3d (function (coll,entry){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._entry_key[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5394__auto__.call(null,coll,entry));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._entry_key[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5392__auto__.call(null,coll,entry));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-entry-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key for entry.\n */\ncljs.core._entry_key \x3d (function cljs$core$_entry_key(coll,entry){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_entry_key$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_entry_key$arity$2(coll,entry);\n} else {\nreturn cljs$core$ISorted$_entry_key$dyn_16900(coll,entry);\n}\n});\n\nvar cljs$core$ISorted$_comparator$dyn_16904 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._comparator[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._comparator[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-comparator\x22,coll);\n}\n}\n});\n/**\n * Returns the comparator for coll.\n */\ncljs.core._comparator \x3d (function cljs$core$_comparator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_comparator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_comparator$arity$1(coll);\n} else {\nreturn cljs$core$ISorted$_comparator$dyn_16904(coll);\n}\n});\n\n\n/**\n * Protocol for writing. Currently only implemented by StringBufferWriter.\n * @interface\n */\ncljs.core.IWriter \x3d function(){};\n\nvar cljs$core$IWriter$_write$dyn_16906 \x3d (function (writer,s){\nvar x__5393__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5394__auto__ \x3d (cljs.core._write[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5394__auto__.call(null,writer,s));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._write[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5392__auto__.call(null,writer,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-write\x22,writer);\n}\n}\n});\n/**\n * Writes s with writer and returns the result.\n */\ncljs.core._write \x3d (function cljs$core$_write(writer,s){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_write$arity$2 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_write$arity$2(writer,s);\n} else {\nreturn cljs$core$IWriter$_write$dyn_16906(writer,s);\n}\n});\n\nvar cljs$core$IWriter$_flush$dyn_16908 \x3d (function (writer){\nvar x__5393__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5394__auto__ \x3d (cljs.core._flush[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5394__auto__.call(null,writer));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._flush[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5392__auto__.call(null,writer));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-flush\x22,writer);\n}\n}\n});\n/**\n * Flush writer.\n */\ncljs.core._flush \x3d (function cljs$core$_flush(writer){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_flush$arity$1 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_flush$arity$1(writer);\n} else {\nreturn cljs$core$IWriter$_flush$dyn_16908(writer);\n}\n});\n\n\n/**\n * The old IPrintable protocol\x27s implementation consisted of building a giant\n * list of strings to concatenate. This involved lots of concat calls,\n * intermediate vectors, and lazy-seqs, and was very slow in some older JS\n * engines. IPrintWithWriter implements printing via the IWriter protocol, so it\n * be implemented efficiently in terms of e.g. a StringBuffer append.\n * @interface\n */\ncljs.core.IPrintWithWriter \x3d function(){};\n\nvar cljs$core$IPrintWithWriter$_pr_writer$dyn_16911 \x3d (function (o,writer,opts){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._pr_writer[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5394__auto__.call(null,o,writer,opts));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._pr_writer[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5392__auto__.call(null,o,writer,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrintWithWriter.-pr-writer\x22,o);\n}\n}\n});\ncljs.core._pr_writer \x3d (function cljs$core$_pr_writer(o,writer,opts){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IPrintWithWriter$_pr_writer$arity$3(o,writer,opts);\n} else {\nreturn cljs$core$IPrintWithWriter$_pr_writer$dyn_16911(o,writer,opts);\n}\n});\n\n\n/**\n * Protocol for types which can have a deferred realization. Currently only\n * implemented by Delay and LazySeq.\n * @interface\n */\ncljs.core.IPending \x3d function(){};\n\nvar cljs$core$IPending$_realized_QMARK_$dyn_16912 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._realized_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._realized_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IPending.-realized?\x22,x);\n}\n}\n});\n/**\n * Returns true if a value for x has been produced, false otherwise.\n */\ncljs.core._realized_QMARK_ \x3d (function cljs$core$_realized_QMARK_(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IPending$_realized_QMARK_$arity$1(x);\n} else {\nreturn cljs$core$IPending$_realized_QMARK_$dyn_16912(x);\n}\n});\n\n\n/**\n * Protocol for types that can be watched. Currently only implemented by Atom.\n * @interface\n */\ncljs.core.IWatchable \x3d function(){};\n\nvar cljs$core$IWatchable$_notify_watches$dyn_16915 \x3d (function (this$,oldval,newval){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._notify_watches[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5394__auto__.call(null,this$,oldval,newval));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._notify_watches[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5392__auto__.call(null,this$,oldval,newval));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-notify-watches\x22,this$);\n}\n}\n});\n/**\n * Calls all watchers with this, oldval and newval.\n */\ncljs.core._notify_watches \x3d (function cljs$core$_notify_watches(this$,oldval,newval){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_notify_watches$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_notify_watches$arity$3(this$,oldval,newval);\n} else {\nreturn cljs$core$IWatchable$_notify_watches$dyn_16915(this$,oldval,newval);\n}\n});\n\nvar cljs$core$IWatchable$_add_watch$dyn_16921 \x3d (function (this$,key,f){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._add_watch[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5394__auto__.call(null,this$,key,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._add_watch[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5392__auto__.call(null,this$,key,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-add-watch\x22,this$);\n}\n}\n});\n/**\n * Adds a watcher function f to this. Keys must be unique per reference,\n * and can be used to remove the watch with -remove-watch.\n */\ncljs.core._add_watch \x3d (function cljs$core$_add_watch(this$,key,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_add_watch$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_add_watch$arity$3(this$,key,f);\n} else {\nreturn cljs$core$IWatchable$_add_watch$dyn_16921(this$,key,f);\n}\n});\n\nvar cljs$core$IWatchable$_remove_watch$dyn_16925 \x3d (function (this$,key){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._remove_watch[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5394__auto__.call(null,this$,key));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._remove_watch[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5392__auto__.call(null,this$,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-remove-watch\x22,this$);\n}\n}\n});\n/**\n * Removes watcher that corresponds to key from this.\n */\ncljs.core._remove_watch \x3d (function cljs$core$_remove_watch(this$,key){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_remove_watch$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_remove_watch$arity$2(this$,key);\n} else {\nreturn cljs$core$IWatchable$_remove_watch$dyn_16925(this$,key);\n}\n});\n\n\n/**\n * Protocol for collections which can transformed to transients.\n * @interface\n */\ncljs.core.IEditableCollection \x3d function(){};\n\nvar cljs$core$IEditableCollection$_as_transient$dyn_16928 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._as_transient[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._as_transient[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEditableCollection.-as-transient\x22,coll);\n}\n}\n});\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core._as_transient \x3d (function cljs$core$_as_transient(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEditableCollection$_as_transient$arity$1(coll);\n} else {\nreturn cljs$core$IEditableCollection$_as_transient$dyn_16928(coll);\n}\n});\n\n\n/**\n * Protocol for adding basic functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientCollection \x3d function(){};\n\nvar cljs$core$ITransientCollection$_conj_BANG_$dyn_16934 \x3d (function (tcoll,val){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._conj_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5394__auto__.call(null,tcoll,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._conj_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5392__auto__.call(null,tcoll,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-conj!\x22,tcoll);\n}\n}\n});\n/**\n * Adds value val to tcoll and returns tcoll.\n */\ncljs.core._conj_BANG_ \x3d (function cljs$core$_conj_BANG_(tcoll,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2(tcoll,val);\n} else {\nreturn cljs$core$ITransientCollection$_conj_BANG_$dyn_16934(tcoll,val);\n}\n});\n\nvar cljs$core$ITransientCollection$_persistent_BANG_$dyn_16941 \x3d (function (tcoll){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._persistent_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5394__auto__.call(null,tcoll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._persistent_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5392__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-persistent!\x22,tcoll);\n}\n}\n});\n/**\n * Creates a persistent data structure from tcoll and returns it.\n */\ncljs.core._persistent_BANG_ \x3d (function cljs$core$_persistent_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientCollection$_persistent_BANG_$dyn_16941(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding associativity to transient collections.\n * @interface\n */\ncljs.core.ITransientAssociative \x3d function(){};\n\nvar cljs$core$ITransientAssociative$_assoc_BANG_$dyn_16942 \x3d (function (tcoll,key,val){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._assoc_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5394__auto__.call(null,tcoll,key,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5392__auto__.call(null,tcoll,key,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientAssociative.-assoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll with a mapping from key to\n * val added to it.\n */\ncljs.core._assoc_BANG_ \x3d (function cljs$core$_assoc_BANG_(tcoll,key,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(tcoll,key,val);\n} else {\nreturn cljs$core$ITransientAssociative$_assoc_BANG_$dyn_16942(tcoll,key,val);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientMap \x3d function(){};\n\nvar cljs$core$ITransientMap$_dissoc_BANG_$dyn_16944 \x3d (function (tcoll,key){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._dissoc_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5394__auto__.call(null,tcoll,key));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._dissoc_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5392__auto__.call(null,tcoll,key));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientMap.-dissoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll without the mapping for key.\n */\ncljs.core._dissoc_BANG_ \x3d (function cljs$core$_dissoc_BANG_(tcoll,key){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2(tcoll,key);\n} else {\nreturn cljs$core$ITransientMap$_dissoc_BANG_$dyn_16944(tcoll,key);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientVector \x3d function(){};\n\nvar cljs$core$ITransientVector$_assoc_n_BANG_$dyn_16946 \x3d (function (tcoll,n,val){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._assoc_n_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5394__auto__.call(null,tcoll,n,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc_n_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5392__auto__.call(null,tcoll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-assoc-n!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with value val added at position n.\n */\ncljs.core._assoc_n_BANG_ \x3d (function cljs$core$_assoc_n_BANG_(tcoll,n,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(tcoll,n,val);\n} else {\nreturn cljs$core$ITransientVector$_assoc_n_BANG_$dyn_16946(tcoll,n,val);\n}\n});\n\nvar cljs$core$ITransientVector$_pop_BANG_$dyn_16949 \x3d (function (tcoll){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._pop_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5394__auto__.call(null,tcoll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._pop_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5392__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-pop!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with the last item removed from it.\n */\ncljs.core._pop_BANG_ \x3d (function cljs$core$_pop_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientVector$_pop_BANG_$dyn_16949(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a transient collection.\n * @interface\n */\ncljs.core.ITransientSet \x3d function(){};\n\nvar cljs$core$ITransientSet$_disjoin_BANG_$dyn_16951 \x3d (function (tcoll,v){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._disjoin_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5394__auto__.call(null,tcoll,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._disjoin_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5392__auto__.call(null,tcoll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientSet.-disjoin!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll without v.\n */\ncljs.core._disjoin_BANG_ \x3d (function cljs$core$_disjoin_BANG_(tcoll,v){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2(tcoll,v);\n} else {\nreturn cljs$core$ITransientSet$_disjoin_BANG_$dyn_16951(tcoll,v);\n}\n});\n\n\n/**\n * Protocol for values that can be compared.\n * @interface\n */\ncljs.core.IComparable \x3d function(){};\n\nvar cljs$core$IComparable$_compare$dyn_16954 \x3d (function (x,y){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._compare[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5394__auto__.call(null,x,y));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._compare[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5392__auto__.call(null,x,y));\n} else {\nthrow cljs.core.missing_protocol(\x22IComparable.-compare\x22,x);\n}\n}\n});\n/**\n * Returns a negative number, zero, or a positive number when x is logically\n * \x27less than\x27, \x27equal to\x27, or \x27greater than\x27 y.\n */\ncljs.core._compare \x3d (function cljs$core$_compare(x,y){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IComparable$_compare$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IComparable$_compare$arity$2(x,y);\n} else {\nreturn cljs$core$IComparable$_compare$dyn_16954(x,y);\n}\n});\n\n\n/**\n * Protocol for accessing the items of a chunk.\n * @interface\n */\ncljs.core.IChunk \x3d function(){};\n\nvar cljs$core$IChunk$_drop_first$dyn_16955 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._drop_first[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._drop_first[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunk.-drop-first\x22,coll);\n}\n}\n});\n/**\n * Return a new chunk of coll with the first item removed.\n */\ncljs.core._drop_first \x3d (function cljs$core$_drop_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunk$_drop_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunk$_drop_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunk$_drop_first$dyn_16955(coll);\n}\n});\n\n\n/**\n * Protocol for accessing a collection as sequential chunks.\n * @interface\n */\ncljs.core.IChunkedSeq \x3d function(){};\n\nvar cljs$core$IChunkedSeq$_chunked_first$dyn_16956 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._chunked_first[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._chunked_first[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first chunk in coll.\n */\ncljs.core._chunked_first \x3d (function cljs$core$_chunked_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_first$dyn_16956(coll);\n}\n});\n\nvar cljs$core$IChunkedSeq$_chunked_rest$dyn_16959 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._chunked_rest[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._chunked_rest[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-rest\x22,coll);\n}\n}\n});\n/**\n * Return a new collection of coll with the first chunk removed.\n */\ncljs.core._chunked_rest \x3d (function cljs$core$_chunked_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_rest$dyn_16959(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the chunks of a collection.\n * @interface\n */\ncljs.core.IChunkedNext \x3d function(){};\n\nvar cljs$core$IChunkedNext$_chunked_next$dyn_16960 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._chunked_next[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._chunked_next[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedNext.-chunked-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first chunk.\n */\ncljs.core._chunked_next \x3d (function cljs$core$_chunked_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedNext$_chunked_next$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedNext$_chunked_next$dyn_16960(coll);\n}\n});\n\n\n/**\n * Protocol for adding a name.\n * @interface\n */\ncljs.core.INamed \x3d function(){};\n\nvar cljs$core$INamed$_name$dyn_16961 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._name[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._name[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-name\x22,x);\n}\n}\n});\n/**\n * Returns the name String of x.\n */\ncljs.core._name \x3d (function cljs$core$_name(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_name$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_name$arity$1(x);\n} else {\nreturn cljs$core$INamed$_name$dyn_16961(x);\n}\n});\n\nvar cljs$core$INamed$_namespace$dyn_16964 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._namespace[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._namespace[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-namespace\x22,x);\n}\n}\n});\n/**\n * Returns the namespace String of x.\n */\ncljs.core._namespace \x3d (function cljs$core$_namespace(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_namespace$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_namespace$arity$1(x);\n} else {\nreturn cljs$core$INamed$_namespace$dyn_16964(x);\n}\n});\n\n\n/**\n * Marker protocol indicating an atom.\n * @interface\n */\ncljs.core.IAtom \x3d function(){};\n\n\n/**\n * Protocol for adding resetting functionality.\n * @interface\n */\ncljs.core.IReset \x3d function(){};\n\nvar cljs$core$IReset$_reset_BANG_$dyn_16968 \x3d (function (o,new_value){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._reset_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5394__auto__.call(null,o,new_value));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reset_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5392__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IReset.-reset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of o to new-value.\n */\ncljs.core._reset_BANG_ \x3d (function cljs$core$_reset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IReset$_reset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IReset$_reset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IReset$_reset_BANG_$dyn_16968(o,new_value);\n}\n});\n\n\n/**\n * Protocol for adding swapping functionality.\n * @interface\n */\ncljs.core.ISwap \x3d function(){};\n\nvar cljs$core$ISwap$_swap_BANG_$dyn_16972 \x3d (function() {\nvar G__16973 \x3d null;\nvar G__16973__2 \x3d (function (o,f){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5394__auto__.call(null,o,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5392__auto__.call(null,o,f));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__16973__3 \x3d (function (o,f,a){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5394__auto__.call(null,o,f,a));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5392__auto__.call(null,o,f,a));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__16973__4 \x3d (function (o,f,a,b){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5394__auto__.call(null,o,f,a,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5392__auto__.call(null,o,f,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__16973__5 \x3d (function (o,f,a,b,xs){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5394__auto__.call(null,o,f,a,b,xs));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5392__auto__.call(null,o,f,a,b,xs));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nG__16973 \x3d function(o,f,a,b,xs){\nswitch(arguments.length){\ncase 2:\nreturn G__16973__2.call(this,o,f);\ncase 3:\nreturn G__16973__3.call(this,o,f,a);\ncase 4:\nreturn G__16973__4.call(this,o,f,a,b);\ncase 5:\nreturn G__16973__5.call(this,o,f,a,b,xs);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16973.cljs$core$IFn$_invoke$arity$2 \x3d G__16973__2;\nG__16973.cljs$core$IFn$_invoke$arity$3 \x3d G__16973__3;\nG__16973.cljs$core$IFn$_invoke$arity$4 \x3d G__16973__4;\nG__16973.cljs$core$IFn$_invoke$arity$5 \x3d G__16973__5;\nreturn G__16973;\n})()\n;\n/**\n * Swaps the value of o to be (apply f current-value-of-atom args).\n */\ncljs.core._swap_BANG_ \x3d (function cljs$core$_swap_BANG_(var_args){\nvar G__14759 \x3d arguments.length;\nswitch (G__14759) {\ncase 2:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,f){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$2(o,f);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_16972(o,f);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,f,a){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$3(o,f,a);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_16972(o,f,a);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (o,f,a,b){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$4 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$4(o,f,a,b);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_16972(o,f,a,b);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5 \x3d (function (o,f,a,b,xs){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$5 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$5(o,f,a,b,xs);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_16972(o,f,a,b,xs);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n/**\n * Protocol for adding volatile functionality.\n * @interface\n */\ncljs.core.IVolatile \x3d function(){};\n\nvar cljs$core$IVolatile$_vreset_BANG_$dyn_16987 \x3d (function (o,new_value){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._vreset_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5394__auto__.call(null,o,new_value));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._vreset_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5392__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IVolatile.-vreset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of volatile o to new-value without regard for the\n * current value. Returns new-value.\n */\ncljs.core._vreset_BANG_ \x3d (function cljs$core$_vreset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IVolatile$_vreset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IVolatile$_vreset_BANG_$dyn_16987(o,new_value);\n}\n});\n\n\n/**\n * Protocol for iterating over a collection.\n * @interface\n */\ncljs.core.IIterable \x3d function(){};\n\nvar cljs$core$IIterable$_iterator$dyn_16991 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._iterator[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._iterator[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IIterable.-iterator\x22,coll);\n}\n}\n});\n/**\n * Returns an iterator for coll.\n */\ncljs.core._iterator \x3d (function cljs$core$_iterator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIterable$_iterator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIterable$_iterator$arity$1(coll);\n} else {\nreturn cljs$core$IIterable$_iterator$dyn_16991(coll);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\ncljs.core.StringBufferWriter \x3d (function (sb){\nthis.sb \x3d sb;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.sb.append(s);\n}));\n\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.StringBufferWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null)], null);\n}));\n\n(cljs.core.StringBufferWriter.cljs$lang$type \x3d true);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorStr \x3d \x22cljs.core/StringBufferWriter\x22);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/StringBufferWriter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringBufferWriter.\n */\ncljs.core.__GT_StringBufferWriter \x3d (function cljs$core$__GT_StringBufferWriter(sb){\nreturn (new cljs.core.StringBufferWriter(sb));\n});\n\n/**\n * Support so that collections can implement toString without\n * loading all the printing machinery.\n */\ncljs.core.pr_str_STAR_ \x3d (function cljs$core$pr_str_STAR_(obj){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\nobj.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,writer,cljs.core.pr_opts());\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n});\ncljs.core.int_rotate_left \x3d (function cljs$core$int_rotate_left(x,n){\nreturn ((x \x3c\x3c n) | (x \x3e\x3e\x3e (- n)));\n});\nif((((typeof Math !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof Math.imul !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((Math.imul((4294967295),(5)) \x3d\x3d\x3d (0))))))){\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nreturn Math.imul(a,b);\n});\n} else {\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nvar ah \x3d ((a \x3e\x3e\x3e (16)) \x26 (65535));\nvar al \x3d (a \x26 (65535));\nvar bh \x3d ((b \x3e\x3e\x3e (16)) \x26 (65535));\nvar bl \x3d (b \x26 (65535));\nreturn (((al * bl) + ((((ah * bl) + (al * bh)) \x3c\x3c (16)) \x3e\x3e\x3e (0))) | (0));\n});\n}\ncljs.core.m3_seed \x3d (0);\ncljs.core.m3_C1 \x3d ((3432918353) | (0));\ncljs.core.m3_C2 \x3d ((461845907) | (0));\ncljs.core.m3_mix_K1 \x3d (function cljs$core$m3_mix_K1(k1){\nreturn cljs.core.imul(cljs.core.int_rotate_left(cljs.core.imul((k1 | (0)),cljs.core.m3_C1),(15)),cljs.core.m3_C2);\n});\ncljs.core.m3_mix_H1 \x3d (function cljs$core$m3_mix_H1(h1,k1){\nreturn ((cljs.core.imul(cljs.core.int_rotate_left(((h1 | (0)) ^ (k1 | (0))),(13)),(5)) + ((3864292196) | (0))) | (0));\n});\ncljs.core.m3_fmix \x3d (function cljs$core$m3_fmix(h1,len){\nvar h1__$1 \x3d (h1 | (0));\nvar h1__$2 \x3d (h1__$1 ^ len);\nvar h1__$3 \x3d (h1__$2 ^ (h1__$2 \x3e\x3e\x3e (16)));\nvar h1__$4 \x3d cljs.core.imul(h1__$3,((2246822507) | (0)));\nvar h1__$5 \x3d (h1__$4 ^ (h1__$4 \x3e\x3e\x3e (13)));\nvar h1__$6 \x3d cljs.core.imul(h1__$5,((3266489909) | (0)));\nreturn (h1__$6 ^ (h1__$6 \x3e\x3e\x3e (16)));\n});\ncljs.core.m3_hash_int \x3d (function cljs$core$m3_hash_int(in$){\nif((in$ \x3d\x3d\x3d (0))){\nreturn in$;\n} else {\nvar k1 \x3d cljs.core.m3_mix_K1(in$);\nvar h1 \x3d cljs.core.m3_mix_H1(cljs.core.m3_seed,k1);\nreturn cljs.core.m3_fmix(h1,(4));\n}\n});\ncljs.core.m3_hash_unencoded_chars \x3d (function cljs$core$m3_hash_unencoded_chars(in$){\nvar h1 \x3d (function (){var i \x3d (1);\nvar h1 \x3d cljs.core.m3_seed;\nwhile(true){\nif((i \x3c in$.length)){\nvar G__16996 \x3d (i + (2));\nvar G__16997 \x3d cljs.core.m3_mix_H1(h1,cljs.core.m3_mix_K1((in$.charCodeAt((i - (1))) | (in$.charCodeAt(i) \x3c\x3c (16)))));\ni \x3d G__16996;\nh1 \x3d G__16997;\ncontinue;\n} else {\nreturn h1;\n}\nbreak;\n}\n})();\nvar h1__$1 \x3d ((((in$.length \x26 (1)) \x3d\x3d\x3d (1)))?(h1 ^ cljs.core.m3_mix_K1(in$.charCodeAt((in$.length - (1))))):h1);\nreturn cljs.core.m3_fmix(h1__$1,cljs.core.imul((2),in$.length));\n});\n\n\n\ncljs.core.string_hash_cache \x3d ({});\ncljs.core.string_hash_cache_count \x3d (0);\ncljs.core.hash_string_STAR_ \x3d (function cljs$core$hash_string_STAR_(s){\nif((!((s \x3d\x3d null)))){\nvar len \x3d s.length;\nif((len \x3e (0))){\nvar i \x3d (0);\nvar hash \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__16998 \x3d (i + (1));\nvar G__16999 \x3d (cljs.core.imul((31),hash) + s.charCodeAt(i));\ni \x3d G__16998;\nhash \x3d G__16999;\ncontinue;\n} else {\nreturn hash;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.add_to_string_hash_cache \x3d (function cljs$core$add_to_string_hash_cache(k){\nvar h \x3d cljs.core.hash_string_STAR_(k);\ncljs.core.goog$module$goog$object.set(cljs.core.string_hash_cache,k,h);\n\n(cljs.core.string_hash_cache_count \x3d (cljs.core.string_hash_cache_count + (1)));\n\nreturn h;\n});\ncljs.core.hash_string \x3d (function cljs$core$hash_string(k){\nif((cljs.core.string_hash_cache_count \x3e (255))){\n(cljs.core.string_hash_cache \x3d ({}));\n\n(cljs.core.string_hash_cache_count \x3d (0));\n} else {\n}\n\nif((k \x3d\x3d null)){\nreturn (0);\n} else {\nvar h \x3d (cljs.core.string_hash_cache[k]);\nif(typeof h \x3d\x3d\x3d \x27number\x27){\nreturn h;\n} else {\nreturn cljs.core.add_to_string_hash_cache(k);\n}\n}\n});\n/**\n * Returns the hash code of its argument. Note this is the hash code\n * consistent with \x3d.\n */\ncljs.core.hash \x3d (function cljs$core$hash(o){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (4194304))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IHash$))))?true:false):false)){\nreturn (o.cljs$core$IHash$_hash$arity$1(null) ^ (0));\n} else {\nif(typeof o \x3d\x3d\x3d \x27number\x27){\nif(isFinite(o)){\nreturn (Math.floor(o) % (2147483647));\n} else {\nvar G__14765 \x3d o;\nswitch (G__14765) {\ncase Infinity:\nreturn (2146435072);\n\nbreak;\ncase -Infinity:\nreturn (-1048576);\n\nbreak;\ndefault:\nreturn (2146959360);\n\n}\n}\n} else {\nif(o \x3d\x3d\x3d true){\nreturn (1231);\n} else {\nif(o \x3d\x3d\x3d false){\nreturn (1237);\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.m3_hash_int(cljs.core.hash_string(o));\n} else {\nif((o instanceof Date)){\nreturn (o.valueOf() ^ (0));\n} else {\nif((o \x3d\x3d null)){\nreturn (0);\n} else {\nreturn (cljs.core._hash(o) ^ (0));\n\n}\n}\n}\n}\n}\n}\n}\n});\ncljs.core.hash_combine \x3d (function cljs$core$hash_combine(seed,hash){\nreturn (seed ^ (((hash + (2654435769)) + (seed \x3c\x3c (6))) + (seed \x3e\x3e (2))));\n});\n/**\n * Evaluates x and tests if it is an instance of the type\n * c. Returns true or false\n */\ncljs.core.instance_QMARK_ \x3d (function cljs$core$instance_QMARK_(c,x){\nreturn (x instanceof c);\n});\n/**\n * Return true if x is a Symbol\n */\ncljs.core.symbol_QMARK_ \x3d (function cljs$core$symbol_QMARK_(x){\nreturn (x instanceof cljs.core.Symbol);\n});\ncljs.core.hash_symbol \x3d (function cljs$core$hash_symbol(sym){\nreturn cljs.core.hash_combine(cljs.core.m3_hash_unencoded_chars(sym.name),cljs.core.hash_string(sym.ns));\n});\ncljs.core.compare_symbols \x3d (function cljs$core$compare_symbols(a,b){\nif((a.str \x3d\x3d\x3d b.str)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(a.ns);\nif(and__5043__auto__){\nreturn b.ns;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Symbol \x3d (function (ns,name,str,_hash,_meta){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.str \x3d str;\nthis._hash \x3d _hash;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2154168321;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Symbol.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.str;\n}));\n\n(cljs.core.Symbol.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Symbol)){\nreturn (self__.str \x3d\x3d\x3d other.str);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Symbol.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__14767 \x3d (arguments.length - (1));\nswitch (G__14767) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Symbol.prototype.apply \x3d (function (self__,args14766){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args14766)));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$2 ? cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,sym) : cljs.core.get.call(null,coll,sym));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$3 ? cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,sym,not_found) : cljs.core.get.call(null,coll,sym,not_found));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Symbol(self__.ns,self__.name,self__.str,self__._hash,new_meta));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (sym){\nvar self__ \x3d this;\nvar sym__$1 \x3d this;\nvar h__5154__auto__ \x3d self__._hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_symbol(sym__$1);\n(self__._hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,self__.str);\n}));\n\n(cljs.core.Symbol.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22str\x22,\x22str\x22,-1564826950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Symbol.cljs$lang$type \x3d true);\n\n(cljs.core.Symbol.cljs$lang$ctorStr \x3d \x22cljs.core/Symbol\x22);\n\n(cljs.core.Symbol.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Symbol\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Symbol.\n */\ncljs.core.__GT_Symbol \x3d (function cljs$core$__GT_Symbol(ns,name,str,_hash,_meta){\nreturn (new cljs.core.Symbol(ns,name,str,_hash,_meta));\n});\n\n/**\n * Returns true if v is of type cljs.core.Var\n */\ncljs.core.var_QMARK_ \x3d (function cljs$core$var_QMARK_(v){\nreturn (v instanceof cljs.core.Var);\n});\n/**\n * Returns a Symbol with the given namespace and name. Arity-1 works\n * on strings, keywords, and vars.\n */\ncljs.core.symbol \x3d (function cljs$core$symbol(var_args){\nvar G__14769 \x3d arguments.length;\nswitch (G__14769) {\ncase 1:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nwhile(true){\nif((name instanceof cljs.core.Symbol)){\nreturn name;\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar idx \x3d name.indexOf(\x22/\x22);\nif((idx \x3c (1))){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,name);\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(name.substring((0),idx),name.substring((idx + (1)),name.length));\n}\n} else {\nif(cljs.core.var_QMARK_(name)){\nreturn name.sym;\n} else {\nif((name instanceof cljs.core.Keyword)){\nvar G__17022 \x3d name.fqn;\nname \x3d G__17022;\ncontinue;\n} else {\nthrow (new Error(\x22no conversion to symbol\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar sym_str \x3d (((!((ns \x3d\x3d null))))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(\x27\x27):name);\nreturn (new cljs.core.Symbol(ns,name,sym_str,null,null));\n}));\n\n(cljs.core.symbol.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Var \x3d (function (val,sym,_meta){\nthis.val \x3d val;\nthis.sym \x3d sym;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6717441;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Var.prototype.isMacro \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null)).cljs$lang$macro;\n}));\n\n(cljs.core.Var.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22#\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.sym)].join(\x27\x27);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Var.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Var(self__.val,self__.sym,new_meta));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.Var)){\nvar G__14771 \x3d this$__$1.sym;\nvar G__14772 \x3d other.sym;\nreturn (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 ? cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(G__14771,G__14772) : cljs.core._EQ_.call(null,G__14771,G__14772));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Var.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash_symbol(self__.sym);\n}));\n\n(cljs.core.Var.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__14773 \x3d (arguments.length - (1));\nswitch (G__14773) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Var.prototype.apply \x3d (function (self__,args14770){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args14770)));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14774 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14774.cljs$core$IFn$_invoke$arity$0 ? fexpr__14774.cljs$core$IFn$_invoke$arity$0() : fexpr__14774.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14775 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14775.cljs$core$IFn$_invoke$arity$1 ? fexpr__14775.cljs$core$IFn$_invoke$arity$1(a) : fexpr__14775.call(null,a));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14776 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14776.cljs$core$IFn$_invoke$arity$2 ? fexpr__14776.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__14776.call(null,a,b));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14777 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14777.cljs$core$IFn$_invoke$arity$3 ? fexpr__14777.cljs$core$IFn$_invoke$arity$3(a,b,c) : fexpr__14777.call(null,a,b,c));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14778 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14778.cljs$core$IFn$_invoke$arity$4 ? fexpr__14778.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : fexpr__14778.call(null,a,b,c,d));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14779 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14779.cljs$core$IFn$_invoke$arity$5 ? fexpr__14779.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : fexpr__14779.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14780 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14780.cljs$core$IFn$_invoke$arity$6 ? fexpr__14780.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : fexpr__14780.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14781 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14781.cljs$core$IFn$_invoke$arity$7 ? fexpr__14781.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : fexpr__14781.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14782 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14782.cljs$core$IFn$_invoke$arity$8 ? fexpr__14782.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : fexpr__14782.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14783 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14783.cljs$core$IFn$_invoke$arity$9 ? fexpr__14783.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : fexpr__14783.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14784 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14784.cljs$core$IFn$_invoke$arity$10 ? fexpr__14784.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : fexpr__14784.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14785 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14785.cljs$core$IFn$_invoke$arity$11 ? fexpr__14785.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : fexpr__14785.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14786 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14786.cljs$core$IFn$_invoke$arity$12 ? fexpr__14786.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : fexpr__14786.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14787 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14787.cljs$core$IFn$_invoke$arity$13 ? fexpr__14787.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : fexpr__14787.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14788 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14788.cljs$core$IFn$_invoke$arity$14 ? fexpr__14788.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : fexpr__14788.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14789 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14789.cljs$core$IFn$_invoke$arity$15 ? fexpr__14789.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : fexpr__14789.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14790 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14790.cljs$core$IFn$_invoke$arity$16 ? fexpr__14790.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : fexpr__14790.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14791 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14791.cljs$core$IFn$_invoke$arity$17 ? fexpr__14791.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : fexpr__14791.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14792 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14792.cljs$core$IFn$_invoke$arity$18 ? fexpr__14792.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : fexpr__14792.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14793 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14793.cljs$core$IFn$_invoke$arity$19 ? fexpr__14793.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : fexpr__14793.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__14794 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__14794.cljs$core$IFn$_invoke$arity$20 ? fexpr__14794.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : fexpr__14794.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar G__14795 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nvar G__14796 \x3d a;\nvar G__14797 \x3d b;\nvar G__14798 \x3d c;\nvar G__14799 \x3d d;\nvar G__14800 \x3d e;\nvar G__14801 \x3d f;\nvar G__14802 \x3d g;\nvar G__14803 \x3d h;\nvar G__14804 \x3d i;\nvar G__14805 \x3d j;\nvar G__14806 \x3d k;\nvar G__14807 \x3d l;\nvar G__14808 \x3d m;\nvar G__14809 \x3d n;\nvar G__14810 \x3d o;\nvar G__14811 \x3d p;\nvar G__14812 \x3d q;\nvar G__14813 \x3d r;\nvar G__14814 \x3d s;\nvar G__14815 \x3d t;\nvar G__14816 \x3d rest;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$22 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$22(G__14795,G__14796,G__14797,G__14798,G__14799,G__14800,G__14801,G__14802,G__14803,G__14804,G__14805,G__14806,G__14807,G__14808,G__14809,G__14810,G__14811,G__14812,G__14813,G__14814,G__14815,G__14816) : cljs.core.apply.call(null,G__14795,G__14796,G__14797,G__14798,G__14799,G__14800,G__14801,G__14802,G__14803,G__14804,G__14805,G__14806,G__14807,G__14808,G__14809,G__14810,G__14811,G__14812,G__14813,G__14814,G__14815,G__14816));\n}));\n\n(cljs.core.Var.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22sym\x22,\x22sym\x22,195671222,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Var.cljs$lang$type \x3d true);\n\n(cljs.core.Var.cljs$lang$ctorStr \x3d \x22cljs.core/Var\x22);\n\n(cljs.core.Var.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Var\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Var.\n */\ncljs.core.__GT_Var \x3d (function cljs$core$__GT_Var(val,sym,_meta){\nreturn (new cljs.core.Var(val,sym,_meta));\n});\n\n\n\n/**\n * Return true if x implements IIterable protocol.\n */\ncljs.core.iterable_QMARK_ \x3d (function cljs$core$iterable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIterable$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n}\n});\n/**\n * Return true if x has a JavaScript iterator property\n */\ncljs.core.js_iterable_QMARK_ \x3d (function cljs$core$js_iterable_QMARK_(x){\nreturn (((!((x \x3d\x3d null)))) \x26\x26 ((!((x[cljs.core.ITER_SYMBOL] \x3d\x3d null)))));\n});\n/**\n * Clone the supplied value which must implement ICloneable.\n */\ncljs.core.clone \x3d (function cljs$core$clone(value){\nreturn cljs.core._clone(value);\n});\n/**\n * Return true if x implements ICloneable protocol.\n */\ncljs.core.cloneable_QMARK_ \x3d (function cljs$core$cloneable_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif((((value.cljs$lang$protocol_mask$partition1$ \x26 (8192))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$ICloneable$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n}\n});\n/**\n * Returns a seq on the collection. If the collection is\n * empty, returns nil. (seq nil) returns nil. seq also works on\n * Strings.\n */\ncljs.core.seq \x3d (function cljs$core$seq(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn coll.cljs$core$ISeqable$_seq$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(cljs.core.js_iterable_QMARK_(coll)){\nvar G__14820 \x3d cljs.core.goog$module$goog$object.get(coll,cljs.core.ITER_SYMBOL).call(coll);\nreturn (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(G__14820) : cljs.core.es6_iterator_seq.call(null,G__14820));\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,coll)){\nreturn cljs.core._seq(coll);\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll),\x22 is not ISeqable\x22].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\n/**\n * Returns the first item in the collection. Calls seq on its\n * argument. If coll is nil, returns nil.\n */\ncljs.core.first \x3d (function cljs$core$first(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_first$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._first(s);\n}\n}\n}\n});\n/**\n * Returns a possibly empty seq of the items after the first. Calls seq on its\n * argument.\n */\ncljs.core.rest \x3d (function cljs$core$rest(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif(s){\nreturn s.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a seq of the items after the first. Calls seq on its\n * argument. If there are no more items, returns nil\n */\ncljs.core.next \x3d (function cljs$core$next(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n}\n});\n/**\n * Equality. Returns true if x equals y, false if not. Compares\n * numbers and collections in a type-independent manner. Clojure\x27s immutable data\n * structures define -equiv (and thus \x3d) as a value, not an identity,\n * comparison.\n */\ncljs.core._EQ_ \x3d (function cljs$core$_EQ_(var_args){\nvar G__14828 \x3d arguments.length;\nswitch (G__14828) {\ncase 1:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17076 \x3d arguments.length;\nvar i__5770__auto___17077 \x3d (0);\nwhile(true){\nif((i__5770__auto___17077 \x3c len__5769__auto___17076)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17077]));\n\nvar G__17078 \x3d (i__5770__auto___17077 + (1));\ni__5770__auto___17077 \x3d G__17078;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nif((x \x3d\x3d null)){\nreturn (y \x3d\x3d null);\n} else {\nreturn (((x \x3d\x3d\x3d y)) || (cljs.core._equiv(x,y)));\n}\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\nif(cljs.core.next(more)){\nvar G__17080 \x3d y;\nvar G__17081 \x3d cljs.core.first(more);\nvar G__17082 \x3d cljs.core.next(more);\nx \x3d G__17080;\ny \x3d G__17081;\nmore \x3d G__17082;\ncontinue;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(y,cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ_.cljs$lang$applyTo \x3d (function (seq14825){\nvar G__14826 \x3d cljs.core.first(seq14825);\nvar seq14825__$1 \x3d cljs.core.next(seq14825);\nvar G__14827 \x3d cljs.core.first(seq14825__$1);\nvar seq14825__$2 \x3d cljs.core.next(seq14825__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14826,G__14827,seq14825__$2);\n}));\n\n(cljs.core._EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6Iterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6Iterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: x, \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6Iterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6Iterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6Iterator\x22);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6Iterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6Iterator.\n */\ncljs.core.__GT_ES6Iterator \x3d (function cljs$core$__GT_ES6Iterator(s){\nreturn (new cljs.core.ES6Iterator(s));\n});\n\n/**\n * EXPERIMENTAL: Return a ES2015 compatible iterator for coll.\n */\ncljs.core.es6_iterator \x3d (function cljs$core$es6_iterator(coll){\nreturn (new cljs.core.ES6Iterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n*/\ncljs.core.ES6IteratorSeq \x3d (function (value,iter,_rest){\nthis.value \x3d value;\nthis.iter \x3d iter;\nthis._rest \x3d _rest;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8388672;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.value;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((self__._rest \x3d\x3d null)){\n(self__._rest \x3d (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(self__.iter) : cljs.core.es6_iterator_seq.call(null,self__.iter)));\n} else {\n}\n\nreturn self__._rest;\n}));\n\n(cljs.core.ES6IteratorSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_rest\x22,\x22_rest\x22,-2100466189,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6IteratorSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ES6IteratorSeq\x22);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6IteratorSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6IteratorSeq.\n */\ncljs.core.__GT_ES6IteratorSeq \x3d (function cljs$core$__GT_ES6IteratorSeq(value,iter,_rest){\nreturn (new cljs.core.ES6IteratorSeq(value,iter,_rest));\n});\n\n/**\n * EXPERIMENTAL: Given an ES2015 compatible iterator return a seq.\n */\ncljs.core.es6_iterator_seq \x3d (function cljs$core$es6_iterator_seq(iter){\nvar v \x3d iter.next();\nif(cljs.core.truth_(v.done)){\nreturn null;\n} else {\nreturn (new cljs.core.ES6IteratorSeq(v.value,iter,null));\n}\n});\n/**\n * Mix final collection hash for ordered or unordered collections.\n * hash-basis is the combined collection hash, count is the number\n * of elements included in the basis. Note this is the hash code\n * consistent with \x3d, different from .hashCode.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.mix_collection_hash \x3d (function cljs$core$mix_collection_hash(hash_basis,count){\nvar h1 \x3d cljs.core.m3_seed;\nvar k1 \x3d cljs.core.m3_mix_K1(hash_basis);\nvar h1__$1 \x3d cljs.core.m3_mix_H1(h1,k1);\nreturn cljs.core.m3_fmix(h1__$1,count);\n});\n/**\n * Returns the hash code, consistent with \x3d, for an external ordered\n * collection implementing Iterable.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_ordered_coll \x3d (function cljs$core$hash_ordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (1);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__17093 \x3d (n + (1));\nvar G__17094 \x3d ((cljs.core.imul((31),hash_code) + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__17095 \x3d cljs.core.next(coll__$1);\nn \x3d G__17093;\nhash_code \x3d G__17094;\ncoll__$1 \x3d G__17095;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_ordered_hash \x3d cljs.core.mix_collection_hash((1),(0));\n/**\n * Returns the hash code, consistent with \x3d, for an external unordered\n * collection implementing Iterable. For maps, the iterator should\n * return map entries whose hash is computed as\n * (hash-ordered-coll [k v]).\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_unordered_coll \x3d (function cljs$core$hash_unordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (0);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__17096 \x3d (n + (1));\nvar G__17097 \x3d ((hash_code + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__17098 \x3d cljs.core.next(coll__$1);\nn \x3d G__17096;\nhash_code \x3d G__17097;\ncoll__$1 \x3d G__17098;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_unordered_hash \x3d cljs.core.mix_collection_hash((0),(0));\n\n\n(cljs.core.ICounted[\x22null\x22] \x3d true);\n\n(cljs.core._count[\x22null\x22] \x3d (function (_){\nreturn (0);\n}));\n(Date.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar o__$1 \x3d this;\nreturn (((other instanceof Date)) \x26\x26 ((o__$1.valueOf() \x3d\x3d\x3d other.valueOf())));\n}));\n\n(Date.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof Date)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(this$__$1.valueOf(),other.valueOf());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n/**\n * @interface\n */\ncljs.core.Inst \x3d function(){};\n\nvar cljs$core$Inst$inst_ms_STAR_$dyn_17109 \x3d (function (inst){\nvar x__5393__auto__ \x3d (((inst \x3d\x3d null))?null:inst);\nvar m__5394__auto__ \x3d (cljs.core.inst_ms_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5394__auto__.call(null,inst));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.inst_ms_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5392__auto__.call(null,inst));\n} else {\nthrow cljs.core.missing_protocol(\x22Inst.inst-ms*\x22,inst);\n}\n}\n});\ncljs.core.inst_ms_STAR_ \x3d (function cljs$core$inst_ms_STAR_(inst){\nif((((!((inst \x3d\x3d null)))) \x26\x26 ((!((inst.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d\x3d null)))))){\nreturn inst.cljs$core$Inst$inst_ms_STAR_$arity$1(inst);\n} else {\nreturn cljs$core$Inst$inst_ms_STAR_$dyn_17109(inst);\n}\n});\n\n(Date.prototype.cljs$core$Inst$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d (function (inst){\nvar inst__$1 \x3d this;\nreturn inst__$1.getTime();\n}));\n/**\n * Return the number of milliseconds since January 1, 1970, 00:00:00 GMT\n */\ncljs.core.inst_ms \x3d (function cljs$core$inst_ms(inst){\nreturn cljs.core.inst_ms_STAR_(inst);\n});\n/**\n * Return true if x satisfies Inst\n */\ncljs.core.inst_QMARK_ \x3d (function cljs$core$inst_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$Inst$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n}\n});\n(cljs.core.IEquiv[\x22number\x22] \x3d true);\n\n(cljs.core._equiv[\x22number\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n(cljs.core.Fn[\x22function\x22] \x3d true);\n\n(cljs.core.IMeta[\x22function\x22] \x3d true);\n\n(cljs.core._meta[\x22function\x22] \x3d (function (_){\nreturn null;\n}));\n(cljs.core.IHash[\x22_\x22] \x3d true);\n\n(cljs.core._hash[\x22_\x22] \x3d (function (o){\nreturn goog.getUid(o);\n}));\n/**\n * Returns a number one greater than num.\n */\ncljs.core.inc \x3d (function cljs$core$inc(x){\nreturn (x + (1));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Reduced \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Reduced.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (o){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Reduced.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.Reduced.cljs$lang$type \x3d true);\n\n(cljs.core.Reduced.cljs$lang$ctorStr \x3d \x22cljs.core/Reduced\x22);\n\n(cljs.core.Reduced.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Reduced\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Reduced.\n */\ncljs.core.__GT_Reduced \x3d (function cljs$core$__GT_Reduced(val){\nreturn (new cljs.core.Reduced(val));\n});\n\n/**\n * Wraps x in a way such that a reduce will terminate with the value x\n */\ncljs.core.reduced \x3d (function cljs$core$reduced(x){\nreturn (new cljs.core.Reduced(x));\n});\n/**\n * Returns true if x is the result of a call to reduced\n */\ncljs.core.reduced_QMARK_ \x3d (function cljs$core$reduced_QMARK_(r){\nreturn (r instanceof cljs.core.Reduced);\n});\n/**\n * If x is already reduced?, returns it, else returns (reduced x)\n */\ncljs.core.ensure_reduced \x3d (function cljs$core$ensure_reduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn x;\n} else {\nreturn cljs.core.reduced(x);\n}\n});\n/**\n * If x is reduced?, returns (deref x), else returns x\n */\ncljs.core.unreduced \x3d (function cljs$core$unreduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn (cljs.core.deref.cljs$core$IFn$_invoke$arity$1 ? cljs.core.deref.cljs$core$IFn$_invoke$arity$1(x) : cljs.core.deref.call(null,x));\n} else {\nreturn x;\n}\n});\n/**\n * Also reader macro: @var/@atom/@delay. Returns the\n * most-recently-committed value of ref. When applied to a var\n * or atom, returns its current state. When applied to a delay, forces\n * it if not already forced. See also - realized?.\n */\ncljs.core.deref \x3d (function cljs$core$deref(o){\nreturn cljs.core._deref(o);\n});\n/**\n * Accepts any collection which satisfies the ICount and IIndexed protocols and\n * reduces them without incurring seq initialization\n */\ncljs.core.ci_reduce \x3d (function cljs$core$ci_reduce(var_args){\nvar G__14831 \x3d arguments.length;\nswitch (G__14831) {\ncase 2:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (cicoll,f){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nif((cnt \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,(0));\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__14832 \x3d val;\nvar G__14833 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__14832,G__14833) : f.call(null,G__14832,G__14833));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__17118 \x3d nval;\nvar G__17119 \x3d (n + (1));\nval \x3d G__17118;\nn \x3d G__17119;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (cicoll,f,val){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__14834 \x3d val__$1;\nvar G__14835 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__14834,G__14835) : f.call(null,G__14834,G__14835));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__17120 \x3d nval;\nvar G__17121 \x3d (n + (1));\nval__$1 \x3d G__17120;\nn \x3d G__17121;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ci_reduce.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.array_reduce \x3d (function cljs$core$array_reduce(var_args){\nvar G__14837 \x3d arguments.length;\nswitch (G__14837) {\ncase 2:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,f){\nvar cnt \x3d arr.length;\nif((arr.length \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d (arr[(0)]);\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__14838 \x3d val;\nvar G__14839 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__14838,G__14839) : f.call(null,G__14838,G__14839));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__17125 \x3d nval;\nvar G__17126 \x3d (n + (1));\nval \x3d G__17125;\nn \x3d G__17126;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,f,val){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__14840 \x3d val__$1;\nvar G__14841 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__14840,G__14841) : f.call(null,G__14840,G__14841));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__17127 \x3d nval;\nvar G__17128 \x3d (n + (1));\nval__$1 \x3d G__17127;\nn \x3d G__17128;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (arr,f,val,idx){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d idx;\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__14842 \x3d val__$1;\nvar G__14843 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__14842,G__14843) : f.call(null,G__14842,G__14843));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__17131 \x3d nval;\nvar G__17132 \x3d (n + (1));\nval__$1 \x3d G__17131;\nn \x3d G__17132;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$lang$maxFixedArity \x3d 4);\n\n\n\n\n\n\n\n/**\n * Returns true if coll implements count in constant time\n */\ncljs.core.counted_QMARK_ \x3d (function cljs$core$counted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICounted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n}\n});\n/**\n * Returns true if coll implements nth in constant time\n */\ncljs.core.indexed_QMARK_ \x3d (function cljs$core$indexed_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIndexed$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n}\n});\ncljs.core._indexOf \x3d (function cljs$core$_indexOf(var_args){\nvar G__14847 \x3d arguments.length;\nswitch (G__14847) {\ncase 2:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n}));\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((start \x3e\x3d len)){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?start:(((start \x3c (0)))?(function (){var x__5130__auto__ \x3d (0);\nvar y__5131__auto__ \x3d (start + len);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})():start\n));\nwhile(true){\nif((idx \x3c len)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__17140 \x3d (idx + (1));\nidx \x3d G__17140;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._indexOf.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core._lastIndexOf \x3d (function cljs$core$_lastIndexOf(var_args){\nvar G__14849 \x3d arguments.length;\nswitch (G__14849) {\ncase 2:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n}));\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((len \x3d\x3d\x3d (0))){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?(function (){var x__5133__auto__ \x3d (len - (1));\nvar y__5134__auto__ \x3d start;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})():(((start \x3c (0)))?(len + start):start\n));\nwhile(true){\nif((idx \x3e\x3d (0))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__17152 \x3d (idx - (1));\nidx \x3d G__17152;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._lastIndexOf.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.IndexedSeqIterator \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.IndexedSeqIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.IndexedSeqIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.IndexedSeqIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IndexedSeqIterator.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeqIterator\x22);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IndexedSeqIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeqIterator.\n */\ncljs.core.__GT_IndexedSeqIterator \x3d (function cljs$core$__GT_IndexedSeqIterator(arr,i){\nreturn (new cljs.core.IndexedSeqIterator(arr,i));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IndexedSeq \x3d (function (arr,i,meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166592766;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.core.IndexedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IndexedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IndexedSeq.prototype.indexOf \x3d (function() {\nvar G__17155 \x3d null;\nvar G__17155__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__17155__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__17155 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__17155__1.call(this,x);\ncase 2:\nreturn G__17155__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__17155.cljs$core$IFn$_invoke$arity$1 \x3d G__17155__1;\nG__17155.cljs$core$IFn$_invoke$arity$2 \x3d G__17155__2;\nreturn G__17155;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__17157 \x3d null;\nvar G__17157__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__17157__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__17157 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__17157__1.call(this,x);\ncase 2:\nreturn G__17157__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__17157.cljs$core$IFn$_invoke$arity$1 \x3d G__17157__1;\nG__17157.cljs$core$IFn$_invoke$arity$2 \x3d G__17157__2;\nreturn G__17157;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.IndexedSeqIterator(self__.arr,self__.i));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,self__.meta));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar x__5130__auto__ \x3d (0);\nvar y__5131__auto__ \x3d (self__.arr.length - self__.i);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar c \x3d coll__$1.cljs$core$ICounted$_count$arity$1(null);\nif((c \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(c - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.i]),(self__.i + (1)));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.i);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.arr[self__.i]);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.i \x3c self__.arr.length)){\nreturn this$__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.IndexedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.IndexedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeq\x22);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IndexedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeq.\n */\ncljs.core.__GT_IndexedSeq \x3d (function cljs$core$__GT_IndexedSeq(arr,i,meta){\nreturn (new cljs.core.IndexedSeq(arr,i,meta));\n});\n\n(cljs.core.IndexedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Create seq from a primitive JavaScript Array-like.\n */\ncljs.core.prim_seq \x3d (function cljs$core$prim_seq(var_args){\nvar G__14851 \x3d arguments.length;\nswitch (G__14851) {\ncase 1:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (prim){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(prim,(0));\n}));\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (prim,i){\nif((i \x3c prim.length)){\nreturn (new cljs.core.IndexedSeq(prim,i,null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prim_seq.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Create a seq from a JavaScript array.\n */\ncljs.core.array_seq \x3d (function cljs$core$array_seq(var_args){\nvar G__14853 \x3d arguments.length;\nswitch (G__14853) {\ncase 1:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (array){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,(0));\n}));\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,i){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,i);\n}));\n\n(cljs.core.array_seq.cljs$lang$maxFixedArity \x3d 2);\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RSeq \x3d (function (ci,i,meta){\nthis.ci \x3d ci;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.RSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.RSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.RSeq.prototype.indexOf \x3d (function() {\nvar G__17178 \x3d null;\nvar G__17178__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__17178__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__17178 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__17178__1.call(this,x);\ncase 2:\nreturn G__17178__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__17178.cljs$core$IFn$_invoke$arity$1 \x3d G__17178__1;\nG__17178.cljs$core$IFn$_invoke$arity$2 \x3d G__17178__2;\nreturn G__17178;\n})()\n);\n\n(cljs.core.RSeq.prototype.lastIndexOf \x3d (function() {\nvar G__17179 \x3d null;\nvar G__17179__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__17179__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__17179 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__17179__1.call(this,x);\ncase 2:\nreturn G__17179__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__17179.cljs$core$IFn$_invoke$arity$1 \x3d G__17179__1;\nG__17179.cljs$core$IFn$_invoke$arity$2 \x3d G__17179__2;\nreturn G__17179;\n})()\n);\n\n(cljs.core.RSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RSeq(self__.ci,self__.i,self__.meta));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.i + (1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (col,f){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,col__$1) : cljs.core.seq_reduce.call(null,f,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (col,f,start){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,col__$1) : cljs.core.seq_reduce.call(null,f,start,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.ci,self__.i);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.RSeq(self__.ci,self__.i,new_meta));\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.RSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ci\x22,\x22ci\x22,2049808339,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.RSeq.cljs$lang$type \x3d true);\n\n(cljs.core.RSeq.cljs$lang$ctorStr \x3d \x22cljs.core/RSeq\x22);\n\n(cljs.core.RSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RSeq.\n */\ncljs.core.__GT_RSeq \x3d (function cljs$core$__GT_RSeq(ci,i,meta){\nreturn (new cljs.core.RSeq(ci,i,meta));\n});\n\n(cljs.core.RSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Same as (first (next x))\n */\ncljs.core.second \x3d (function cljs$core$second(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (first (first x))\n */\ncljs.core.ffirst \x3d (function cljs$core$ffirst(coll){\nreturn cljs.core.first(cljs.core.first(coll));\n});\n/**\n * Same as (next (first x))\n */\ncljs.core.nfirst \x3d (function cljs$core$nfirst(coll){\nreturn cljs.core.next(cljs.core.first(coll));\n});\n/**\n * Same as (first (next x))\n */\ncljs.core.fnext \x3d (function cljs$core$fnext(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (next (next x))\n */\ncljs.core.nnext \x3d (function cljs$core$nnext(coll){\nreturn cljs.core.next(cljs.core.next(coll));\n});\n/**\n * Return the last item in coll, in linear time\n */\ncljs.core.last \x3d (function cljs$core$last(s){\nwhile(true){\nvar sn \x3d cljs.core.next(s);\nif((!((sn \x3d\x3d null)))){\nvar G__17187 \x3d sn;\ns \x3d G__17187;\ncontinue;\n} else {\nreturn cljs.core.first(s);\n}\nbreak;\n}\n});\n(cljs.core.IEquiv[\x22_\x22] \x3d true);\n\n(cljs.core._equiv[\x22_\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n/**\n * conj[oin]. Returns a new collection with the xs\n * \x27added\x27. (conj nil item) returns (item).\n * (conj coll) returns coll. (conj) returns [].\n * The \x27addition\x27 may happen at different \x27places\x27 depending\n * on the concrete type.\n */\ncljs.core.conj \x3d (function cljs$core$conj(var_args){\nvar G__14858 \x3d arguments.length;\nswitch (G__14858) {\ncase 0:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17191 \x3d arguments.length;\nvar i__5770__auto___17192 \x3d (0);\nwhile(true){\nif((i__5770__auto___17192 \x3c len__5769__auto___17191)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17192]));\n\nvar G__17193 \x3d (i__5770__auto___17192 + (1));\ni__5770__auto___17192 \x3d G__17193;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._conj(coll,x);\n} else {\nreturn (new cljs.core.List(null,x,null,(1),null));\n}\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,x,xs){\nwhile(true){\nif(cljs.core.truth_(xs)){\nvar G__17196 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\nvar G__17197 \x3d cljs.core.first(xs);\nvar G__17198 \x3d cljs.core.next(xs);\ncoll \x3d G__17196;\nx \x3d G__17197;\nxs \x3d G__17198;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj.cljs$lang$applyTo \x3d (function (seq14855){\nvar G__14856 \x3d cljs.core.first(seq14855);\nvar seq14855__$1 \x3d cljs.core.next(seq14855);\nvar G__14857 \x3d cljs.core.first(seq14855__$1);\nvar seq14855__$2 \x3d cljs.core.next(seq14855__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14856,G__14857,seq14855__$2);\n}));\n\n(cljs.core.conj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns an empty collection of the same category as coll, or nil\n */\ncljs.core.empty \x3d (function cljs$core$empty(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:false):false)){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll))){\nreturn cljs.core._empty(coll);\n} else {\nreturn null;\n\n}\n}\n}\n});\ncljs.core.accumulating_seq_count \x3d (function cljs$core$accumulating_seq_count(coll){\nvar s \x3d cljs.core.seq(coll);\nvar acc \x3d (0);\nwhile(true){\nif(cljs.core.counted_QMARK_(s)){\nreturn (acc + cljs.core._count(s));\n} else {\nvar G__17206 \x3d cljs.core.next(s);\nvar G__17207 \x3d (acc + (1));\ns \x3d G__17206;\nacc \x3d G__17207;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Returns the number of items in the collection. (count nil) returns\n * 0. Also works on strings, arrays, and Maps\n */\ncljs.core.count \x3d (function cljs$core$count(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ICounted$))))?true:false):false)){\nreturn coll.cljs$core$ICounted$_count$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn coll.length;\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn coll.length;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn cljs.core.accumulating_seq_count(coll);\n} else {\nreturn cljs.core._count(coll);\n\n}\n}\n}\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.linear_traversal_nth \x3d (function cljs$core$linear_traversal_nth(var_args){\nvar G__14864 \x3d arguments.length;\nswitch (G__14864) {\ncase 2:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nwhile(true){\nif((coll \x3d\x3d null)){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nif(cljs.core.seq(coll)){\nvar G__17213 \x3d cljs.core.next(coll);\nvar G__17214 \x3d (n - (1));\ncoll \x3d G__17213;\nn \x3d G__17214;\ncontinue;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nif(cljs.core.seq(coll)){\nvar G__17216 \x3d cljs.core.next(coll);\nvar G__17217 \x3d (n - (1));\nvar G__17218 \x3d not_found;\ncoll \x3d G__17216;\nn \x3d G__17217;\nnot_found \x3d G__17218;\ncontinue;\n} else {\nreturn not_found;\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the value at the index. get returns nil if index out of\n * bounds, nth throws an exception unless not-found is supplied. nth\n * also works for strings, arrays, regex Matchers and Lists, and,\n * in O(n) time, for sequences.\n */\ncljs.core.nth \x3d (function cljs$core$nth(var_args){\nvar G__14866 \x3d arguments.length;\nswitch (G__14866) {\ncase 2:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn coll;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif((function (){var or__5045__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(coll,n);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number.\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,n,not_found);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif((function (){var or__5045__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nreturn not_found;\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(coll,n,not_found);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the nth rest of coll, coll when n is 0.\n */\ncljs.core.nthrest \x3d (function cljs$core$nthrest(coll,n){\nvar n__$1 \x3d n;\nvar xs \x3d coll;\nwhile(true){\nvar temp__5802__auto__ \x3d (((n__$1 \x3e (0))) \x26\x26 (cljs.core.seq(xs)));\nif(temp__5802__auto__){\nvar xs__$1 \x3d temp__5802__auto__;\nvar G__17226 \x3d (n__$1 - (1));\nvar G__17227 \x3d cljs.core.rest(xs__$1);\nn__$1 \x3d G__17226;\nxs \x3d G__17227;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n});\n/**\n * Returns the value mapped to key, not-found or nil if key not present\n * in associative collection, set, string, array, or ILookup instance.\n */\ncljs.core.get \x3d (function cljs$core$get(var_args){\nvar G__14874 \x3d arguments.length;\nswitch (G__14874) {\ncase 2:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$2(null,k);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 ((k \x3c o.length)))){\nreturn (o[(k | (0))]);\n} else {\nreturn null;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k);\n} else {\nreturn null;\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((!((o \x3d\x3d null)))){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn (o[(k | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}\n}\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.get.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * assoc[iate]. When applied to a map, returns a new map of the\n * same (hashed/sorted) type, that contains the mapping of key(s) to\n * val(s). When applied to a vector, returns a new vector that\n * contains val at index. Note - index must be \x3c\x3d (count vector).\n */\ncljs.core.assoc \x3d (function cljs$core$assoc(var_args){\nvar G__14882 \x3d arguments.length;\nswitch (G__14882) {\ncase 3:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17243 \x3d arguments.length;\nvar i__5770__auto___17244 \x3d (0);\nwhile(true){\nif((i__5770__auto___17244 \x3c len__5769__auto___17243)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17244]));\n\nvar G__17246 \x3d (i__5770__auto___17244 + (1));\ni__5770__auto___17244 \x3d G__17246;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,k,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(null,k,v);\n} else {\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._assoc(coll,k,v);\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([k,v]);\n}\n}\n}));\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,v,kvs){\nwhile(true){\nvar ret \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(coll,k,v);\nif(cljs.core.truth_(kvs)){\nvar G__17250 \x3d ret;\nvar G__17251 \x3d cljs.core.first(kvs);\nvar G__17252 \x3d cljs.core.second(kvs);\nvar G__17253 \x3d cljs.core.nnext(kvs);\ncoll \x3d G__17250;\nk \x3d G__17251;\nv \x3d G__17252;\nkvs \x3d G__17253;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc.cljs$lang$applyTo \x3d (function (seq14878){\nvar G__14879 \x3d cljs.core.first(seq14878);\nvar seq14878__$1 \x3d cljs.core.next(seq14878);\nvar G__14880 \x3d cljs.core.first(seq14878__$1);\nvar seq14878__$2 \x3d cljs.core.next(seq14878__$1);\nvar G__14881 \x3d cljs.core.first(seq14878__$2);\nvar seq14878__$3 \x3d cljs.core.next(seq14878__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14879,G__14880,G__14881,seq14878__$3);\n}));\n\n(cljs.core.assoc.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * dissoc[iate]. Returns a new map of the same (hashed/sorted) type,\n * that does not contain a mapping for key(s).\n */\ncljs.core.dissoc \x3d (function cljs$core$dissoc(var_args){\nvar G__14888 \x3d arguments.length;\nswitch (G__14888) {\ncase 1:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17265 \x3d arguments.length;\nvar i__5770__auto___17266 \x3d (0);\nwhile(true){\nif((i__5770__auto___17266 \x3c len__5769__auto___17265)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17266]));\n\nvar G__17267 \x3d (i__5770__auto___17266 + (1));\ni__5770__auto___17266 \x3d G__17267;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._dissoc(coll,k);\n}\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__17277 \x3d ret;\nvar G__17278 \x3d cljs.core.first(ks);\nvar G__17279 \x3d cljs.core.next(ks);\ncoll \x3d G__17277;\nk \x3d G__17278;\nks \x3d G__17279;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc.cljs$lang$applyTo \x3d (function (seq14885){\nvar G__14886 \x3d cljs.core.first(seq14885);\nvar seq14885__$1 \x3d cljs.core.next(seq14885);\nvar G__14887 \x3d cljs.core.first(seq14885__$1);\nvar seq14885__$2 \x3d cljs.core.next(seq14885__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14886,G__14887,seq14885__$2);\n}));\n\n(cljs.core.dissoc.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return true if f is a JavaScript function or satisfies the Fn protocol.\n */\ncljs.core.fn_QMARK_ \x3d (function cljs$core$fn_QMARK_(f){\nvar or__5045__auto__ \x3d typeof f \x3d\x3d\x3d \x27function\x27;\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$Fn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.MetaFn \x3d (function (afn,meta){\nthis.afn \x3d afn;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393217;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MetaFn.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.MetaFn(self__.afn,new_meta));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MetaFn.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__14891 \x3d (arguments.length - (1));\nswitch (G__14891) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MetaFn.prototype.apply \x3d (function (self__,args14890){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args14890)));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$0 ? self__.afn.cljs$core$IFn$_invoke$arity$0() : self__.afn.call(null));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$1 ? self__.afn.cljs$core$IFn$_invoke$arity$1(a) : self__.afn.call(null,a));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$2 ? self__.afn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.afn.call(null,a,b));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$3 ? self__.afn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.afn.call(null,a,b,c));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$4 ? self__.afn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.afn.call(null,a,b,c,d));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$5 ? self__.afn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.afn.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$6 ? self__.afn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.afn.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$7 ? self__.afn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.afn.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$8 ? self__.afn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.afn.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$9 ? self__.afn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.afn.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$10 ? self__.afn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$11 ? self__.afn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$12 ? self__.afn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$13 ? self__.afn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$14 ? self__.afn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$15 ? self__.afn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$16 ? self__.afn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$17 ? self__.afn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$18 ? self__.afn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$19 ? self__.afn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$20 ? self__.afn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$22 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$22(self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : cljs.core.apply.call(null,self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n}));\n\n(cljs.core.MetaFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22afn\x22,\x22afn\x22,216963467,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.MetaFn.cljs$lang$type \x3d true);\n\n(cljs.core.MetaFn.cljs$lang$ctorStr \x3d \x22cljs.core/MetaFn\x22);\n\n(cljs.core.MetaFn.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MetaFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MetaFn.\n */\ncljs.core.__GT_MetaFn \x3d (function cljs$core$__GT_MetaFn(afn,meta){\nreturn (new cljs.core.MetaFn(afn,meta));\n});\n\n/**\n * Returns an object of the same type and value as obj, with\n * map m as its metadata.\n */\ncljs.core.with_meta \x3d (function cljs$core$with_meta(o,meta){\nif(typeof o \x3d\x3d\x3d \x27function\x27){\nreturn (new cljs.core.MetaFn(o,meta));\n} else {\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._with_meta(o,meta);\n}\n}\n});\n/**\n * Returns the metadata of obj, returns nil if there is no metadata.\n */\ncljs.core.meta \x3d (function cljs$core$meta(o){\nif((function (){var and__5043__auto__ \x3d (!((o \x3d\x3d null)));\nif(and__5043__auto__){\nif((!((o \x3d\x3d null)))){\nif((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$)))){\nreturn true;\n} else {\nif((!o.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n}\n} else {\nreturn and__5043__auto__;\n}\n})()){\nreturn cljs.core._meta(o);\n} else {\nreturn null;\n}\n});\n/**\n * For a list or queue, same as first, for a vector, same as, but much\n * more efficient than, last. If the collection is empty, returns nil.\n */\ncljs.core.peek \x3d (function cljs$core$peek(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._peek(coll);\n}\n});\n/**\n * For a list or queue, returns a new list/queue without the first\n * item, for a vector, returns a new vector without the last item.\n * Note - not the same as next/butlast.\n */\ncljs.core.pop \x3d (function cljs$core$pop(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._pop(coll);\n}\n});\n/**\n * disj[oin]. Returns a new set of the same (hashed/sorted) type, that\n * does not contain key(s).\n */\ncljs.core.disj \x3d (function cljs$core$disj(var_args){\nvar G__14897 \x3d arguments.length;\nswitch (G__14897) {\ncase 1:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17333 \x3d arguments.length;\nvar i__5770__auto___17334 \x3d (0);\nwhile(true){\nif((i__5770__auto___17334 \x3c len__5769__auto___17333)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17334]));\n\nvar G__17336 \x3d (i__5770__auto___17334 + (1));\ni__5770__auto___17334 \x3d G__17336;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._disjoin(coll,k);\n}\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__17338 \x3d ret;\nvar G__17339 \x3d cljs.core.first(ks);\nvar G__17340 \x3d cljs.core.next(ks);\ncoll \x3d G__17338;\nk \x3d G__17339;\nks \x3d G__17340;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj.cljs$lang$applyTo \x3d (function (seq14894){\nvar G__14895 \x3d cljs.core.first(seq14894);\nvar seq14894__$1 \x3d cljs.core.next(seq14894);\nvar G__14896 \x3d cljs.core.first(seq14894__$1);\nvar seq14894__$2 \x3d cljs.core.next(seq14894__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14895,G__14896,seq14894__$2);\n}));\n\n(cljs.core.disj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if coll has no items - same as (not (seq coll)).\n * Please use the idiom (seq x) rather than (not (empty? x))\n */\ncljs.core.empty_QMARK_ \x3d (function cljs$core$empty_QMARK_(coll){\nreturn (((coll \x3d\x3d null)) || (cljs.core.not(cljs.core.seq(coll))));\n});\n/**\n * Returns true if x satisfies ICollection\n */\ncljs.core.coll_QMARK_ \x3d (function cljs$core$coll_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (8))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICollection$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n}\n}\n});\n/**\n * Returns true if x satisfies ISet\n */\ncljs.core.set_QMARK_ \x3d (function cljs$core$set_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n}\n}\n});\n/**\n * Returns true if coll implements IAssociative\n */\ncljs.core.associative_QMARK_ \x3d (function cljs$core$associative_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IAssociative$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n}\n});\n/**\n * Returns true if coll implements IFind\n */\ncljs.core.ifind_QMARK_ \x3d (function cljs$core$ifind_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IFind$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n}\n});\n/**\n * Returns true if coll satisfies ISequential\n */\ncljs.core.sequential_QMARK_ \x3d (function cljs$core$sequential_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n}\n});\n/**\n * Returns true if coll satisfies ISorted\n */\ncljs.core.sorted_QMARK_ \x3d (function cljs$core$sorted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (268435456))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISorted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n}\n});\n/**\n * Returns true if coll satisfies IReduce\n */\ncljs.core.reduceable_QMARK_ \x3d (function cljs$core$reduceable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IReduce$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n}\n});\n/**\n * Return true if x satisfies IMap\n */\ncljs.core.map_QMARK_ \x3d (function cljs$core$map_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n}\n}\n});\n/**\n * Return true if x satisfies IRecord\n */\ncljs.core.record_QMARK_ \x3d (function cljs$core$record_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IRecord$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n}\n});\n/**\n * Return true if x satisfies IVector\n */\ncljs.core.vector_QMARK_ \x3d (function cljs$core$vector_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IVector$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n}\n});\n\n/**\n * Return true if x satisfies IChunkedSeq.\n */\ncljs.core.chunked_seq_QMARK_ \x3d (function cljs$core$chunked_seq_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IChunkedSeq$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n/**\n * Create JavaSript object from an even number arguments representing\n * interleaved keys and values.\n */\ncljs.core.js_obj \x3d (function cljs$core$js_obj(var_args){\nvar G__14911 \x3d arguments.length;\nswitch (G__14911) {\ncase 0:\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17376 \x3d arguments.length;\nvar i__5770__auto___17377 \x3d (0);\nwhile(true){\nif((i__5770__auto___17377 \x3c len__5769__auto___17376)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17377]));\n\nvar G__17387 \x3d (i__5770__auto___17377 + (1));\ni__5770__auto___17377 \x3d G__17387;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((0)),(0),null));\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn ({});\n}));\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$2 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.goog$module$goog$object.create,keyvals) : cljs.core.apply.call(null,cljs.core.goog$module$goog$object.create,keyvals));\n}));\n\n/** @this {Function} */\n(cljs.core.js_obj.cljs$lang$applyTo \x3d (function (seq14910){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14910));\n}));\n\n(cljs.core.js_obj.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Return the JavaScript keys for an object.\n */\ncljs.core.js_keys \x3d (function cljs$core$js_keys(obj){\nreturn cljs.core.goog$module$goog$object.getKeys(obj);\n});\n/**\n * Delete a property from a JavaScript object.\n * Returns true upon success, false otherwise.\n */\ncljs.core.js_delete \x3d (function cljs$core$js_delete(obj,key){\nreturn delete obj[key];\n});\ncljs.core.array_copy \x3d (function cljs$core$array_copy(from,i,to,j,len){\nvar i__$1 \x3d i;\nvar j__$1 \x3d j;\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__17391 \x3d (i__$1 + (1));\nvar G__17392 \x3d (j__$1 + (1));\nvar G__17393 \x3d (len__$1 - (1));\ni__$1 \x3d G__17391;\nj__$1 \x3d G__17392;\nlen__$1 \x3d G__17393;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.array_copy_downward \x3d (function cljs$core$array_copy_downward(from,i,to,j,len){\nvar i__$1 \x3d (i + (len - (1)));\nvar j__$1 \x3d (j + (len - (1)));\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__17396 \x3d (i__$1 - (1));\nvar G__17397 \x3d (j__$1 - (1));\nvar G__17398 \x3d (len__$1 - (1));\ni__$1 \x3d G__17396;\nj__$1 \x3d G__17397;\nlen__$1 \x3d G__17398;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.lookup_sentinel \x3d ({});\n/**\n * Returns true if x is the value false, false otherwise.\n */\ncljs.core.false_QMARK_ \x3d (function cljs$core$false_QMARK_(x){\nreturn x \x3d\x3d\x3d false;\n});\n/**\n * Returns true if x is the value true, false otherwise.\n */\ncljs.core.true_QMARK_ \x3d (function cljs$core$true_QMARK_(x){\nreturn x \x3d\x3d\x3d true;\n});\n/**\n * Return true if x is a Boolean\n */\ncljs.core.boolean_QMARK_ \x3d (function cljs$core$boolean_QMARK_(x){\nreturn ((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false));\n});\n/**\n * Returns true if x identical to the JavaScript undefined value.\n */\ncljs.core.undefined_QMARK_ \x3d (function cljs$core$undefined_QMARK_(x){\nreturn (void 0 \x3d\x3d\x3d x);\n});\n/**\n * Return true if s satisfies ISeq\n */\ncljs.core.seq_QMARK_ \x3d (function cljs$core$seq_QMARK_(s){\nif((s \x3d\x3d null)){\nreturn false;\n} else {\nif((!((s \x3d\x3d null)))){\nif((((s.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$ISeq$)))){\nreturn true;\n} else {\nif((!s.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n}\n}\n});\n/**\n * Return true if the seq function is supported for s\n */\ncljs.core.seqable_QMARK_ \x3d (function cljs$core$seqable_QMARK_(s){\nvar or__5045__auto__ \x3d (s \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$ISeqable$))))?true:(((!s.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn ((cljs.core.array_QMARK_(s)) || (typeof s \x3d\x3d\x3d \x27string\x27));\n}\n}\n});\n/**\n * Coerce to boolean\n */\ncljs.core.boolean$ \x3d (function cljs$core$boolean(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n});\n/**\n * Returns true if f returns true for fn? or satisfies IFn.\n */\ncljs.core.ifn_QMARK_ \x3d (function cljs$core$ifn_QMARK_(f){\nvar or__5045__auto__ \x3d cljs.core.fn_QMARK_(f);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif((((f.cljs$lang$protocol_mask$partition0$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$IFn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n}\n}\n});\n/**\n * Returns true if n is a JavaScript number with no decimal part.\n */\ncljs.core.integer_QMARK_ \x3d (function cljs$core$integer_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))));\n});\n/**\n * INTERNAL: do not use\n */\ncljs.core.LongImpl \x3d cljs.core.goog$module$goog$math$Long;\n/**\n * Return true if x satisfies integer? or is an instance of goog.math.Integer\n * or goog.math.Long.\n */\ncljs.core.int_QMARK_ \x3d (function cljs$core$int_QMARK_(x){\nreturn ((cljs.core.integer_QMARK_(x)) || ((((x instanceof goog.math.Integer)) || ((x instanceof cljs.core.goog$module$goog$math$Long)))));\n});\n/**\n * Return true if x satisfies int? and is positive.\n */\ncljs.core.pos_int_QMARK_ \x3d (function cljs$core$pos_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3e (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is negative.\n */\ncljs.core.neg_int_QMARK_ \x3d (function cljs$core$neg_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3c (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn x.isNegative();\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn x.isNegative();\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is a natural integer value.\n */\ncljs.core.nat_int_QMARK_ \x3d (function cljs$core$nat_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (!((x \x3c (0))));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn cljs.core.not(x.isNegative());\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn cljs.core.not(x.isNegative());\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.float_QMARK_ \x3d (function cljs$core$float_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.double_QMARK_ \x3d (function cljs$core$double_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for Infinity and -Infinity values.\n */\ncljs.core.infinite_QMARK_ \x3d (function cljs$core$infinite_QMARK_(x){\nreturn (((x \x3d\x3d\x3d Number.POSITIVE_INFINITY)) || ((x \x3d\x3d\x3d Number.NEGATIVE_INFINITY)));\n});\n/**\n * Returns true if key is present in the given collection, otherwise\n * returns false. Note that for numerically indexed collections like\n * vectors and arrays, this tests if the numeric key is within the\n * range of indexes. \x27contains?\x27 operates constant or logarithmic time;\n * it will not perform a linear search for a value. See also \x27some\x27.\n */\ncljs.core.contains_QMARK_ \x3d (function cljs$core$contains_QMARK_(coll,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(null,v);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,coll)){\nreturn cljs.core._contains_key_QMARK_(coll,v);\n} else {\nif((cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core.find \x3d (function cljs$core$find(coll,k){\nif(cljs.core.ifind_QMARK_(coll)){\nreturn cljs.core._find(coll,k);\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 (((cljs.core.associative_QMARK_(coll)) \x26\x26 (cljs.core.contains_QMARK_(coll,k)))))){\nreturn (new cljs.core.MapEntry(k,cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,k),null));\n} else {\nreturn null;\n}\n}\n});\n/**\n * Returns true if no two of the arguments are \x3d\n */\ncljs.core.distinct_QMARK_ \x3d (function cljs$core$distinct_QMARK_(var_args){\nvar G__14924 \x3d arguments.length;\nswitch (G__14924) {\ncase 1:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17477 \x3d arguments.length;\nvar i__5770__auto___17478 \x3d (0);\nwhile(true){\nif((i__5770__auto___17478 \x3c len__5769__auto___17477)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17478]));\n\nvar G__17480 \x3d (i__5770__auto___17478 + (1));\ni__5770__auto___17478 \x3d G__17480;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)))){\nvar s \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([x,y]);\nvar xs \x3d more;\nwhile(true){\nvar x__$1 \x3d cljs.core.first(xs);\nvar etc \x3d cljs.core.next(xs);\nif(cljs.core.truth_(xs)){\nif(cljs.core.contains_QMARK_(s,x__$1)){\nreturn false;\n} else {\nvar G__17486 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(s,x__$1);\nvar G__17487 \x3d etc;\ns \x3d G__17486;\nxs \x3d G__17487;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.distinct_QMARK_.cljs$lang$applyTo \x3d (function (seq14921){\nvar G__14922 \x3d cljs.core.first(seq14921);\nvar seq14921__$1 \x3d cljs.core.next(seq14921);\nvar G__14923 \x3d cljs.core.first(seq14921__$1);\nvar seq14921__$2 \x3d cljs.core.next(seq14921__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14922,G__14923,seq14921__$2);\n}));\n\n(cljs.core.distinct_QMARK_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Comparator. Returns a negative number, zero, or a positive number\n * when x is logically \x27less than\x27, \x27equal to\x27, or \x27greater than\x27\n * y. Uses IComparable if available and google.array.defaultCompare for objects\n * of the same type and special-cases nil to be less than any other object.\n */\ncljs.core.compare \x3d (function cljs$core$compare(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn (0);\n} else {\nif((x \x3d\x3d null)){\nreturn (-1);\n} else {\nif((y \x3d\x3d null)){\nreturn (1);\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nif(typeof y \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IComparable$))))?true:(((!x.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x))){\nreturn cljs.core._compare(x,y);\n} else {\nif(((((typeof x \x3d\x3d\x3d \x27string\x27) || (((cljs.core.array_QMARK_(x)) || (((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false))))))) \x26\x26 ((cljs.core.type(x) \x3d\x3d\x3d cljs.core.type(y))))){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n\n}\n}\n}\n}\n}\n});\n/**\n * Compare indexed collection.\n */\ncljs.core.compare_indexed \x3d (function cljs$core$compare_indexed(var_args){\nvar G__14927 \x3d arguments.length;\nswitch (G__14927) {\ncase 2:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (xs,ys){\nvar xl \x3d cljs.core.count(xs);\nvar yl \x3d cljs.core.count(ys);\nif((xl \x3c yl)){\nreturn (-1);\n} else {\nif((xl \x3e yl)){\nreturn (1);\n} else {\nif((xl \x3d\x3d\x3d (0))){\nreturn (0);\n} else {\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(xs,ys,xl,(0));\n\n}\n}\n}\n}));\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4 \x3d (function (xs,ys,len,n){\nwhile(true){\nvar d \x3d cljs.core.compare(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(xs,n),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ys,n));\nif((((d \x3d\x3d\x3d (0))) \x26\x26 (((n + (1)) \x3c len)))){\nvar G__17494 \x3d xs;\nvar G__17495 \x3d ys;\nvar G__17496 \x3d len;\nvar G__17497 \x3d (n + (1));\nxs \x3d G__17494;\nys \x3d G__17495;\nlen \x3d G__17496;\nn \x3d G__17497;\ncontinue;\n} else {\nreturn d;\n}\nbreak;\n}\n}));\n\n(cljs.core.compare_indexed.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Given a fn that might be boolean valued or a comparator,\n * return a fn that is a comparator.\n */\ncljs.core.fn__GT_comparator \x3d (function cljs$core$fn__GT_comparator(f){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.compare)){\nreturn cljs.core.compare;\n} else {\nreturn (function (x,y){\nvar r \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\nif(typeof r \x3d\x3d\x3d \x27number\x27){\nreturn r;\n} else {\nif(cljs.core.truth_(r)){\nreturn (-1);\n} else {\nif(cljs.core.truth_((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(y,x) : f.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n}\n}\n}\n});\n}\n});\n/**\n * Returns a sorted sequence of the items in coll. Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort \x3d (function cljs$core$sort(var_args){\nvar G__14929 \x3d arguments.length;\nswitch (G__14929) {\ncase 1:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(cljs.core.compare,coll);\n}));\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$2 \x3d (function (comp,coll){\nif(cljs.core.seq(coll)){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.stableSort(a,cljs.core.fn__GT_comparator(comp));\n\nreturn cljs.core.with_meta(cljs.core.seq(a),cljs.core.meta(coll));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sort.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a sorted sequence of the items in coll, where the sort\n * order is determined by comparing (keyfn item). Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort_by \x3d (function cljs$core$sort_by(var_args){\nvar G__14931 \x3d arguments.length;\nswitch (G__14931) {\ncase 2:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (keyfn,coll){\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(keyfn,cljs.core.compare,coll);\n}));\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (keyfn,comp,coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (x,y){\nvar G__14933 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(x) : keyfn.call(null,x));\nvar G__14934 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(y) : keyfn.call(null,y));\nvar fexpr__14932 \x3d cljs.core.fn__GT_comparator(comp);\nreturn (fexpr__14932.cljs$core$IFn$_invoke$arity$2 ? fexpr__14932.cljs$core$IFn$_invoke$arity$2(G__14933,G__14934) : fexpr__14932.call(null,G__14933,G__14934));\n}),coll);\n}));\n\n(cljs.core.sort_by.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.seq_reduce \x3d (function cljs$core$seq_reduce(var_args){\nvar G__14936 \x3d arguments.length;\nswitch (G__14936) {\ncase 2:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar s \x3d temp__5802__auto__;\nvar G__14937 \x3d f;\nvar G__14938 \x3d cljs.core.first(s);\nvar G__14939 \x3d cljs.core.next(s);\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__14937,G__14938,G__14939) : cljs.core.reduce.call(null,G__14937,G__14938,G__14939));\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nvar val__$1 \x3d val;\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif(coll__$1){\nvar nval \x3d (function (){var G__14940 \x3d val__$1;\nvar G__14941 \x3d cljs.core.first(coll__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__14940,G__14941) : f.call(null,G__14940,G__14941));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__17527 \x3d nval;\nvar G__17528 \x3d cljs.core.next(coll__$1);\nval__$1 \x3d G__17527;\ncoll__$1 \x3d G__17528;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.seq_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return a random permutation of coll\n */\ncljs.core.shuffle \x3d (function cljs$core$shuffle(coll){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.shuffle(a);\n\nreturn (cljs.core.vec.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vec.cljs$core$IFn$_invoke$arity$1(a) : cljs.core.vec.call(null,a));\n});\ncljs.core.iter_reduce \x3d (function cljs$core$iter_reduce(var_args){\nvar G__14943 \x3d arguments.length;\nswitch (G__14943) {\ncase 2:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nvar iter \x3d cljs.core._iterator(coll);\nif(cljs.core.truth_(iter.hasNext())){\nvar init \x3d iter.next();\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__14944 \x3d acc;\nvar G__14945 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__14944,G__14945) : f.call(null,G__14944,G__14945));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__17541 \x3d nacc;\nacc \x3d G__17541;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,init){\nvar iter \x3d cljs.core._iterator(coll);\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__14946 \x3d acc;\nvar G__14947 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__14946,G__14947) : f.call(null,G__14946,G__14947));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__17544 \x3d nacc;\nacc \x3d G__17544;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.iter_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * f should be a function of 2 arguments. If val is not supplied,\n * returns the result of applying f to the first 2 items in coll, then\n * applying f to that result and the 3rd item, etc. If coll contains no\n * items, f must accept no arguments as well, and reduce returns the\n * result of calling f with no arguments. If coll has only 1 item, it\n * is returned and f is not called. If val is supplied, returns the\n * result of applying f to val and the first item in coll, then\n * applying f to that result and the 2nd item, etc. If coll contains no\n * items, returns val and f is not called.\n */\ncljs.core.reduce \x3d (function cljs$core$reduce(var_args){\nvar G__14949 \x3d arguments.length;\nswitch (G__14949) {\ncase 2:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(null,f);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(null,f,val);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f,val);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,val,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reduces an associative collection. f should be a function of 3\n * arguments. Returns the result of applying f to init, the first key\n * and the first value in coll, then applying f to that result and the\n * 2nd key and value, etc. If coll contains no entries, returns init\n * and f is not called. Note that reduce-kv is supported on vectors,\n * where the keys will be the ordinals.\n */\ncljs.core.reduce_kv \x3d (function cljs$core$reduce_kv(f,init,coll){\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._kv_reduce(coll,f,init);\n} else {\nreturn init;\n}\n});\n/**\n * Returns its argument.\n */\ncljs.core.identity \x3d (function cljs$core$identity(x){\nreturn x;\n});\n/**\n * Takes a reducing function f of 2 args and returns a fn suitable for\n * transduce by adding an arity-1 signature that calls cf (default -\n * identity) on the result argument.\n */\ncljs.core.completing \x3d (function cljs$core$completing(var_args){\nvar G__14953 \x3d arguments.length;\nswitch (G__14953) {\ncase 1:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2(f,cljs.core.identity);\n}));\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,cf){\nreturn (function() {\nvar G__17582 \x3d null;\nvar G__17582__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n});\nvar G__17582__1 \x3d (function (x){\nreturn (cf.cljs$core$IFn$_invoke$arity$1 ? cf.cljs$core$IFn$_invoke$arity$1(x) : cf.call(null,x));\n});\nvar G__17582__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\n});\nG__17582 \x3d function(x,y){\nswitch(arguments.length){\ncase 0:\nreturn G__17582__0.call(this);\ncase 1:\nreturn G__17582__1.call(this,x);\ncase 2:\nreturn G__17582__2.call(this,x,y);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__17582.cljs$core$IFn$_invoke$arity$0 \x3d G__17582__0;\nG__17582.cljs$core$IFn$_invoke$arity$1 \x3d G__17582__1;\nG__17582.cljs$core$IFn$_invoke$arity$2 \x3d G__17582__2;\nreturn G__17582;\n})()\n}));\n\n(cljs.core.completing.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * reduce with a transformation of f (xf). If init is not\n * supplied, (f) will be called to produce it. f should be a reducing\n * step function that accepts both 1 and 2 arguments, if it accepts\n * only 2 you can add the arity-1 with \x27completing\x27. Returns the result\n * of applying (the transformed) xf to init and the first item in coll,\n * then applying xf to that result and the 2nd item, etc. If coll\n * contains no items, returns init and f is not called. Note that\n * certain transforms may inject or skip items.\n */\ncljs.core.transduce \x3d (function cljs$core$transduce(var_args){\nvar G__14955 \x3d arguments.length;\nswitch (G__14955) {\ncase 3:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (xform,f,coll){\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,f,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),coll);\n}));\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (xform,f,init,coll){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar ret \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(f__$1,init,coll);\nreturn (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(ret) : f__$1.call(null,ret));\n}));\n\n(cljs.core.transduce.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core._PLUS_ \x3d (function cljs$core$_PLUS_(var_args){\nvar G__14960 \x3d arguments.length;\nswitch (G__14960) {\ncase 0:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17604 \x3d arguments.length;\nvar i__5770__auto___17605 \x3d (0);\nwhile(true){\nif((i__5770__auto___17605 \x3c len__5769__auto___17604)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17605]));\n\nvar G__17618 \x3d (i__5770__auto___17605 + (1));\ni__5770__auto___17605 \x3d G__17618;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._PLUS_,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._PLUS_.cljs$lang$applyTo \x3d (function (seq14957){\nvar G__14958 \x3d cljs.core.first(seq14957);\nvar seq14957__$1 \x3d cljs.core.next(seq14957);\nvar G__14959 \x3d cljs.core.first(seq14957__$1);\nvar seq14957__$2 \x3d cljs.core.next(seq14957__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14958,G__14959,seq14957__$2);\n}));\n\n(cljs.core._PLUS_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core._ \x3d (function cljs$core$_(var_args){\nvar G__14965 \x3d arguments.length;\nswitch (G__14965) {\ncase 1:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17622 \x3d arguments.length;\nvar i__5770__auto___17623 \x3d (0);\nwhile(true){\nif((i__5770__auto___17623 \x3c len__5769__auto___17622)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17623]));\n\nvar G__17624 \x3d (i__5770__auto___17623 + (1));\ni__5770__auto___17623 \x3d G__17624;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._.cljs$lang$applyTo \x3d (function (seq14962){\nvar G__14963 \x3d cljs.core.first(seq14962);\nvar seq14962__$1 \x3d cljs.core.next(seq14962);\nvar G__14964 \x3d cljs.core.first(seq14962__$1);\nvar seq14962__$2 \x3d cljs.core.next(seq14962__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14963,G__14964,seq14962__$2);\n}));\n\n(cljs.core._.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core._STAR_ \x3d (function cljs$core$_STAR_(var_args){\nvar G__14970 \x3d arguments.length;\nswitch (G__14970) {\ncase 0:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17629 \x3d arguments.length;\nvar i__5770__auto___17630 \x3d (0);\nwhile(true){\nif((i__5770__auto___17630 \x3c len__5769__auto___17629)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17630]));\n\nvar G__17631 \x3d (i__5770__auto___17630 + (1));\ni__5770__auto___17630 \x3d G__17631;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._STAR_,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._STAR_.cljs$lang$applyTo \x3d (function (seq14967){\nvar G__14968 \x3d cljs.core.first(seq14967);\nvar seq14967__$1 \x3d cljs.core.next(seq14967);\nvar G__14969 \x3d cljs.core.first(seq14967__$1);\nvar seq14967__$2 \x3d cljs.core.next(seq14967__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14968,G__14969,seq14967__$2);\n}));\n\n(cljs.core._STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no denominators are supplied, returns 1/numerator,\n * else returns numerator divided by all of the denominators.\n */\ncljs.core._SLASH_ \x3d (function cljs$core$_SLASH_(var_args){\nvar G__14975 \x3d arguments.length;\nswitch (G__14975) {\ncase 1:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17642 \x3d arguments.length;\nvar i__5770__auto___17643 \x3d (0);\nwhile(true){\nif((i__5770__auto___17643 \x3c len__5769__auto___17642)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17643]));\n\nvar G__17644 \x3d (i__5770__auto___17643 + (1));\ni__5770__auto___17643 \x3d G__17644;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._SLASH_,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._SLASH_.cljs$lang$applyTo \x3d (function (seq14972){\nvar G__14973 \x3d cljs.core.first(seq14972);\nvar seq14972__$1 \x3d cljs.core.next(seq14972);\nvar G__14974 \x3d cljs.core.first(seq14972__$1);\nvar seq14972__$2 \x3d cljs.core.next(seq14972__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14973,G__14974,seq14972__$2);\n}));\n\n(cljs.core._SLASH_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically increasing order,\n * otherwise false.\n */\ncljs.core._LT_ \x3d (function cljs$core$_LT_(var_args){\nvar G__14980 \x3d arguments.length;\nswitch (G__14980) {\ncase 1:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17652 \x3d arguments.length;\nvar i__5770__auto___17653 \x3d (0);\nwhile(true){\nif((i__5770__auto___17653 \x3c len__5769__auto___17652)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17653]));\n\nvar G__17655 \x3d (i__5770__auto___17653 + (1));\ni__5770__auto___17653 \x3d G__17655;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c y);\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c y)){\nif(cljs.core.next(more)){\nvar G__17666 \x3d y;\nvar G__17667 \x3d cljs.core.first(more);\nvar G__17668 \x3d cljs.core.next(more);\nx \x3d G__17666;\ny \x3d G__17667;\nmore \x3d G__17668;\ncontinue;\n} else {\nreturn (y \x3c cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT_.cljs$lang$applyTo \x3d (function (seq14977){\nvar G__14978 \x3d cljs.core.first(seq14977);\nvar seq14977__$1 \x3d cljs.core.next(seq14977);\nvar G__14979 \x3d cljs.core.first(seq14977__$1);\nvar seq14977__$2 \x3d cljs.core.next(seq14977__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14978,G__14979,seq14977__$2);\n}));\n\n(cljs.core._LT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-decreasing order,\n * otherwise false.\n */\ncljs.core._LT__EQ_ \x3d (function cljs$core$_LT__EQ_(var_args){\nvar G__14985 \x3d arguments.length;\nswitch (G__14985) {\ncase 1:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17673 \x3d arguments.length;\nvar i__5770__auto___17674 \x3d (0);\nwhile(true){\nif((i__5770__auto___17674 \x3c len__5769__auto___17673)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17674]));\n\nvar G__17675 \x3d (i__5770__auto___17674 + (1));\ni__5770__auto___17674 \x3d G__17675;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c\x3d y);\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c\x3d y)){\nif(cljs.core.next(more)){\nvar G__17676 \x3d y;\nvar G__17677 \x3d cljs.core.first(more);\nvar G__17678 \x3d cljs.core.next(more);\nx \x3d G__17676;\ny \x3d G__17677;\nmore \x3d G__17678;\ncontinue;\n} else {\nreturn (y \x3c\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT__EQ_.cljs$lang$applyTo \x3d (function (seq14982){\nvar G__14983 \x3d cljs.core.first(seq14982);\nvar seq14982__$1 \x3d cljs.core.next(seq14982);\nvar G__14984 \x3d cljs.core.first(seq14982__$1);\nvar seq14982__$2 \x3d cljs.core.next(seq14982__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14983,G__14984,seq14982__$2);\n}));\n\n(cljs.core._LT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically decreasing order,\n * otherwise false.\n */\ncljs.core._GT_ \x3d (function cljs$core$_GT_(var_args){\nvar G__14990 \x3d arguments.length;\nswitch (G__14990) {\ncase 1:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17680 \x3d arguments.length;\nvar i__5770__auto___17681 \x3d (0);\nwhile(true){\nif((i__5770__auto___17681 \x3c len__5769__auto___17680)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17681]));\n\nvar G__17684 \x3d (i__5770__auto___17681 + (1));\ni__5770__auto___17681 \x3d G__17684;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e y);\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e y)){\nif(cljs.core.next(more)){\nvar G__17685 \x3d y;\nvar G__17686 \x3d cljs.core.first(more);\nvar G__17687 \x3d cljs.core.next(more);\nx \x3d G__17685;\ny \x3d G__17686;\nmore \x3d G__17687;\ncontinue;\n} else {\nreturn (y \x3e cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT_.cljs$lang$applyTo \x3d (function (seq14987){\nvar G__14988 \x3d cljs.core.first(seq14987);\nvar seq14987__$1 \x3d cljs.core.next(seq14987);\nvar G__14989 \x3d cljs.core.first(seq14987__$1);\nvar seq14987__$2 \x3d cljs.core.next(seq14987__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14988,G__14989,seq14987__$2);\n}));\n\n(cljs.core._GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-increasing order,\n * otherwise false.\n */\ncljs.core._GT__EQ_ \x3d (function cljs$core$_GT__EQ_(var_args){\nvar G__14995 \x3d arguments.length;\nswitch (G__14995) {\ncase 1:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17694 \x3d arguments.length;\nvar i__5770__auto___17695 \x3d (0);\nwhile(true){\nif((i__5770__auto___17695 \x3c len__5769__auto___17694)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17695]));\n\nvar G__17696 \x3d (i__5770__auto___17695 + (1));\ni__5770__auto___17695 \x3d G__17696;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e\x3d y);\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e\x3d y)){\nif(cljs.core.next(more)){\nvar G__17698 \x3d y;\nvar G__17699 \x3d cljs.core.first(more);\nvar G__17700 \x3d cljs.core.next(more);\nx \x3d G__17698;\ny \x3d G__17699;\nmore \x3d G__17700;\ncontinue;\n} else {\nreturn (y \x3e\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT__EQ_.cljs$lang$applyTo \x3d (function (seq14992){\nvar G__14993 \x3d cljs.core.first(seq14992);\nvar seq14992__$1 \x3d cljs.core.next(seq14992);\nvar G__14994 \x3d cljs.core.first(seq14992__$1);\nvar seq14992__$2 \x3d cljs.core.next(seq14992__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14993,G__14994,seq14992__$2);\n}));\n\n(cljs.core._GT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than num.\n */\ncljs.core.dec \x3d (function cljs$core$dec(x){\nreturn (x - (1));\n});\n/**\n * Returns the absolute value of a.\n */\ncljs.core.abs \x3d (function cljs$core$abs(a){\nreturn Math.abs(a);\n});\n/**\n * Returns the greatest of the nums.\n */\ncljs.core.max \x3d (function cljs$core$max(var_args){\nvar G__15000 \x3d arguments.length;\nswitch (G__15000) {\ncase 1:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17710 \x3d arguments.length;\nvar i__5770__auto___17711 \x3d (0);\nwhile(true){\nif((i__5770__auto___17711 \x3c len__5769__auto___17710)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17711]));\n\nvar G__17713 \x3d (i__5770__auto___17711 + (1));\ni__5770__auto___17711 \x3d G__17713;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5130__auto__ \x3d x;\nvar y__5131__auto__ \x3d y;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(function (){var x__5130__auto__ \x3d x;\nvar y__5131__auto__ \x3d y;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max.cljs$lang$applyTo \x3d (function (seq14997){\nvar G__14998 \x3d cljs.core.first(seq14997);\nvar seq14997__$1 \x3d cljs.core.next(seq14997);\nvar G__14999 \x3d cljs.core.first(seq14997__$1);\nvar seq14997__$2 \x3d cljs.core.next(seq14997__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14998,G__14999,seq14997__$2);\n}));\n\n(cljs.core.max.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the least of the nums.\n */\ncljs.core.min \x3d (function cljs$core$min(var_args){\nvar G__15005 \x3d arguments.length;\nswitch (G__15005) {\ncase 1:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17774 \x3d arguments.length;\nvar i__5770__auto___17775 \x3d (0);\nwhile(true){\nif((i__5770__auto___17775 \x3c len__5769__auto___17774)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17775]));\n\nvar G__17776 \x3d (i__5770__auto___17775 + (1));\ni__5770__auto___17775 \x3d G__17776;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5133__auto__ \x3d x;\nvar y__5134__auto__ \x3d y;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.min,(function (){var x__5133__auto__ \x3d x;\nvar y__5134__auto__ \x3d y;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min.cljs$lang$applyTo \x3d (function (seq15002){\nvar G__15003 \x3d cljs.core.first(seq15002);\nvar seq15002__$1 \x3d cljs.core.next(seq15002);\nvar G__15004 \x3d cljs.core.first(seq15002__$1);\nvar seq15002__$2 \x3d cljs.core.next(seq15002__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15003,G__15004,seq15002__$2);\n}));\n\n(cljs.core.min.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.byte$ \x3d (function cljs$core$byte(x){\nreturn x;\n});\n/**\n * Coerce to char\n */\ncljs.core.char$ \x3d (function cljs$core$char(x){\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn String.fromCharCode(x);\n} else {\nif(((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 ((x.length \x3d\x3d\x3d (1))))){\nreturn x;\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.core.short$ \x3d (function cljs$core$short(x){\nreturn x;\n});\ncljs.core.float$ \x3d (function cljs$core$float(x){\nreturn x;\n});\ncljs.core.double$ \x3d (function cljs$core$double(x){\nreturn x;\n});\ncljs.core.unchecked_byte \x3d (function cljs$core$unchecked_byte(x){\nreturn x;\n});\ncljs.core.unchecked_char \x3d (function cljs$core$unchecked_char(x){\nreturn x;\n});\ncljs.core.unchecked_short \x3d (function cljs$core$unchecked_short(x){\nreturn x;\n});\ncljs.core.unchecked_float \x3d (function cljs$core$unchecked_float(x){\nreturn x;\n});\ncljs.core.unchecked_double \x3d (function cljs$core$unchecked_double(x){\nreturn x;\n});\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add \x3d (function cljs$core$unchecked_add(var_args){\nvar G__15010 \x3d arguments.length;\nswitch (G__15010) {\ncase 0:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17821 \x3d arguments.length;\nvar i__5770__auto___17822 \x3d (0);\nwhile(true){\nif((i__5770__auto___17822 \x3c len__5769__auto___17821)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17822]));\n\nvar G__17850 \x3d (i__5770__auto___17822 + (1));\ni__5770__auto___17822 \x3d G__17850;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add.cljs$lang$applyTo \x3d (function (seq15007){\nvar G__15008 \x3d cljs.core.first(seq15007);\nvar seq15007__$1 \x3d cljs.core.next(seq15007);\nvar G__15009 \x3d cljs.core.first(seq15007__$1);\nvar seq15007__$2 \x3d cljs.core.next(seq15007__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15008,G__15009,seq15007__$2);\n}));\n\n(cljs.core.unchecked_add.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add_int \x3d (function cljs$core$unchecked_add_int(var_args){\nvar G__15015 \x3d arguments.length;\nswitch (G__15015) {\ncase 0:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17857 \x3d arguments.length;\nvar i__5770__auto___17858 \x3d (0);\nwhile(true){\nif((i__5770__auto___17858 \x3c len__5769__auto___17857)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17858]));\n\nvar G__17860 \x3d (i__5770__auto___17858 + (1));\ni__5770__auto___17858 \x3d G__17860;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add_int,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add_int.cljs$lang$applyTo \x3d (function (seq15012){\nvar G__15013 \x3d cljs.core.first(seq15012);\nvar seq15012__$1 \x3d cljs.core.next(seq15012);\nvar G__15014 \x3d cljs.core.first(seq15012__$1);\nvar seq15012__$2 \x3d cljs.core.next(seq15012__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15013,G__15014,seq15012__$2);\n}));\n\n(cljs.core.unchecked_add_int.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec \x3d (function cljs$core$unchecked_dec(x){\nreturn (x - (1));\n});\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec_int \x3d (function cljs$core$unchecked_dec_int(x){\nreturn (x - (1));\n});\n/**\n * If no denominators are supplied, returns 1/numerator,\n * else returns numerator divided by all of the denominators.\n */\ncljs.core.unchecked_divide_int \x3d (function cljs$core$unchecked_divide_int(var_args){\nvar G__15020 \x3d arguments.length;\nswitch (G__15020) {\ncase 1:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17890 \x3d arguments.length;\nvar i__5770__auto___17891 \x3d (0);\nwhile(true){\nif((i__5770__auto___17891 \x3c len__5769__auto___17890)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17891]));\n\nvar G__17892 \x3d (i__5770__auto___17891 + (1));\ni__5770__auto___17891 \x3d G__17892;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_divide_int,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_divide_int.cljs$lang$applyTo \x3d (function (seq15017){\nvar G__15018 \x3d cljs.core.first(seq15017);\nvar seq15017__$1 \x3d cljs.core.next(seq15017);\nvar G__15019 \x3d cljs.core.first(seq15017__$1);\nvar seq15017__$2 \x3d cljs.core.next(seq15017__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15018,G__15019,seq15017__$2);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_inc \x3d (function cljs$core$unchecked_inc(x){\nreturn (x + (1));\n});\ncljs.core.unchecked_inc_int \x3d (function cljs$core$unchecked_inc_int(x){\nreturn (x + (1));\n});\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply \x3d (function cljs$core$unchecked_multiply(var_args){\nvar G__15025 \x3d arguments.length;\nswitch (G__15025) {\ncase 0:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17900 \x3d arguments.length;\nvar i__5770__auto___17902 \x3d (0);\nwhile(true){\nif((i__5770__auto___17902 \x3c len__5769__auto___17900)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17902]));\n\nvar G__17903 \x3d (i__5770__auto___17902 + (1));\ni__5770__auto___17902 \x3d G__17903;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply.cljs$lang$applyTo \x3d (function (seq15022){\nvar G__15023 \x3d cljs.core.first(seq15022);\nvar seq15022__$1 \x3d cljs.core.next(seq15022);\nvar G__15024 \x3d cljs.core.first(seq15022__$1);\nvar seq15022__$2 \x3d cljs.core.next(seq15022__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15023,G__15024,seq15022__$2);\n}));\n\n(cljs.core.unchecked_multiply.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply_int \x3d (function cljs$core$unchecked_multiply_int(var_args){\nvar G__15030 \x3d arguments.length;\nswitch (G__15030) {\ncase 0:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17908 \x3d arguments.length;\nvar i__5770__auto___17909 \x3d (0);\nwhile(true){\nif((i__5770__auto___17909 \x3c len__5769__auto___17908)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17909]));\n\nvar G__17910 \x3d (i__5770__auto___17909 + (1));\ni__5770__auto___17909 \x3d G__17910;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply_int,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply_int.cljs$lang$applyTo \x3d (function (seq15027){\nvar G__15028 \x3d cljs.core.first(seq15027);\nvar seq15027__$1 \x3d cljs.core.next(seq15027);\nvar G__15029 \x3d cljs.core.first(seq15027__$1);\nvar seq15027__$2 \x3d cljs.core.next(seq15027__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15028,G__15029,seq15027__$2);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_negate \x3d (function cljs$core$unchecked_negate(x){\nreturn (- x);\n});\ncljs.core.unchecked_negate_int \x3d (function cljs$core$unchecked_negate_int(x){\nreturn (- x);\n});\ncljs.core.unchecked_remainder_int \x3d (function cljs$core$unchecked_remainder_int(x,n){\nreturn (cljs.core.mod.cljs$core$IFn$_invoke$arity$2 ? cljs.core.mod.cljs$core$IFn$_invoke$arity$2(x,n) : cljs.core.mod.call(null,x,n));\n});\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract \x3d (function cljs$core$unchecked_subtract(var_args){\nvar G__15035 \x3d arguments.length;\nswitch (G__15035) {\ncase 1:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17938 \x3d arguments.length;\nvar i__5770__auto___17939 \x3d (0);\nwhile(true){\nif((i__5770__auto___17939 \x3c len__5769__auto___17938)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17939]));\n\nvar G__17940 \x3d (i__5770__auto___17939 + (1));\ni__5770__auto___17939 \x3d G__17940;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract.cljs$lang$applyTo \x3d (function (seq15032){\nvar G__15033 \x3d cljs.core.first(seq15032);\nvar seq15032__$1 \x3d cljs.core.next(seq15032);\nvar G__15034 \x3d cljs.core.first(seq15032__$1);\nvar seq15032__$2 \x3d cljs.core.next(seq15032__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15033,G__15034,seq15032__$2);\n}));\n\n(cljs.core.unchecked_subtract.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract_int \x3d (function cljs$core$unchecked_subtract_int(var_args){\nvar G__15040 \x3d arguments.length;\nswitch (G__15040) {\ncase 1:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17944 \x3d arguments.length;\nvar i__5770__auto___17946 \x3d (0);\nwhile(true){\nif((i__5770__auto___17946 \x3c len__5769__auto___17944)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17946]));\n\nvar G__17947 \x3d (i__5770__auto___17946 + (1));\ni__5770__auto___17946 \x3d G__17947;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract_int,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract_int.cljs$lang$applyTo \x3d (function (seq15037){\nvar G__15038 \x3d cljs.core.first(seq15037);\nvar seq15037__$1 \x3d cljs.core.next(seq15037);\nvar G__15039 \x3d cljs.core.first(seq15037__$1);\nvar seq15037__$2 \x3d cljs.core.next(seq15037__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15038,G__15039,seq15037__$2);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.fix \x3d (function cljs$core$fix(q){\nif((q \x3e\x3d (0))){\nreturn Math.floor(q);\n} else {\nreturn Math.ceil(q);\n}\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.int$ \x3d (function cljs$core$int(x){\nreturn (x | (0));\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.unchecked_int \x3d (function cljs$core$unchecked_int(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.long$ \x3d (function cljs$core$long(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.unchecked_long \x3d (function cljs$core$unchecked_long(x){\nreturn cljs.core.fix(x);\n});\ncljs.core.booleans \x3d (function cljs$core$booleans(x){\nreturn x;\n});\ncljs.core.bytes \x3d (function cljs$core$bytes(x){\nreturn x;\n});\ncljs.core.chars \x3d (function cljs$core$chars(x){\nreturn x;\n});\ncljs.core.shorts \x3d (function cljs$core$shorts(x){\nreturn x;\n});\ncljs.core.ints \x3d (function cljs$core$ints(x){\nreturn x;\n});\ncljs.core.floats \x3d (function cljs$core$floats(x){\nreturn x;\n});\ncljs.core.doubles \x3d (function cljs$core$doubles(x){\nreturn x;\n});\ncljs.core.longs \x3d (function cljs$core$longs(x){\nreturn x;\n});\n/**\n * Modulus of num and div with original javascript behavior. i.e. bug for negative numbers\n */\ncljs.core.js_mod \x3d (function cljs$core$js_mod(n,d){\nreturn (n % d);\n});\n/**\n * Modulus of num and div. Truncates toward negative infinity.\n */\ncljs.core.mod \x3d (function cljs$core$mod(n,d){\nreturn (((n % d) + d) % d);\n});\n/**\n * quot[ient] of dividing numerator by denominator.\n */\ncljs.core.quot \x3d (function cljs$core$quot(n,d){\nvar rem \x3d (n % d);\nreturn cljs.core.fix(((n - rem) / d));\n});\n/**\n * remainder of dividing numerator by denominator.\n */\ncljs.core.rem \x3d (function cljs$core$rem(n,d){\nvar q \x3d cljs.core.quot(n,d);\nreturn (n - (d * q));\n});\n/**\n * Bitwise exclusive or\n */\ncljs.core.bit_xor \x3d (function cljs$core$bit_xor(var_args){\nvar G__15045 \x3d arguments.length;\nswitch (G__15045) {\ncase 2:\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___17996 \x3d arguments.length;\nvar i__5770__auto___17997 \x3d (0);\nwhile(true){\nif((i__5770__auto___17997 \x3c len__5769__auto___17996)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___17997]));\n\nvar G__17998 \x3d (i__5770__auto___17997 + (1));\ni__5770__auto___17997 \x3d G__17998;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x ^ y);\n}));\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_xor,(x ^ y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_xor.cljs$lang$applyTo \x3d (function (seq15042){\nvar G__15043 \x3d cljs.core.first(seq15042);\nvar seq15042__$1 \x3d cljs.core.next(seq15042);\nvar G__15044 \x3d cljs.core.first(seq15042__$1);\nvar seq15042__$2 \x3d cljs.core.next(seq15042__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15043,G__15044,seq15042__$2);\n}));\n\n(cljs.core.bit_xor.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and\n */\ncljs.core.bit_and \x3d (function cljs$core$bit_and(var_args){\nvar G__15050 \x3d arguments.length;\nswitch (G__15050) {\ncase 2:\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18006 \x3d arguments.length;\nvar i__5770__auto___18007 \x3d (0);\nwhile(true){\nif((i__5770__auto___18007 \x3c len__5769__auto___18006)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18007]));\n\nvar G__18008 \x3d (i__5770__auto___18007 + (1));\ni__5770__auto___18007 \x3d G__18008;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 y);\n}));\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and,(x \x26 y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and.cljs$lang$applyTo \x3d (function (seq15047){\nvar G__15048 \x3d cljs.core.first(seq15047);\nvar seq15047__$1 \x3d cljs.core.next(seq15047);\nvar G__15049 \x3d cljs.core.first(seq15047__$1);\nvar seq15047__$2 \x3d cljs.core.next(seq15047__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15048,G__15049,seq15047__$2);\n}));\n\n(cljs.core.bit_and.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise or\n */\ncljs.core.bit_or \x3d (function cljs$core$bit_or(var_args){\nvar G__15055 \x3d arguments.length;\nswitch (G__15055) {\ncase 2:\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18017 \x3d arguments.length;\nvar i__5770__auto___18018 \x3d (0);\nwhile(true){\nif((i__5770__auto___18018 \x3c len__5769__auto___18017)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18018]));\n\nvar G__18019 \x3d (i__5770__auto___18018 + (1));\ni__5770__auto___18018 \x3d G__18019;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x | y);\n}));\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_or,(x | y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_or.cljs$lang$applyTo \x3d (function (seq15052){\nvar G__15053 \x3d cljs.core.first(seq15052);\nvar seq15052__$1 \x3d cljs.core.next(seq15052);\nvar G__15054 \x3d cljs.core.first(seq15052__$1);\nvar seq15052__$2 \x3d cljs.core.next(seq15052__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15053,G__15054,seq15052__$2);\n}));\n\n(cljs.core.bit_or.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and with complement\n */\ncljs.core.bit_and_not \x3d (function cljs$core$bit_and_not(var_args){\nvar G__15060 \x3d arguments.length;\nswitch (G__15060) {\ncase 2:\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18033 \x3d arguments.length;\nvar i__5770__auto___18035 \x3d (0);\nwhile(true){\nif((i__5770__auto___18035 \x3c len__5769__auto___18033)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18035]));\n\nvar G__18036 \x3d (i__5770__auto___18035 + (1));\ni__5770__auto___18035 \x3d G__18036;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 ~y);\n}));\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and_not,(x \x26 ~y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and_not.cljs$lang$applyTo \x3d (function (seq15057){\nvar G__15058 \x3d cljs.core.first(seq15057);\nvar seq15057__$1 \x3d cljs.core.next(seq15057);\nvar G__15059 \x3d cljs.core.first(seq15057__$1);\nvar seq15057__$2 \x3d cljs.core.next(seq15057__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15058,G__15059,seq15057__$2);\n}));\n\n(cljs.core.bit_and_not.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Clear bit at index n\n */\ncljs.core.bit_clear \x3d (function cljs$core$bit_clear(x,n){\nreturn (x \x26 ~(1 \x3c\x3c n));\n});\n/**\n * Flip bit at index n\n */\ncljs.core.bit_flip \x3d (function cljs$core$bit_flip(x,n){\nreturn (x ^ (1 \x3c\x3c n));\n});\n/**\n * Bitwise complement\n */\ncljs.core.bit_not \x3d (function cljs$core$bit_not(x){\nreturn (~ x);\n});\n/**\n * Set bit at index n\n */\ncljs.core.bit_set \x3d (function cljs$core$bit_set(x,n){\nreturn (x | (1 \x3c\x3c n));\n});\n/**\n * Test bit at index n\n */\ncljs.core.bit_test \x3d (function cljs$core$bit_test(x,n){\nreturn ((x \x26 (1 \x3c\x3c n)) !\x3d 0);\n});\n/**\n * Bitwise shift left\n */\ncljs.core.bit_shift_left \x3d (function cljs$core$bit_shift_left(x,n){\nreturn (x \x3c\x3c n);\n});\n/**\n * Bitwise shift right\n */\ncljs.core.bit_shift_right \x3d (function cljs$core$bit_shift_right(x,n){\nreturn (x \x3e\x3e n);\n});\n/**\n * DEPRECATED: Bitwise shift right with zero fill\n */\ncljs.core.bit_shift_right_zero_fill \x3d (function cljs$core$bit_shift_right_zero_fill(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Bitwise shift right with zero fill\n */\ncljs.core.unsigned_bit_shift_right \x3d (function cljs$core$unsigned_bit_shift_right(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Counts the number of bits set in n\n */\ncljs.core.bit_count \x3d (function cljs$core$bit_count(v){\nvar v__$1 \x3d (v - ((v \x3e\x3e (1)) \x26 (1431655765)));\nvar v__$2 \x3d ((v__$1 \x26 (858993459)) + ((v__$1 \x3e\x3e (2)) \x26 (858993459)));\nreturn ((((v__$2 + (v__$2 \x3e\x3e (4))) \x26 (252645135)) * (16843009)) \x3e\x3e (24));\n});\n/**\n * Returns non-nil if nums all have the equivalent\n * value, otherwise false. Behavior on non nums is\n * undefined.\n */\ncljs.core._EQ__EQ_ \x3d (function cljs$core$_EQ__EQ_(var_args){\nvar G__15065 \x3d arguments.length;\nswitch (G__15065) {\ncase 1:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18047 \x3d arguments.length;\nvar i__5770__auto___18048 \x3d (0);\nwhile(true){\nif((i__5770__auto___18048 \x3c len__5769__auto___18047)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18048]));\n\nvar G__18049 \x3d (i__5770__auto___18048 + (1));\ni__5770__auto___18048 \x3d G__18049;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn cljs.core._equiv(x,y);\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3d\x3d\x3d y)){\nif(cljs.core.next(more)){\nvar G__18066 \x3d y;\nvar G__18067 \x3d cljs.core.first(more);\nvar G__18068 \x3d cljs.core.next(more);\nx \x3d G__18066;\ny \x3d G__18067;\nmore \x3d G__18068;\ncontinue;\n} else {\nreturn (y \x3d\x3d\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ__EQ_.cljs$lang$applyTo \x3d (function (seq15062){\nvar G__15063 \x3d cljs.core.first(seq15062);\nvar seq15062__$1 \x3d cljs.core.next(seq15062);\nvar G__15064 \x3d cljs.core.first(seq15062__$1);\nvar seq15062__$2 \x3d cljs.core.next(seq15062__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15063,G__15064,seq15062__$2);\n}));\n\n(cljs.core._EQ__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if num is greater than zero, else false\n */\ncljs.core.pos_QMARK_ \x3d (function cljs$core$pos_QMARK_(x){\nreturn (x \x3e (0));\n});\n/**\n * Returns true if num is zero, else false\n */\ncljs.core.zero_QMARK_ \x3d (function cljs$core$zero_QMARK_(x){\nreturn (x \x3d\x3d\x3d (0));\n});\n/**\n * Returns true if num is less than zero, else false\n */\ncljs.core.neg_QMARK_ \x3d (function cljs$core$neg_QMARK_(x){\nreturn (x \x3c (0));\n});\n/**\n * Returns the nth next of coll, (seq coll) when n is 0.\n */\ncljs.core.nthnext \x3d (function cljs$core$nthnext(coll,n){\nvar n__$1 \x3d n;\nvar xs \x3d cljs.core.seq(coll);\nwhile(true){\nif(((xs) \x26\x26 ((n__$1 \x3e (0))))){\nvar G__18070 \x3d (n__$1 - (1));\nvar G__18071 \x3d cljs.core.next(xs);\nn__$1 \x3d G__18070;\nxs \x3d G__18071;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n});\n/**\n * With no args, returns the empty string. With one arg x, returns\n * x.toString(). (str nil) returns the empty string. With more than\n * one arg, returns the concatenation of the str values of the args.\n */\ncljs.core.str \x3d (function cljs$core$str(var_args){\nvar G__15069 \x3d arguments.length;\nswitch (G__15069) {\ncase 0:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18073 \x3d arguments.length;\nvar i__5770__auto___18074 \x3d (0);\nwhile(true){\nif((i__5770__auto___18074 \x3c len__5769__auto___18073)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18074]));\n\nvar G__18075 \x3d (i__5770__auto___18074 + (1));\ni__5770__auto___18074 \x3d G__18075;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn \x22\x22;\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nif((x \x3d\x3d null)){\nreturn \x22\x22;\n} else {\nreturn [x].join(\x22\x22);\n}\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,ys){\nvar sb \x3d (new goog.string.StringBuffer(cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)));\nvar more \x3d ys;\nwhile(true){\nif(cljs.core.truth_(more)){\nvar G__18079 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(more)));\nvar G__18080 \x3d cljs.core.next(more);\nsb \x3d G__18079;\nmore \x3d G__18080;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.str.cljs$lang$applyTo \x3d (function (seq15067){\nvar G__15068 \x3d cljs.core.first(seq15067);\nvar seq15067__$1 \x3d cljs.core.next(seq15067);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15068,seq15067__$1);\n}));\n\n(cljs.core.str.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns the substring of s beginning at start inclusive, and ending\n * at end (defaults to length of string), exclusive.\n */\ncljs.core.subs \x3d (function cljs$core$subs(var_args){\nvar G__15071 \x3d arguments.length;\nswitch (G__15071) {\ncase 2:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,start){\nreturn s.substring(start);\n}));\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,start,end){\nreturn s.substring(start,end);\n}));\n\n(cljs.core.subs.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n * Assumes x is sequential. Returns true if x equals y, otherwise\n * returns false.\n */\ncljs.core.equiv_sequential \x3d (function cljs$core$equiv_sequential(x,y){\nreturn cljs.core.boolean$(((cljs.core.sequential_QMARK_(y))?((((cljs.core.counted_QMARK_(x)) \x26\x26 (((cljs.core.counted_QMARK_(y)) \x26\x26 ((!((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))))))))?false:(function (){var xs \x3d cljs.core.seq(x);\nvar ys \x3d cljs.core.seq(y);\nwhile(true){\nif((xs \x3d\x3d null)){\nreturn (ys \x3d\x3d null);\n} else {\nif((ys \x3d\x3d null)){\nreturn false;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(xs),cljs.core.first(ys))){\nvar G__18085 \x3d cljs.core.next(xs);\nvar G__18086 \x3d cljs.core.next(ys);\nxs \x3d G__18085;\nys \x3d G__18086;\ncontinue;\n} else {\nreturn false;\n\n}\n}\n}\nbreak;\n}\n})()):null));\n});\ncljs.core.hash_coll \x3d (function cljs$core$hash_coll(coll){\nif(cljs.core.seq(coll)){\nvar res \x3d cljs.core.hash(cljs.core.first(coll));\nvar s \x3d cljs.core.next(coll);\nwhile(true){\nif((s \x3d\x3d null)){\nreturn res;\n} else {\nvar G__18088 \x3d cljs.core.hash_combine(res,cljs.core.hash(cljs.core.first(s)));\nvar G__18089 \x3d cljs.core.next(s);\nres \x3d G__18088;\ns \x3d G__18089;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n});\n\ncljs.core.hash_imap \x3d (function cljs$core$hash_imap(m){\nvar h \x3d (0);\nvar s \x3d cljs.core.seq(m);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__18102 \x3d ((h + (cljs.core.hash((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e))) ^ cljs.core.hash((cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e))))) % (4503599627370496));\nvar G__18103 \x3d cljs.core.next(s);\nh \x3d G__18102;\ns \x3d G__18103;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\ncljs.core.hash_iset \x3d (function cljs$core$hash_iset(s){\nvar h \x3d (0);\nvar s__$1 \x3d cljs.core.seq(s);\nwhile(true){\nif(s__$1){\nvar e \x3d cljs.core.first(s__$1);\nvar G__18104 \x3d ((h + cljs.core.hash(e)) % (4503599627370496));\nvar G__18105 \x3d cljs.core.next(s__$1);\nh \x3d G__18104;\ns__$1 \x3d G__18105;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\n\n\n/**\n * Takes a JavaScript object and a map of names to functions and\n * attaches said functions as methods on the object. Any references to\n * JavaScript\x27s implicit this (via the this-as macro) will resolve to the\n * object that the function is attached.\n */\ncljs.core.extend_object_BANG_ \x3d (function cljs$core$extend_object_BANG_(obj,fn_map){\nvar seq__15072_18107 \x3d cljs.core.seq(fn_map);\nvar chunk__15073_18108 \x3d null;\nvar count__15074_18109 \x3d (0);\nvar i__15075_18110 \x3d (0);\nwhile(true){\nif((i__15075_18110 \x3c count__15074_18109)){\nvar vec__15082_18111 \x3d chunk__15073_18108.cljs$core$IIndexed$_nth$arity$2(null,i__15075_18110);\nvar key_name_18112 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15082_18111,(0),null);\nvar f_18113 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15082_18111,(1),null);\nvar str_name_18114 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_18112) : cljs.core.name.call(null,key_name_18112));\ncljs.core.goog$module$goog$object.set(obj,str_name_18114,f_18113);\n\n\nvar G__18115 \x3d seq__15072_18107;\nvar G__18116 \x3d chunk__15073_18108;\nvar G__18117 \x3d count__15074_18109;\nvar G__18118 \x3d (i__15075_18110 + (1));\nseq__15072_18107 \x3d G__18115;\nchunk__15073_18108 \x3d G__18116;\ncount__15074_18109 \x3d G__18117;\ni__15075_18110 \x3d G__18118;\ncontinue;\n} else {\nvar temp__5804__auto___18120 \x3d cljs.core.seq(seq__15072_18107);\nif(temp__5804__auto___18120){\nvar seq__15072_18122__$1 \x3d temp__5804__auto___18120;\nif(cljs.core.chunked_seq_QMARK_(seq__15072_18122__$1)){\nvar c__5568__auto___18123 \x3d (cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1(seq__15072_18122__$1) : cljs.core.chunk_first.call(null,seq__15072_18122__$1));\nvar G__18124 \x3d (cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1(seq__15072_18122__$1) : cljs.core.chunk_rest.call(null,seq__15072_18122__$1));\nvar G__18125 \x3d c__5568__auto___18123;\nvar G__18126 \x3d cljs.core.count(c__5568__auto___18123);\nvar G__18127 \x3d (0);\nseq__15072_18107 \x3d G__18124;\nchunk__15073_18108 \x3d G__18125;\ncount__15074_18109 \x3d G__18126;\ni__15075_18110 \x3d G__18127;\ncontinue;\n} else {\nvar vec__15085_18128 \x3d cljs.core.first(seq__15072_18122__$1);\nvar key_name_18129 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15085_18128,(0),null);\nvar f_18130 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15085_18128,(1),null);\nvar str_name_18131 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_18129) : cljs.core.name.call(null,key_name_18129));\ncljs.core.goog$module$goog$object.set(obj,str_name_18131,f_18130);\n\n\nvar G__18133 \x3d cljs.core.next(seq__15072_18122__$1);\nvar G__18134 \x3d null;\nvar G__18135 \x3d (0);\nvar G__18136 \x3d (0);\nseq__15072_18107 \x3d G__18133;\nchunk__15073_18108 \x3d G__18134;\ncount__15074_18109 \x3d G__18135;\ni__15075_18110 \x3d G__18136;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.List \x3d (function (meta,first,rest,count,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.count \x3d count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937646;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.List.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.List.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.List.prototype.indexOf \x3d (function() {\nvar G__18138 \x3d null;\nvar G__18138__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__18138__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18138 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18138__1.call(this,x);\ncase 2:\nreturn G__18138__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18138.cljs$core$IFn$_invoke$arity$1 \x3d G__18138__1;\nG__18138.cljs$core$IFn$_invoke$arity$2 \x3d G__18138__2;\nreturn G__18138;\n})()\n);\n\n(cljs.core.List.prototype.lastIndexOf \x3d (function() {\nvar G__18143 \x3d null;\nvar G__18143__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__18143__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18143 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18143__1.call(this,x);\ncase 2:\nreturn G__18143__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18143.cljs$core$IFn$_invoke$arity$1 \x3d G__18143__1;\nG__18143.cljs$core$IFn$_invoke$arity$2 \x3d G__18143__2;\nreturn G__18143;\n})()\n);\n\n(cljs.core.List.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.List.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,self__.first,self__.rest,self__.count,self__.__hash));\n}));\n\n(cljs.core.List.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.List.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.List.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.List.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.List(new_meta,self__.first,self__.rest,self__.count,self__.__hash));\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,coll__$1,(self__.count + (1)),null));\n}));\n\n(cljs.core.List.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.List.cljs$lang$type \x3d true);\n\n(cljs.core.List.cljs$lang$ctorStr \x3d \x22cljs.core/List\x22);\n\n(cljs.core.List.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/List\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/List.\n */\ncljs.core.__GT_List \x3d (function cljs$core$__GT_List(meta,first,rest,count,__hash){\nreturn (new cljs.core.List(meta,first,rest,count,__hash));\n});\n\n/**\n * Returns true if x implements IList\n */\ncljs.core.list_QMARK_ \x3d (function cljs$core$list_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (33554432))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IList$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n}\n});\n(cljs.core.List.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.EmptyList \x3d (function (meta){\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937614;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.EmptyList.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.EmptyList.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.EmptyList.prototype.indexOf \x3d (function() {\nvar G__18165 \x3d null;\nvar G__18165__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__18165__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18165 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18165__1.call(this,x);\ncase 2:\nreturn G__18165__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18165.cljs$core$IFn$_invoke$arity$1 \x3d G__18165__1;\nG__18165.cljs$core$IFn$_invoke$arity$2 \x3d G__18165__2;\nreturn G__18165;\n})()\n);\n\n(cljs.core.EmptyList.prototype.lastIndexOf \x3d (function() {\nvar G__18167 \x3d null;\nvar G__18167__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__18167__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18167 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18167__1.call(this,x);\ncase 2:\nreturn G__18167__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18167.cljs$core$IFn$_invoke$arity$1 \x3d G__18167__1;\nG__18167.cljs$core$IFn$_invoke$arity$2 \x3d G__18167__2;\nreturn G__18167;\n})()\n);\n\n(cljs.core.EmptyList.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.EmptyList(self__.meta));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (0);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nthrow (new Error(\x22Can\x27t pop empty list\x22));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.empty_ordered_hash;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.list_QMARK_(other)) || (cljs.core.sequential_QMARK_(other)))){\nreturn (cljs.core.seq(other) \x3d\x3d null);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.EmptyList(new_meta));\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,null,(1),null));\n}));\n\n(cljs.core.EmptyList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.EmptyList.cljs$lang$type \x3d true);\n\n(cljs.core.EmptyList.cljs$lang$ctorStr \x3d \x22cljs.core/EmptyList\x22);\n\n(cljs.core.EmptyList.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/EmptyList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/EmptyList.\n */\ncljs.core.__GT_EmptyList \x3d (function cljs$core$__GT_EmptyList(meta){\nreturn (new cljs.core.EmptyList(meta));\n});\n\n(cljs.core.List.EMPTY \x3d (new cljs.core.EmptyList(null)));\n(cljs.core.EmptyList.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns true if coll satisfies? IReversible.\n */\ncljs.core.reversible_QMARK_ \x3d (function cljs$core$reversible_QMARK_(coll){\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (134217728))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReversible$)))){\nreturn true;\n} else {\nif((!coll.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n}\n});\n/**\n * Returns, in constant time, a seq of the items in rev (which\n * can be a vector or sorted-map), in reverse order. If rev is empty returns nil\n */\ncljs.core.rseq \x3d (function cljs$core$rseq(rev){\nreturn cljs.core._rseq(rev);\n});\n/**\n * Returns a seq of the items in coll in reverse order. Not lazy.\n */\ncljs.core.reverse \x3d (function cljs$core$reverse(coll){\nif(cljs.core.reversible_QMARK_(coll)){\nvar or__5045__auto__ \x3d cljs.core.rseq(coll);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n}\n});\n/**\n * Creates a new list containing the items.\n */\ncljs.core.list \x3d (function cljs$core$list(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18184 \x3d arguments.length;\nvar i__5770__auto___18185 \x3d (0);\nwhile(true){\nif((i__5770__auto___18185 \x3c len__5769__auto___18184)){\nargs__5775__auto__.push((arguments[i__5770__auto___18185]));\n\nvar G__18187 \x3d (i__5770__auto___18185 + (1));\ni__5770__auto___18185 \x3d G__18187;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xs){\nvar arr \x3d (((((xs instanceof cljs.core.IndexedSeq)) \x26\x26 ((xs.i \x3d\x3d\x3d (0)))))?xs.arr:(function (){var arr \x3d [];\nvar xs__$1 \x3d xs;\nwhile(true){\nif((!((xs__$1 \x3d\x3d null)))){\narr.push(cljs.core._first(xs__$1));\n\nvar G__18188 \x3d cljs.core._next(xs__$1);\nxs__$1 \x3d G__18188;\ncontinue;\n} else {\nreturn arr;\n}\nbreak;\n}\n})());\nvar i \x3d arr.length;\nvar r \x3d cljs.core.List.EMPTY;\nwhile(true){\nif((i \x3e (0))){\nvar G__18189 \x3d (i - (1));\nvar G__18190 \x3d cljs.core._conj(r,(arr[(i - (1))]));\ni \x3d G__18189;\nr \x3d G__18190;\ncontinue;\n} else {\nreturn r;\n}\nbreak;\n}\n}));\n\n(cljs.core.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.list.cljs$lang$applyTo \x3d (function (seq15090){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15090));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cons \x3d (function (meta,first,rest,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65929452;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.Cons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Cons.prototype.indexOf \x3d (function() {\nvar G__18193 \x3d null;\nvar G__18193__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__18193__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18193 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18193__1.call(this,x);\ncase 2:\nreturn G__18193__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18193.cljs$core$IFn$_invoke$arity$1 \x3d G__18193__1;\nG__18193.cljs$core$IFn$_invoke$arity$2 \x3d G__18193__2;\nreturn G__18193;\n})()\n);\n\n(cljs.core.Cons.prototype.lastIndexOf \x3d (function() {\nvar G__18194 \x3d null;\nvar G__18194__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__18194__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18194 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18194__1.call(this,x);\ncase 2:\nreturn G__18194__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18194.cljs$core$IFn$_invoke$arity$1 \x3d G__18194__1;\nG__18194.cljs$core$IFn$_invoke$arity$2 \x3d G__18194__2;\nreturn G__18194;\n})()\n);\n\n(cljs.core.Cons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Cons(self__.meta,self__.first,self__.rest,self__.__hash));\n}));\n\n(cljs.core.Cons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.seq(self__.rest);\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cons(new_meta,self__.first,self__.rest,self__.__hash));\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.Cons(null,o,coll__$1,null));\n}));\n\n(cljs.core.Cons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cons.cljs$lang$type \x3d true);\n\n(cljs.core.Cons.cljs$lang$ctorStr \x3d \x22cljs.core/Cons\x22);\n\n(cljs.core.Cons.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Cons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cons.\n */\ncljs.core.__GT_Cons \x3d (function cljs$core$__GT_Cons(meta,first,rest,__hash){\nreturn (new cljs.core.Cons(meta,first,rest,__hash));\n});\n\n(cljs.core.Cons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a new seq where x is the first element and coll is the rest.\n */\ncljs.core.cons \x3d (function cljs$core$cons(x,coll){\nif((coll \x3d\x3d null)){\nreturn (new cljs.core.List(null,x,null,(1),null));\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn (new cljs.core.Cons(null,x,coll,null));\n} else {\nreturn (new cljs.core.Cons(null,x,cljs.core.seq(coll),null));\n\n}\n}\n});\ncljs.core.hash_keyword \x3d (function cljs$core$hash_keyword(k){\nreturn ((cljs.core.hash_symbol(k) + (2654435769)) | (0));\n});\ncljs.core.compare_keywords \x3d (function cljs$core$compare_keywords(a,b){\nif((a.fqn \x3d\x3d\x3d b.fqn)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(a.ns);\nif(and__5043__auto__){\nreturn b.ns;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Keyword \x3d (function (ns,name,fqn,_hash){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.fqn \x3d fqn;\nthis._hash \x3d _hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775105;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Keyword.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27);\n}));\n\n(cljs.core.Keyword.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Keyword)){\nreturn (self__.fqn \x3d\x3d\x3d other.fqn);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Keyword.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15093 \x3d (arguments.length - (1));\nswitch (G__15093) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Keyword.prototype.apply \x3d (function (self__,args15092){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15092)));\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,kw);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,kw,not_found);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar h__5154__auto__ \x3d self__._hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_keyword(this$__$1);\n(self__._hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27));\n}));\n\n(cljs.core.Keyword.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22fqn\x22,\x22fqn\x22,-1749334463,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Keyword.cljs$lang$type \x3d true);\n\n(cljs.core.Keyword.cljs$lang$ctorStr \x3d \x22cljs.core/Keyword\x22);\n\n(cljs.core.Keyword.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Keyword\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Keyword.\n */\ncljs.core.__GT_Keyword \x3d (function cljs$core$__GT_Keyword(ns,name,fqn,_hash){\nreturn (new cljs.core.Keyword(ns,name,fqn,_hash));\n});\n\n/**\n * Return true if x is a Keyword\n */\ncljs.core.keyword_QMARK_ \x3d (function cljs$core$keyword_QMARK_(x){\nreturn (x instanceof cljs.core.Keyword);\n});\n/**\n * Efficient test to determine that two keywords are identical.\n */\ncljs.core.keyword_identical_QMARK_ \x3d (function cljs$core$keyword_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Keyword)) \x26\x26 ((y instanceof cljs.core.Keyword)))){\nreturn (x.fqn \x3d\x3d\x3d y.fqn);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Efficient test to determine that two symbols are identical.\n */\ncljs.core.symbol_identical_QMARK_ \x3d (function cljs$core$symbol_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Symbol)) \x26\x26 ((y instanceof cljs.core.Symbol)))){\nreturn (x.str \x3d\x3d\x3d y.str);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Returns the namespace String of a symbol or keyword, or nil if not present.\n */\ncljs.core.namespace \x3d (function cljs$core$namespace(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_namespace$arity$1(null);\n} else {\nthrow (new Error([\x22Doesn\x27t support namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n});\n/**\n * Return true if x is a symbol or keyword\n */\ncljs.core.ident_QMARK_ \x3d (function cljs$core$ident_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) || ((x instanceof cljs.core.Symbol)));\n});\n/**\n * Return true if x is a symbol or keyword without a namespace\n */\ncljs.core.simple_ident_QMARK_ \x3d (function cljs$core$simple_ident_QMARK_(x){\nreturn ((cljs.core.ident_QMARK_(x)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol or keyword with a namespace\n */\ncljs.core.qualified_ident_QMARK_ \x3d (function cljs$core$qualified_ident_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs.core.ident_QMARK_(x);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn true;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\n/**\n * Return true if x is a symbol without a namespace\n */\ncljs.core.simple_symbol_QMARK_ \x3d (function cljs$core$simple_symbol_QMARK_(x){\nreturn (((x instanceof cljs.core.Symbol)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol with a namespace\n */\ncljs.core.qualified_symbol_QMARK_ \x3d (function cljs$core$qualified_symbol_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (x instanceof cljs.core.Symbol);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn true;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\n/**\n * Return true if x is a keyword without a namespace\n */\ncljs.core.simple_keyword_QMARK_ \x3d (function cljs$core$simple_keyword_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a keyword with a namespace\n */\ncljs.core.qualified_keyword_QMARK_ \x3d (function cljs$core$qualified_keyword_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (x instanceof cljs.core.Keyword);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn true;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\n/**\n * Returns a Keyword with the given namespace and name. Do not use :\n * in the keyword strings, it will be added automatically.\n */\ncljs.core.keyword \x3d (function cljs$core$keyword(var_args){\nvar G__15096 \x3d arguments.length;\nswitch (G__15096) {\ncase 1:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nif((name instanceof cljs.core.Keyword)){\nreturn name;\n} else {\nif((name instanceof cljs.core.Symbol)){\nreturn (new cljs.core.Keyword(cljs.core.namespace(name),(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)),name.str,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22/\x22,name)){\nreturn (new cljs.core.Keyword(null,name,name,null));\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar parts \x3d name.split(\x22/\x22);\nif((parts.length \x3d\x3d\x3d (2))){\nreturn (new cljs.core.Keyword((parts[(0)]),(parts[(1)]),name,null));\n} else {\nreturn (new cljs.core.Keyword(null,(parts[(0)]),name,null));\n}\n} else {\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar ns__$1 \x3d (((ns instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):(((ns instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):ns\n));\nvar name__$1 \x3d (((name instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):(((name instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):name\n));\nreturn (new cljs.core.Keyword(ns__$1,name__$1,[(cljs.core.truth_(ns__$1)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),\x22/\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__$1)].join(\x27\x27),null));\n}));\n\n(cljs.core.keyword.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.LazySeq \x3d (function (meta,fn,s,__hash){\nthis.meta \x3d meta;\nthis.fn \x3d fn;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.LazySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.LazySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.LazySeq.prototype.sval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.fn \x3d\x3d null)){\nreturn self__.s;\n} else {\n(self__.s \x3d (self__.fn.cljs$core$IFn$_invoke$arity$0 ? self__.fn.cljs$core$IFn$_invoke$arity$0() : self__.fn.call(null)));\n\n(self__.fn \x3d null);\n\nreturn self__.s;\n}\n}));\n\n(cljs.core.LazySeq.prototype.indexOf \x3d (function() {\nvar G__18245 \x3d null;\nvar G__18245__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__18245__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18245 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18245__1.call(this,x);\ncase 2:\nreturn G__18245__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18245.cljs$core$IFn$_invoke$arity$1 \x3d G__18245__1;\nG__18245.cljs$core$IFn$_invoke$arity$2 \x3d G__18245__2;\nreturn G__18245;\n})()\n);\n\n(cljs.core.LazySeq.prototype.lastIndexOf \x3d (function() {\nvar G__18246 \x3d null;\nvar G__18246__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__18246__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18246 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18246__1.call(this,x);\ncase 2:\nreturn G__18246__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18246.cljs$core$IFn$_invoke$arity$1 \x3d G__18246__1;\nG__18246.cljs$core$IFn$_invoke$arity$2 \x3d G__18246__2;\nreturn G__18246;\n})()\n);\n\n(cljs.core.LazySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.next(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.not(self__.fn);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((!((self__.s \x3d\x3d null)))){\nreturn cljs.core.rest(self__.s);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.sval();\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nvar ls \x3d self__.s;\nwhile(true){\nif((ls instanceof cljs.core.LazySeq)){\nvar G__18254 \x3d ls.sval();\nls \x3d G__18254;\ncontinue;\n} else {\n(self__.s \x3d ls);\n\nreturn cljs.core.seq(self__.s);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.LazySeq(new_meta,(function (){\nreturn coll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n}),null,self__.__hash));\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.LazySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.LazySeq.cljs$lang$type \x3d true);\n\n(cljs.core.LazySeq.cljs$lang$ctorStr \x3d \x22cljs.core/LazySeq\x22);\n\n(cljs.core.LazySeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/LazySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/LazySeq.\n */\ncljs.core.__GT_LazySeq \x3d (function cljs$core$__GT_LazySeq(meta,fn,s,__hash){\nreturn (new cljs.core.LazySeq(meta,fn,s,__hash));\n});\n\n(cljs.core.LazySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n*/\ncljs.core.ChunkBuffer \x3d (function (buf,end){\nthis.buf \x3d buf;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ChunkBuffer.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.buf[self__.end] \x3d o);\n\nreturn (self__.end \x3d (self__.end + (1)));\n}));\n\n(cljs.core.ChunkBuffer.prototype.chunk \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.ArrayChunk(self__.buf,(0),self__.end));\n(self__.buf \x3d null);\n\nreturn ret;\n}));\n\n(cljs.core.ChunkBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.end;\n}));\n\n(cljs.core.ChunkBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkBuffer\x22);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ChunkBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkBuffer.\n */\ncljs.core.__GT_ChunkBuffer \x3d (function cljs$core$__GT_ChunkBuffer(buf,end){\nreturn (new cljs.core.ChunkBuffer(buf,end));\n});\n\ncljs.core.chunk_buffer \x3d (function cljs$core$chunk_buffer(capacity){\nreturn (new cljs.core.ChunkBuffer((new Array(capacity)),(0)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.IChunk}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayChunk \x3d (function (arr,off,end){\nthis.arr \x3d arr;\nthis.off \x3d off;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 524306;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.end - self__.off);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.arr[(self__.off + i)]);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c (self__.end - self__.off))))){\nreturn (self__.arr[(self__.off + i)]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.off \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.ArrayChunk(self__.arr,(self__.off + (1)),self__.end));\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.off]),(self__.off + (1)));\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.off);\n}));\n\n(cljs.core.ArrayChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.ArrayChunk.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayChunk\x22);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayChunk.\n */\ncljs.core.__GT_ArrayChunk \x3d (function cljs$core$__GT_ArrayChunk(arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n});\n\ncljs.core.array_chunk \x3d (function cljs$core$array_chunk(var_args){\nvar G__15098 \x3d arguments.length;\nswitch (G__15098) {\ncase 1:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1 \x3d (function (arr){\nreturn (new cljs.core.ArrayChunk(arr,(0),arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,off){\nreturn (new cljs.core.ArrayChunk(arr,off,arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n}));\n\n(cljs.core.array_chunk.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.ChunkedCons \x3d (function (chunk,more,meta,__hash){\nthis.chunk \x3d chunk;\nthis.more \x3d more;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850732;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1536;\n});\n(cljs.core.ChunkedCons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedCons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.indexOf \x3d (function() {\nvar G__18268 \x3d null;\nvar G__18268__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__18268__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18268 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18268__1.call(this,x);\ncase 2:\nreturn G__18268__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18268.cljs$core$IFn$_invoke$arity$1 \x3d G__18268__1;\nG__18268.cljs$core$IFn$_invoke$arity$2 \x3d G__18268__2;\nreturn G__18268;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.lastIndexOf \x3d (function() {\nvar G__18269 \x3d null;\nvar G__18269__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__18269__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18269 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18269__1.call(this,x);\ncase 2:\nreturn G__18269__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18269.cljs$core$IFn$_invoke$arity$1 \x3d G__18269__1;\nG__18269.cljs$core$IFn$_invoke$arity$2 \x3d G__18269__2;\nreturn G__18269;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._seq(self__.more);\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.chunk,(0));\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.chunk;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ChunkedCons(self__.chunk,self__.more,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this$,o){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.cons(o,this$__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.Symbol(null,\x22more\x22,\x22more\x22,-418290273,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedCons.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedCons\x22);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ChunkedCons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedCons.\n */\ncljs.core.__GT_ChunkedCons \x3d (function cljs$core$__GT_ChunkedCons(chunk,more,meta,__hash){\nreturn (new cljs.core.ChunkedCons(chunk,more,meta,__hash));\n});\n\n(cljs.core.ChunkedCons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.chunk_cons \x3d (function cljs$core$chunk_cons(chunk,rest){\nif((cljs.core._count(chunk) \x3d\x3d\x3d (0))){\nreturn rest;\n} else {\nreturn (new cljs.core.ChunkedCons(chunk,rest,null,null));\n}\n});\ncljs.core.chunk_append \x3d (function cljs$core$chunk_append(b,x){\nreturn b.add(x);\n});\ncljs.core.chunk \x3d (function cljs$core$chunk(b){\nreturn b.chunk();\n});\ncljs.core.chunk_first \x3d (function cljs$core$chunk_first(s){\nreturn cljs.core._chunked_first(s);\n});\ncljs.core.chunk_rest \x3d (function cljs$core$chunk_rest(s){\nreturn cljs.core._chunked_rest(s);\n});\ncljs.core.chunk_next \x3d (function cljs$core$chunk_next(s){\nif((((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition1$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$IChunkedNext$))))?true:false):false)){\nreturn s.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core._chunked_rest(s));\n}\n});\n/**\n * Returns an array containing the contents of coll.\n */\ncljs.core.to_array \x3d (function cljs$core$to_array(coll){\nvar ary \x3d [];\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((s \x3d\x3d null)))){\nary.push(cljs.core.first(s));\n\nvar G__18271 \x3d cljs.core.next(s);\ns \x3d G__18271;\ncontinue;\n} else {\nreturn ary;\n}\nbreak;\n}\n});\n/**\n * Returns a (potentially-ragged) 2-dimensional array\n * containing the contents of coll.\n */\ncljs.core.to_array_2d \x3d (function cljs$core$to_array_2d(coll){\nvar ret \x3d (new Array(cljs.core.count(coll)));\nvar i_18273 \x3d (0);\nvar xs_18274 \x3d cljs.core.seq(coll);\nwhile(true){\nif((xs_18274 \x3d\x3d null)){\n} else {\n(ret[i_18273] \x3d cljs.core.to_array(cljs.core.first(xs_18274)));\n\nvar G__18275 \x3d (i_18273 + (1));\nvar G__18276 \x3d cljs.core.next(xs_18274);\ni_18273 \x3d G__18275;\nxs_18274 \x3d G__18276;\ncontinue;\n}\nbreak;\n}\n\nreturn ret;\n});\n/**\n * Creates an array of ints. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.int_array \x3d (function cljs$core$int_array(var_args){\nvar G__15101 \x3d arguments.length;\nswitch (G__15101) {\ncase 1:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__18278 \x3d (i + (1));\nvar G__18279 \x3d cljs.core.next(s__$1);\ni \x3d G__18278;\ns__$1 \x3d G__18279;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___18280 \x3d size;\nvar i_18281 \x3d (0);\nwhile(true){\nif((i_18281 \x3c n__5636__auto___18280)){\n(a[i_18281] \x3d init_val_or_seq);\n\nvar G__18284 \x3d (i_18281 + (1));\ni_18281 \x3d G__18284;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.int_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of longs. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.long_array \x3d (function cljs$core$long_array(var_args){\nvar G__15103 \x3d arguments.length;\nswitch (G__15103) {\ncase 1:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__18290 \x3d (i + (1));\nvar G__18291 \x3d cljs.core.next(s__$1);\ni \x3d G__18290;\ns__$1 \x3d G__18291;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___18292 \x3d size;\nvar i_18293 \x3d (0);\nwhile(true){\nif((i_18293 \x3c n__5636__auto___18292)){\n(a[i_18293] \x3d init_val_or_seq);\n\nvar G__18294 \x3d (i_18293 + (1));\ni_18293 \x3d G__18294;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.long_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of doubles. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.double_array \x3d (function cljs$core$double_array(var_args){\nvar G__15105 \x3d arguments.length;\nswitch (G__15105) {\ncase 1:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__18300 \x3d (i + (1));\nvar G__18301 \x3d cljs.core.next(s__$1);\ni \x3d G__18300;\ns__$1 \x3d G__18301;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___18302 \x3d size;\nvar i_18303 \x3d (0);\nwhile(true){\nif((i_18303 \x3c n__5636__auto___18302)){\n(a[i_18303] \x3d init_val_or_seq);\n\nvar G__18304 \x3d (i_18303 + (1));\ni_18303 \x3d G__18304;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.double_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of objects. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.object_array \x3d (function cljs$core$object_array(var_args){\nvar G__15107 \x3d arguments.length;\nswitch (G__15107) {\ncase 1:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__18314 \x3d (i + (1));\nvar G__18315 \x3d cljs.core.next(s__$1);\ni \x3d G__18314;\ns__$1 \x3d G__18315;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___18317 \x3d size;\nvar i_18319 \x3d (0);\nwhile(true){\nif((i_18319 \x3c n__5636__auto___18317)){\n(a[i_18319] \x3d init_val_or_seq);\n\nvar G__18320 \x3d (i_18319 + (1));\ni_18319 \x3d G__18320;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.object_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * If coll is counted? returns its count, else will count at most the first n\n * elements of coll using its seq\n */\ncljs.core.bounded_count \x3d (function cljs$core$bounded_count(n,coll){\nif(cljs.core.counted_QMARK_(coll)){\nreturn cljs.core.count(coll);\n} else {\nvar i \x3d (0);\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((((!((s \x3d\x3d null)))) \x26\x26 ((i \x3c n)))){\nvar G__18322 \x3d (i + (1));\nvar G__18323 \x3d cljs.core.next(s);\ni \x3d G__18322;\ns \x3d G__18323;\ncontinue;\n} else {\nreturn i;\n}\nbreak;\n}\n}\n});\ncljs.core.spread \x3d (function cljs$core$spread(arglist){\nif((arglist \x3d\x3d null)){\nreturn null;\n} else {\nvar n \x3d cljs.core.next(arglist);\nif((n \x3d\x3d null)){\nreturn cljs.core.seq(cljs.core.first(arglist));\n} else {\nreturn cljs.core.cons(cljs.core.first(arglist),(cljs.core.spread.cljs$core$IFn$_invoke$arity$1 ? cljs.core.spread.cljs$core$IFn$_invoke$arity$1(n) : cljs.core.spread.call(null,n)));\n}\n}\n});\n/**\n * Returns a lazy seq representing the concatenation of the elements in the supplied colls.\n */\ncljs.core.concat \x3d (function cljs$core$concat(var_args){\nvar G__15112 \x3d arguments.length;\nswitch (G__15112) {\ncase 0:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18326 \x3d arguments.length;\nvar i__5770__auto___18327 \x3d (0);\nwhile(true){\nif((i__5770__auto___18327 \x3c len__5769__auto___18326)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18327]));\n\nvar G__18328 \x3d (i__5770__auto___18327 + (1));\ni__5770__auto___18327 \x3d G__18328;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn null;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn x;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s \x3d cljs.core.seq(x);\nif(s){\nif(cljs.core.chunked_seq_QMARK_(s)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.chunk_rest(s),y));\n} else {\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s),y));\n}\n} else {\nreturn y;\n}\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,zs){\nvar cat \x3d (function cljs$core$cat(xys,zs__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar xys__$1 \x3d cljs.core.seq(xys);\nif(xys__$1){\nif(cljs.core.chunked_seq_QMARK_(xys__$1)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(xys__$1),cljs$core$cat(cljs.core.chunk_rest(xys__$1),zs__$1));\n} else {\nreturn cljs.core.cons(cljs.core.first(xys__$1),cljs$core$cat(cljs.core.rest(xys__$1),zs__$1));\n}\n} else {\nif(cljs.core.truth_(zs__$1)){\nreturn cljs$core$cat(cljs.core.first(zs__$1),cljs.core.next(zs__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,y),zs);\n}));\n\n/** @this {Function} */\n(cljs.core.concat.cljs$lang$applyTo \x3d (function (seq15109){\nvar G__15110 \x3d cljs.core.first(seq15109);\nvar seq15109__$1 \x3d cljs.core.next(seq15109);\nvar G__15111 \x3d cljs.core.first(seq15109__$1);\nvar seq15109__$2 \x3d cljs.core.next(seq15109__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15110,G__15111,seq15109__$2);\n}));\n\n(cljs.core.concat.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Creates a new list containing the items prepended to the rest, the\n * last of which will be treated as a sequence.\n */\ncljs.core.list_STAR_ \x3d (function cljs$core$list_STAR_(var_args){\nvar G__15119 \x3d arguments.length;\nswitch (G__15119) {\ncase 1:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18346 \x3d arguments.length;\nvar i__5770__auto___18347 \x3d (0);\nwhile(true){\nif((i__5770__auto___18347 \x3c len__5769__auto___18346)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18347]));\n\nvar G__18348 \x3d (i__5770__auto___18347 + (1));\ni__5770__auto___18347 \x3d G__18348;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (args){\nreturn cljs.core.seq(args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,args){\nreturn cljs.core.cons(a,args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,args));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,args)));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,b,c,d,more){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.spread(more)))));\n}));\n\n/** @this {Function} */\n(cljs.core.list_STAR_.cljs$lang$applyTo \x3d (function (seq15114){\nvar G__15115 \x3d cljs.core.first(seq15114);\nvar seq15114__$1 \x3d cljs.core.next(seq15114);\nvar G__15116 \x3d cljs.core.first(seq15114__$1);\nvar seq15114__$2 \x3d cljs.core.next(seq15114__$1);\nvar G__15117 \x3d cljs.core.first(seq15114__$2);\nvar seq15114__$3 \x3d cljs.core.next(seq15114__$2);\nvar G__15118 \x3d cljs.core.first(seq15114__$3);\nvar seq15114__$4 \x3d cljs.core.next(seq15114__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15115,G__15116,G__15117,G__15118,seq15114__$4);\n}));\n\n(cljs.core.list_STAR_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core.transient$ \x3d (function cljs$core$transient(coll){\nreturn cljs.core._as_transient(coll);\n});\n/**\n * Returns a new, persistent version of the transient collection, in\n * constant time. The transient collection cannot be used after this\n * call, any such use will throw an exception.\n */\ncljs.core.persistent_BANG_ \x3d (function cljs$core$persistent_BANG_(tcoll){\nreturn cljs.core._persistent_BANG_(tcoll);\n});\n/**\n * Adds val to the transient collection, and return tcoll. The \x27addition\x27\n * may happen at different \x27places\x27 depending on the concrete type.\n */\ncljs.core.conj_BANG_ \x3d (function cljs$core$conj_BANG_(var_args){\nvar G__15124 \x3d arguments.length;\nswitch (G__15124) {\ncase 0:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18362 \x3d arguments.length;\nvar i__5770__auto___18363 \x3d (0);\nwhile(true){\nif((i__5770__auto___18363 \x3c len__5769__auto___18362)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18363]));\n\nvar G__18364 \x3d (i__5770__auto___18363 + (1));\ni__5770__auto___18363 \x3d G__18364;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tcoll){\nreturn tcoll;\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._conj_BANG_(tcoll,val);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._conj_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__18365 \x3d ntcoll;\nvar G__18366 \x3d cljs.core.first(vals);\nvar G__18367 \x3d cljs.core.next(vals);\ntcoll \x3d G__18365;\nval \x3d G__18366;\nvals \x3d G__18367;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj_BANG_.cljs$lang$applyTo \x3d (function (seq15121){\nvar G__15122 \x3d cljs.core.first(seq15121);\nvar seq15121__$1 \x3d cljs.core.next(seq15121);\nvar G__15123 \x3d cljs.core.first(seq15121__$1);\nvar seq15121__$2 \x3d cljs.core.next(seq15121__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15122,G__15123,seq15121__$2);\n}));\n\n(cljs.core.conj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * When applied to a transient map, adds mapping of key(s) to\n * val(s). When applied to a transient vector, sets the val at index.\n * Note - index must be \x3c\x3d (count vector). Returns coll.\n */\ncljs.core.assoc_BANG_ \x3d (function cljs$core$assoc_BANG_(var_args){\nvar G__15130 \x3d arguments.length;\nswitch (G__15130) {\ncase 3:\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18373 \x3d arguments.length;\nvar i__5770__auto___18374 \x3d (0);\nwhile(true){\nif((i__5770__auto___18374 \x3c len__5769__auto___18373)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18374]));\n\nvar G__18375 \x3d (i__5770__auto___18374 + (1));\ni__5770__auto___18374 \x3d G__18375;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (tcoll,key,val){\nreturn cljs.core._assoc_BANG_(tcoll,key,val);\n}));\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,val,kvs){\nwhile(true){\nvar ntcoll \x3d cljs.core._assoc_BANG_(tcoll,key,val);\nif(cljs.core.truth_(kvs)){\nvar G__18377 \x3d ntcoll;\nvar G__18378 \x3d cljs.core.first(kvs);\nvar G__18379 \x3d cljs.core.second(kvs);\nvar G__18380 \x3d cljs.core.nnext(kvs);\ntcoll \x3d G__18377;\nkey \x3d G__18378;\nval \x3d G__18379;\nkvs \x3d G__18380;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc_BANG_.cljs$lang$applyTo \x3d (function (seq15126){\nvar G__15127 \x3d cljs.core.first(seq15126);\nvar seq15126__$1 \x3d cljs.core.next(seq15126);\nvar G__15128 \x3d cljs.core.first(seq15126__$1);\nvar seq15126__$2 \x3d cljs.core.next(seq15126__$1);\nvar G__15129 \x3d cljs.core.first(seq15126__$2);\nvar seq15126__$3 \x3d cljs.core.next(seq15126__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15127,G__15128,G__15129,seq15126__$3);\n}));\n\n(cljs.core.assoc_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a transient map that doesn\x27t contain a mapping for key(s).\n */\ncljs.core.dissoc_BANG_ \x3d (function cljs$core$dissoc_BANG_(var_args){\nvar G__15135 \x3d arguments.length;\nswitch (G__15135) {\ncase 2:\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18383 \x3d arguments.length;\nvar i__5770__auto___18384 \x3d (0);\nwhile(true){\nif((i__5770__auto___18384 \x3c len__5769__auto___18383)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18384]));\n\nvar G__18385 \x3d (i__5770__auto___18384 + (1));\ni__5770__auto___18384 \x3d G__18385;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,key){\nreturn cljs.core._dissoc_BANG_(tcoll,key);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,ks){\nwhile(true){\nvar ntcoll \x3d cljs.core._dissoc_BANG_(tcoll,key);\nif(cljs.core.truth_(ks)){\nvar G__18386 \x3d ntcoll;\nvar G__18387 \x3d cljs.core.first(ks);\nvar G__18388 \x3d cljs.core.next(ks);\ntcoll \x3d G__18386;\nkey \x3d G__18387;\nks \x3d G__18388;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc_BANG_.cljs$lang$applyTo \x3d (function (seq15132){\nvar G__15133 \x3d cljs.core.first(seq15132);\nvar seq15132__$1 \x3d cljs.core.next(seq15132);\nvar G__15134 \x3d cljs.core.first(seq15132__$1);\nvar seq15132__$2 \x3d cljs.core.next(seq15132__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15133,G__15134,seq15132__$2);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Removes the last item from a transient vector. If\n * the collection is empty, throws an exception. Returns tcoll\n */\ncljs.core.pop_BANG_ \x3d (function cljs$core$pop_BANG_(tcoll){\nreturn cljs.core._pop_BANG_(tcoll);\n});\n/**\n * disj[oin]. Returns a transient set of the same (hashed/sorted) type, that\n * does not contain key(s).\n */\ncljs.core.disj_BANG_ \x3d (function cljs$core$disj_BANG_(var_args){\nvar G__15140 \x3d arguments.length;\nswitch (G__15140) {\ncase 2:\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18395 \x3d arguments.length;\nvar i__5770__auto___18397 \x3d (0);\nwhile(true){\nif((i__5770__auto___18397 \x3c len__5769__auto___18395)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18397]));\n\nvar G__18398 \x3d (i__5770__auto___18397 + (1));\ni__5770__auto___18397 \x3d G__18398;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._disjoin_BANG_(tcoll,val);\n}));\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._disjoin_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__18399 \x3d ntcoll;\nvar G__18400 \x3d cljs.core.first(vals);\nvar G__18401 \x3d cljs.core.next(vals);\ntcoll \x3d G__18399;\nval \x3d G__18400;\nvals \x3d G__18401;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj_BANG_.cljs$lang$applyTo \x3d (function (seq15137){\nvar G__15138 \x3d cljs.core.first(seq15137);\nvar seq15137__$1 \x3d cljs.core.next(seq15137);\nvar G__15139 \x3d cljs.core.first(seq15137__$1);\nvar seq15137__$2 \x3d cljs.core.next(seq15137__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15138,G__15139,seq15137__$2);\n}));\n\n(cljs.core.disj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n\ncljs.core.apply_to \x3d (function cljs$core$apply_to(f,argc,args){\nvar args__$1 \x3d cljs.core.seq(args);\nif((argc \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar a1 \x3d cljs.core._first(args__$1);\nvar args__$2 \x3d cljs.core._rest(args__$1);\nif((argc \x3d\x3d\x3d (1))){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(a1) : f.call(null,a1));\n} else {\nvar b2 \x3d cljs.core._first(args__$2);\nvar args__$3 \x3d cljs.core._rest(args__$2);\nif((argc \x3d\x3d\x3d (2))){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(a1,b2) : f.call(null,a1,b2));\n} else {\nvar c3 \x3d cljs.core._first(args__$3);\nvar args__$4 \x3d cljs.core._rest(args__$3);\nif((argc \x3d\x3d\x3d (3))){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(a1,b2,c3) : f.call(null,a1,b2,c3));\n} else {\nvar d4 \x3d cljs.core._first(args__$4);\nvar args__$5 \x3d cljs.core._rest(args__$4);\nif((argc \x3d\x3d\x3d (4))){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(a1,b2,c3,d4) : f.call(null,a1,b2,c3,d4));\n} else {\nvar e5 \x3d cljs.core._first(args__$5);\nvar args__$6 \x3d cljs.core._rest(args__$5);\nif((argc \x3d\x3d\x3d (5))){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(a1,b2,c3,d4,e5) : f.call(null,a1,b2,c3,d4,e5));\n} else {\nvar f6 \x3d cljs.core._first(args__$6);\nvar args__$7 \x3d cljs.core._rest(args__$6);\nif((argc \x3d\x3d\x3d (6))){\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(a1,b2,c3,d4,e5,f6) : f.call(null,a1,b2,c3,d4,e5,f6));\n} else {\nvar g7 \x3d cljs.core._first(args__$7);\nvar args__$8 \x3d cljs.core._rest(args__$7);\nif((argc \x3d\x3d\x3d (7))){\nreturn (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(a1,b2,c3,d4,e5,f6,g7) : f.call(null,a1,b2,c3,d4,e5,f6,g7));\n} else {\nvar h8 \x3d cljs.core._first(args__$8);\nvar args__$9 \x3d cljs.core._rest(args__$8);\nif((argc \x3d\x3d\x3d (8))){\nreturn (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(a1,b2,c3,d4,e5,f6,g7,h8) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8));\n} else {\nvar i9 \x3d cljs.core._first(args__$9);\nvar args__$10 \x3d cljs.core._rest(args__$9);\nif((argc \x3d\x3d\x3d (9))){\nreturn (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(a1,b2,c3,d4,e5,f6,g7,h8,i9) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9));\n} else {\nvar j10 \x3d cljs.core._first(args__$10);\nvar args__$11 \x3d cljs.core._rest(args__$10);\nif((argc \x3d\x3d\x3d (10))){\nreturn (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10));\n} else {\nvar k11 \x3d cljs.core._first(args__$11);\nvar args__$12 \x3d cljs.core._rest(args__$11);\nif((argc \x3d\x3d\x3d (11))){\nreturn (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11));\n} else {\nvar l12 \x3d cljs.core._first(args__$12);\nvar args__$13 \x3d cljs.core._rest(args__$12);\nif((argc \x3d\x3d\x3d (12))){\nreturn (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12));\n} else {\nvar m13 \x3d cljs.core._first(args__$13);\nvar args__$14 \x3d cljs.core._rest(args__$13);\nif((argc \x3d\x3d\x3d (13))){\nreturn (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13));\n} else {\nvar n14 \x3d cljs.core._first(args__$14);\nvar args__$15 \x3d cljs.core._rest(args__$14);\nif((argc \x3d\x3d\x3d (14))){\nreturn (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14));\n} else {\nvar o15 \x3d cljs.core._first(args__$15);\nvar args__$16 \x3d cljs.core._rest(args__$15);\nif((argc \x3d\x3d\x3d (15))){\nreturn (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15));\n} else {\nvar p16 \x3d cljs.core._first(args__$16);\nvar args__$17 \x3d cljs.core._rest(args__$16);\nif((argc \x3d\x3d\x3d (16))){\nreturn (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16));\n} else {\nvar q17 \x3d cljs.core._first(args__$17);\nvar args__$18 \x3d cljs.core._rest(args__$17);\nif((argc \x3d\x3d\x3d (17))){\nreturn (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17));\n} else {\nvar r18 \x3d cljs.core._first(args__$18);\nvar args__$19 \x3d cljs.core._rest(args__$18);\nif((argc \x3d\x3d\x3d (18))){\nreturn (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18));\n} else {\nvar s19 \x3d cljs.core._first(args__$19);\nvar args__$20 \x3d cljs.core._rest(args__$19);\nif((argc \x3d\x3d\x3d (19))){\nreturn (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19));\n} else {\nvar t20 \x3d cljs.core._first(args__$20);\nvar args__$21 \x3d cljs.core._rest(args__$20);\nif((argc \x3d\x3d\x3d (20))){\nreturn (f.cljs$core$IFn$_invoke$arity$20 ? f.cljs$core$IFn$_invoke$arity$20(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19,t20) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19,t20));\n} else {\nthrow (new Error(\x22Only up to 20 arguments supported on functions\x22));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\n\n/**\n * Internal. DO NOT USE! Next without the nil? check.\n */\ncljs.core.next_STAR_ \x3d (function cljs$core$next_STAR_(coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n});\n/**\n * Internal. DO NOT USE!\n * Assumes args was already called with seq beforehand!\n */\ncljs.core.apply_to_simple \x3d (function cljs$core$apply_to_simple(var_args){\nvar G__15143 \x3d arguments.length;\nswitch (G__15143) {\ncase 2:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$0){\nreturn f.cljs$core$IFn$_invoke$arity$0();\n} else {\nreturn f.call(f);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,a0,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$1){\nreturn f.cljs$core$IFn$_invoke$arity$1(a0);\n} else {\nreturn f.call(f,a0);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,a0,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,a0,a1,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$2){\nreturn f.cljs$core$IFn$_invoke$arity$2(a0,a1);\n} else {\nreturn f.call(f,a0,a1);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,a0,a1,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,a0,a1,a2,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$3){\nreturn f.cljs$core$IFn$_invoke$arity$3(a0,a1,a2);\n} else {\nreturn f.call(f,a0,a1,a2);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a0,a1,a2,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6 \x3d (function (f,a0,a1,a2,a3,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$4){\nreturn f.cljs$core$IFn$_invoke$arity$4(a0,a1,a2,a3);\n} else {\nreturn f.call(f,a0,a1,a2,a3);\n}\n} else {\nvar a4 \x3d cljs.core._first(args);\nvar next_4 \x3d cljs.core.next(args);\nif((next_4 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$5){\nreturn f.cljs$core$IFn$_invoke$arity$5(a0,a1,a2,a3,a4);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4);\n}\n} else {\nvar a5 \x3d cljs.core._first(next_4);\nvar next_5 \x3d cljs.core.next(next_4);\nif((next_5 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$6){\nreturn f.cljs$core$IFn$_invoke$arity$6(a0,a1,a2,a3,a4,a5);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5);\n}\n} else {\nvar a6 \x3d cljs.core._first(next_5);\nvar next_6 \x3d cljs.core.next(next_5);\nif((next_6 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$7){\nreturn f.cljs$core$IFn$_invoke$arity$7(a0,a1,a2,a3,a4,a5,a6);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6);\n}\n} else {\nvar a7 \x3d cljs.core._first(next_6);\nvar next_7 \x3d cljs.core.next(next_6);\nif((next_7 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$8){\nreturn f.cljs$core$IFn$_invoke$arity$8(a0,a1,a2,a3,a4,a5,a6,a7);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7);\n}\n} else {\nvar a8 \x3d cljs.core._first(next_7);\nvar next_8 \x3d cljs.core.next(next_7);\nif((next_8 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$9){\nreturn f.cljs$core$IFn$_invoke$arity$9(a0,a1,a2,a3,a4,a5,a6,a7,a8);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8);\n}\n} else {\nvar a9 \x3d cljs.core._first(next_8);\nvar next_9 \x3d cljs.core.next(next_8);\nif((next_9 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$10){\nreturn f.cljs$core$IFn$_invoke$arity$10(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n}\n} else {\nvar a10 \x3d cljs.core._first(next_9);\nvar next_10 \x3d cljs.core.next(next_9);\nif((next_10 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$11){\nreturn f.cljs$core$IFn$_invoke$arity$11(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n}\n} else {\nvar a11 \x3d cljs.core._first(next_10);\nvar next_11 \x3d cljs.core.next(next_10);\nif((next_11 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$12){\nreturn f.cljs$core$IFn$_invoke$arity$12(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n}\n} else {\nvar a12 \x3d cljs.core._first(next_11);\nvar next_12 \x3d cljs.core.next(next_11);\nif((next_12 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$13){\nreturn f.cljs$core$IFn$_invoke$arity$13(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n}\n} else {\nvar a13 \x3d cljs.core._first(next_12);\nvar next_13 \x3d cljs.core.next(next_12);\nif((next_13 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$14){\nreturn f.cljs$core$IFn$_invoke$arity$14(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n}\n} else {\nvar a14 \x3d cljs.core._first(next_13);\nvar next_14 \x3d cljs.core.next(next_13);\nif((next_14 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$15){\nreturn f.cljs$core$IFn$_invoke$arity$15(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n}\n} else {\nvar a15 \x3d cljs.core._first(next_14);\nvar next_15 \x3d cljs.core.next(next_14);\nif((next_15 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$16){\nreturn f.cljs$core$IFn$_invoke$arity$16(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n}\n} else {\nvar a16 \x3d cljs.core._first(next_15);\nvar next_16 \x3d cljs.core.next(next_15);\nif((next_16 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$17){\nreturn f.cljs$core$IFn$_invoke$arity$17(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n}\n} else {\nvar a17 \x3d cljs.core._first(next_16);\nvar next_17 \x3d cljs.core.next(next_16);\nif((next_17 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$18){\nreturn f.cljs$core$IFn$_invoke$arity$18(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);\n}\n} else {\nvar a18 \x3d cljs.core._first(next_17);\nvar next_18 \x3d cljs.core.next(next_17);\nif((next_18 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$19){\nreturn f.cljs$core$IFn$_invoke$arity$19(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);\n}\n} else {\nvar a19 \x3d cljs.core._first(next_18);\nvar next_19 \x3d cljs.core.next(next_18);\nif((next_19 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$20){\nreturn f.cljs$core$IFn$_invoke$arity$20(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);\n}\n} else {\nvar arr__5684__auto__ \x3d [a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19];\nvar s__5685__auto___18430 \x3d next_19;\nwhile(true){\nif(s__5685__auto___18430){\narr__5684__auto__.push(cljs.core._first(s__5685__auto___18430));\n\nvar G__18431 \x3d cljs.core.next(s__5685__auto___18430);\ns__5685__auto___18430 \x3d G__18431;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn f.apply(f,arr__5684__auto__);\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Applies fn f to the argument list formed by prepending intervening arguments to args.\n */\ncljs.core.apply \x3d (function cljs$core$apply(var_args){\nvar G__15151 \x3d arguments.length;\nswitch (G__15151) {\ncase 2:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18434 \x3d arguments.length;\nvar i__5770__auto___18435 \x3d (0);\nwhile(true){\nif((i__5770__auto___18435 \x3c len__5769__auto___18434)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18435]));\n\nvar G__18436 \x3d (i__5770__auto___18435 + (1));\ni__5770__auto___18435 \x3d G__18436;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((5)),(0),null));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif(f.cljs$lang$applyTo){\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d cljs.core.bounded_count((fixed_arity + (1)),args);\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,args);\n} else {\nreturn f.cljs$lang$applyTo(args);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2(f,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(x,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d (cljs.core.bounded_count(fixed_arity,args) + (1));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,x,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(x,y,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((2) + cljs.core.bounded_count((fixed_arity - (1)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,x,y,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,x,y,z,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(x,y,z,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((3) + cljs.core.bounded_count((fixed_arity - (2)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,x,y,z,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,a,b,c,d,args){\nif(f.cljs$lang$applyTo){\nvar spread_args \x3d cljs.core.spread(args);\nvar arglist \x3d cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,spread_args))));\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((4) + cljs.core.bounded_count((fixed_arity - (3)),spread_args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a,b,c,d,cljs.core.spread(args));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.apply.cljs$lang$applyTo \x3d (function (seq15145){\nvar G__15146 \x3d cljs.core.first(seq15145);\nvar seq15145__$1 \x3d cljs.core.next(seq15145);\nvar G__15147 \x3d cljs.core.first(seq15145__$1);\nvar seq15145__$2 \x3d cljs.core.next(seq15145__$1);\nvar G__15148 \x3d cljs.core.first(seq15145__$2);\nvar seq15145__$3 \x3d cljs.core.next(seq15145__$2);\nvar G__15149 \x3d cljs.core.first(seq15145__$3);\nvar seq15145__$4 \x3d cljs.core.next(seq15145__$3);\nvar G__15150 \x3d cljs.core.first(seq15145__$4);\nvar seq15145__$5 \x3d cljs.core.next(seq15145__$4);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15146,G__15147,G__15148,G__15149,G__15150,seq15145__$5);\n}));\n\n(cljs.core.apply.cljs$lang$maxFixedArity \x3d (5));\n\ncljs.core.__destructure_map \x3d (function cljs$core$__destructure_map(gmap){\nif((((!((gmap \x3d\x3d null))))?(((((gmap.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d gmap.cljs$core$ISeq$))))?true:false):false)){\nif(cljs.core.next(gmap)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(gmap));\n} else {\nif(cljs.core.seq(gmap)){\nreturn cljs.core.first(gmap);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n} else {\nreturn gmap;\n}\n});\n/**\n * Returns an object of the same type and value as obj, with\n * (apply f (meta obj) args) as its metadata.\n */\ncljs.core.vary_meta \x3d (function cljs$core$vary_meta(var_args){\nvar G__15161 \x3d arguments.length;\nswitch (G__15161) {\ncase 2:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18440 \x3d arguments.length;\nvar i__5770__auto___18441 \x3d (0);\nwhile(true){\nif((i__5770__auto___18441 \x3c len__5769__auto___18440)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18441]));\n\nvar G__18442 \x3d (i__5770__auto___18441 + (1));\ni__5770__auto___18441 \x3d G__18442;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,f){\nreturn cljs.core.with_meta(obj,(function (){var G__15162 \x3d cljs.core.meta(obj);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15162) : f.call(null,G__15162));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3 \x3d (function (obj,f,a){\nreturn cljs.core.with_meta(obj,(function (){var G__15163 \x3d cljs.core.meta(obj);\nvar G__15164 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15163,G__15164) : f.call(null,G__15163,G__15164));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4 \x3d (function (obj,f,a,b){\nreturn cljs.core.with_meta(obj,(function (){var G__15165 \x3d cljs.core.meta(obj);\nvar G__15166 \x3d a;\nvar G__15167 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15165,G__15166,G__15167) : f.call(null,G__15165,G__15166,G__15167));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5 \x3d (function (obj,f,a,b,c){\nreturn cljs.core.with_meta(obj,(function (){var G__15168 \x3d cljs.core.meta(obj);\nvar G__15169 \x3d a;\nvar G__15170 \x3d b;\nvar G__15171 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__15168,G__15169,G__15170,G__15171) : f.call(null,G__15168,G__15169,G__15170,G__15171));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6 \x3d (function (obj,f,a,b,c,d){\nreturn cljs.core.with_meta(obj,(function (){var G__15172 \x3d cljs.core.meta(obj);\nvar G__15173 \x3d a;\nvar G__15174 \x3d b;\nvar G__15175 \x3d c;\nvar G__15176 \x3d d;\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(G__15172,G__15173,G__15174,G__15175,G__15176) : f.call(null,G__15172,G__15173,G__15174,G__15175,G__15176));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,f,a,b,c,d,args){\nreturn cljs.core.with_meta(obj,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.meta(obj),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([d,args], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.vary_meta.cljs$lang$applyTo \x3d (function (seq15154){\nvar G__15155 \x3d cljs.core.first(seq15154);\nvar seq15154__$1 \x3d cljs.core.next(seq15154);\nvar G__15156 \x3d cljs.core.first(seq15154__$1);\nvar seq15154__$2 \x3d cljs.core.next(seq15154__$1);\nvar G__15157 \x3d cljs.core.first(seq15154__$2);\nvar seq15154__$3 \x3d cljs.core.next(seq15154__$2);\nvar G__15158 \x3d cljs.core.first(seq15154__$3);\nvar seq15154__$4 \x3d cljs.core.next(seq15154__$3);\nvar G__15159 \x3d cljs.core.first(seq15154__$4);\nvar seq15154__$5 \x3d cljs.core.next(seq15154__$4);\nvar G__15160 \x3d cljs.core.first(seq15154__$5);\nvar seq15154__$6 \x3d cljs.core.next(seq15154__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15155,G__15156,G__15157,G__15158,G__15159,G__15160,seq15154__$6);\n}));\n\n(cljs.core.vary_meta.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * Same as (not (\x3d obj1 obj2))\n */\ncljs.core.not_EQ_ \x3d (function cljs$core$not_EQ_(var_args){\nvar G__15181 \x3d arguments.length;\nswitch (G__15181) {\ncase 1:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18444 \x3d arguments.length;\nvar i__5770__auto___18445 \x3d (0);\nwhile(true){\nif((i__5770__auto___18445 \x3c len__5769__auto___18444)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18445]));\n\nvar G__18446 \x3d (i__5770__auto___18445 + (1));\ni__5770__auto___18445 \x3d G__18446;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn false;\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core._EQ_,x,y,more));\n}));\n\n/** @this {Function} */\n(cljs.core.not_EQ_.cljs$lang$applyTo \x3d (function (seq15178){\nvar G__15179 \x3d cljs.core.first(seq15178);\nvar seq15178__$1 \x3d cljs.core.next(seq15178);\nvar G__15180 \x3d cljs.core.first(seq15178__$1);\nvar seq15178__$2 \x3d cljs.core.next(seq15178__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15179,G__15180,seq15178__$2);\n}));\n\n(cljs.core.not_EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If coll is empty, returns nil, else coll\n */\ncljs.core.not_empty \x3d (function cljs$core$not_empty(coll){\nif(cljs.core.seq(coll)){\nreturn coll;\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.t_cljs$core15182 \x3d (function (meta15183){\nthis.meta15183 \x3d meta15183;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core15182.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_15184,meta15183__$1){\nvar self__ \x3d this;\nvar _15184__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core15182(meta15183__$1));\n}));\n\n(cljs.core.t_cljs$core15182.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_15184){\nvar self__ \x3d this;\nvar _15184__$1 \x3d this;\nreturn self__.meta15183;\n}));\n\n(cljs.core.t_cljs$core15182.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn false;\n}));\n\n(cljs.core.t_cljs$core15182.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22No such element\x22));\n}));\n\n(cljs.core.t_cljs$core15182.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.t_cljs$core15182.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta15183\x22,\x22meta15183\x22,10967263,null)], null);\n}));\n\n(cljs.core.t_cljs$core15182.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core15182.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core15182\x22);\n\n(cljs.core.t_cljs$core15182.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/t_cljs$core15182\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core15182.\n */\ncljs.core.__GT_t_cljs$core15182 \x3d (function cljs$core$__GT_t_cljs$core15182(meta15183){\nreturn (new cljs.core.t_cljs$core15182(meta15183));\n});\n\n\ncljs.core.nil_iter \x3d (function cljs$core$nil_iter(){\nreturn (new cljs.core.t_cljs$core15182(cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.StringIter \x3d (function (s,i){\nthis.s \x3d s;\nthis.i \x3d i;\n});\n(cljs.core.StringIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.s.length);\n}));\n\n(cljs.core.StringIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.s.charAt(self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.StringIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.StringIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.StringIter.cljs$lang$type \x3d true);\n\n(cljs.core.StringIter.cljs$lang$ctorStr \x3d \x22cljs.core/StringIter\x22);\n\n(cljs.core.StringIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/StringIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringIter.\n */\ncljs.core.__GT_StringIter \x3d (function cljs$core$__GT_StringIter(s,i){\nreturn (new cljs.core.StringIter(s,i));\n});\n\ncljs.core.string_iter \x3d (function cljs$core$string_iter(x){\nreturn (new cljs.core.StringIter(x,(0)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayIter \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.ArrayIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.ArrayIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.ArrayIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayIter.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayIter.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayIter\x22);\n\n(cljs.core.ArrayIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayIter.\n */\ncljs.core.__GT_ArrayIter \x3d (function cljs$core$__GT_ArrayIter(arr,i){\nreturn (new cljs.core.ArrayIter(arr,i));\n});\n\ncljs.core.array_iter \x3d (function cljs$core$array_iter(x){\nreturn (new cljs.core.ArrayIter(x,(0)));\n});\ncljs.core.INIT \x3d ({});\ncljs.core.START \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.SeqIter \x3d (function (_seq,_next){\nthis._seq \x3d _seq;\nthis._next \x3d _next;\n});\n(cljs.core.SeqIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__._seq \x3d\x3d\x3d cljs.core.INIT)){\n(self__._seq \x3d cljs.core.START);\n\n(self__._next \x3d cljs.core.seq(self__._next));\n} else {\nif((self__._seq \x3d\x3d\x3d self__._next)){\n(self__._next \x3d cljs.core.next(self__._seq));\n} else {\n}\n}\n\nreturn (!((self__._next \x3d\x3d null)));\n}));\n\n(cljs.core.SeqIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!(this$.hasNext()))){\nthrow (new Error(\x22No such element\x22));\n} else {\n(self__._seq \x3d self__._next);\n\nreturn cljs.core.first(self__._next);\n}\n}));\n\n(cljs.core.SeqIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.SeqIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22_seq\x22,\x22_seq\x22,-449557847,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.SeqIter.cljs$lang$type \x3d true);\n\n(cljs.core.SeqIter.cljs$lang$ctorStr \x3d \x22cljs.core/SeqIter\x22);\n\n(cljs.core.SeqIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/SeqIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/SeqIter.\n */\ncljs.core.__GT_SeqIter \x3d (function cljs$core$__GT_SeqIter(_seq,_next){\nreturn (new cljs.core.SeqIter(_seq,_next));\n});\n\ncljs.core.seq_iter \x3d (function cljs$core$seq_iter(coll){\nreturn (new cljs.core.SeqIter(cljs.core.INIT,coll));\n});\ncljs.core.iter \x3d (function cljs$core$iter(coll){\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core._iterator(coll);\n} else {\nif((coll \x3d\x3d null)){\nreturn cljs.core.nil_iter();\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.string_iter(coll);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_iter(coll);\n} else {\nif(cljs.core.seqable_QMARK_(coll)){\nreturn cljs.core.seq_iter(coll);\n} else {\nthrow (new Error([\x22Cannot create iterator from \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Many \x3d (function (vals){\nthis.vals \x3d vals;\n});\n(cljs.core.Many.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nself__.vals.push(o);\n\nreturn this$;\n}));\n\n(cljs.core.Many.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.vals.shift();\n}));\n\n(cljs.core.Many.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.vals.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.Many.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Many: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.vals)].join(\x27\x27);\n}));\n\n(cljs.core.Many.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vals\x22,\x22vals\x22,-1886377036,null)], null);\n}));\n\n(cljs.core.Many.cljs$lang$type \x3d true);\n\n(cljs.core.Many.cljs$lang$ctorStr \x3d \x22cljs.core/Many\x22);\n\n(cljs.core.Many.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Many\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Many.\n */\ncljs.core.__GT_Many \x3d (function cljs$core$__GT_Many(vals){\nreturn (new cljs.core.Many(vals));\n});\n\ncljs.core.NONE \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.Single \x3d (function (val){\nthis.val \x3d val;\n});\n(cljs.core.Single.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\n(self__.val \x3d o);\n\nreturn this$;\n} else {\nreturn (new cljs.core.Many([self__.val,o]));\n}\n}));\n\n(cljs.core.Single.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\nthrow (new Error(\x22Removing object from empty buffer\x22));\n} else {\nvar ret \x3d self__.val;\n(self__.val \x3d cljs.core.NONE);\n\nreturn ret;\n}\n}));\n\n(cljs.core.Single.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.val \x3d\x3d\x3d cljs.core.NONE);\n}));\n\n(cljs.core.Single.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Single: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.val)].join(\x27\x27);\n}));\n\n(cljs.core.Single.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Single.cljs$lang$type \x3d true);\n\n(cljs.core.Single.cljs$lang$ctorStr \x3d \x22cljs.core/Single\x22);\n\n(cljs.core.Single.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Single\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Single.\n */\ncljs.core.__GT_Single \x3d (function cljs$core$__GT_Single(val){\nreturn (new cljs.core.Single(val));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.Empty \x3d (function (){\n});\n(cljs.core.Empty.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (new cljs.core.Single(o));\n}));\n\n(cljs.core.Empty.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nthrow (new Error(\x22Removing object from empty buffer\x22));\n}));\n\n(cljs.core.Empty.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(cljs.core.Empty.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn \x22Empty\x22;\n}));\n\n(cljs.core.Empty.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.Empty.cljs$lang$type \x3d true);\n\n(cljs.core.Empty.cljs$lang$ctorStr \x3d \x22cljs.core/Empty\x22);\n\n(cljs.core.Empty.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Empty\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Empty.\n */\ncljs.core.__GT_Empty \x3d (function cljs$core$__GT_Empty(){\nreturn (new cljs.core.Empty());\n});\n\ncljs.core.EMPTY \x3d (new cljs.core.Empty());\n\n/**\n* @constructor\n*/\ncljs.core.MultiIterator \x3d (function (iters){\nthis.iters \x3d iters;\n});\n(cljs.core.MultiIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar iters__$1 \x3d cljs.core.seq(self__.iters);\nwhile(true){\nif((!((iters__$1 \x3d\x3d null)))){\nvar iter \x3d cljs.core.first(iters__$1);\nif((!(iter.hasNext()))){\nreturn false;\n} else {\nvar G__18452 \x3d cljs.core.next(iters__$1);\niters__$1 \x3d G__18452;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.MultiIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar nexts \x3d [];\nvar n__5636__auto___18453 \x3d self__.iters.length;\nvar i_18454 \x3d (0);\nwhile(true){\nif((i_18454 \x3c n__5636__auto___18453)){\n(nexts[i_18454] \x3d (self__.iters[i_18454]).next());\n\nvar G__18455 \x3d (i_18454 + (1));\ni_18454 \x3d G__18455;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(nexts,(0));\n}));\n\n(cljs.core.MultiIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iters\x22,\x22iters\x22,719353031,null)], null);\n}));\n\n(cljs.core.MultiIterator.cljs$lang$type \x3d true);\n\n(cljs.core.MultiIterator.cljs$lang$ctorStr \x3d \x22cljs.core/MultiIterator\x22);\n\n(cljs.core.MultiIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MultiIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiIterator.\n */\ncljs.core.__GT_MultiIterator \x3d (function cljs$core$__GT_MultiIterator(iters){\nreturn (new cljs.core.MultiIterator(iters));\n});\n\ncljs.core.chunkIteratorSeq \x3d (function cljs$core$chunkIteratorSeq(iter){\nreturn (new cljs.core.LazySeq(null,(function (){\nif(iter.hasNext()){\nvar arr \x3d [];\nvar n \x3d (0);\nwhile(true){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d iter.hasNext();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (n \x3c (32));\n} else {\nreturn and__5043__auto__;\n}\n})())){\n(arr[n] \x3d iter.next());\n\nvar G__18457 \x3d (n + (1));\nn \x3d G__18457;\ncontinue;\n} else {\nreturn cljs.core.chunk_cons(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n),(cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1(iter) : cljs.core.chunkIteratorSeq.call(null,iter)));\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\n\n/**\n* @constructor\n*/\ncljs.core.TransformerIterator \x3d (function (buffer,_next,completed,xf,sourceIter,multi){\nthis.buffer \x3d buffer;\nthis._next \x3d _next;\nthis.completed \x3d completed;\nthis.xf \x3d xf;\nthis.sourceIter \x3d sourceIter;\nthis.multi \x3d multi;\n});\n(cljs.core.TransformerIterator.prototype.step \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__._next \x3d\x3d\x3d cljs.core.NONE)))){\nreturn true;\n} else {\nwhile(true){\nif((self__._next \x3d\x3d\x3d cljs.core.NONE)){\nif(self__.buffer.isEmpty()){\nif(self__.completed){\nreturn false;\n} else {\nif(self__.sourceIter.hasNext()){\nvar iter \x3d ((self__.multi)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.xf,cljs.core.cons(null,self__.sourceIter.next())):(function (){var G__15185 \x3d null;\nvar G__15186 \x3d self__.sourceIter.next();\nreturn (self__.xf.cljs$core$IFn$_invoke$arity$2 ? self__.xf.cljs$core$IFn$_invoke$arity$2(G__15185,G__15186) : self__.xf.call(null,G__15185,G__15186));\n})());\nif(cljs.core.reduced_QMARK_(iter)){\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n} else {\n}\n\ncontinue;\n} else {\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n\ncontinue;\n}\n}\n} else {\n(self__._next \x3d self__.buffer.remove());\n\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.step();\n}));\n\n(cljs.core.TransformerIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nvar ret \x3d self__._next;\n(self__._next \x3d cljs.core.NONE);\n\nreturn ret;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.TransformerIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buffer\x22,\x22buffer\x22,-2037140571,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22completed\x22,\x22completed\x22,1154475024,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22xf\x22,\x22xf\x22,2042434515,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22sourceIter\x22,\x22sourceIter\x22,1068220306,null),new cljs.core.Symbol(null,\x22multi\x22,\x22multi\x22,1450238522,null)], null);\n}));\n\n(cljs.core.TransformerIterator.cljs$lang$type \x3d true);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorStr \x3d \x22cljs.core/TransformerIterator\x22);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransformerIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransformerIterator.\n */\ncljs.core.__GT_TransformerIterator \x3d (function cljs$core$__GT_TransformerIterator(buffer,_next,completed,xf,sourceIter,multi){\nreturn (new cljs.core.TransformerIterator(buffer,_next,completed,xf,sourceIter,multi));\n});\n\n(cljs.core.TransformerIterator.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.transformer_iterator \x3d (function cljs$core$transformer_iterator(xform,sourceIter,multi){\nvar iterator \x3d (new cljs.core.TransformerIterator(cljs.core.EMPTY,cljs.core.NONE,false,null,sourceIter,multi));\n(iterator.xf \x3d (function (){var G__15187 \x3d (function() {\nvar G__18459 \x3d null;\nvar G__18459__0 \x3d (function (){\nreturn null;\n});\nvar G__18459__1 \x3d (function (acc){\nreturn acc;\n});\nvar G__18459__2 \x3d (function (acc,o){\n(iterator.buffer \x3d iterator.buffer.add(o));\n\nreturn acc;\n});\nG__18459 \x3d function(acc,o){\nswitch(arguments.length){\ncase 0:\nreturn G__18459__0.call(this);\ncase 1:\nreturn G__18459__1.call(this,acc);\ncase 2:\nreturn G__18459__2.call(this,acc,o);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18459.cljs$core$IFn$_invoke$arity$0 \x3d G__18459__0;\nG__18459.cljs$core$IFn$_invoke$arity$1 \x3d G__18459__1;\nG__18459.cljs$core$IFn$_invoke$arity$2 \x3d G__18459__2;\nreturn G__18459;\n})()\n;\nreturn (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(G__15187) : xform.call(null,G__15187));\n})());\n\nreturn iterator;\n});\n(cljs.core.TransformerIterator.create \x3d (function (xform,source){\nreturn cljs.core.transformer_iterator(xform,source,false);\n}));\n(cljs.core.TransformerIterator.createMulti \x3d (function (xform,sources){\nreturn cljs.core.transformer_iterator(xform,(new cljs.core.MultiIterator(cljs.core.to_array(sources))),true);\n}));\n/**\n * Coerces coll to a (possibly empty) sequence, if it is not already\n * one. Will not force a lazy seq. (sequence nil) yields (), When a\n * transducer is supplied, returns a lazy sequence of applications of\n * the transform to the items in coll(s), i.e. to the set of first\n * items of each coll, followed by the set of second\n * items in each coll, until any one of the colls is exhausted. Any\n * remaining items in other colls are ignored. The transform should accept\n * number-of-colls arguments\n */\ncljs.core.sequence \x3d (function cljs$core$sequence(var_args){\nvar G__15192 \x3d arguments.length;\nswitch (G__15192) {\ncase 1:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18461 \x3d arguments.length;\nvar i__5770__auto___18462 \x3d (0);\nwhile(true){\nif((i__5770__auto___18462 \x3c len__5769__auto___18461)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18462]));\n\nvar G__18463 \x3d (i__5770__auto___18462 + (1));\ni__5770__auto___18462 \x3d G__18463;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nif(cljs.core.seq_QMARK_(coll)){\nreturn coll;\n} else {\nvar or__5045__auto__ \x3d cljs.core.seq(coll);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,coll){\nvar or__5045__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.create(xform,cljs.core.iter(coll)));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xform,coll,colls){\nvar or__5045__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.createMulti(xform,(function (){var G__15193 \x3d cljs.core.iter;\nvar G__15194 \x3d cljs.core.cons(coll,colls);\nreturn (cljs.core.map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.map.cljs$core$IFn$_invoke$arity$2(G__15193,G__15194) : cljs.core.map.call(null,G__15193,G__15194));\n})()));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.sequence.cljs$lang$applyTo \x3d (function (seq15189){\nvar G__15190 \x3d cljs.core.first(seq15189);\nvar seq15189__$1 \x3d cljs.core.next(seq15189);\nvar G__15191 \x3d cljs.core.first(seq15189__$1);\nvar seq15189__$2 \x3d cljs.core.next(seq15189__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15190,G__15191,seq15189__$2);\n}));\n\n(cljs.core.sequence.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if (pred x) is logical true for every x in coll, else\n * false.\n */\ncljs.core.every_QMARK_ \x3d (function cljs$core$every_QMARK_(pred,coll){\nwhile(true){\nif((cljs.core.seq(coll) \x3d\x3d null)){\nreturn true;\n} else {\nif(cljs.core.truth_((function (){var G__15195 \x3d cljs.core.first(coll);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__15195) : pred.call(null,G__15195));\n})())){\nvar G__18464 \x3d pred;\nvar G__18465 \x3d cljs.core.next(coll);\npred \x3d G__18464;\ncoll \x3d G__18465;\ncontinue;\n} else {\nreturn false;\n\n}\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for every x in\n * coll, else true.\n */\ncljs.core.not_every_QMARK_ \x3d (function cljs$core$not_every_QMARK_(pred,coll){\nreturn (!(cljs.core.every_QMARK_(pred,coll)));\n});\n/**\n * Returns the first logical true value of (pred x) for any x in coll,\n * else nil. One common idiom is to use a set as pred, for example\n * this will return :fred if :fred is in the sequence, otherwise nil:\n * (some #{:fred} coll)\n */\ncljs.core.some \x3d (function cljs$core$some(pred,coll){\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar or__5045__auto__ \x3d (function (){var G__15196 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__15196) : pred.call(null,G__15196));\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar G__18466 \x3d pred;\nvar G__18467 \x3d cljs.core.next(s);\npred \x3d G__18466;\ncoll \x3d G__18467;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for any x in coll,\n * else true.\n */\ncljs.core.not_any_QMARK_ \x3d (function cljs$core$not_any_QMARK_(pred,coll){\nreturn cljs.core.not(cljs.core.some(pred,coll));\n});\n/**\n * Returns true if n is even, throws an exception if n is not an integer\n */\ncljs.core.even_QMARK_ \x3d (function cljs$core$even_QMARK_(n){\nif(cljs.core.integer_QMARK_(n)){\nreturn ((n \x26 (1)) \x3d\x3d\x3d (0));\n} else {\nthrow (new Error([\x22Argument must be an integer: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)));\n}\n});\n/**\n * Returns true if n is odd, throws an exception if n is not an integer\n */\ncljs.core.odd_QMARK_ \x3d (function cljs$core$odd_QMARK_(n){\nreturn (!(cljs.core.even_QMARK_(n)));\n});\n/**\n * Takes a fn f and returns a fn that takes the same arguments as f,\n * has the same effects, if any, and returns the opposite truth value.\n */\ncljs.core.complement \x3d (function cljs$core$complement(f){\nreturn (function() {\nvar G__18469 \x3d null;\nvar G__18469__0 \x3d (function (){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)));\n});\nvar G__18469__1 \x3d (function (x){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)));\n});\nvar G__18469__2 \x3d (function (x,y){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)));\n});\nvar G__18469__3 \x3d (function() { \nvar G__18471__delegate \x3d function (x,y,zs){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f,x,y,zs));\n};\nvar G__18471 \x3d function (x,y,var_args){\nvar zs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__18472__i \x3d 0, G__18472__a \x3d new Array(arguments.length - 2);\nwhile (G__18472__i \x3c G__18472__a.length) {G__18472__a[G__18472__i] \x3d arguments[G__18472__i + 2]; ++G__18472__i;}\n zs \x3d new cljs.core.IndexedSeq(G__18472__a,0,null);\n} \nreturn G__18471__delegate.call(this,x,y,zs);};\nG__18471.cljs$lang$maxFixedArity \x3d 2;\nG__18471.cljs$lang$applyTo \x3d (function (arglist__18473){\nvar x \x3d cljs.core.first(arglist__18473);\narglist__18473 \x3d cljs.core.next(arglist__18473);\nvar y \x3d cljs.core.first(arglist__18473);\nvar zs \x3d cljs.core.rest(arglist__18473);\nreturn G__18471__delegate(x,y,zs);\n});\nG__18471.cljs$core$IFn$_invoke$arity$variadic \x3d G__18471__delegate;\nreturn G__18471;\n})()\n;\nG__18469 \x3d function(x,y,var_args){\nvar zs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__18469__0.call(this);\ncase 1:\nreturn G__18469__1.call(this,x);\ncase 2:\nreturn G__18469__2.call(this,x,y);\ndefault:\nvar G__18474 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__18475__i \x3d 0, G__18475__a \x3d new Array(arguments.length - 2);\nwhile (G__18475__i \x3c G__18475__a.length) {G__18475__a[G__18475__i] \x3d arguments[G__18475__i + 2]; ++G__18475__i;}\nG__18474 \x3d new cljs.core.IndexedSeq(G__18475__a,0,null);\n}\nreturn G__18469__3.cljs$core$IFn$_invoke$arity$variadic(x,y, G__18474);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18469.cljs$lang$maxFixedArity \x3d 2;\nG__18469.cljs$lang$applyTo \x3d G__18469__3.cljs$lang$applyTo;\nG__18469.cljs$core$IFn$_invoke$arity$0 \x3d G__18469__0;\nG__18469.cljs$core$IFn$_invoke$arity$1 \x3d G__18469__1;\nG__18469.cljs$core$IFn$_invoke$arity$2 \x3d G__18469__2;\nG__18469.cljs$core$IFn$_invoke$arity$variadic \x3d G__18469__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18469;\n})()\n});\n/**\n * Returns a function that takes any number of arguments and returns x.\n */\ncljs.core.constantly \x3d (function cljs$core$constantly(x){\nreturn (function() { \nvar G__18478__delegate \x3d function (args){\nreturn x;\n};\nvar G__18478 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__18480__i \x3d 0, G__18480__a \x3d new Array(arguments.length - 0);\nwhile (G__18480__i \x3c G__18480__a.length) {G__18480__a[G__18480__i] \x3d arguments[G__18480__i + 0]; ++G__18480__i;}\n args \x3d new cljs.core.IndexedSeq(G__18480__a,0,null);\n} \nreturn G__18478__delegate.call(this,args);};\nG__18478.cljs$lang$maxFixedArity \x3d 0;\nG__18478.cljs$lang$applyTo \x3d (function (arglist__18481){\nvar args \x3d cljs.core.seq(arglist__18481);\nreturn G__18478__delegate(args);\n});\nG__18478.cljs$core$IFn$_invoke$arity$variadic \x3d G__18478__delegate;\nreturn G__18478;\n})()\n;\n});\n/**\n * Takes a set of functions and returns a fn that is the composition\n * of those fns. The returned fn takes a variable number of args,\n * applies the rightmost of fns to the args, the next\n * fn (right-to-left) to the result, etc.\n */\ncljs.core.comp \x3d (function cljs$core$comp(var_args){\nvar G__15202 \x3d arguments.length;\nswitch (G__15202) {\ncase 0:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18487 \x3d arguments.length;\nvar i__5770__auto___18488 \x3d (0);\nwhile(true){\nif((i__5770__auto___18488 \x3c len__5769__auto___18487)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18488]));\n\nvar G__18490 \x3d (i__5770__auto___18488 + (1));\ni__5770__auto___18488 \x3d G__18490;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.identity;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__18492 \x3d null;\nvar G__18492__0 \x3d (function (){\nvar G__15203 \x3d (g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15203) : f.call(null,G__15203));\n});\nvar G__18492__1 \x3d (function (x){\nvar G__15204 \x3d (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15204) : f.call(null,G__15204));\n});\nvar G__18492__2 \x3d (function (x,y){\nvar G__15205 \x3d (g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15205) : f.call(null,G__15205));\n});\nvar G__18492__3 \x3d (function (x,y,z){\nvar G__15206 \x3d (g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15206) : f.call(null,G__15206));\n});\nvar G__18492__4 \x3d (function() { \nvar G__18499__delegate \x3d function (x,y,z,args){\nvar G__15207 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15207) : f.call(null,G__15207));\n};\nvar G__18499 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18500__i \x3d 0, G__18500__a \x3d new Array(arguments.length - 3);\nwhile (G__18500__i \x3c G__18500__a.length) {G__18500__a[G__18500__i] \x3d arguments[G__18500__i + 3]; ++G__18500__i;}\n args \x3d new cljs.core.IndexedSeq(G__18500__a,0,null);\n} \nreturn G__18499__delegate.call(this,x,y,z,args);};\nG__18499.cljs$lang$maxFixedArity \x3d 3;\nG__18499.cljs$lang$applyTo \x3d (function (arglist__18501){\nvar x \x3d cljs.core.first(arglist__18501);\narglist__18501 \x3d cljs.core.next(arglist__18501);\nvar y \x3d cljs.core.first(arglist__18501);\narglist__18501 \x3d cljs.core.next(arglist__18501);\nvar z \x3d cljs.core.first(arglist__18501);\nvar args \x3d cljs.core.rest(arglist__18501);\nreturn G__18499__delegate(x,y,z,args);\n});\nG__18499.cljs$core$IFn$_invoke$arity$variadic \x3d G__18499__delegate;\nreturn G__18499;\n})()\n;\nG__18492 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__18492__0.call(this);\ncase 1:\nreturn G__18492__1.call(this,x);\ncase 2:\nreturn G__18492__2.call(this,x,y);\ncase 3:\nreturn G__18492__3.call(this,x,y,z);\ndefault:\nvar G__18503 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18504__i \x3d 0, G__18504__a \x3d new Array(arguments.length - 3);\nwhile (G__18504__i \x3c G__18504__a.length) {G__18504__a[G__18504__i] \x3d arguments[G__18504__i + 3]; ++G__18504__i;}\nG__18503 \x3d new cljs.core.IndexedSeq(G__18504__a,0,null);\n}\nreturn G__18492__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18503);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18492.cljs$lang$maxFixedArity \x3d 3;\nG__18492.cljs$lang$applyTo \x3d G__18492__4.cljs$lang$applyTo;\nG__18492.cljs$core$IFn$_invoke$arity$0 \x3d G__18492__0;\nG__18492.cljs$core$IFn$_invoke$arity$1 \x3d G__18492__1;\nG__18492.cljs$core$IFn$_invoke$arity$2 \x3d G__18492__2;\nG__18492.cljs$core$IFn$_invoke$arity$3 \x3d G__18492__3;\nG__18492.cljs$core$IFn$_invoke$arity$variadic \x3d G__18492__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18492;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__18506 \x3d null;\nvar G__18506__0 \x3d (function (){\nvar G__15208 \x3d (function (){var G__15209 \x3d (h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__15209) : g.call(null,G__15209));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15208) : f.call(null,G__15208));\n});\nvar G__18506__1 \x3d (function (x){\nvar G__15210 \x3d (function (){var G__15211 \x3d (h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__15211) : g.call(null,G__15211));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15210) : f.call(null,G__15210));\n});\nvar G__18506__2 \x3d (function (x,y){\nvar G__15212 \x3d (function (){var G__15213 \x3d (h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__15213) : g.call(null,G__15213));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15212) : f.call(null,G__15212));\n});\nvar G__18506__3 \x3d (function (x,y,z){\nvar G__15214 \x3d (function (){var G__15215 \x3d (h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__15215) : g.call(null,G__15215));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15214) : f.call(null,G__15214));\n});\nvar G__18506__4 \x3d (function() { \nvar G__18509__delegate \x3d function (x,y,z,args){\nvar G__15216 \x3d (function (){var G__15217 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args);\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__15217) : g.call(null,G__15217));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15216) : f.call(null,G__15216));\n};\nvar G__18509 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18512__i \x3d 0, G__18512__a \x3d new Array(arguments.length - 3);\nwhile (G__18512__i \x3c G__18512__a.length) {G__18512__a[G__18512__i] \x3d arguments[G__18512__i + 3]; ++G__18512__i;}\n args \x3d new cljs.core.IndexedSeq(G__18512__a,0,null);\n} \nreturn G__18509__delegate.call(this,x,y,z,args);};\nG__18509.cljs$lang$maxFixedArity \x3d 3;\nG__18509.cljs$lang$applyTo \x3d (function (arglist__18513){\nvar x \x3d cljs.core.first(arglist__18513);\narglist__18513 \x3d cljs.core.next(arglist__18513);\nvar y \x3d cljs.core.first(arglist__18513);\narglist__18513 \x3d cljs.core.next(arglist__18513);\nvar z \x3d cljs.core.first(arglist__18513);\nvar args \x3d cljs.core.rest(arglist__18513);\nreturn G__18509__delegate(x,y,z,args);\n});\nG__18509.cljs$core$IFn$_invoke$arity$variadic \x3d G__18509__delegate;\nreturn G__18509;\n})()\n;\nG__18506 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__18506__0.call(this);\ncase 1:\nreturn G__18506__1.call(this,x);\ncase 2:\nreturn G__18506__2.call(this,x,y);\ncase 3:\nreturn G__18506__3.call(this,x,y,z);\ndefault:\nvar G__18516 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18517__i \x3d 0, G__18517__a \x3d new Array(arguments.length - 3);\nwhile (G__18517__i \x3c G__18517__a.length) {G__18517__a[G__18517__i] \x3d arguments[G__18517__i + 3]; ++G__18517__i;}\nG__18516 \x3d new cljs.core.IndexedSeq(G__18517__a,0,null);\n}\nreturn G__18506__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18516);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18506.cljs$lang$maxFixedArity \x3d 3;\nG__18506.cljs$lang$applyTo \x3d G__18506__4.cljs$lang$applyTo;\nG__18506.cljs$core$IFn$_invoke$arity$0 \x3d G__18506__0;\nG__18506.cljs$core$IFn$_invoke$arity$1 \x3d G__18506__1;\nG__18506.cljs$core$IFn$_invoke$arity$2 \x3d G__18506__2;\nG__18506.cljs$core$IFn$_invoke$arity$3 \x3d G__18506__3;\nG__18506.cljs$core$IFn$_invoke$arity$variadic \x3d G__18506__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18506;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f1,f2,f3,fs){\nvar fs__$1 \x3d cljs.core.reverse(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f1,f2,f3,fs));\nreturn (function() { \nvar G__18519__delegate \x3d function (args){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fs__$1),args);\nvar fs__$2 \x3d cljs.core.next(fs__$1);\nwhile(true){\nif(fs__$2){\nvar G__18520 \x3d (function (){var fexpr__15218 \x3d cljs.core.first(fs__$2);\nreturn (fexpr__15218.cljs$core$IFn$_invoke$arity$1 ? fexpr__15218.cljs$core$IFn$_invoke$arity$1(ret) : fexpr__15218.call(null,ret));\n})();\nvar G__18521 \x3d cljs.core.next(fs__$2);\nret \x3d G__18520;\nfs__$2 \x3d G__18521;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n};\nvar G__18519 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__18523__i \x3d 0, G__18523__a \x3d new Array(arguments.length - 0);\nwhile (G__18523__i \x3c G__18523__a.length) {G__18523__a[G__18523__i] \x3d arguments[G__18523__i + 0]; ++G__18523__i;}\n args \x3d new cljs.core.IndexedSeq(G__18523__a,0,null);\n} \nreturn G__18519__delegate.call(this,args);};\nG__18519.cljs$lang$maxFixedArity \x3d 0;\nG__18519.cljs$lang$applyTo \x3d (function (arglist__18524){\nvar args \x3d cljs.core.seq(arglist__18524);\nreturn G__18519__delegate(args);\n});\nG__18519.cljs$core$IFn$_invoke$arity$variadic \x3d G__18519__delegate;\nreturn G__18519;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.comp.cljs$lang$applyTo \x3d (function (seq15198){\nvar G__15199 \x3d cljs.core.first(seq15198);\nvar seq15198__$1 \x3d cljs.core.next(seq15198);\nvar G__15200 \x3d cljs.core.first(seq15198__$1);\nvar seq15198__$2 \x3d cljs.core.next(seq15198__$1);\nvar G__15201 \x3d cljs.core.first(seq15198__$2);\nvar seq15198__$3 \x3d cljs.core.next(seq15198__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15199,G__15200,G__15201,seq15198__$3);\n}));\n\n(cljs.core.comp.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a function f and fewer than the normal arguments to f, and\n * returns a fn that takes a variable number of additional args. When\n * called, the returned function calls f with args + additional args.\n */\ncljs.core.partial \x3d (function cljs$core$partial(var_args){\nvar G__15225 \x3d arguments.length;\nswitch (G__15225) {\ncase 1:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18538 \x3d arguments.length;\nvar i__5770__auto___18539 \x3d (0);\nwhile(true){\nif((i__5770__auto___18539 \x3c len__5769__auto___18538)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18539]));\n\nvar G__18540 \x3d (i__5770__auto___18539 + (1));\ni__5770__auto___18539 \x3d G__18540;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,arg1){\nreturn (function() {\nvar G__18541 \x3d null;\nvar G__18541__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg1) : f.call(null,arg1));\n});\nvar G__18541__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,x) : f.call(null,arg1,x));\n});\nvar G__18541__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,x,y) : f.call(null,arg1,x,y));\n});\nvar G__18541__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,x,y,z) : f.call(null,arg1,x,y,z));\n});\nvar G__18541__4 \x3d (function() { \nvar G__18545__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));\n};\nvar G__18545 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18546__i \x3d 0, G__18546__a \x3d new Array(arguments.length - 3);\nwhile (G__18546__i \x3c G__18546__a.length) {G__18546__a[G__18546__i] \x3d arguments[G__18546__i + 3]; ++G__18546__i;}\n args \x3d new cljs.core.IndexedSeq(G__18546__a,0,null);\n} \nreturn G__18545__delegate.call(this,x,y,z,args);};\nG__18545.cljs$lang$maxFixedArity \x3d 3;\nG__18545.cljs$lang$applyTo \x3d (function (arglist__18547){\nvar x \x3d cljs.core.first(arglist__18547);\narglist__18547 \x3d cljs.core.next(arglist__18547);\nvar y \x3d cljs.core.first(arglist__18547);\narglist__18547 \x3d cljs.core.next(arglist__18547);\nvar z \x3d cljs.core.first(arglist__18547);\nvar args \x3d cljs.core.rest(arglist__18547);\nreturn G__18545__delegate(x,y,z,args);\n});\nG__18545.cljs$core$IFn$_invoke$arity$variadic \x3d G__18545__delegate;\nreturn G__18545;\n})()\n;\nG__18541 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__18541__0.call(this);\ncase 1:\nreturn G__18541__1.call(this,x);\ncase 2:\nreturn G__18541__2.call(this,x,y);\ncase 3:\nreturn G__18541__3.call(this,x,y,z);\ndefault:\nvar G__18550 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18551__i \x3d 0, G__18551__a \x3d new Array(arguments.length - 3);\nwhile (G__18551__i \x3c G__18551__a.length) {G__18551__a[G__18551__i] \x3d arguments[G__18551__i + 3]; ++G__18551__i;}\nG__18550 \x3d new cljs.core.IndexedSeq(G__18551__a,0,null);\n}\nreturn G__18541__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18550);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18541.cljs$lang$maxFixedArity \x3d 3;\nG__18541.cljs$lang$applyTo \x3d G__18541__4.cljs$lang$applyTo;\nG__18541.cljs$core$IFn$_invoke$arity$0 \x3d G__18541__0;\nG__18541.cljs$core$IFn$_invoke$arity$1 \x3d G__18541__1;\nG__18541.cljs$core$IFn$_invoke$arity$2 \x3d G__18541__2;\nG__18541.cljs$core$IFn$_invoke$arity$3 \x3d G__18541__3;\nG__18541.cljs$core$IFn$_invoke$arity$variadic \x3d G__18541__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18541;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,arg1,arg2){\nreturn (function() {\nvar G__18552 \x3d null;\nvar G__18552__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,arg2) : f.call(null,arg1,arg2));\n});\nvar G__18552__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,x) : f.call(null,arg1,arg2,x));\n});\nvar G__18552__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,x,y) : f.call(null,arg1,arg2,x,y));\n});\nvar G__18552__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,x,y,z) : f.call(null,arg1,arg2,x,y,z));\n});\nvar G__18552__4 \x3d (function() { \nvar G__18553__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,x,y,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([z,args], 0));\n};\nvar G__18553 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18554__i \x3d 0, G__18554__a \x3d new Array(arguments.length - 3);\nwhile (G__18554__i \x3c G__18554__a.length) {G__18554__a[G__18554__i] \x3d arguments[G__18554__i + 3]; ++G__18554__i;}\n args \x3d new cljs.core.IndexedSeq(G__18554__a,0,null);\n} \nreturn G__18553__delegate.call(this,x,y,z,args);};\nG__18553.cljs$lang$maxFixedArity \x3d 3;\nG__18553.cljs$lang$applyTo \x3d (function (arglist__18555){\nvar x \x3d cljs.core.first(arglist__18555);\narglist__18555 \x3d cljs.core.next(arglist__18555);\nvar y \x3d cljs.core.first(arglist__18555);\narglist__18555 \x3d cljs.core.next(arglist__18555);\nvar z \x3d cljs.core.first(arglist__18555);\nvar args \x3d cljs.core.rest(arglist__18555);\nreturn G__18553__delegate(x,y,z,args);\n});\nG__18553.cljs$core$IFn$_invoke$arity$variadic \x3d G__18553__delegate;\nreturn G__18553;\n})()\n;\nG__18552 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__18552__0.call(this);\ncase 1:\nreturn G__18552__1.call(this,x);\ncase 2:\nreturn G__18552__2.call(this,x,y);\ncase 3:\nreturn G__18552__3.call(this,x,y,z);\ndefault:\nvar G__18556 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18557__i \x3d 0, G__18557__a \x3d new Array(arguments.length - 3);\nwhile (G__18557__i \x3c G__18557__a.length) {G__18557__a[G__18557__i] \x3d arguments[G__18557__i + 3]; ++G__18557__i;}\nG__18556 \x3d new cljs.core.IndexedSeq(G__18557__a,0,null);\n}\nreturn G__18552__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18556);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18552.cljs$lang$maxFixedArity \x3d 3;\nG__18552.cljs$lang$applyTo \x3d G__18552__4.cljs$lang$applyTo;\nG__18552.cljs$core$IFn$_invoke$arity$0 \x3d G__18552__0;\nG__18552.cljs$core$IFn$_invoke$arity$1 \x3d G__18552__1;\nG__18552.cljs$core$IFn$_invoke$arity$2 \x3d G__18552__2;\nG__18552.cljs$core$IFn$_invoke$arity$3 \x3d G__18552__3;\nG__18552.cljs$core$IFn$_invoke$arity$variadic \x3d G__18552__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18552;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,arg1,arg2,arg3){\nreturn (function() {\nvar G__18558 \x3d null;\nvar G__18558__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,arg3) : f.call(null,arg1,arg2,arg3));\n});\nvar G__18558__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,arg3,x) : f.call(null,arg1,arg2,arg3,x));\n});\nvar G__18558__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,arg3,x,y) : f.call(null,arg1,arg2,arg3,x,y));\n});\nvar G__18558__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(arg1,arg2,arg3,x,y,z) : f.call(null,arg1,arg2,arg3,x,y,z));\n});\nvar G__18558__4 \x3d (function() { \nvar G__18559__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,arg3,x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([y,z,args], 0));\n};\nvar G__18559 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18560__i \x3d 0, G__18560__a \x3d new Array(arguments.length - 3);\nwhile (G__18560__i \x3c G__18560__a.length) {G__18560__a[G__18560__i] \x3d arguments[G__18560__i + 3]; ++G__18560__i;}\n args \x3d new cljs.core.IndexedSeq(G__18560__a,0,null);\n} \nreturn G__18559__delegate.call(this,x,y,z,args);};\nG__18559.cljs$lang$maxFixedArity \x3d 3;\nG__18559.cljs$lang$applyTo \x3d (function (arglist__18561){\nvar x \x3d cljs.core.first(arglist__18561);\narglist__18561 \x3d cljs.core.next(arglist__18561);\nvar y \x3d cljs.core.first(arglist__18561);\narglist__18561 \x3d cljs.core.next(arglist__18561);\nvar z \x3d cljs.core.first(arglist__18561);\nvar args \x3d cljs.core.rest(arglist__18561);\nreturn G__18559__delegate(x,y,z,args);\n});\nG__18559.cljs$core$IFn$_invoke$arity$variadic \x3d G__18559__delegate;\nreturn G__18559;\n})()\n;\nG__18558 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__18558__0.call(this);\ncase 1:\nreturn G__18558__1.call(this,x);\ncase 2:\nreturn G__18558__2.call(this,x,y);\ncase 3:\nreturn G__18558__3.call(this,x,y,z);\ndefault:\nvar G__18562 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18563__i \x3d 0, G__18563__a \x3d new Array(arguments.length - 3);\nwhile (G__18563__i \x3c G__18563__a.length) {G__18563__a[G__18563__i] \x3d arguments[G__18563__i + 3]; ++G__18563__i;}\nG__18562 \x3d new cljs.core.IndexedSeq(G__18563__a,0,null);\n}\nreturn G__18558__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18562);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18558.cljs$lang$maxFixedArity \x3d 3;\nG__18558.cljs$lang$applyTo \x3d G__18558__4.cljs$lang$applyTo;\nG__18558.cljs$core$IFn$_invoke$arity$0 \x3d G__18558__0;\nG__18558.cljs$core$IFn$_invoke$arity$1 \x3d G__18558__1;\nG__18558.cljs$core$IFn$_invoke$arity$2 \x3d G__18558__2;\nG__18558.cljs$core$IFn$_invoke$arity$3 \x3d G__18558__3;\nG__18558.cljs$core$IFn$_invoke$arity$variadic \x3d G__18558__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18558;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,arg1,arg2,arg3,more){\nreturn (function() { \nvar G__18564__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,arg1,arg2,arg3,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(more,args));\n};\nvar G__18564 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__18565__i \x3d 0, G__18565__a \x3d new Array(arguments.length - 0);\nwhile (G__18565__i \x3c G__18565__a.length) {G__18565__a[G__18565__i] \x3d arguments[G__18565__i + 0]; ++G__18565__i;}\n args \x3d new cljs.core.IndexedSeq(G__18565__a,0,null);\n} \nreturn G__18564__delegate.call(this,args);};\nG__18564.cljs$lang$maxFixedArity \x3d 0;\nG__18564.cljs$lang$applyTo \x3d (function (arglist__18566){\nvar args \x3d cljs.core.seq(arglist__18566);\nreturn G__18564__delegate(args);\n});\nG__18564.cljs$core$IFn$_invoke$arity$variadic \x3d G__18564__delegate;\nreturn G__18564;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.partial.cljs$lang$applyTo \x3d (function (seq15220){\nvar G__15221 \x3d cljs.core.first(seq15220);\nvar seq15220__$1 \x3d cljs.core.next(seq15220);\nvar G__15222 \x3d cljs.core.first(seq15220__$1);\nvar seq15220__$2 \x3d cljs.core.next(seq15220__$1);\nvar G__15223 \x3d cljs.core.first(seq15220__$2);\nvar seq15220__$3 \x3d cljs.core.next(seq15220__$2);\nvar G__15224 \x3d cljs.core.first(seq15220__$3);\nvar seq15220__$4 \x3d cljs.core.next(seq15220__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15221,G__15222,G__15223,G__15224,seq15220__$4);\n}));\n\n(cljs.core.partial.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Takes a function f, and returns a function that calls f, replacing\n * a nil first argument to f with the supplied value x. Higher arity\n * versions can replace arguments in the second and third\n * positions (y, z). Note that the function f can take any number of\n * arguments, not just the one(s) being nil-patched.\n */\ncljs.core.fnil \x3d (function cljs$core$fnil(var_args){\nvar G__15227 \x3d arguments.length;\nswitch (G__15227) {\ncase 2:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,x){\nreturn (function() {\nvar G__18568 \x3d null;\nvar G__18568__1 \x3d (function (a){\nvar G__15228 \x3d (((a \x3d\x3d null))?x:a);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15228) : f.call(null,G__15228));\n});\nvar G__18568__2 \x3d (function (a,b){\nvar G__15229 \x3d (((a \x3d\x3d null))?x:a);\nvar G__15230 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15229,G__15230) : f.call(null,G__15229,G__15230));\n});\nvar G__18568__3 \x3d (function (a,b,c){\nvar G__15231 \x3d (((a \x3d\x3d null))?x:a);\nvar G__15232 \x3d b;\nvar G__15233 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15231,G__15232,G__15233) : f.call(null,G__15231,G__15232,G__15233));\n});\nvar G__18568__4 \x3d (function() { \nvar G__18571__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),b,c,ds);\n};\nvar G__18571 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18572__i \x3d 0, G__18572__a \x3d new Array(arguments.length - 3);\nwhile (G__18572__i \x3c G__18572__a.length) {G__18572__a[G__18572__i] \x3d arguments[G__18572__i + 3]; ++G__18572__i;}\n ds \x3d new cljs.core.IndexedSeq(G__18572__a,0,null);\n} \nreturn G__18571__delegate.call(this,a,b,c,ds);};\nG__18571.cljs$lang$maxFixedArity \x3d 3;\nG__18571.cljs$lang$applyTo \x3d (function (arglist__18573){\nvar a \x3d cljs.core.first(arglist__18573);\narglist__18573 \x3d cljs.core.next(arglist__18573);\nvar b \x3d cljs.core.first(arglist__18573);\narglist__18573 \x3d cljs.core.next(arglist__18573);\nvar c \x3d cljs.core.first(arglist__18573);\nvar ds \x3d cljs.core.rest(arglist__18573);\nreturn G__18571__delegate(a,b,c,ds);\n});\nG__18571.cljs$core$IFn$_invoke$arity$variadic \x3d G__18571__delegate;\nreturn G__18571;\n})()\n;\nG__18568 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 1:\nreturn G__18568__1.call(this,a);\ncase 2:\nreturn G__18568__2.call(this,a,b);\ncase 3:\nreturn G__18568__3.call(this,a,b,c);\ndefault:\nvar G__18574 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18575__i \x3d 0, G__18575__a \x3d new Array(arguments.length - 3);\nwhile (G__18575__i \x3c G__18575__a.length) {G__18575__a[G__18575__i] \x3d arguments[G__18575__i + 3]; ++G__18575__i;}\nG__18574 \x3d new cljs.core.IndexedSeq(G__18575__a,0,null);\n}\nreturn G__18568__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__18574);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18568.cljs$lang$maxFixedArity \x3d 3;\nG__18568.cljs$lang$applyTo \x3d G__18568__4.cljs$lang$applyTo;\nG__18568.cljs$core$IFn$_invoke$arity$1 \x3d G__18568__1;\nG__18568.cljs$core$IFn$_invoke$arity$2 \x3d G__18568__2;\nG__18568.cljs$core$IFn$_invoke$arity$3 \x3d G__18568__3;\nG__18568.cljs$core$IFn$_invoke$arity$variadic \x3d G__18568__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18568;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,y){\nreturn (function() {\nvar G__18576 \x3d null;\nvar G__18576__2 \x3d (function (a,b){\nvar G__15234 \x3d (((a \x3d\x3d null))?x:a);\nvar G__15235 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15234,G__15235) : f.call(null,G__15234,G__15235));\n});\nvar G__18576__3 \x3d (function (a,b,c){\nvar G__15236 \x3d (((a \x3d\x3d null))?x:a);\nvar G__15237 \x3d (((b \x3d\x3d null))?y:b);\nvar G__15238 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15236,G__15237,G__15238) : f.call(null,G__15236,G__15237,G__15238));\n});\nvar G__18576__4 \x3d (function() { \nvar G__18577__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),c,ds);\n};\nvar G__18577 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18578__i \x3d 0, G__18578__a \x3d new Array(arguments.length - 3);\nwhile (G__18578__i \x3c G__18578__a.length) {G__18578__a[G__18578__i] \x3d arguments[G__18578__i + 3]; ++G__18578__i;}\n ds \x3d new cljs.core.IndexedSeq(G__18578__a,0,null);\n} \nreturn G__18577__delegate.call(this,a,b,c,ds);};\nG__18577.cljs$lang$maxFixedArity \x3d 3;\nG__18577.cljs$lang$applyTo \x3d (function (arglist__18579){\nvar a \x3d cljs.core.first(arglist__18579);\narglist__18579 \x3d cljs.core.next(arglist__18579);\nvar b \x3d cljs.core.first(arglist__18579);\narglist__18579 \x3d cljs.core.next(arglist__18579);\nvar c \x3d cljs.core.first(arglist__18579);\nvar ds \x3d cljs.core.rest(arglist__18579);\nreturn G__18577__delegate(a,b,c,ds);\n});\nG__18577.cljs$core$IFn$_invoke$arity$variadic \x3d G__18577__delegate;\nreturn G__18577;\n})()\n;\nG__18576 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__18576__2.call(this,a,b);\ncase 3:\nreturn G__18576__3.call(this,a,b,c);\ndefault:\nvar G__18580 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18581__i \x3d 0, G__18581__a \x3d new Array(arguments.length - 3);\nwhile (G__18581__i \x3c G__18581__a.length) {G__18581__a[G__18581__i] \x3d arguments[G__18581__i + 3]; ++G__18581__i;}\nG__18580 \x3d new cljs.core.IndexedSeq(G__18581__a,0,null);\n}\nreturn G__18576__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__18580);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18576.cljs$lang$maxFixedArity \x3d 3;\nG__18576.cljs$lang$applyTo \x3d G__18576__4.cljs$lang$applyTo;\nG__18576.cljs$core$IFn$_invoke$arity$2 \x3d G__18576__2;\nG__18576.cljs$core$IFn$_invoke$arity$3 \x3d G__18576__3;\nG__18576.cljs$core$IFn$_invoke$arity$variadic \x3d G__18576__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18576;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,z){\nreturn (function() {\nvar G__18582 \x3d null;\nvar G__18582__2 \x3d (function (a,b){\nvar G__15239 \x3d (((a \x3d\x3d null))?x:a);\nvar G__15240 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15239,G__15240) : f.call(null,G__15239,G__15240));\n});\nvar G__18582__3 \x3d (function (a,b,c){\nvar G__15241 \x3d (((a \x3d\x3d null))?x:a);\nvar G__15242 \x3d (((b \x3d\x3d null))?y:b);\nvar G__15243 \x3d (((c \x3d\x3d null))?z:c);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15241,G__15242,G__15243) : f.call(null,G__15241,G__15242,G__15243));\n});\nvar G__18582__4 \x3d (function() { \nvar G__18583__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),(((c \x3d\x3d null))?z:c),ds);\n};\nvar G__18583 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18584__i \x3d 0, G__18584__a \x3d new Array(arguments.length - 3);\nwhile (G__18584__i \x3c G__18584__a.length) {G__18584__a[G__18584__i] \x3d arguments[G__18584__i + 3]; ++G__18584__i;}\n ds \x3d new cljs.core.IndexedSeq(G__18584__a,0,null);\n} \nreturn G__18583__delegate.call(this,a,b,c,ds);};\nG__18583.cljs$lang$maxFixedArity \x3d 3;\nG__18583.cljs$lang$applyTo \x3d (function (arglist__18585){\nvar a \x3d cljs.core.first(arglist__18585);\narglist__18585 \x3d cljs.core.next(arglist__18585);\nvar b \x3d cljs.core.first(arglist__18585);\narglist__18585 \x3d cljs.core.next(arglist__18585);\nvar c \x3d cljs.core.first(arglist__18585);\nvar ds \x3d cljs.core.rest(arglist__18585);\nreturn G__18583__delegate(a,b,c,ds);\n});\nG__18583.cljs$core$IFn$_invoke$arity$variadic \x3d G__18583__delegate;\nreturn G__18583;\n})()\n;\nG__18582 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__18582__2.call(this,a,b);\ncase 3:\nreturn G__18582__3.call(this,a,b,c);\ndefault:\nvar G__18586 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18587__i \x3d 0, G__18587__a \x3d new Array(arguments.length - 3);\nwhile (G__18587__i \x3c G__18587__a.length) {G__18587__a[G__18587__i] \x3d arguments[G__18587__i + 3]; ++G__18587__i;}\nG__18586 \x3d new cljs.core.IndexedSeq(G__18587__a,0,null);\n}\nreturn G__18582__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__18586);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18582.cljs$lang$maxFixedArity \x3d 3;\nG__18582.cljs$lang$applyTo \x3d G__18582__4.cljs$lang$applyTo;\nG__18582.cljs$core$IFn$_invoke$arity$2 \x3d G__18582__2;\nG__18582.cljs$core$IFn$_invoke$arity$3 \x3d G__18582__3;\nG__18582.cljs$core$IFn$_invoke$arity$variadic \x3d G__18582__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18582;\n})()\n}));\n\n(cljs.core.fnil.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to 0\n * and the first item of coll, followed by applying f to 1 and the second\n * item in coll, etc, until coll is exhausted. Thus function f should\n * accept 2 arguments, index and item. Returns a stateful transducer when\n * no collection is provided.\n */\ncljs.core.map_indexed \x3d (function cljs$core$map_indexed(var_args){\nvar G__15245 \x3d arguments.length;\nswitch (G__15245) {\ncase 1:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar i \x3d (cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1((-1)) : cljs.core.volatile_BANG_.call(null,(-1)));\nreturn (function() {\nvar G__18589 \x3d null;\nvar G__18589__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__18589__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__18589__2 \x3d (function (result,input){\nvar G__15246 \x3d result;\nvar G__15247 \x3d (function (){var G__15248 \x3d cljs.core._vreset_BANG_(i,(cljs.core._deref(i) + (1)));\nvar G__15249 \x3d input;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15248,G__15249) : f.call(null,G__15248,G__15249));\n})();\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__15246,G__15247) : rf.call(null,G__15246,G__15247));\n});\nG__18589 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__18589__0.call(this);\ncase 1:\nreturn G__18589__1.call(this,result);\ncase 2:\nreturn G__18589__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18589.cljs$core$IFn$_invoke$arity$0 \x3d G__18589__0;\nG__18589.cljs$core$IFn$_invoke$arity$1 \x3d G__18589__1;\nG__18589.cljs$core$IFn$_invoke$arity$2 \x3d G__18589__2;\nreturn G__18589;\n})()\n});\n}));\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar mapi \x3d (function cljs$core$mapi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___18597 \x3d size;\nvar i_18598 \x3d (0);\nwhile(true){\nif((i_18598 \x3c n__5636__auto___18597)){\ncljs.core.chunk_append(b,(function (){var G__15254 \x3d (idx + i_18598);\nvar G__15255 \x3d cljs.core._nth(c,i_18598);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15254,G__15255) : f.call(null,G__15254,G__15255));\n})());\n\nvar G__18604 \x3d (i_18598 + (1));\ni_18598 \x3d G__18604;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$mapi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__15256 \x3d idx;\nvar G__15257 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15256,G__15257) : f.call(null,G__15256,G__15257));\n})(),cljs$core$mapi((idx + (1)),cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn mapi((0),coll);\n}));\n\n(cljs.core.map_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the non-nil results of (f item). Note,\n * this means false return values will be included. f must be free of\n * side-effects. Returns a transducer when no collection is provided.\n */\ncljs.core.keep \x3d (function cljs$core$keep(var_args){\nvar G__15259 \x3d arguments.length;\nswitch (G__15259) {\ncase 1:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__18618 \x3d null;\nvar G__18618__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__18618__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__18618__2 \x3d (function (result,input){\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__18618 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__18618__0.call(this);\ncase 1:\nreturn G__18618__1.call(this,result);\ncase 2:\nreturn G__18618__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18618.cljs$core$IFn$_invoke$arity$0 \x3d G__18618__0;\nG__18618.cljs$core$IFn$_invoke$arity$1 \x3d G__18618__1;\nG__18618.cljs$core$IFn$_invoke$arity$2 \x3d G__18618__2;\nreturn G__18618;\n})()\n});\n}));\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___18629 \x3d size;\nvar i_18630 \x3d (0);\nwhile(true){\nif((i_18630 \x3c n__5636__auto___18629)){\nvar x_18631 \x3d (function (){var G__15260 \x3d cljs.core._nth(c,i_18630);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15260) : f.call(null,G__15260));\n})();\nif((x_18631 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_18631);\n}\n\nvar G__18632 \x3d (i_18630 + (1));\ni_18630 \x3d G__18632;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__15261 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15261) : f.call(null,G__15261));\n})();\nif((x \x3d\x3d null)){\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.keep.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Atom \x3d (function (state,meta,validator,watches){\nthis.state \x3d state;\nthis.meta \x3d meta;\nthis.validator \x3d validator;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 16386;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6455296;\n});\n(cljs.core.Atom.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn (o__$1 \x3d\x3d\x3d other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar seq__15262 \x3d cljs.core.seq(self__.watches);\nvar chunk__15263 \x3d null;\nvar count__15264 \x3d (0);\nvar i__15265 \x3d (0);\nwhile(true){\nif((i__15265 \x3c count__15264)){\nvar vec__15272 \x3d chunk__15263.cljs$core$IIndexed$_nth$arity$2(null,i__15265);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15272,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15272,(1),null);\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));\n\n\nvar G__18646 \x3d seq__15262;\nvar G__18647 \x3d chunk__15263;\nvar G__18648 \x3d count__15264;\nvar G__18649 \x3d (i__15265 + (1));\nseq__15262 \x3d G__18646;\nchunk__15263 \x3d G__18647;\ncount__15264 \x3d G__18648;\ni__15265 \x3d G__18649;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__15262);\nif(temp__5804__auto__){\nvar seq__15262__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__15262__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__15262__$1);\nvar G__18650 \x3d cljs.core.chunk_rest(seq__15262__$1);\nvar G__18651 \x3d c__5568__auto__;\nvar G__18652 \x3d cljs.core.count(c__5568__auto__);\nvar G__18653 \x3d (0);\nseq__15262 \x3d G__18650;\nchunk__15263 \x3d G__18651;\ncount__15264 \x3d G__18652;\ni__15265 \x3d G__18653;\ncontinue;\n} else {\nvar vec__15275 \x3d cljs.core.first(seq__15262__$1);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15275,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15275,(1),null);\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));\n\n\nvar G__18658 \x3d cljs.core.next(seq__15262__$1);\nvar G__18659 \x3d null;\nvar G__18660 \x3d (0);\nvar G__18661 \x3d (0);\nseq__15262 \x3d G__18658;\nchunk__15263 \x3d G__18659;\ncount__15264 \x3d G__18660;\ni__15265 \x3d G__18661;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\n(this$__$1.watches \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.watches,key,f));\n\nreturn this$__$1;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (this$__$1.watches \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.watches,key));\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.Atom.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22validator\x22,\x22validator\x22,-325659154,null),new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null)], null);\n}));\n\n(cljs.core.Atom.cljs$lang$type \x3d true);\n\n(cljs.core.Atom.cljs$lang$ctorStr \x3d \x22cljs.core/Atom\x22);\n\n(cljs.core.Atom.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Atom\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Atom.\n */\ncljs.core.__GT_Atom \x3d (function cljs$core$__GT_Atom(state,meta,validator,watches){\nreturn (new cljs.core.Atom(state,meta,validator,watches));\n});\n\n/**\n * Creates and returns an Atom with an initial value of x and zero or\n * more options (in any order):\n * \n * :meta metadata-map\n * \n * :validator validate-fn\n * \n * If metadata-map is supplied, it will become the metadata on the\n * atom. validate-fn must be nil or a side-effect-free fn of one\n * argument, which will be passed the intended new state on any state\n * change. If the new state is unacceptable, the validate-fn should\n * return false or throw an Error. If either of these error conditions\n * occur, then the value of the atom will not change.\n */\ncljs.core.atom \x3d (function cljs$core$atom(var_args){\nvar G__15281 \x3d arguments.length;\nswitch (G__15281) {\ncase 1:\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18668 \x3d arguments.length;\nvar i__5770__auto___18669 \x3d (0);\nwhile(true){\nif((i__5770__auto___18669 \x3c len__5769__auto___18668)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18669]));\n\nvar G__18670 \x3d (i__5770__auto___18669 + (1));\ni__5770__auto___18669 \x3d G__18670;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Atom(x,null,null,null));\n}));\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__15282){\nvar map__15283 \x3d p__15282;\nvar map__15283__$1 \x3d cljs.core.__destructure_map(map__15283);\nvar meta \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__15283__$1,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964));\nvar validator \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__15283__$1,new cljs.core.Keyword(null,\x22validator\x22,\x22validator\x22,-1966190681));\nreturn (new cljs.core.Atom(x,meta,validator,null));\n}));\n\n/** @this {Function} */\n(cljs.core.atom.cljs$lang$applyTo \x3d (function (seq15279){\nvar G__15280 \x3d cljs.core.first(seq15279);\nvar seq15279__$1 \x3d cljs.core.next(seq15279);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15280,seq15279__$1);\n}));\n\n(cljs.core.atom.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Sets the value of atom to newval without regard for the\n * current value. Returns new-value.\n */\ncljs.core.reset_BANG_ \x3d (function cljs$core$reset_BANG_(a,new_value){\nif((a instanceof cljs.core.Atom)){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\na.cljs$core$IWatchable$_notify_watches$arity$3(null,old_value,new_value);\n}\n\nreturn new_value;\n} else {\nreturn cljs.core._reset_BANG_(a,new_value);\n}\n});\n/**\n * Sets the value of atom to newval. Returns [old new], the value of the\n * atom before and after the reset.\n */\ncljs.core.reset_vals_BANG_ \x3d (function cljs$core$reset_vals_BANG_(a,new_value){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\ncljs.core._notify_watches(a,old_value,new_value);\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [old_value,new_value], null);\n});\n/**\n * Atomically swaps the value of atom to be:\n * (apply f current-value-of-atom args). Note that f may be called\n * multiple times, and thus should be free of side effects. Returns\n * the value that was swapped in.\n */\ncljs.core.swap_BANG_ \x3d (function cljs$core$swap_BANG_(var_args){\nvar G__15290 \x3d arguments.length;\nswitch (G__15290) {\ncase 2:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18678 \x3d arguments.length;\nvar i__5770__auto___18679 \x3d (0);\nwhile(true){\nif((i__5770__auto___18679 \x3c len__5769__auto___18678)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18679]));\n\nvar G__18680 \x3d (i__5770__auto___18679 + (1));\ni__5770__auto___18679 \x3d G__18680;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__15291 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15291) : f.call(null,G__15291));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__15292 \x3d a.state;\nvar G__15293 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15292,G__15293) : f.call(null,G__15292,G__15293));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__15294 \x3d a.state;\nvar G__15295 \x3d x;\nvar G__15296 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15294,G__15295,G__15296) : f.call(null,G__15294,G__15295,G__15296));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y,more);\n}\n}));\n\n/** @this {Function} */\n(cljs.core.swap_BANG_.cljs$lang$applyTo \x3d (function (seq15285){\nvar G__15286 \x3d cljs.core.first(seq15285);\nvar seq15285__$1 \x3d cljs.core.next(seq15285);\nvar G__15287 \x3d cljs.core.first(seq15285__$1);\nvar seq15285__$2 \x3d cljs.core.next(seq15285__$1);\nvar G__15288 \x3d cljs.core.first(seq15285__$2);\nvar seq15285__$3 \x3d cljs.core.next(seq15285__$2);\nvar G__15289 \x3d cljs.core.first(seq15285__$3);\nvar seq15285__$4 \x3d cljs.core.next(seq15285__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15286,G__15287,G__15288,G__15289,seq15285__$4);\n}));\n\n(cljs.core.swap_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically swaps the value of atom to be:\n * (apply f current-value-of-atom args). Note that f may be called\n * multiple times, and thus should be free of side effects.\n * Returns [old new], the value of the atom before and after the swap.\n */\ncljs.core.swap_vals_BANG_ \x3d (function cljs$core$swap_vals_BANG_(var_args){\nvar G__15303 \x3d arguments.length;\nswitch (G__15303) {\ncase 2:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18682 \x3d arguments.length;\nvar i__5770__auto___18683 \x3d (0);\nwhile(true){\nif((i__5770__auto___18683 \x3c len__5769__auto___18682)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18683]));\n\nvar G__18684 \x3d (i__5770__auto___18683 + (1));\ni__5770__auto___18683 \x3d G__18684;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__15304 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15304) : f.call(null,G__15304));\n})());\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__15305 \x3d a.state;\nvar G__15306 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15305,G__15306) : f.call(null,G__15305,G__15306));\n})());\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__15307 \x3d a.state;\nvar G__15308 \x3d x;\nvar G__15309 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15307,G__15308,G__15309) : f.call(null,G__15307,G__15308,G__15309));\n})());\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nreturn cljs.core.reset_vals_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n}));\n\n/** @this {Function} */\n(cljs.core.swap_vals_BANG_.cljs$lang$applyTo \x3d (function (seq15298){\nvar G__15299 \x3d cljs.core.first(seq15298);\nvar seq15298__$1 \x3d cljs.core.next(seq15298);\nvar G__15300 \x3d cljs.core.first(seq15298__$1);\nvar seq15298__$2 \x3d cljs.core.next(seq15298__$1);\nvar G__15301 \x3d cljs.core.first(seq15298__$2);\nvar seq15298__$3 \x3d cljs.core.next(seq15298__$2);\nvar G__15302 \x3d cljs.core.first(seq15298__$3);\nvar seq15298__$4 \x3d cljs.core.next(seq15298__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15299,G__15300,G__15301,G__15302,seq15298__$4);\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically sets the value of atom to newval if and only if the\n * current value of the atom is equal to oldval. Returns true if\n * set happened, else false.\n */\ncljs.core.compare_and_set_BANG_ \x3d (function cljs$core$compare_and_set_BANG_(a,oldval,newval){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a.cljs$core$IDeref$_deref$arity$1(null),oldval)){\ncljs.core.reset_BANG_(a,newval);\n\nreturn true;\n} else {\nreturn false;\n}\n});\n/**\n * Sets the validator-fn for an atom. validator-fn must be nil or a\n * side-effect-free fn of one argument, which will be passed the intended\n * new state on any state change. If the new state is unacceptable, the\n * validator-fn should return false or throw an Error. If the current state\n * is not acceptable to the new validator, an Error will be thrown and the\n * validator will not be changed.\n */\ncljs.core.set_validator_BANG_ \x3d (function cljs$core$set_validator_BANG_(iref,val){\nif((((!((val \x3d\x3d null)))) \x26\x26 (cljs.core.not((function (){var G__15310 \x3d cljs.core._deref(iref);\nreturn (val.cljs$core$IFn$_invoke$arity$1 ? val.cljs$core$IFn$_invoke$arity$1(G__15310) : val.call(null,G__15310));\n})())))){\nthrow (new Error(\x22Validator rejected reference state\x22));\n} else {\n}\n\nreturn (iref.validator \x3d val);\n});\n/**\n * Gets the validator-fn for a var/ref/agent/atom.\n */\ncljs.core.get_validator \x3d (function cljs$core$get_validator(iref){\nreturn iref.validator;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IVolatile}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Volatile \x3d (function (state){\nthis.state \x3d state;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d (function (_,new_state){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.state \x3d new_state);\n}));\n\n(cljs.core.Volatile.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Volatile.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Volatile.cljs$lang$type \x3d true);\n\n(cljs.core.Volatile.cljs$lang$ctorStr \x3d \x22cljs.core/Volatile\x22);\n\n(cljs.core.Volatile.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Volatile\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Volatile.\n */\ncljs.core.__GT_Volatile \x3d (function cljs$core$__GT_Volatile(state){\nreturn (new cljs.core.Volatile(state));\n});\n\n/**\n * Creates and returns a Volatile with an initial value of val.\n */\ncljs.core.volatile_BANG_ \x3d (function cljs$core$volatile_BANG_(val){\nreturn (new cljs.core.Volatile(val));\n});\n/**\n * Returns true if x is a volatile.\n */\ncljs.core.volatile_QMARK_ \x3d (function cljs$core$volatile_QMARK_(x){\nreturn (x instanceof cljs.core.Volatile);\n});\n/**\n * Sets the value of volatile to newval without regard for the\n * current value. Returns newval.\n */\ncljs.core.vreset_BANG_ \x3d (function cljs$core$vreset_BANG_(vol,newval){\nreturn cljs.core._vreset_BANG_(vol,newval);\n});\n/**\n * Returns a lazy sequence of the non-nil results of (f index item). Note,\n * this means false return values will be included. f must be free of\n * side-effects. Returns a stateful transducer when no collection is\n * provided.\n */\ncljs.core.keep_indexed \x3d (function cljs$core$keep_indexed(var_args){\nvar G__15312 \x3d arguments.length;\nswitch (G__15312) {\ncase 1:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__18687 \x3d null;\nvar G__18687__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__18687__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__18687__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(i,input) : f.call(null,i,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__18687 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__18687__0.call(this);\ncase 1:\nreturn G__18687__1.call(this,result);\ncase 2:\nreturn G__18687__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18687.cljs$core$IFn$_invoke$arity$0 \x3d G__18687__0;\nG__18687.cljs$core$IFn$_invoke$arity$1 \x3d G__18687__1;\nG__18687.cljs$core$IFn$_invoke$arity$2 \x3d G__18687__2;\nreturn G__18687;\n})()\n});\n}));\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar keepi \x3d (function cljs$core$keepi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___18688 \x3d size;\nvar i_18689 \x3d (0);\nwhile(true){\nif((i_18689 \x3c n__5636__auto___18688)){\nvar x_18690 \x3d (function (){var G__15317 \x3d (idx + i_18689);\nvar G__15318 \x3d cljs.core._nth(c,i_18689);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15317,G__15318) : f.call(null,G__15317,G__15318));\n})();\nif((x_18690 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_18690);\n}\n\nvar G__18691 \x3d (i_18689 + (1));\ni_18689 \x3d G__18691;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$keepi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__15319 \x3d idx;\nvar G__15320 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15319,G__15320) : f.call(null,G__15319,G__15320));\n})();\nif((x \x3d\x3d null)){\nreturn cljs$core$keepi((idx + (1)),cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs$core$keepi((idx + (1)),cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn keepi((0),coll);\n}));\n\n(cljs.core.keep_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a set of predicates and returns a function f that returns true if all of its\n * composing predicates return a logical true value against all of its arguments, else it returns\n * false. Note that f is short-circuiting in that it will stop execution on the first\n * argument that triggers a logical false result against the original predicates.\n */\ncljs.core.every_pred \x3d (function cljs$core$every_pred(var_args){\nvar G__15332 \x3d arguments.length;\nswitch (G__15332) {\ncase 1:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18695 \x3d arguments.length;\nvar i__5770__auto___18696 \x3d (0);\nwhile(true){\nif((i__5770__auto___18696 \x3c len__5769__auto___18695)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18696]));\n\nvar G__18697 \x3d (i__5770__auto___18696 + (1));\ni__5770__auto___18696 \x3d G__18697;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$ep1 \x3d null;\nvar cljs$core$ep1__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep1__1 \x3d (function (x){\nreturn cljs.core.boolean$((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x)));\n});\nvar cljs$core$ep1__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep1__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep1__4 \x3d (function() { \nvar G__18698__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$ep1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_(p,args);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__18698 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18699__i \x3d 0, G__18699__a \x3d new Array(arguments.length - 3);\nwhile (G__18699__i \x3c G__18699__a.length) {G__18699__a[G__18699__i] \x3d arguments[G__18699__i + 3]; ++G__18699__i;}\n args \x3d new cljs.core.IndexedSeq(G__18699__a,0,null);\n} \nreturn G__18698__delegate.call(this,x,y,z,args);};\nG__18698.cljs$lang$maxFixedArity \x3d 3;\nG__18698.cljs$lang$applyTo \x3d (function (arglist__18700){\nvar x \x3d cljs.core.first(arglist__18700);\narglist__18700 \x3d cljs.core.next(arglist__18700);\nvar y \x3d cljs.core.first(arglist__18700);\narglist__18700 \x3d cljs.core.next(arglist__18700);\nvar z \x3d cljs.core.first(arglist__18700);\nvar args \x3d cljs.core.rest(arglist__18700);\nreturn G__18698__delegate(x,y,z,args);\n});\nG__18698.cljs$core$IFn$_invoke$arity$variadic \x3d G__18698__delegate;\nreturn G__18698;\n})()\n;\ncljs$core$ep1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep1__0.call(this);\ncase 1:\nreturn cljs$core$ep1__1.call(this,x);\ncase 2:\nreturn cljs$core$ep1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep1__3.call(this,x,y,z);\ndefault:\nvar G__18701 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18702__i \x3d 0, G__18702__a \x3d new Array(arguments.length - 3);\nwhile (G__18702__i \x3c G__18702__a.length) {G__18702__a[G__18702__i] \x3d arguments[G__18702__i + 3]; ++G__18702__i;}\nG__18701 \x3d new cljs.core.IndexedSeq(G__18702__a,0,null);\n}\nreturn cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18701);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep1.cljs$lang$applyTo \x3d cljs$core$ep1__4.cljs$lang$applyTo;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep1__0;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep1__1;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep1__2;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep1__3;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep1;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$ep2 \x3d null;\nvar cljs$core$ep2__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep2__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep2__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep2__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5043__auto____$2)){\nvar and__5043__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$3)){\nvar and__5043__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$4)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n} else {\nreturn and__5043__auto____$4;\n}\n} else {\nreturn and__5043__auto____$3;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep2__4 \x3d (function() { \nvar G__18703__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$ep2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__15321_SHARP_){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__15321_SHARP_) : p1.call(null,p1__15321_SHARP_));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__15321_SHARP_) : p2.call(null,p1__15321_SHARP_));\n} else {\nreturn and__5043__auto____$1;\n}\n}),args);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__18703 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18704__i \x3d 0, G__18704__a \x3d new Array(arguments.length - 3);\nwhile (G__18704__i \x3c G__18704__a.length) {G__18704__a[G__18704__i] \x3d arguments[G__18704__i + 3]; ++G__18704__i;}\n args \x3d new cljs.core.IndexedSeq(G__18704__a,0,null);\n} \nreturn G__18703__delegate.call(this,x,y,z,args);};\nG__18703.cljs$lang$maxFixedArity \x3d 3;\nG__18703.cljs$lang$applyTo \x3d (function (arglist__18705){\nvar x \x3d cljs.core.first(arglist__18705);\narglist__18705 \x3d cljs.core.next(arglist__18705);\nvar y \x3d cljs.core.first(arglist__18705);\narglist__18705 \x3d cljs.core.next(arglist__18705);\nvar z \x3d cljs.core.first(arglist__18705);\nvar args \x3d cljs.core.rest(arglist__18705);\nreturn G__18703__delegate(x,y,z,args);\n});\nG__18703.cljs$core$IFn$_invoke$arity$variadic \x3d G__18703__delegate;\nreturn G__18703;\n})()\n;\ncljs$core$ep2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep2__0.call(this);\ncase 1:\nreturn cljs$core$ep2__1.call(this,x);\ncase 2:\nreturn cljs$core$ep2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep2__3.call(this,x,y,z);\ndefault:\nvar G__18706 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18707__i \x3d 0, G__18707__a \x3d new Array(arguments.length - 3);\nwhile (G__18707__i \x3c G__18707__a.length) {G__18707__a[G__18707__i] \x3d arguments[G__18707__i + 3]; ++G__18707__i;}\nG__18706 \x3d new cljs.core.IndexedSeq(G__18707__a,0,null);\n}\nreturn cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18706);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep2.cljs$lang$applyTo \x3d cljs$core$ep2__4.cljs$lang$applyTo;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep2__0;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep2__1;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep2__2;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep2__3;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep2;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$ep3 \x3d null;\nvar cljs$core$ep3__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep3__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep3__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$2)){\nvar and__5043__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$3)){\nvar and__5043__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$4)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n} else {\nreturn and__5043__auto____$4;\n}\n} else {\nreturn and__5043__auto____$3;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep3__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5043__auto____$2)){\nvar and__5043__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$3)){\nvar and__5043__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$4)){\nvar and__5043__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(and__5043__auto____$5)){\nvar and__5043__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$6)){\nvar and__5043__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$7)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n} else {\nreturn and__5043__auto____$7;\n}\n} else {\nreturn and__5043__auto____$6;\n}\n} else {\nreturn and__5043__auto____$5;\n}\n} else {\nreturn and__5043__auto____$4;\n}\n} else {\nreturn and__5043__auto____$3;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep3__4 \x3d (function() { \nvar G__18714__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$ep3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__15322_SHARP_){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__15322_SHARP_) : p1.call(null,p1__15322_SHARP_));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__15322_SHARP_) : p2.call(null,p1__15322_SHARP_));\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__15322_SHARP_) : p3.call(null,p1__15322_SHARP_));\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n}),args);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__18714 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18715__i \x3d 0, G__18715__a \x3d new Array(arguments.length - 3);\nwhile (G__18715__i \x3c G__18715__a.length) {G__18715__a[G__18715__i] \x3d arguments[G__18715__i + 3]; ++G__18715__i;}\n args \x3d new cljs.core.IndexedSeq(G__18715__a,0,null);\n} \nreturn G__18714__delegate.call(this,x,y,z,args);};\nG__18714.cljs$lang$maxFixedArity \x3d 3;\nG__18714.cljs$lang$applyTo \x3d (function (arglist__18716){\nvar x \x3d cljs.core.first(arglist__18716);\narglist__18716 \x3d cljs.core.next(arglist__18716);\nvar y \x3d cljs.core.first(arglist__18716);\narglist__18716 \x3d cljs.core.next(arglist__18716);\nvar z \x3d cljs.core.first(arglist__18716);\nvar args \x3d cljs.core.rest(arglist__18716);\nreturn G__18714__delegate(x,y,z,args);\n});\nG__18714.cljs$core$IFn$_invoke$arity$variadic \x3d G__18714__delegate;\nreturn G__18714;\n})()\n;\ncljs$core$ep3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep3__0.call(this);\ncase 1:\nreturn cljs$core$ep3__1.call(this,x);\ncase 2:\nreturn cljs$core$ep3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep3__3.call(this,x,y,z);\ndefault:\nvar G__18717 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18718__i \x3d 0, G__18718__a \x3d new Array(arguments.length - 3);\nwhile (G__18718__i \x3c G__18718__a.length) {G__18718__a[G__18718__i] \x3d arguments[G__18718__i + 3]; ++G__18718__i;}\nG__18717 \x3d new cljs.core.IndexedSeq(G__18718__a,0,null);\n}\nreturn cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18717);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep3.cljs$lang$applyTo \x3d cljs$core$ep3__4.cljs$lang$applyTo;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep3__0;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep3__1;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep3__2;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep3__3;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep3;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$epn \x3d null;\nvar cljs$core$epn__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$epn__1 \x3d (function (x){\nreturn cljs.core.every_QMARK_((function (p1__15323_SHARP_){\nreturn (p1__15323_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15323_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__15323_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$epn__2 \x3d (function (x,y){\nreturn cljs.core.every_QMARK_((function (p1__15324_SHARP_){\nvar and__5043__auto__ \x3d (p1__15324_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15324_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__15324_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (p1__15324_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15324_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__15324_SHARP_.call(null,y));\n} else {\nreturn and__5043__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__3 \x3d (function (x,y,z){\nreturn cljs.core.every_QMARK_((function (p1__15325_SHARP_){\nvar and__5043__auto__ \x3d (p1__15325_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15325_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__15325_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1__15325_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15325_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__15325_SHARP_.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p1__15325_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15325_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__15325_SHARP_.call(null,z));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__4 \x3d (function() { \nvar G__18719__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$epn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__15326_SHARP_){\nreturn cljs.core.every_QMARK_(p1__15326_SHARP_,args);\n}),ps__$1);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__18719 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18720__i \x3d 0, G__18720__a \x3d new Array(arguments.length - 3);\nwhile (G__18720__i \x3c G__18720__a.length) {G__18720__a[G__18720__i] \x3d arguments[G__18720__i + 3]; ++G__18720__i;}\n args \x3d new cljs.core.IndexedSeq(G__18720__a,0,null);\n} \nreturn G__18719__delegate.call(this,x,y,z,args);};\nG__18719.cljs$lang$maxFixedArity \x3d 3;\nG__18719.cljs$lang$applyTo \x3d (function (arglist__18721){\nvar x \x3d cljs.core.first(arglist__18721);\narglist__18721 \x3d cljs.core.next(arglist__18721);\nvar y \x3d cljs.core.first(arglist__18721);\narglist__18721 \x3d cljs.core.next(arglist__18721);\nvar z \x3d cljs.core.first(arglist__18721);\nvar args \x3d cljs.core.rest(arglist__18721);\nreturn G__18719__delegate(x,y,z,args);\n});\nG__18719.cljs$core$IFn$_invoke$arity$variadic \x3d G__18719__delegate;\nreturn G__18719;\n})()\n;\ncljs$core$epn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$epn__0.call(this);\ncase 1:\nreturn cljs$core$epn__1.call(this,x);\ncase 2:\nreturn cljs$core$epn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$epn__3.call(this,x,y,z);\ndefault:\nvar G__18722 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18723__i \x3d 0, G__18723__a \x3d new Array(arguments.length - 3);\nwhile (G__18723__i \x3c G__18723__a.length) {G__18723__a[G__18723__i] \x3d arguments[G__18723__i + 3]; ++G__18723__i;}\nG__18722 \x3d new cljs.core.IndexedSeq(G__18723__a,0,null);\n}\nreturn cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18722);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$epn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$epn.cljs$lang$applyTo \x3d cljs$core$epn__4.cljs$lang$applyTo;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$epn__0;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$epn__1;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$epn__2;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$epn__3;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$epn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.every_pred.cljs$lang$applyTo \x3d (function (seq15328){\nvar G__15329 \x3d cljs.core.first(seq15328);\nvar seq15328__$1 \x3d cljs.core.next(seq15328);\nvar G__15330 \x3d cljs.core.first(seq15328__$1);\nvar seq15328__$2 \x3d cljs.core.next(seq15328__$1);\nvar G__15331 \x3d cljs.core.first(seq15328__$2);\nvar seq15328__$3 \x3d cljs.core.next(seq15328__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15329,G__15330,G__15331,seq15328__$3);\n}));\n\n(cljs.core.every_pred.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a set of predicates and returns a function f that returns the first logical true value\n * returned by one of its composing predicates against any of its arguments, else it returns\n * logical false. Note that f is short-circuiting in that it will stop execution on the first\n * argument that triggers a logical true result against the original predicates.\n */\ncljs.core.some_fn \x3d (function cljs$core$some_fn(var_args){\nvar G__15344 \x3d arguments.length;\nswitch (G__15344) {\ncase 1:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18727 \x3d arguments.length;\nvar i__5770__auto___18728 \x3d (0);\nwhile(true){\nif((i__5770__auto___18728 \x3c len__5769__auto___18727)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18728]));\n\nvar G__18729 \x3d (i__5770__auto___18728 + (1));\ni__5770__auto___18728 \x3d G__18729;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$sp1 \x3d null;\nvar cljs$core$sp1__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp1__1 \x3d (function (x){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\n});\nvar cljs$core$sp1__2 \x3d (function (x,y){\nvar or__5045__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n}\n});\nvar cljs$core$sp1__3 \x3d (function (x,y,z){\nvar or__5045__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n}\n}\n});\nvar cljs$core$sp1__4 \x3d (function() { \nvar G__18730__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$sp1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some(p,args);\n}\n};\nvar G__18730 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18731__i \x3d 0, G__18731__a \x3d new Array(arguments.length - 3);\nwhile (G__18731__i \x3c G__18731__a.length) {G__18731__a[G__18731__i] \x3d arguments[G__18731__i + 3]; ++G__18731__i;}\n args \x3d new cljs.core.IndexedSeq(G__18731__a,0,null);\n} \nreturn G__18730__delegate.call(this,x,y,z,args);};\nG__18730.cljs$lang$maxFixedArity \x3d 3;\nG__18730.cljs$lang$applyTo \x3d (function (arglist__18732){\nvar x \x3d cljs.core.first(arglist__18732);\narglist__18732 \x3d cljs.core.next(arglist__18732);\nvar y \x3d cljs.core.first(arglist__18732);\narglist__18732 \x3d cljs.core.next(arglist__18732);\nvar z \x3d cljs.core.first(arglist__18732);\nvar args \x3d cljs.core.rest(arglist__18732);\nreturn G__18730__delegate(x,y,z,args);\n});\nG__18730.cljs$core$IFn$_invoke$arity$variadic \x3d G__18730__delegate;\nreturn G__18730;\n})()\n;\ncljs$core$sp1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp1__0.call(this);\ncase 1:\nreturn cljs$core$sp1__1.call(this,x);\ncase 2:\nreturn cljs$core$sp1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp1__3.call(this,x,y,z);\ndefault:\nvar G__18733 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18734__i \x3d 0, G__18734__a \x3d new Array(arguments.length - 3);\nwhile (G__18734__i \x3c G__18734__a.length) {G__18734__a[G__18734__i] \x3d arguments[G__18734__i + 3]; ++G__18734__i;}\nG__18733 \x3d new cljs.core.IndexedSeq(G__18734__a,0,null);\n}\nreturn cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18733);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp1.cljs$lang$applyTo \x3d cljs$core$sp1__4.cljs$lang$applyTo;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp1__0;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp1__1;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp1__2;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp1__3;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp1;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$sp2 \x3d null;\nvar cljs$core$sp2__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp2__1 \x3d (function (x){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n}\n});\nvar cljs$core$sp2__2 \x3d (function (x,y){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n}\n}\n}\n});\nvar cljs$core$sp2__3 \x3d (function (x,y,z){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nvar or__5045__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$4)){\nreturn or__5045__auto____$4;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp2__4 \x3d (function() { \nvar G__18735__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$sp2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some((function (p1__15333_SHARP_){\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__15333_SHARP_) : p1.call(null,p1__15333_SHARP_));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__15333_SHARP_) : p2.call(null,p1__15333_SHARP_));\n}\n}),args);\n}\n};\nvar G__18735 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18736__i \x3d 0, G__18736__a \x3d new Array(arguments.length - 3);\nwhile (G__18736__i \x3c G__18736__a.length) {G__18736__a[G__18736__i] \x3d arguments[G__18736__i + 3]; ++G__18736__i;}\n args \x3d new cljs.core.IndexedSeq(G__18736__a,0,null);\n} \nreturn G__18735__delegate.call(this,x,y,z,args);};\nG__18735.cljs$lang$maxFixedArity \x3d 3;\nG__18735.cljs$lang$applyTo \x3d (function (arglist__18737){\nvar x \x3d cljs.core.first(arglist__18737);\narglist__18737 \x3d cljs.core.next(arglist__18737);\nvar y \x3d cljs.core.first(arglist__18737);\narglist__18737 \x3d cljs.core.next(arglist__18737);\nvar z \x3d cljs.core.first(arglist__18737);\nvar args \x3d cljs.core.rest(arglist__18737);\nreturn G__18735__delegate(x,y,z,args);\n});\nG__18735.cljs$core$IFn$_invoke$arity$variadic \x3d G__18735__delegate;\nreturn G__18735;\n})()\n;\ncljs$core$sp2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp2__0.call(this);\ncase 1:\nreturn cljs$core$sp2__1.call(this,x);\ncase 2:\nreturn cljs$core$sp2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp2__3.call(this,x,y,z);\ndefault:\nvar G__18738 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18739__i \x3d 0, G__18739__a \x3d new Array(arguments.length - 3);\nwhile (G__18739__i \x3c G__18739__a.length) {G__18739__a[G__18739__i] \x3d arguments[G__18739__i + 3]; ++G__18739__i;}\nG__18738 \x3d new cljs.core.IndexedSeq(G__18739__a,0,null);\n}\nreturn cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18738);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp2.cljs$lang$applyTo \x3d cljs$core$sp2__4.cljs$lang$applyTo;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp2__0;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp2__1;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp2__2;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp2__3;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp2;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$sp3 \x3d null;\nvar cljs$core$sp3__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp3__1 \x3d (function (x){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n}\n}\n});\nvar cljs$core$sp3__2 \x3d (function (x,y){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nvar or__5045__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$4)){\nreturn or__5045__auto____$4;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__3 \x3d (function (x,y,z){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nvar or__5045__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$4)){\nreturn or__5045__auto____$4;\n} else {\nvar or__5045__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(or__5045__auto____$5)){\nreturn or__5045__auto____$5;\n} else {\nvar or__5045__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$6)){\nreturn or__5045__auto____$6;\n} else {\nvar or__5045__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$7)){\nreturn or__5045__auto____$7;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n}\n}\n}\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__4 \x3d (function() { \nvar G__18743__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$sp3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some((function (p1__15334_SHARP_){\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__15334_SHARP_) : p1.call(null,p1__15334_SHARP_));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__15334_SHARP_) : p2.call(null,p1__15334_SHARP_));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__15334_SHARP_) : p3.call(null,p1__15334_SHARP_));\n}\n}\n}),args);\n}\n};\nvar G__18743 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18745__i \x3d 0, G__18745__a \x3d new Array(arguments.length - 3);\nwhile (G__18745__i \x3c G__18745__a.length) {G__18745__a[G__18745__i] \x3d arguments[G__18745__i + 3]; ++G__18745__i;}\n args \x3d new cljs.core.IndexedSeq(G__18745__a,0,null);\n} \nreturn G__18743__delegate.call(this,x,y,z,args);};\nG__18743.cljs$lang$maxFixedArity \x3d 3;\nG__18743.cljs$lang$applyTo \x3d (function (arglist__18746){\nvar x \x3d cljs.core.first(arglist__18746);\narglist__18746 \x3d cljs.core.next(arglist__18746);\nvar y \x3d cljs.core.first(arglist__18746);\narglist__18746 \x3d cljs.core.next(arglist__18746);\nvar z \x3d cljs.core.first(arglist__18746);\nvar args \x3d cljs.core.rest(arglist__18746);\nreturn G__18743__delegate(x,y,z,args);\n});\nG__18743.cljs$core$IFn$_invoke$arity$variadic \x3d G__18743__delegate;\nreturn G__18743;\n})()\n;\ncljs$core$sp3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp3__0.call(this);\ncase 1:\nreturn cljs$core$sp3__1.call(this,x);\ncase 2:\nreturn cljs$core$sp3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp3__3.call(this,x,y,z);\ndefault:\nvar G__18747 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18748__i \x3d 0, G__18748__a \x3d new Array(arguments.length - 3);\nwhile (G__18748__i \x3c G__18748__a.length) {G__18748__a[G__18748__i] \x3d arguments[G__18748__i + 3]; ++G__18748__i;}\nG__18747 \x3d new cljs.core.IndexedSeq(G__18748__a,0,null);\n}\nreturn cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18747);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp3.cljs$lang$applyTo \x3d cljs$core$sp3__4.cljs$lang$applyTo;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp3__0;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp3__1;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp3__2;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp3__3;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp3;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$spn \x3d null;\nvar cljs$core$spn__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$spn__1 \x3d (function (x){\nreturn cljs.core.some((function (p1__15335_SHARP_){\nreturn (p1__15335_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15335_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__15335_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$spn__2 \x3d (function (x,y){\nreturn cljs.core.some((function (p1__15336_SHARP_){\nvar or__5045__auto__ \x3d (p1__15336_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15336_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__15336_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (p1__15336_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15336_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__15336_SHARP_.call(null,y));\n}\n}),ps__$1);\n});\nvar cljs$core$spn__3 \x3d (function (x,y,z){\nreturn cljs.core.some((function (p1__15337_SHARP_){\nvar or__5045__auto__ \x3d (p1__15337_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15337_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__15337_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1__15337_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15337_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__15337_SHARP_.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p1__15337_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15337_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__15337_SHARP_.call(null,z));\n}\n}\n}),ps__$1);\n});\nvar cljs$core$spn__4 \x3d (function() { \nvar G__18751__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$spn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some((function (p1__15338_SHARP_){\nreturn cljs.core.some(p1__15338_SHARP_,args);\n}),ps__$1);\n}\n};\nvar G__18751 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18752__i \x3d 0, G__18752__a \x3d new Array(arguments.length - 3);\nwhile (G__18752__i \x3c G__18752__a.length) {G__18752__a[G__18752__i] \x3d arguments[G__18752__i + 3]; ++G__18752__i;}\n args \x3d new cljs.core.IndexedSeq(G__18752__a,0,null);\n} \nreturn G__18751__delegate.call(this,x,y,z,args);};\nG__18751.cljs$lang$maxFixedArity \x3d 3;\nG__18751.cljs$lang$applyTo \x3d (function (arglist__18753){\nvar x \x3d cljs.core.first(arglist__18753);\narglist__18753 \x3d cljs.core.next(arglist__18753);\nvar y \x3d cljs.core.first(arglist__18753);\narglist__18753 \x3d cljs.core.next(arglist__18753);\nvar z \x3d cljs.core.first(arglist__18753);\nvar args \x3d cljs.core.rest(arglist__18753);\nreturn G__18751__delegate(x,y,z,args);\n});\nG__18751.cljs$core$IFn$_invoke$arity$variadic \x3d G__18751__delegate;\nreturn G__18751;\n})()\n;\ncljs$core$spn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$spn__0.call(this);\ncase 1:\nreturn cljs$core$spn__1.call(this,x);\ncase 2:\nreturn cljs$core$spn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$spn__3.call(this,x,y,z);\ndefault:\nvar G__18754 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__18755__i \x3d 0, G__18755__a \x3d new Array(arguments.length - 3);\nwhile (G__18755__i \x3c G__18755__a.length) {G__18755__a[G__18755__i] \x3d arguments[G__18755__i + 3]; ++G__18755__i;}\nG__18754 \x3d new cljs.core.IndexedSeq(G__18755__a,0,null);\n}\nreturn cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__18754);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$spn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$spn.cljs$lang$applyTo \x3d cljs$core$spn__4.cljs$lang$applyTo;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$spn__0;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$spn__1;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$spn__2;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$spn__3;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$spn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.some_fn.cljs$lang$applyTo \x3d (function (seq15340){\nvar G__15341 \x3d cljs.core.first(seq15340);\nvar seq15340__$1 \x3d cljs.core.next(seq15340);\nvar G__15342 \x3d cljs.core.first(seq15340__$1);\nvar seq15340__$2 \x3d cljs.core.next(seq15340__$1);\nvar G__15343 \x3d cljs.core.first(seq15340__$2);\nvar seq15340__$3 \x3d cljs.core.next(seq15340__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15341,G__15342,G__15343,seq15340__$3);\n}));\n\n(cljs.core.some_fn.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to\n * the set of first items of each coll, followed by applying f to the\n * set of second items in each coll, until any one of the colls is\n * exhausted. Any remaining items in other colls are ignored. Function\n * f should accept number-of-colls arguments. Returns a transducer when\n * no collection is provided.\n */\ncljs.core.map \x3d (function cljs$core$map(var_args){\nvar G__15352 \x3d arguments.length;\nswitch (G__15352) {\ncase 1:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18757 \x3d arguments.length;\nvar i__5770__auto___18759 \x3d (0);\nwhile(true){\nif((i__5770__auto___18759 \x3c len__5769__auto___18757)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18759]));\n\nvar G__18760 \x3d (i__5770__auto___18759 + (1));\ni__5770__auto___18759 \x3d G__18760;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__18761 \x3d null;\nvar G__18761__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__18761__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__18761__2 \x3d (function (result,input){\nvar G__15353 \x3d result;\nvar G__15354 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__15353,G__15354) : rf.call(null,G__15353,G__15354));\n});\nvar G__18761__3 \x3d (function() { \nvar G__18763__delegate \x3d function (result,input,inputs){\nvar G__15355 \x3d result;\nvar G__15356 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,input,inputs);\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__15355,G__15356) : rf.call(null,G__15355,G__15356));\n};\nvar G__18763 \x3d function (result,input,var_args){\nvar inputs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__18764__i \x3d 0, G__18764__a \x3d new Array(arguments.length - 2);\nwhile (G__18764__i \x3c G__18764__a.length) {G__18764__a[G__18764__i] \x3d arguments[G__18764__i + 2]; ++G__18764__i;}\n inputs \x3d new cljs.core.IndexedSeq(G__18764__a,0,null);\n} \nreturn G__18763__delegate.call(this,result,input,inputs);};\nG__18763.cljs$lang$maxFixedArity \x3d 2;\nG__18763.cljs$lang$applyTo \x3d (function (arglist__18765){\nvar result \x3d cljs.core.first(arglist__18765);\narglist__18765 \x3d cljs.core.next(arglist__18765);\nvar input \x3d cljs.core.first(arglist__18765);\nvar inputs \x3d cljs.core.rest(arglist__18765);\nreturn G__18763__delegate(result,input,inputs);\n});\nG__18763.cljs$core$IFn$_invoke$arity$variadic \x3d G__18763__delegate;\nreturn G__18763;\n})()\n;\nG__18761 \x3d function(result,input,var_args){\nvar inputs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__18761__0.call(this);\ncase 1:\nreturn G__18761__1.call(this,result);\ncase 2:\nreturn G__18761__2.call(this,result,input);\ndefault:\nvar G__18766 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__18767__i \x3d 0, G__18767__a \x3d new Array(arguments.length - 2);\nwhile (G__18767__i \x3c G__18767__a.length) {G__18767__a[G__18767__i] \x3d arguments[G__18767__i + 2]; ++G__18767__i;}\nG__18766 \x3d new cljs.core.IndexedSeq(G__18767__a,0,null);\n}\nreturn G__18761__3.cljs$core$IFn$_invoke$arity$variadic(result,input, G__18766);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18761.cljs$lang$maxFixedArity \x3d 2;\nG__18761.cljs$lang$applyTo \x3d G__18761__3.cljs$lang$applyTo;\nG__18761.cljs$core$IFn$_invoke$arity$0 \x3d G__18761__0;\nG__18761.cljs$core$IFn$_invoke$arity$1 \x3d G__18761__1;\nG__18761.cljs$core$IFn$_invoke$arity$2 \x3d G__18761__2;\nG__18761.cljs$core$IFn$_invoke$arity$variadic \x3d G__18761__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__18761;\n})()\n});\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___18768 \x3d size;\nvar i_18769 \x3d (0);\nwhile(true){\nif((i_18769 \x3c n__5636__auto___18768)){\ncljs.core.chunk_append(b,(function (){var G__15357 \x3d cljs.core._nth(c,i_18769);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15357) : f.call(null,G__15357));\n})());\n\nvar G__18770 \x3d (i_18769 + (1));\ni_18769 \x3d G__18770;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__15358 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15358) : f.call(null,G__15358));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn cljs.core.cons((function (){var G__15359 \x3d cljs.core.first(s1);\nvar G__15360 \x3d cljs.core.first(s2);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15359,G__15360) : f.call(null,G__15359,G__15360));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,cljs.core.rest(s1),cljs.core.rest(s2)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nvar s3 \x3d cljs.core.seq(c3);\nif(((s1) \x26\x26 (((s2) \x26\x26 (s3))))){\nreturn cljs.core.cons((function (){var G__15361 \x3d cljs.core.first(s1);\nvar G__15362 \x3d cljs.core.first(s2);\nvar G__15363 \x3d cljs.core.first(s3);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15361,G__15362,G__15363) : f.call(null,G__15361,G__15362,G__15363));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,cljs.core.rest(s1),cljs.core.rest(s2),cljs.core.rest(s3)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nvar step \x3d (function cljs$core$step(cs){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cs);\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn cljs.core.cons(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs$core$step(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__15345_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,p1__15345_SHARP_);\n}),step(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c2,c1], 0))));\n}));\n\n/** @this {Function} */\n(cljs.core.map.cljs$lang$applyTo \x3d (function (seq15347){\nvar G__15348 \x3d cljs.core.first(seq15347);\nvar seq15347__$1 \x3d cljs.core.next(seq15347);\nvar G__15349 \x3d cljs.core.first(seq15347__$1);\nvar seq15347__$2 \x3d cljs.core.next(seq15347__$1);\nvar G__15350 \x3d cljs.core.first(seq15347__$2);\nvar seq15347__$3 \x3d cljs.core.next(seq15347__$2);\nvar G__15351 \x3d cljs.core.first(seq15347__$3);\nvar seq15347__$4 \x3d cljs.core.next(seq15347__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15348,G__15349,G__15350,G__15351,seq15347__$4);\n}));\n\n(cljs.core.map.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a lazy sequence of the first n items in coll, or all items if\n * there are fewer than n. Returns a stateful transducer when\n * no collection is provided.\n */\ncljs.core.take \x3d (function cljs$core$take(var_args){\nvar G__15365 \x3d arguments.length;\nswitch (G__15365) {\ncase 1:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__18776 \x3d null;\nvar G__18776__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__18776__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__18776__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nvar nn \x3d na.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\nvar result__$1 \x3d (((n__$1 \x3e (0)))?(rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input)):result);\nif((!((nn \x3e (0))))){\nreturn cljs.core.ensure_reduced(result__$1);\n} else {\nreturn result__$1;\n}\n});\nG__18776 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__18776__0.call(this);\ncase 1:\nreturn G__18776__1.call(this,result);\ncase 2:\nreturn G__18776__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18776.cljs$core$IFn$_invoke$arity$0 \x3d G__18776__0;\nG__18776.cljs$core$IFn$_invoke$arity$1 \x3d G__18776__1;\nG__18776.cljs$core$IFn$_invoke$arity$2 \x3d G__18776__2;\nreturn G__18776;\n})()\n});\n}));\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nif((n \x3e (0))){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take.cljs$core$IFn$_invoke$arity$2((n - (1)),cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of all but the first n items in coll.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.drop \x3d (function cljs$core$drop(var_args){\nvar G__15367 \x3d arguments.length;\nswitch (G__15367) {\ncase 1:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__18781 \x3d null;\nvar G__18781__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__18781__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__18781__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nna.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\n\nif((n__$1 \x3e (0))){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__18781 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__18781__0.call(this);\ncase 1:\nreturn G__18781__1.call(this,result);\ncase 2:\nreturn G__18781__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18781.cljs$core$IFn$_invoke$arity$0 \x3d G__18781__0;\nG__18781.cljs$core$IFn$_invoke$arity$1 \x3d G__18781__1;\nG__18781.cljs$core$IFn$_invoke$arity$2 \x3d G__18781__2;\nreturn G__18781;\n})()\n});\n}));\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nvar step \x3d (function (n__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif((((n__$1 \x3e (0))) \x26\x26 (s))){\nvar G__18783 \x3d (n__$1 - (1));\nvar G__18784 \x3d cljs.core.rest(s);\nn__$1 \x3d G__18783;\ncoll__$1 \x3d G__18784;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(n,coll);\n}),null,null));\n}));\n\n(cljs.core.drop.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Return a lazy sequence of all but the last n (default 1) items in coll\n */\ncljs.core.drop_last \x3d (function cljs$core$drop_last(var_args){\nvar G__15369 \x3d arguments.length;\nswitch (G__15369) {\ncase 1:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((1),s);\n}));\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,s){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (x,_){\nreturn x;\n}),s,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s));\n}));\n\n(cljs.core.drop_last.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a seq of the last n items in coll. Depending on the type\n * of coll may be no better than linear time. For vectors, see also subvec.\n */\ncljs.core.take_last \x3d (function cljs$core$take_last(n,coll){\nvar s \x3d cljs.core.seq(coll);\nvar lead \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll));\nwhile(true){\nif(lead){\nvar G__18789 \x3d cljs.core.next(s);\nvar G__18790 \x3d cljs.core.next(lead);\ns \x3d G__18789;\nlead \x3d G__18790;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\n/**\n * Returns a lazy sequence of the items in coll starting from the\n * first item for which (pred item) returns logical false. Returns a\n * stateful transducer when no collection is provided.\n */\ncljs.core.drop_while \x3d (function cljs$core$drop_while(var_args){\nvar G__15371 \x3d arguments.length;\nswitch (G__15371) {\ncase 1:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nvar da \x3d cljs.core.volatile_BANG_(true);\nreturn (function() {\nvar G__18800 \x3d null;\nvar G__18800__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__18800__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__18800__2 \x3d (function (result,input){\nvar drop_QMARK_ \x3d cljs.core.deref(da);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d drop_QMARK_;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn result;\n} else {\ncljs.core.vreset_BANG_(da,null);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__18800 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__18800__0.call(this);\ncase 1:\nreturn G__18800__1.call(this,result);\ncase 2:\nreturn G__18800__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18800.cljs$core$IFn$_invoke$arity$0 \x3d G__18800__0;\nG__18800.cljs$core$IFn$_invoke$arity$1 \x3d G__18800__1;\nG__18800.cljs$core$IFn$_invoke$arity$2 \x3d G__18800__2;\nreturn G__18800;\n})()\n});\n}));\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nvar step \x3d (function (pred__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d s;\nif(and__5043__auto__){\nvar G__15372 \x3d cljs.core.first(s);\nreturn (pred__$1.cljs$core$IFn$_invoke$arity$1 ? pred__$1.cljs$core$IFn$_invoke$arity$1(G__15372) : pred__$1.call(null,G__15372));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar G__18803 \x3d pred__$1;\nvar G__18804 \x3d cljs.core.rest(s);\npred__$1 \x3d G__18803;\ncoll__$1 \x3d G__18804;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(pred,coll);\n}),null,null));\n}));\n\n(cljs.core.drop_while.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cycle \x3d (function (meta,all,prev,current,_next){\nthis.meta \x3d meta;\nthis.all \x3d all;\nthis.prev \x3d prev;\nthis.current \x3d current;\nthis._next \x3d _next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Cycle.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cycle.prototype.currentval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(self__.current){\n} else {\nvar temp__5802__auto___18807 \x3d cljs.core.next(self__.prev);\nif(temp__5802__auto___18807){\nvar c_18808 \x3d temp__5802__auto___18807;\n(self__.current \x3d c_18808);\n} else {\n(self__.current \x3d self__.all);\n}\n}\n\nreturn self__.current;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.current \x3d\x3d null)));\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d cljs.core.first(s);\nwhile(true){\nvar s__$1 \x3d (function (){var or__5045__auto__ \x3d cljs.core.next(s);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar ret__$1 \x3d (function (){var G__15375 \x3d ret;\nvar G__15376 \x3d cljs.core.first(s__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15375,G__15376) : f.call(null,G__15375,G__15376));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__18826 \x3d s__$1;\nvar G__18827 \x3d ret__$1;\ns \x3d G__18826;\nret \x3d G__18827;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d start;\nwhile(true){\nvar ret__$1 \x3d (function (){var G__15377 \x3d ret;\nvar G__15378 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15377,G__15378) : f.call(null,G__15377,G__15378));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__18832 \x3d (function (){var or__5045__auto__ \x3d cljs.core.next(s);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar G__18833 \x3d ret__$1;\ns \x3d G__18832;\nret \x3d G__18833;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(coll__$1.currentval());\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__._next \x3d\x3d null)){\n(self__._next \x3d (new cljs.core.Cycle(null,self__.all,coll__$1.currentval(),null,null)));\n} else {\n}\n\nreturn self__._next;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cycle(new_meta,self__.all,self__.prev,self__.current,self__._next));\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Cycle.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22all\x22,\x22all\x22,-1762306027,null),new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22current\x22,\x22current\x22,552492924,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cycle.cljs$lang$type \x3d true);\n\n(cljs.core.Cycle.cljs$lang$ctorStr \x3d \x22cljs.core/Cycle\x22);\n\n(cljs.core.Cycle.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Cycle\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cycle.\n */\ncljs.core.__GT_Cycle \x3d (function cljs$core$__GT_Cycle(meta,all,prev,current,_next){\nreturn (new cljs.core.Cycle(meta,all,prev,current,_next));\n});\n\n/**\n * Returns a lazy (infinite!) sequence of repetitions of the items in coll.\n */\ncljs.core.cycle \x3d (function cljs$core$cycle(coll){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar vals \x3d temp__5802__auto__;\nreturn (new cljs.core.Cycle(null,vals,null,vals,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a vector of [(take n coll) (drop n coll)]\n */\ncljs.core.split_at \x3d (function cljs$core$split_at(n,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,coll),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll)], null);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Repeat \x3d (function (meta,count,val,next,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.val \x3d val;\nthis.next \x3d next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Repeat.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Repeat.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Repeat.prototype.indexOf \x3d (function() {\nvar G__18836 \x3d null;\nvar G__18836__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__18836__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18836 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18836__1.call(this,x);\ncase 2:\nreturn G__18836__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18836.cljs$core$IFn$_invoke$arity$1 \x3d G__18836__1;\nG__18836.cljs$core$IFn$_invoke$arity$2 \x3d G__18836__2;\nreturn G__18836;\n})()\n);\n\n(cljs.core.Repeat.prototype.lastIndexOf \x3d (function() {\nvar G__18837 \x3d null;\nvar G__18837__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__18837__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__18837 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__18837__1.call(this,x);\ncase 2:\nreturn G__18837__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18837.cljs$core$IFn$_invoke$arity$1 \x3d G__18837__1;\nG__18837.cljs$core$IFn$_invoke$arity$2 \x3d G__18837__2;\nreturn G__18837;\n})()\n);\n\n(cljs.core.Repeat.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn null;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(self__.val,self__.val) : f.call(null,self__.val,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__18838 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__18838;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (1);\nvar ret \x3d self__.val;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__18839 \x3d (i + (1));\nvar G__18840 \x3d ret__$1;\ni \x3d G__18839;\nret \x3d G__18840;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(start,self__.val) : f.call(null,start,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__18841 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__18841;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar ret \x3d start;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__18842 \x3d (i + (1));\nvar G__18843 \x3d ret__$1;\ni \x3d G__18842;\nret \x3d G__18843;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Repeat(new_meta,self__.count,self__.val,self__.next,null));\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Repeat.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Repeat.cljs$lang$type \x3d true);\n\n(cljs.core.Repeat.cljs$lang$ctorStr \x3d \x22cljs.core/Repeat\x22);\n\n(cljs.core.Repeat.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Repeat\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Repeat.\n */\ncljs.core.__GT_Repeat \x3d (function cljs$core$__GT_Repeat(meta,count,val,next,__hash){\nreturn (new cljs.core.Repeat(meta,count,val,next,__hash));\n});\n\n/**\n * Returns a lazy (infinite!, or length n if supplied) sequence of xs.\n */\ncljs.core.repeat \x3d (function cljs$core$repeat(var_args){\nvar G__15380 \x3d arguments.length;\nswitch (G__15380) {\ncase 1:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Repeat(null,(-1),x,null,null));\n}));\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,x){\nif((n \x3e (0))){\nreturn (new cljs.core.Repeat(null,n,x,null,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.repeat.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * DEPRECATED: Use \x27repeat\x27 instead.\n * Returns a lazy seq of n xs.\n */\ncljs.core.replicate \x3d (function cljs$core$replicate(n,x){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(x));\n});\n/**\n * Takes a function of no args, presumably with side effects, and\n * returns an infinite (or length n if supplied) lazy sequence of calls\n * to it\n */\ncljs.core.repeatedly \x3d (function cljs$core$repeatedly(var_args){\nvar G__15382 \x3d arguments.length;\nswitch (G__15382) {\ncase 1:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));\n}),null,null));\n}));\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,f){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));\n}));\n\n(cljs.core.repeatedly.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.UNREALIZED_SEED \x3d ({});\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Iterate \x3d (function (meta,f,prev_seed,seed,next){\nthis.meta \x3d meta;\nthis.f \x3d f;\nthis.prev_seed \x3d prev_seed;\nthis.seed \x3d seed;\nthis.next \x3d next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Iterate.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.seed \x3d\x3d\x3d cljs.core.UNREALIZED_SEED)));\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,rf){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar first \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar v \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(first) : self__.f.call(null,first));\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(first,v) : rf.call(null,first,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__18859 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__18860 \x3d v__$2;\nret \x3d G__18859;\nv__$1 \x3d G__18860;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,rf,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(start,v) : rf.call(null,start,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__18861 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__18862 \x3d v__$2;\nret \x3d G__18861;\nv__$1 \x3d G__18862;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.UNREALIZED_SEED \x3d\x3d\x3d self__.seed)){\n(self__.seed \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(self__.prev_seed) : self__.f.call(null,self__.prev_seed)));\n} else {\n}\n\nreturn self__.seed;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\n(self__.next \x3d (new cljs.core.Iterate(null,self__.f,coll__$1.cljs$core$ISeq$_first$arity$1(null),cljs.core.UNREALIZED_SEED,null)));\n} else {\n}\n\nreturn self__.next;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Iterate(new_meta,self__.f,self__.prev_seed,self__.seed,self__.next));\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Iterate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22prev-seed\x22,\x22prev-seed\x22,2126381367,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seed\x22,\x22seed\x22,1709144854,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Iterate.cljs$lang$type \x3d true);\n\n(cljs.core.Iterate.cljs$lang$ctorStr \x3d \x22cljs.core/Iterate\x22);\n\n(cljs.core.Iterate.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Iterate\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Iterate.\n */\ncljs.core.__GT_Iterate \x3d (function cljs$core$__GT_Iterate(meta,f,prev_seed,seed,next){\nreturn (new cljs.core.Iterate(meta,f,prev_seed,seed,next));\n});\n\n/**\n * Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects\n */\ncljs.core.iterate \x3d (function cljs$core$iterate(f,x){\nreturn (new cljs.core.Iterate(null,f,null,x,null));\n});\n/**\n * Returns a lazy seq of the first item in each coll, then the second etc.\n */\ncljs.core.interleave \x3d (function cljs$core$interleave(var_args){\nvar G__15387 \x3d arguments.length;\nswitch (G__15387) {\ncase 0:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18871 \x3d arguments.length;\nvar i__5770__auto___18872 \x3d (0);\nwhile(true){\nif((i__5770__auto___18872 \x3c len__5769__auto___18871)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18872]));\n\nvar G__18873 \x3d (i__5770__auto___18872 + (1));\ni__5770__auto___18872 \x3d G__18873;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$1 \x3d (function (c1){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn c1;\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2 \x3d (function (c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn cljs.core.cons(cljs.core.first(s1),cljs.core.cons(cljs.core.first(s2),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s1),cljs.core.rest(s2))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic \x3d (function (c1,c2,colls){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c1], 0)));\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.interleave,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n/** @this {Function} */\n(cljs.core.interleave.cljs$lang$applyTo \x3d (function (seq15384){\nvar G__15385 \x3d cljs.core.first(seq15384);\nvar seq15384__$1 \x3d cljs.core.next(seq15384);\nvar G__15386 \x3d cljs.core.first(seq15384__$1);\nvar seq15384__$2 \x3d cljs.core.next(seq15384__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15385,G__15386,seq15384__$2);\n}));\n\n(cljs.core.interleave.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a lazy seq of the elements of coll separated by sep.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.interpose \x3d (function cljs$core$interpose(var_args){\nvar G__15389 \x3d arguments.length;\nswitch (G__15389) {\ncase 1:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$1 \x3d (function (sep){\nreturn (function (rf){\nvar started \x3d cljs.core.volatile_BANG_(false);\nreturn (function() {\nvar G__18881 \x3d null;\nvar G__18881__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__18881__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__18881__2 \x3d (function (result,input){\nif(cljs.core.truth_(cljs.core.deref(started))){\nvar sepr \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,sep) : rf.call(null,result,sep));\nif(cljs.core.reduced_QMARK_(sepr)){\nreturn sepr;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(sepr,input) : rf.call(null,sepr,input));\n}\n} else {\ncljs.core.vreset_BANG_(started,true);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__18881 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__18881__0.call(this);\ncase 1:\nreturn G__18881__1.call(this,result);\ncase 2:\nreturn G__18881__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18881.cljs$core$IFn$_invoke$arity$0 \x3d G__18881__0;\nG__18881.cljs$core$IFn$_invoke$arity$1 \x3d G__18881__1;\nG__18881.cljs$core$IFn$_invoke$arity$2 \x3d G__18881__2;\nreturn G__18881;\n})()\n});\n}));\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$2 \x3d (function (sep,coll){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((1),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(sep),coll));\n}));\n\n(cljs.core.interpose.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Take a collection of collections, and return a lazy seq\n * of items from the inner collection\n */\ncljs.core.flatten1 \x3d (function cljs$core$flatten1(colls){\nvar cat \x3d (function cljs$core$flatten1_$_cat(coll,colls__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar coll__$1 \x3d temp__5802__auto__;\nreturn cljs.core.cons(cljs.core.first(coll__$1),cljs$core$flatten1_$_cat(cljs.core.rest(coll__$1),colls__$1));\n} else {\nif(cljs.core.seq(colls__$1)){\nreturn cljs$core$flatten1_$_cat(cljs.core.first(colls__$1),cljs.core.rest(colls__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(null,colls);\n});\n/**\n * Returns the result of applying concat to the result of applying map\n * to f and colls. Thus function f should return a collection. Returns\n * a transducer when no collections are provided\n */\ncljs.core.mapcat \x3d (function cljs$core$mapcat(var_args){\nvar G__15393 \x3d arguments.length;\nswitch (G__15393) {\ncase 1:\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18908 \x3d arguments.length;\nvar i__5770__auto___18909 \x3d (0);\nwhile(true){\nif((i__5770__auto___18909 \x3c len__5769__auto___18908)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18909]));\n\nvar G__18910 \x3d (i__5770__auto___18909 + (1));\ni__5770__auto___18909 \x3d G__18910;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$1(f),cljs.core.cat);\n}));\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,colls){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,f,colls));\n}));\n\n/** @this {Function} */\n(cljs.core.mapcat.cljs$lang$applyTo \x3d (function (seq15391){\nvar G__15392 \x3d cljs.core.first(seq15391);\nvar seq15391__$1 \x3d cljs.core.next(seq15391);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15392,seq15391__$1);\n}));\n\n(cljs.core.mapcat.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a lazy sequence of the items in coll for which\n * (pred item) returns logical true. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.filter \x3d (function cljs$core$filter(var_args){\nvar G__15395 \x3d arguments.length;\nswitch (G__15395) {\ncase 1:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__18913 \x3d null;\nvar G__18913__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__18913__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__18913__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__18913 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__18913__0.call(this);\ncase 1:\nreturn G__18913__1.call(this,result);\ncase 2:\nreturn G__18913__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18913.cljs$core$IFn$_invoke$arity$0 \x3d G__18913__0;\nG__18913.cljs$core$IFn$_invoke$arity$1 \x3d G__18913__1;\nG__18913.cljs$core$IFn$_invoke$arity$2 \x3d G__18913__2;\nreturn G__18913;\n})()\n});\n}));\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___18914 \x3d size;\nvar i_18915 \x3d (0);\nwhile(true){\nif((i_18915 \x3c n__5636__auto___18914)){\nif(cljs.core.truth_((function (){var G__15396 \x3d cljs.core._nth(c,i_18915);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__15396) : pred.call(null,G__15396));\n})())){\ncljs.core.chunk_append(b,cljs.core._nth(c,i_18915));\n} else {\n}\n\nvar G__18918 \x3d (i_18915 + (1));\ni_18915 \x3d G__18918;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.chunk_rest(s)));\n} else {\nvar f \x3d cljs.core.first(s);\nvar r \x3d cljs.core.rest(s);\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(f) : pred.call(null,f)))){\nreturn cljs.core.cons(f,cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r));\n} else {\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r);\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.filter.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the items in coll for which\n * (pred item) returns logical false. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.remove \x3d (function cljs$core$remove(var_args){\nvar G__15398 \x3d arguments.length;\nswitch (G__15398) {\ncase 1:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1(cljs.core.complement(pred));\n}));\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(pred),coll);\n}));\n\n(cljs.core.remove.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the nodes in a tree, via a depth-first walk.\n * branch? must be a fn of one arg that returns true if passed a node\n * that can have children (but may not). children must be a fn of one\n * arg that returns a sequence of the children. Will only be called on\n * nodes for which branch? returns true. Root is the root node of the\n * tree.\n */\ncljs.core.tree_seq \x3d (function cljs$core$tree_seq(branch_QMARK_,children,root){\nvar walk \x3d (function cljs$core$tree_seq_$_walk(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons(node,(cljs.core.truth_((branch_QMARK_.cljs$core$IFn$_invoke$arity$1 ? branch_QMARK_.cljs$core$IFn$_invoke$arity$1(node) : branch_QMARK_.call(null,node)))?cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs$core$tree_seq_$_walk,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(children.cljs$core$IFn$_invoke$arity$1 ? children.cljs$core$IFn$_invoke$arity$1(node) : children.call(null,node))], 0)):null));\n}),null,null));\n});\nreturn walk(root);\n});\n/**\n * Takes any nested combination of sequential things (lists, vectors,\n * etc.) and returns their contents as a single, flat sequence.\n * (flatten nil) returns nil.\n */\ncljs.core.flatten \x3d (function cljs$core$flatten(x){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__15399_SHARP_){\nreturn (!(cljs.core.sequential_QMARK_(p1__15399_SHARP_)));\n}),cljs.core.rest(cljs.core.tree_seq(cljs.core.sequential_QMARK_,cljs.core.seq,x)));\n});\n/**\n * Returns a new coll consisting of to-coll with all of the items of\n * from-coll conjoined. A transducer may be supplied.\n */\ncljs.core.into \x3d (function cljs$core$into(var_args){\nvar G__15401 \x3d arguments.length;\nswitch (G__15401) {\ncase 0:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$1 \x3d (function (to){\nreturn to;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$2 \x3d (function (to,from){\nif((!((to \x3d\x3d null)))){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core.transient$(to),from)),cljs.core.meta(to));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,to,from);\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$3 \x3d (function (to,xform,from){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nvar tm \x3d cljs.core.meta(to);\nvar rf \x3d (function() {\nvar G__18924 \x3d null;\nvar G__18924__1 \x3d (function (coll){\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(coll),tm);\n});\nvar G__18924__2 \x3d (function (coll,v){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(coll,v);\n});\nG__18924 \x3d function(coll,v){\nswitch(arguments.length){\ncase 1:\nreturn G__18924__1.call(this,coll);\ncase 2:\nreturn G__18924__2.call(this,coll,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__18924.cljs$core$IFn$_invoke$arity$1 \x3d G__18924__1;\nG__18924.cljs$core$IFn$_invoke$arity$2 \x3d G__18924__2;\nreturn G__18924;\n})()\n;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,rf,cljs.core.transient$(to),from);\n} else {\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a vector consisting of the result of applying f to the\n * set of first items of each coll, followed by applying f to the set\n * of second items in each coll, until any one of the colls is\n * exhausted. Any remaining items in other colls are ignored. Function\n * f should accept number-of-colls arguments.\n */\ncljs.core.mapv \x3d (function cljs$core$mapv(var_args){\nvar G__15410 \x3d arguments.length;\nswitch (G__15410) {\ncase 2:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18926 \x3d arguments.length;\nvar i__5770__auto___18927 \x3d (0);\nwhile(true){\nif((i__5770__auto___18927 \x3c len__5769__auto___18926)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18927]));\n\nvar G__18928 \x3d (i__5770__auto___18927 + (1));\ni__5770__auto___18927 \x3d G__18928;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(o) : f.call(null,o)));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,c1,c2));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,c1,c2,c3));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.map,f,c1,c2,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([colls], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.mapv.cljs$lang$applyTo \x3d (function (seq15405){\nvar G__15406 \x3d cljs.core.first(seq15405);\nvar seq15405__$1 \x3d cljs.core.next(seq15405);\nvar G__15407 \x3d cljs.core.first(seq15405__$1);\nvar seq15405__$2 \x3d cljs.core.next(seq15405__$1);\nvar G__15408 \x3d cljs.core.first(seq15405__$2);\nvar seq15405__$3 \x3d cljs.core.next(seq15405__$2);\nvar G__15409 \x3d cljs.core.first(seq15405__$3);\nvar seq15405__$4 \x3d cljs.core.next(seq15405__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15406,G__15407,G__15408,G__15409,seq15405__$4);\n}));\n\n(cljs.core.mapv.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a vector of the items in coll for which\n * (pred item) returns logical true. pred must be free of side-effects.\n */\ncljs.core.filterv \x3d (function cljs$core$filterv(pred,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(o) : pred.call(null,o)))){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,o);\n} else {\nreturn v;\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n});\n/**\n * Returns a lazy sequence of lists of n items each, at offsets step\n * apart. If step is not supplied, defaults to n, i.e. the partitions\n * do not overlap. If a pad collection is supplied, use its elements as\n * necessary to complete last partition up to n items. In case there are\n * not enough padding elements, return a partition with less than n items.\n */\ncljs.core.partition \x3d (function cljs$core$partition(var_args){\nvar G__15412 \x3d arguments.length;\nswitch (G__15412) {\ncase 2:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,step,pad,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$4(n,step,pad,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn (new cljs.core.List(null,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(p,pad)),null,(1),null));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the value in a nested associative structure,\n * where ks is a sequence of keys. Returns nil if the key is not present,\n * or the not-found value if supplied.\n */\ncljs.core.get_in \x3d (function cljs$core$get_in(var_args){\nvar G__15414 \x3d arguments.length;\nswitch (G__15414) {\ncase 2:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2 \x3d (function (m,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.get,m,ks);\n}));\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,ks,not_found){\nvar sentinel \x3d cljs.core.lookup_sentinel;\nvar m__$1 \x3d m;\nvar ks__$1 \x3d cljs.core.seq(ks);\nwhile(true){\nif((!((ks__$1 \x3d\x3d null)))){\nvar m__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(m__$1,cljs.core.first(ks__$1),sentinel);\nif((sentinel \x3d\x3d\x3d m__$2)){\nreturn not_found;\n} else {\nvar G__18943 \x3d sentinel;\nvar G__18944 \x3d m__$2;\nvar G__18945 \x3d cljs.core.next(ks__$1);\nsentinel \x3d G__18943;\nm__$1 \x3d G__18944;\nks__$1 \x3d G__18945;\ncontinue;\n}\n} else {\nreturn m__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.get_in.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Associates a value in a nested associative structure, where ks is a\n * sequence of keys and v is the new value and returns a new nested structure.\n * If any levels do not exist, hash-maps will be created.\n */\ncljs.core.assoc_in \x3d (function cljs$core$assoc_in(m,p__15415,v){\nvar vec__15416 \x3d p__15415;\nvar seq__15417 \x3d cljs.core.seq(vec__15416);\nvar first__15418 \x3d cljs.core.first(seq__15417);\nvar seq__15417__$1 \x3d cljs.core.next(seq__15417);\nvar k \x3d first__15418;\nvar ks \x3d seq__15417__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15419 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__15420 \x3d ks;\nvar G__15421 \x3d v;\nreturn (cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3 ? cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3(G__15419,G__15420,G__15421) : cljs.core.assoc_in.call(null,G__15419,G__15420,G__15421));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\n/**\n * \x27Updates\x27 a value in a nested associative structure, where ks is a\n * sequence of keys and f is a function that will take the old value\n * and any supplied args and return the new value, and returns a new\n * nested structure. If any levels do not exist, hash-maps will be\n * created.\n */\ncljs.core.update_in \x3d (function cljs$core$update_in(var_args){\nvar G__15430 \x3d arguments.length;\nswitch (G__15430) {\ncase 3:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18951 \x3d arguments.length;\nvar i__5770__auto___18952 \x3d (0);\nwhile(true){\nif((i__5770__auto___18952 \x3c len__5769__auto___18951)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18952]));\n\nvar G__18954 \x3d (i__5770__auto___18952 + (1));\ni__5770__auto___18952 \x3d G__18954;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,p__15431,f){\nvar vec__15432 \x3d p__15431;\nvar seq__15433 \x3d cljs.core.seq(vec__15432);\nvar first__15434 \x3d cljs.core.first(seq__15433);\nvar seq__15433__$1 \x3d cljs.core.next(seq__15433);\nvar k \x3d first__15434;\nvar ks \x3d seq__15433__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15435 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15435) : f.call(null,G__15435));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,p__15436,f,a){\nvar vec__15437 \x3d p__15436;\nvar seq__15438 \x3d cljs.core.seq(vec__15437);\nvar first__15439 \x3d cljs.core.first(seq__15438);\nvar seq__15438__$1 \x3d cljs.core.next(seq__15438);\nvar k \x3d first__15439;\nvar ks \x3d seq__15438__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15440 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__15441 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15440,G__15441) : f.call(null,G__15440,G__15441));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,p__15442,f,a,b){\nvar vec__15443 \x3d p__15442;\nvar seq__15444 \x3d cljs.core.seq(vec__15443);\nvar first__15445 \x3d cljs.core.first(seq__15444);\nvar seq__15444__$1 \x3d cljs.core.next(seq__15444);\nvar k \x3d first__15445;\nvar ks \x3d seq__15444__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15446 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__15447 \x3d a;\nvar G__15448 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15446,G__15447,G__15448) : f.call(null,G__15446,G__15447,G__15448));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,p__15449,f,a,b,c){\nvar vec__15450 \x3d p__15449;\nvar seq__15451 \x3d cljs.core.seq(vec__15450);\nvar first__15452 \x3d cljs.core.first(seq__15451);\nvar seq__15451__$1 \x3d cljs.core.next(seq__15451);\nvar k \x3d first__15452;\nvar ks \x3d seq__15451__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$6(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b,c));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15453 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__15454 \x3d a;\nvar G__15455 \x3d b;\nvar G__15456 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__15453,G__15454,G__15455,G__15456) : f.call(null,G__15453,G__15454,G__15455,G__15456));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,p__15457,f,a,b,c,args){\nvar vec__15458 \x3d p__15457;\nvar seq__15459 \x3d cljs.core.seq(vec__15458);\nvar first__15460 \x3d cljs.core.first(seq__15459);\nvar seq__15459__$1 \x3d cljs.core.next(seq__15459);\nvar k \x3d first__15460;\nvar ks \x3d seq__15459__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update_in,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b,c,args], 0)));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0)));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.update_in.cljs$lang$applyTo \x3d (function (seq15423){\nvar G__15424 \x3d cljs.core.first(seq15423);\nvar seq15423__$1 \x3d cljs.core.next(seq15423);\nvar G__15425 \x3d cljs.core.first(seq15423__$1);\nvar seq15423__$2 \x3d cljs.core.next(seq15423__$1);\nvar G__15426 \x3d cljs.core.first(seq15423__$2);\nvar seq15423__$3 \x3d cljs.core.next(seq15423__$2);\nvar G__15427 \x3d cljs.core.first(seq15423__$3);\nvar seq15423__$4 \x3d cljs.core.next(seq15423__$3);\nvar G__15428 \x3d cljs.core.first(seq15423__$4);\nvar seq15423__$5 \x3d cljs.core.next(seq15423__$4);\nvar G__15429 \x3d cljs.core.first(seq15423__$5);\nvar seq15423__$6 \x3d cljs.core.next(seq15423__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15424,G__15425,G__15426,G__15427,G__15428,G__15429,seq15423__$6);\n}));\n\n(cljs.core.update_in.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * \x27Updates\x27 a value in an associative structure, where k is a\n * key and f is a function that will take the old value\n * and any supplied args and return the new value, and returns a new\n * structure. If the key does not exist, nil is passed as the old value.\n */\ncljs.core.update \x3d (function cljs$core$update(var_args){\nvar G__15469 \x3d arguments.length;\nswitch (G__15469) {\ncase 3:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___19013 \x3d arguments.length;\nvar i__5770__auto___19014 \x3d (0);\nwhile(true){\nif((i__5770__auto___19014 \x3c len__5769__auto___19013)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___19014]));\n\nvar G__19053 \x3d (i__5770__auto___19014 + (1));\ni__5770__auto___19014 \x3d G__19053;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,k,f){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15470 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__15470) : f.call(null,G__15470));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,k,f,x){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15471 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__15472 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15471,G__15472) : f.call(null,G__15471,G__15472));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,k,f,x,y){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15473 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__15474 \x3d x;\nvar G__15475 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15473,G__15474,G__15475) : f.call(null,G__15473,G__15474,G__15475));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,k,f,x,y,z){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15476 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__15477 \x3d x;\nvar G__15478 \x3d y;\nvar G__15479 \x3d z;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__15476,G__15477,G__15478,G__15479) : f.call(null,G__15476,G__15477,G__15478,G__15479));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,k,f,x,y,z,more){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.update.cljs$lang$applyTo \x3d (function (seq15462){\nvar G__15463 \x3d cljs.core.first(seq15462);\nvar seq15462__$1 \x3d cljs.core.next(seq15462);\nvar G__15464 \x3d cljs.core.first(seq15462__$1);\nvar seq15462__$2 \x3d cljs.core.next(seq15462__$1);\nvar G__15465 \x3d cljs.core.first(seq15462__$2);\nvar seq15462__$3 \x3d cljs.core.next(seq15462__$2);\nvar G__15466 \x3d cljs.core.first(seq15462__$3);\nvar seq15462__$4 \x3d cljs.core.next(seq15462__$3);\nvar G__15467 \x3d cljs.core.first(seq15462__$4);\nvar seq15462__$5 \x3d cljs.core.next(seq15462__$4);\nvar G__15468 \x3d cljs.core.first(seq15462__$5);\nvar seq15462__$6 \x3d cljs.core.next(seq15462__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15463,G__15464,G__15465,G__15466,G__15467,G__15468,seq15462__$6);\n}));\n\n(cljs.core.update.cljs$lang$maxFixedArity \x3d (6));\n\n\n/**\n* @constructor\n*/\ncljs.core.VectorNode \x3d (function (edit,arr){\nthis.edit \x3d edit;\nthis.arr \x3d arr;\n});\n\n(cljs.core.VectorNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.VectorNode.cljs$lang$type \x3d true);\n\n(cljs.core.VectorNode.cljs$lang$ctorStr \x3d \x22cljs.core/VectorNode\x22);\n\n(cljs.core.VectorNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/VectorNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/VectorNode.\n */\ncljs.core.__GT_VectorNode \x3d (function cljs$core$__GT_VectorNode(edit,arr){\nreturn (new cljs.core.VectorNode(edit,arr));\n});\n\ncljs.core.pv_fresh_node \x3d (function cljs$core$pv_fresh_node(edit){\nreturn (new cljs.core.VectorNode(edit,[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]));\n});\ncljs.core.pv_aget \x3d (function cljs$core$pv_aget(node,idx){\nreturn (node.arr[idx]);\n});\ncljs.core.pv_aset \x3d (function cljs$core$pv_aset(node,idx,val){\nreturn (node.arr[idx] \x3d val);\n});\ncljs.core.pv_clone_node \x3d (function cljs$core$pv_clone_node(node){\nreturn (new cljs.core.VectorNode(node.edit,cljs.core.aclone(node.arr)));\n});\ncljs.core.tail_off \x3d (function cljs$core$tail_off(pv){\nvar cnt \x3d pv.cnt;\nif((cnt \x3c (32))){\nreturn (0);\n} else {\nreturn (((cnt - (1)) \x3e\x3e\x3e (5)) \x3c\x3c (5));\n}\n});\ncljs.core.new_path \x3d (function cljs$core$new_path(edit,level,node){\nvar ll \x3d level;\nvar ret \x3d node;\nwhile(true){\nif((ll \x3d\x3d\x3d (0))){\nreturn ret;\n} else {\nvar embed \x3d ret;\nvar r \x3d cljs.core.pv_fresh_node(edit);\nvar _ \x3d cljs.core.pv_aset(r,(0),embed);\nvar G__19077 \x3d (ll - (5));\nvar G__19078 \x3d r;\nll \x3d G__19077;\nret \x3d G__19078;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.push_tail \x3d (function cljs$core$push_tail(pv,level,parent,tailnode){\nvar ret \x3d cljs.core.pv_clone_node(parent);\nvar subidx \x3d (((pv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\nif(((5) \x3d\x3d\x3d level)){\ncljs.core.pv_aset(ret,subidx,tailnode);\n\nreturn ret;\n} else {\nvar child \x3d cljs.core.pv_aget(parent,subidx);\nif((!((child \x3d\x3d null)))){\nvar node_to_insert \x3d (function (){var G__15480 \x3d pv;\nvar G__15481 \x3d (level - (5));\nvar G__15482 \x3d child;\nvar G__15483 \x3d tailnode;\nreturn (cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4(G__15480,G__15481,G__15482,G__15483) : cljs.core.push_tail.call(null,G__15480,G__15481,G__15482,G__15483));\n})();\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n} else {\nvar node_to_insert \x3d cljs.core.new_path(null,(level - (5)),tailnode);\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n}\n}\n});\ncljs.core.vector_index_out_of_bounds \x3d (function cljs$core$vector_index_out_of_bounds(i,cnt){\nthrow (new Error([\x22No item \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(i),\x22 in vector of length \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnt)].join(\x27\x27)));\n});\ncljs.core.first_array_for_longvec \x3d (function cljs$core$first_array_for_longvec(pv){\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__19079 \x3d cljs.core.pv_aget(node,(0));\nvar G__19080 \x3d (level - (5));\nnode \x3d G__19079;\nlevel \x3d G__19080;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n});\ncljs.core.unchecked_array_for \x3d (function cljs$core$unchecked_array_for(pv,i){\nif((i \x3e\x3d cljs.core.tail_off(pv))){\nreturn pv.tail;\n} else {\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__19081 \x3d cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31)));\nvar G__19082 \x3d (level - (5));\nnode \x3d G__19081;\nlevel \x3d G__19082;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\ncljs.core.array_for \x3d (function cljs$core$array_for(pv,i){\nif(((((0) \x3c\x3d i)) \x26\x26 ((i \x3c pv.cnt)))){\nreturn cljs.core.unchecked_array_for(pv,i);\n} else {\nreturn cljs.core.vector_index_out_of_bounds(i,pv.cnt);\n}\n});\ncljs.core.do_assoc \x3d (function cljs$core$do_assoc(pv,level,node,i,val){\nvar ret \x3d cljs.core.pv_clone_node(node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(ret,(i \x26 (31)),val);\n\nreturn ret;\n} else {\nvar subidx \x3d ((i \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(function (){var G__15484 \x3d pv;\nvar G__15485 \x3d (level - (5));\nvar G__15486 \x3d cljs.core.pv_aget(node,subidx);\nvar G__15487 \x3d i;\nvar G__15488 \x3d val;\nreturn (cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5 ? cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5(G__15484,G__15485,G__15486,G__15487,G__15488) : cljs.core.do_assoc.call(null,G__15484,G__15485,G__15486,G__15487,G__15488));\n})());\n\nreturn ret;\n}\n});\ncljs.core.pop_tail \x3d (function cljs$core$pop_tail(pv,level,node){\nvar subidx \x3d (((pv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__15489 \x3d pv;\nvar G__15490 \x3d (level - (5));\nvar G__15491 \x3d cljs.core.pv_aget(node,subidx);\nreturn (cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3(G__15489,G__15490,G__15491) : cljs.core.pop_tail.call(null,G__15489,G__15490,G__15491));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,new_child);\n\nreturn ret;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,null);\n\nreturn ret;\n\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.RangedIterator \x3d (function (i,base,arr,v,start,end){\nthis.i \x3d i;\nthis.base \x3d base;\nthis.arr \x3d arr;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\n});\n(cljs.core.RangedIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.i \x3c self__.end);\n}));\n\n(cljs.core.RangedIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.i - self__.base) \x3d\x3d\x3d (32))){\n(self__.arr \x3d cljs.core.unchecked_array_for(self__.v,self__.i));\n\n(self__.base \x3d (self__.base + (32)));\n} else {\n}\n\nvar ret \x3d (self__.arr[(self__.i \x26 (31))]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.RangedIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22base\x22,\x22base\x22,1825810849,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.RangedIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangedIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangedIterator\x22);\n\n(cljs.core.RangedIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RangedIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangedIterator.\n */\ncljs.core.__GT_RangedIterator \x3d (function cljs$core$__GT_RangedIterator(i,base,arr,v,start,end){\nreturn (new cljs.core.RangedIterator(i,base,arr,v,start,end));\n});\n\ncljs.core.ranged_iterator \x3d (function cljs$core$ranged_iterator(v,start,end){\nvar i \x3d start;\nreturn (new cljs.core.RangedIterator(i,(i - (i % (32))),(((start \x3c cljs.core.count(v)))?cljs.core.unchecked_array_for(v,i):null),v,start,end));\n});\ncljs.core.pv_reduce \x3d (function cljs$core$pv_reduce(var_args){\nvar G__15493 \x3d arguments.length;\nswitch (G__15493) {\ncase 4:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (pv,f,start,end){\nif((start \x3c end)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(pv,f,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(pv,start),(start + (1)),end);\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5 \x3d (function (pv,f,init,start,end){\nvar acc \x3d init;\nvar i \x3d start;\nvar arr \x3d cljs.core.unchecked_array_for(pv,start);\nwhile(true){\nif((i \x3c end)){\nvar j \x3d (i \x26 (31));\nvar arr__$1 \x3d (((j \x3d\x3d\x3d (0)))?cljs.core.unchecked_array_for(pv,i):arr);\nvar nacc \x3d (function (){var G__15494 \x3d acc;\nvar G__15495 \x3d (arr__$1[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15494,G__15495) : f.call(null,G__15494,G__15495));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__19124 \x3d nacc;\nvar G__19125 \x3d (i + (1));\nvar G__19126 \x3d arr__$1;\nacc \x3d G__19124;\ni \x3d G__19125;\narr \x3d G__19126;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.pv_reduce.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n\n\n\n\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.APersistentVector \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.APersistentVector}\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentVector \x3d (function (meta,cnt,shift,root,tail,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (new cljs.core.MapEntry(n,(cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentVector.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentVector.prototype.indexOf \x3d (function() {\nvar G__19136 \x3d null;\nvar G__19136__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__19136__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19136 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19136__1.call(this,x);\ncase 2:\nreturn G__19136__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19136.cljs$core$IFn$_invoke$arity$1 \x3d G__19136__1;\nG__19136.cljs$core$IFn$_invoke$arity$2 \x3d G__19136__2;\nreturn G__19136;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.lastIndexOf \x3d (function() {\nvar G__19140 \x3d null;\nvar G__19140__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__19140__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19140 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19140__1.call(this,x);\ncase 2:\nreturn G__19140__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19140.cljs$core$IFn$_invoke$arity$1 \x3d G__19140__1;\nG__19140.cljs$core$IFn$_invoke$arity$2 \x3d G__19140__2;\nreturn G__19140;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__15497 \x3d init__$2;\nvar G__15498 \x3d (j + i);\nvar G__15499 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15497,G__15498,G__15499) : f.call(null,G__15497,G__15498,G__15499));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__19156 \x3d (j + (1));\nvar G__19157 \x3d init__$3;\nj \x3d G__19156;\ninit__$2 \x3d G__19157;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__19158 \x3d (i + len);\nvar G__19159 \x3d init__$2;\ni \x3d G__19158;\ninit__$1 \x3d G__19159;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$APersistentVector$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(coll__$1) \x3c\x3d n)){\nvar new_tail \x3d cljs.core.aclone(self__.tail);\n(new_tail[(n \x26 (31))] \x3d val);\n\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,new_tail,null));\n} else {\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,cljs.core.do_assoc(coll__$1,self__.shift,self__.root,n,val),self__.tail,null));\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn coll__$1.cljs$core$ICollection$_conj$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt),\x22]\x22].join(\x27\x27)));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.ranged_iterator(this$__$1,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,(self__.cnt - (1)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n} else {\nif(((1) \x3c (self__.cnt - cljs.core.tail_off(coll__$1)))){\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt - (1)),self__.shift,self__.root,self__.tail.slice((0),(-1)),null));\n} else {\nvar new_tail \x3d cljs.core.unchecked_array_for(coll__$1,(self__.cnt - (2)));\nvar nr \x3d cljs.core.pop_tail(coll__$1,self__.shift,self__.root);\nvar new_root \x3d (((nr \x3d\x3d null))?cljs.core.PersistentVector.EMPTY_NODE:nr);\nvar cnt_1 \x3d (self__.cnt - (1));\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,(self__.shift - (5)),cljs.core.pv_aget(new_root,(0)),new_tail,null));\n} else {\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,self__.shift,new_root,new_tail,null));\n}\n\n}\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(self__.cnt - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((other instanceof cljs.core.PersistentVector)){\nif((self__.cnt \x3d\x3d\x3d cljs.core.count(other))){\nvar me_iter \x3d coll__$1.cljs$core$IIterable$_iterator$arity$1(null);\nvar you_iter \x3d other.cljs$core$IIterable$_iterator$arity$1(null);\nwhile(true){\nif(me_iter.hasNext()){\nvar x \x3d me_iter.next();\nvar y \x3d you_iter.next();\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientVector(self__.cnt,self__.shift,(cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1(self__.root) : cljs.core.tv_editable_root.call(null,self__.root)),(cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1(self__.tail) : cljs.core.tv_editable_tail.call(null,self__.tail))));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (v,f){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(v__$1,f,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__15500 \x3d init__$2;\nvar G__15501 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15500,G__15501) : f.call(null,G__15500,G__15501));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__19178 \x3d (j + (1));\nvar G__19179 \x3d init__$3;\nj \x3d G__19178;\ninit__$2 \x3d G__19179;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__19180 \x3d (i + len);\nvar G__19181 \x3d init__$2;\ni \x3d G__19180;\ninit__$1 \x3d G__19181;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,k,v);\n} else {\nthrow (new Error(\x22Vector\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(k)){\nreturn ((((0) \x3c\x3d k)) \x26\x26 ((k \x3c self__.cnt)));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nif((self__.cnt \x3c\x3d (32))){\nreturn (new cljs.core.IndexedSeq(self__.tail,(0),null));\n} else {\nvar G__15502 \x3d coll__$1;\nvar G__15503 \x3d cljs.core.first_array_for_longvec(coll__$1);\nvar G__15504 \x3d (0);\nvar G__15505 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__15502,G__15503,G__15504,G__15505) : cljs.core.chunked_seq.call(null,G__15502,G__15503,G__15504,G__15505));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentVector(new_meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.cnt - cljs.core.tail_off(coll__$1)) \x3c (32))){\nvar len \x3d self__.tail.length;\nvar new_tail \x3d (new Array((len + (1))));\nvar n__5636__auto___19190 \x3d len;\nvar i_19191 \x3d (0);\nwhile(true){\nif((i_19191 \x3c n__5636__auto___19190)){\n(new_tail[i_19191] \x3d (self__.tail[i_19191]));\n\nvar G__19192 \x3d (i_19191 + (1));\ni_19191 \x3d G__19192;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(new_tail[len] \x3d o);\n\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),self__.shift,self__.root,new_tail,null));\n} else {\nvar root_overflow_QMARK_ \x3d ((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift));\nvar new_shift \x3d ((root_overflow_QMARK_)?(self__.shift + (5)):self__.shift);\nvar new_root \x3d ((root_overflow_QMARK_)?(function (){var n_r \x3d cljs.core.pv_fresh_node(null);\ncljs.core.pv_aset(n_r,(0),self__.root);\n\ncljs.core.pv_aset(n_r,(1),cljs.core.new_path(null,self__.shift,(new cljs.core.VectorNode(null,self__.tail))));\n\nreturn n_r;\n})():cljs.core.push_tail(coll__$1,self__.shift,self__.root,(new cljs.core.VectorNode(null,self__.tail))));\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),new_shift,new_root,[o],null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15506 \x3d (arguments.length - (1));\nswitch (G__15506) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentVector.prototype.apply \x3d (function (self__,args15496){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15496)));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n} else {\nthrow (new Error(\x22Key must be integer\x22));\n}\n}));\n\n(cljs.core.PersistentVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentVector.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentVector.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentVector\x22);\n\n(cljs.core.PersistentVector.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentVector.\n */\ncljs.core.__GT_PersistentVector \x3d (function cljs$core$__GT_PersistentVector(meta,cnt,shift,root,tail,__hash){\nreturn (new cljs.core.PersistentVector(meta,cnt,shift,root,tail,__hash));\n});\n\n(cljs.core.PersistentVector.EMPTY_NODE \x3d (new cljs.core.VectorNode(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])));\n(cljs.core.PersistentVector.EMPTY \x3d (new cljs.core.PersistentVector(null,(0),(5),cljs.core.PersistentVector.EMPTY_NODE,[],cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentVector.fromArray \x3d (function (xs,no_clone){\nvar l \x3d xs.length;\nvar xs__$1 \x3d ((no_clone)?xs:cljs.core.aclone(xs));\nif((l \x3c (32))){\nreturn (new cljs.core.PersistentVector(null,l,(5),cljs.core.PersistentVector.EMPTY_NODE,xs__$1,null));\n} else {\nvar node \x3d xs__$1.slice((0),(32));\nvar v \x3d (new cljs.core.PersistentVector(null,(32),(5),cljs.core.PersistentVector.EMPTY_NODE,node,null));\nvar i \x3d (32);\nvar out \x3d v.cljs$core$IEditableCollection$_as_transient$arity$1(null);\nwhile(true){\nif((i \x3c l)){\nvar G__19212 \x3d (i + (1));\nvar G__19213 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(out,(xs__$1[i]));\ni \x3d G__19212;\nout \x3d G__19213;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentVector.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Creates a new vector containing the contents of coll. JavaScript arrays\n * will be aliased and should not be modified.\n */\ncljs.core.vec \x3d (function cljs$core$vec(coll){\nif(cljs.core.truth_((cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.map_entry_QMARK_.call(null,coll)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.key.call(null,coll)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.val.call(null,coll))], null);\n} else {\nif(cljs.core.vector_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.PersistentVector.fromArray(coll,true);\n} else {\nreturn cljs.core._persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core._as_transient(cljs.core.PersistentVector.EMPTY),coll));\n\n}\n}\n}\n});\n/**\n * Creates a new vector containing the args.\n */\ncljs.core.vector \x3d (function cljs$core$vector(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19215 \x3d arguments.length;\nvar i__5770__auto___19217 \x3d (0);\nwhile(true){\nif((i__5770__auto___19217 \x3c len__5769__auto___19215)){\nargs__5775__auto__.push((arguments[i__5770__auto___19217]));\n\nvar G__19218 \x3d (i__5770__auto___19217 + (1));\ni__5770__auto___19217 \x3d G__19218;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nif((((args instanceof cljs.core.IndexedSeq)) \x26\x26 ((args.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentVector.fromArray(args.arr,(!(cljs.core.array_QMARK_(args.arr))));\n} else {\nreturn cljs.core.vec(args);\n}\n}));\n\n(cljs.core.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.vector.cljs$lang$applyTo \x3d (function (seq15507){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15507));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ChunkedSeq \x3d (function (vec,node,i,off,meta,__hash){\nthis.vec \x3d vec;\nthis.node \x3d node;\nthis.i \x3d i;\nthis.off \x3d off;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375020;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1536;\n});\n(cljs.core.ChunkedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.indexOf \x3d (function() {\nvar G__19236 \x3d null;\nvar G__19236__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__19236__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19236 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19236__1.call(this,x);\ncase 2:\nreturn G__19236__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19236.cljs$core$IFn$_invoke$arity$1 \x3d G__19236__1;\nG__19236.cljs$core$IFn$_invoke$arity$2 \x3d G__19236__2;\nreturn G__19236;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__19237 \x3d null;\nvar G__19237__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__19237__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19237 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19237__1.call(this,x);\ncase 2:\nreturn G__19237__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19237.cljs$core$IFn$_invoke$arity$1 \x3d G__19237__1;\nG__19237.cljs$core$IFn$_invoke$arity$2 \x3d G__19237__2;\nreturn G__19237;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__15508 \x3d self__.vec;\nvar G__15509 \x3d self__.node;\nvar G__15510 \x3d self__.i;\nvar G__15511 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__15508,G__15509,G__15510,G__15511) : cljs.core.chunked_seq.call(null,G__15508,G__15509,G__15510,G__15511));\n})();\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.vec,f,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.vec,f,start,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.node[self__.off]);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__15512 \x3d self__.vec;\nvar G__15513 \x3d self__.node;\nvar G__15514 \x3d self__.i;\nvar G__15515 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__15512,G__15513,G__15514,G__15515) : cljs.core.chunked_seq.call(null,G__15512,G__15513,G__15514,G__15515));\n})();\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(self__.node,self__.off);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__15516 \x3d self__.vec;\nvar G__15517 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__15518 \x3d end;\nvar G__15519 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__15516,G__15517,G__15518,G__15519) : cljs.core.chunked_seq.call(null,G__15516,G__15517,G__15518,G__15519));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(self__.vec,self__.node,self__.i,self__.off,new_meta) : cljs.core.chunked_seq.call(null,self__.vec,self__.node,self__.i,self__.off,new_meta));\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__15520 \x3d self__.vec;\nvar G__15521 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__15522 \x3d end;\nvar G__15523 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__15520,G__15521,G__15522,G__15523) : cljs.core.chunked_seq.call(null,G__15520,G__15521,G__15522,G__15523));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ChunkedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vec\x22,\x22vec\x22,982683596,null),new cljs.core.Symbol(null,\x22node\x22,\x22node\x22,-2073234571,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedSeq\x22);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ChunkedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedSeq.\n */\ncljs.core.__GT_ChunkedSeq \x3d (function cljs$core$__GT_ChunkedSeq(vec,node,i,off,meta,__hash){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,__hash));\n});\n\n(cljs.core.ChunkedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.chunked_seq \x3d (function cljs$core$chunked_seq(var_args){\nvar G__15525 \x3d arguments.length;\nswitch (G__15525) {\ncase 3:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (vec,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,cljs.core.array_for(vec,i),i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 \x3d (function (vec,node,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 \x3d (function (vec,node,i,off,meta){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,null));\n}));\n\n(cljs.core.chunked_seq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Subvec \x3d (function (meta,v,start,end,__hash){\nthis.meta \x3d meta;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.core.Subvec.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3c (0))){\nreturn null;\n} else {\nvar idx \x3d (self__.start + n);\nif((idx \x3c self__.end)){\nreturn (new cljs.core.MapEntry(n,cljs.core._lookup(self__.v,idx),null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Subvec.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Subvec.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Subvec.prototype.indexOf \x3d (function() {\nvar G__19376 \x3d null;\nvar G__19376__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__19376__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__19376 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__19376__1.call(this,x);\ncase 2:\nreturn G__19376__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19376.cljs$core$IFn$_invoke$arity$1 \x3d G__19376__1;\nG__19376.cljs$core$IFn$_invoke$arity$2 \x3d G__19376__2;\nreturn G__19376;\n})()\n);\n\n(cljs.core.Subvec.prototype.lastIndexOf \x3d (function() {\nvar G__19392 \x3d null;\nvar G__19392__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__19392__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__19392 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__19392__1.call(this,x);\ncase 2:\nreturn G__19392__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19392.cljs$core$IFn$_invoke$arity$1 \x3d G__19392__1;\nG__19392.cljs$core$IFn$_invoke$arity$2 \x3d G__19392__2;\nreturn G__19392;\n})()\n);\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i \x3d self__.start;\nvar j \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.end)){\nvar init__$2 \x3d (function (){var G__15527 \x3d init__$1;\nvar G__15528 \x3d j;\nvar G__15529 \x3d cljs.core._nth(self__.v,i);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15527,G__15528,G__15529) : f.call(null,G__15527,G__15528,G__15529));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__19411 \x3d (i + (1));\nvar G__19412 \x3d (j + (1));\nvar G__19413 \x3d init__$2;\ni \x3d G__19411;\nj \x3d G__19412;\ninit__$1 \x3d G__19413;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn cljs.core.vector_index_out_of_bounds(n,(self__.end - self__.start));\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn not_found;\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n),not_found);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v_pos \x3d (self__.start + n);\nif((((n \x3c (0))) || (((self__.end + (1)) \x3c\x3d v_pos)))){\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll__$1.cljs$core$ICounted$_count$arity$1(null)),\x22]\x22].join(\x27\x27)));\n} else {\nvar G__15530 \x3d self__.meta;\nvar G__15531 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.v,v_pos,val);\nvar G__15532 \x3d self__.start;\nvar G__15533 \x3d (function (){var x__5130__auto__ \x3d self__.end;\nvar y__5131__auto__ \x3d (v_pos + (1));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar G__15534 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__15530,G__15531,G__15532,G__15533,G__15534) : cljs.core.build_subvec.call(null,G__15530,G__15531,G__15532,G__15533,G__15534));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.ranged_iterator(self__.v,self__.start,self__.end);\n} else {\nreturn cljs.core.seq_iter(coll__$1);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Subvec(self__.meta,self__.v,self__.start,self__.end,self__.__hash));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.end - self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core._nth(self__.v,(self__.end - (1)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nvar G__15536 \x3d self__.meta;\nvar G__15537 \x3d self__.v;\nvar G__15538 \x3d self__.start;\nvar G__15539 \x3d (self__.end - (1));\nvar G__15540 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__15536,G__15537,G__15538,G__15539,G__15540) : cljs.core.build_subvec.call(null,G__15536,G__15537,G__15538,G__15539,G__15540));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.start \x3d\x3d\x3d self__.end)))){\nreturn (new cljs.core.RSeq(coll__$1,((self__.end - self__.start) - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.v,f,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.v,f,init,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,init);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,key,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22Subvec\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,key){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(key)){\nreturn ((((0) \x3c\x3d key)) \x26\x26 ((key \x3c (self__.end - self__.start))));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar subvec_seq \x3d (function cljs$core$subvec_seq(i){\nif((i \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core.cons(cljs.core._nth(self__.v,i),(new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$subvec_seq((i + (1)));\n}),null,null)));\n}\n});\nreturn subvec_seq(self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(new_meta,self__.v,self__.start,self__.end,self__.__hash) : cljs.core.build_subvec.call(null,new_meta,self__.v,self__.start,self__.end,self__.__hash));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__15543 \x3d self__.meta;\nvar G__15544 \x3d cljs.core._assoc_n(self__.v,self__.end,o);\nvar G__15545 \x3d self__.start;\nvar G__15546 \x3d (self__.end + (1));\nvar G__15547 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__15543,G__15544,G__15545,G__15546,G__15547) : cljs.core.build_subvec.call(null,G__15543,G__15544,G__15545,G__15546,G__15547));\n}));\n\n(cljs.core.Subvec.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15548 \x3d (arguments.length - (1));\nswitch (G__15548) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Subvec.prototype.apply \x3d (function (self__,args15526){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15526)));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.Subvec.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Subvec.cljs$lang$type \x3d true);\n\n(cljs.core.Subvec.cljs$lang$ctorStr \x3d \x22cljs.core/Subvec\x22);\n\n(cljs.core.Subvec.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Subvec\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Subvec.\n */\ncljs.core.__GT_Subvec \x3d (function cljs$core$__GT_Subvec(meta,v,start,end,__hash){\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n});\n\n(cljs.core.Subvec.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.build_subvec \x3d (function cljs$core$build_subvec(meta,v,start,end,__hash){\nwhile(true){\nif((v instanceof cljs.core.Subvec)){\nvar G__19460 \x3d meta;\nvar G__19461 \x3d v.v;\nvar G__19462 \x3d (v.start + start);\nvar G__19463 \x3d (v.start + end);\nvar G__19464 \x3d __hash;\nmeta \x3d G__19460;\nv \x3d G__19461;\nstart \x3d G__19462;\nend \x3d G__19463;\n__hash \x3d G__19464;\ncontinue;\n} else {\nif(cljs.core.vector_QMARK_(v)){\n} else {\nthrow (new Error(\x22v must satisfy IVector\x22));\n}\n\nif((((start \x3c (0))) || ((((end \x3c start)) || ((end \x3e cljs.core.count(v))))))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\n}\n\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n}\nbreak;\n}\n});\n/**\n * Returns a persistent vector of the items in vector from\n * start (inclusive) to end (exclusive). If end is not supplied,\n * defaults to (count vector). This operation is O(1) and very fast, as\n * the resulting vector shares structure with the original and no\n * trimming is done.\n */\ncljs.core.subvec \x3d (function cljs$core$subvec(var_args){\nvar G__15550 \x3d arguments.length;\nswitch (G__15550) {\ncase 2:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$2 \x3d (function (v,start){\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(v,start,cljs.core.count(v));\n}));\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3 \x3d (function (v,start,end){\nif((((!((start \x3d\x3d null)))) \x26\x26 ((!((end \x3d\x3d null)))))){\n} else {\nthrow (new Error(\x22Assert failed: (and (not (nil? start)) (not (nil? end)))\x22));\n}\n\nreturn cljs.core.build_subvec(null,v,(start | (0)),(end | (0)),null);\n}));\n\n(cljs.core.subvec.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.tv_ensure_editable \x3d (function cljs$core$tv_ensure_editable(edit,node){\nif((edit \x3d\x3d\x3d node.edit)){\nreturn node;\n} else {\nreturn (new cljs.core.VectorNode(edit,cljs.core.aclone(node.arr)));\n}\n});\ncljs.core.tv_editable_root \x3d (function cljs$core$tv_editable_root(node){\nreturn (new cljs.core.VectorNode(({}),cljs.core.aclone(node.arr)));\n});\ncljs.core.tv_editable_tail \x3d (function cljs$core$tv_editable_tail(tl){\nvar ret \x3d [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];\ncljs.core.array_copy(tl,(0),ret,(0),tl.length);\n\nreturn ret;\n});\ncljs.core.tv_push_tail \x3d (function cljs$core$tv_push_tail(tv,level,parent,tail_node){\nvar ret \x3d cljs.core.tv_ensure_editable(tv.root.edit,parent);\nvar subidx \x3d (((tv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(((level \x3d\x3d\x3d (5)))?tail_node:(function (){var child \x3d cljs.core.pv_aget(ret,subidx);\nif((!((child \x3d\x3d null)))){\nvar G__15553 \x3d tv;\nvar G__15554 \x3d (level - (5));\nvar G__15555 \x3d child;\nvar G__15556 \x3d tail_node;\nreturn (cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4(G__15553,G__15554,G__15555,G__15556) : cljs.core.tv_push_tail.call(null,G__15553,G__15554,G__15555,G__15556));\n} else {\nreturn cljs.core.new_path(tv.root.edit,(level - (5)),tail_node);\n}\n})()));\n\nreturn ret;\n});\ncljs.core.tv_pop_tail \x3d (function cljs$core$tv_pop_tail(tv,level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(tv.root.edit,node);\nvar subidx \x3d (((tv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__15557 \x3d tv;\nvar G__15558 \x3d (level - (5));\nvar G__15559 \x3d cljs.core.pv_aget(node__$1,subidx);\nreturn (cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3(G__15557,G__15558,G__15559) : cljs.core.tv_pop_tail.call(null,G__15557,G__15558,G__15559));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,new_child);\n\nreturn node__$1;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,null);\n\nreturn node__$1;\n\n}\n}\n});\ncljs.core.unchecked_editable_array_for \x3d (function cljs$core$unchecked_editable_array_for(tv,i){\nif((i \x3e\x3d cljs.core.tail_off(tv))){\nreturn tv.tail;\n} else {\nvar root \x3d tv.root;\nvar node \x3d root;\nvar level \x3d tv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__19502 \x3d cljs.core.tv_ensure_editable(root.edit,cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31))));\nvar G__19503 \x3d (level - (5));\nnode \x3d G__19502;\nlevel \x3d G__19503;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientVector}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientVector \x3d (function (cnt,shift,root,tail){\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 88;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 275;\n});\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((self__.cnt - cljs.core.tail_off(tcoll__$1)) \x3c (32))){\n(self__.tail[(self__.cnt \x26 (31))] \x3d o);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar tail_node \x3d (new cljs.core.VectorNode(self__.root.edit,self__.tail));\nvar new_tail \x3d [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];\n(new_tail[(0)] \x3d o);\n\n(self__.tail \x3d new_tail);\n\nif(((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift))){\nvar new_root_array \x3d [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];\nvar new_shift \x3d (self__.shift + (5));\n(new_root_array[(0)] \x3d self__.root);\n\n(new_root_array[(1)] \x3d cljs.core.new_path(self__.root.edit,self__.shift,tail_node));\n\n(self__.root \x3d (new cljs.core.VectorNode(self__.root.edit,new_root_array)));\n\n(self__.shift \x3d new_shift);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d cljs.core.tv_push_tail(tcoll__$1,self__.shift,self__.root,tail_node);\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\n(self__.root.edit \x3d null);\n\nvar len \x3d (self__.cnt - cljs.core.tail_off(tcoll__$1));\nvar trimmed_tail \x3d (new Array(len));\ncljs.core.array_copy(self__.tail,(0),trimmed_tail,(0),len);\n\nreturn (new cljs.core.PersistentVector(null,self__.cnt,self__.shift,self__.root,trimmed_tail,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn tcoll__$1.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22TransientVector\x27s key for assoc! must be a number.\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d (function (tcoll,n,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(tcoll__$1) \x3c\x3d n)){\n(self__.tail[(n \x26 (31))] \x3d val);\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d (function cljs$core$go(level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(node__$1,(n \x26 (31)),val);\n\nreturn node__$1;\n} else {\nvar subidx \x3d ((n \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(node__$1,subidx,cljs$core$go((level - (5)),cljs.core.pv_aget(node__$1,subidx)));\n\nreturn node__$1;\n}\n})(self__.shift,self__.root);\n(self__.root \x3d new_root);\n\nreturn tcoll__$1;\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn tcoll__$1.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds for TransientVector of length\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt)].join(\x27\x27)));\n\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\n(self__.cnt \x3d (0));\n\nreturn tcoll__$1;\n} else {\nif((((self__.cnt - (1)) \x26 (31)) \x3e (0))){\n(self__.cnt \x3d (self__.cnt - (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_tail \x3d cljs.core.unchecked_editable_array_for(tcoll__$1,(self__.cnt - (2)));\nvar new_root \x3d (function (){var nr \x3d cljs.core.tv_pop_tail(tcoll__$1,self__.shift,self__.root);\nif((!((nr \x3d\x3d null)))){\nreturn nr;\n} else {\nreturn (new cljs.core.VectorNode(self__.root.edit,[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]));\n}\n})();\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nvar new_root__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,cljs.core.pv_aget(new_root,(0)));\n(self__.root \x3d new_root__$1);\n\n(self__.shift \x3d (self__.shift - (5)));\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n} else {\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n}\n\n}\n}\n}\n} else {\nthrow (new Error(\x22pop! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn self__.cnt;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nthrow (new Error(\x22nth after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!(self__.root.edit))){\nthrow (new Error(\x22lookup after persistent!\x22));\n} else {\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.TransientVector.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15561 \x3d (arguments.length - (1));\nswitch (G__15561) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientVector.prototype.apply \x3d (function (self__,args15560){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15560)));\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.TransientVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientVector.cljs$lang$type \x3d true);\n\n(cljs.core.TransientVector.cljs$lang$ctorStr \x3d \x22cljs.core/TransientVector\x22);\n\n(cljs.core.TransientVector.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientVector.\n */\ncljs.core.__GT_TransientVector \x3d (function cljs$core$__GT_TransientVector(cnt,shift,root,tail){\nreturn (new cljs.core.TransientVector(cnt,shift,root,tail));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentQueueIter \x3d (function (fseq,riter){\nthis.fseq \x3d fseq;\nthis.riter \x3d riter;\n});\n(cljs.core.PersistentQueueIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5045__auto__ \x3d (((!((self__.fseq \x3d\x3d null)))) \x26\x26 (cljs.core.seq(self__.fseq)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d (!((self__.riter \x3d\x3d null)));\nif(and__5043__auto__){\nreturn self__.riter.hasNext();\n} else {\nreturn and__5043__auto__;\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.fseq \x3d\x3d null)))){\nvar ret \x3d cljs.core.first(self__.fseq);\n(self__.fseq \x3d cljs.core.next(self__.fseq));\n\nreturn ret;\n} else {\nif((((!((self__.riter \x3d\x3d null)))) \x26\x26 (self__.riter.hasNext()))){\nreturn self__.riter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.PersistentQueueIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22fseq\x22,\x22fseq\x22,-1466412450,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22riter\x22,\x22riter\x22,-237834262,null)], null);\n}));\n\n(cljs.core.PersistentQueueIter.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueIter\x22);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentQueueIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueIter.\n */\ncljs.core.__GT_PersistentQueueIter \x3d (function cljs$core$__GT_PersistentQueueIter(fseq,riter){\nreturn (new cljs.core.PersistentQueueIter(fseq,riter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueueSeq \x3d (function (meta,front,rear,__hash){\nthis.meta \x3d meta;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850700;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentQueueSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.indexOf \x3d (function() {\nvar G__19538 \x3d null;\nvar G__19538__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__19538__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19538 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19538__1.call(this,x);\ncase 2:\nreturn G__19538__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19538.cljs$core$IFn$_invoke$arity$1 \x3d G__19538__1;\nG__19538.cljs$core$IFn$_invoke$arity$2 \x3d G__19538__2;\nreturn G__19538;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.lastIndexOf \x3d (function() {\nvar G__19539 \x3d null;\nvar G__19539__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__19539__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19539 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19539__1.call(this,x);\ncase 2:\nreturn G__19539__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19539.cljs$core$IFn$_invoke$arity$1 \x3d G__19539__1;\nG__19539.cljs$core$IFn$_invoke$arity$2 \x3d G__19539__2;\nreturn G__19539;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((!((self__.rear \x3d\x3d null)))){\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((self__.rear \x3d\x3d null)){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueueSeq(new_meta,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueueSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueSeq\x22);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentQueueSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueSeq.\n */\ncljs.core.__GT_PersistentQueueSeq \x3d (function cljs$core$__GT_PersistentQueueSeq(meta,front,rear,__hash){\nreturn (new cljs.core.PersistentQueueSeq(meta,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueueSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueue \x3d (function (meta,count,front,rear,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31858766;\n});\n(cljs.core.PersistentQueue.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueue.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.indexOf \x3d (function() {\nvar G__19571 \x3d null;\nvar G__19571__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__19571__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19571 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19571__1.call(this,x);\ncase 2:\nreturn G__19571__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19571.cljs$core$IFn$_invoke$arity$1 \x3d G__19571__1;\nG__19571.cljs$core$IFn$_invoke$arity$2 \x3d G__19571__2;\nreturn G__19571;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.lastIndexOf \x3d (function() {\nvar G__19575 \x3d null;\nvar G__19575__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(self__.count.cljs$core$IFn$_invoke$arity$1 ? self__.count.cljs$core$IFn$_invoke$arity$1(coll) : self__.count.call(null,coll)));\n});\nvar G__19575__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19575 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19575__1.call(this,x);\ncase 2:\nreturn G__19575__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19575.cljs$core$IFn$_invoke$arity$1 \x3d G__19575__1;\nG__19575.cljs$core$IFn$_invoke$arity$2 \x3d G__19575__2;\nreturn G__19575;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueueIter(self__.front,cljs.core._iterator(self__.rear)));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueue(self__.meta,self__.count,self__.front,self__.rear,self__.__hash));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),f1,self__.rear,null));\n} else {\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),cljs.core.seq(self__.rear),cljs.core.PersistentVector.EMPTY,null));\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentQueue.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.rest(cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar rear__$1 \x3d cljs.core.seq(self__.rear);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d self__.front;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn rear__$1;\n}\n})())){\nreturn (new cljs.core.PersistentQueueSeq(null,self__.front,cljs.core.seq(rear__$1),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueue(new_meta,self__.count,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),self__.front,cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5045__auto__ \x3d self__.rear;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),o),null));\n} else {\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.front,o),cljs.core.PersistentVector.EMPTY,null));\n}\n}));\n\n(cljs.core.PersistentQueue.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueue.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueue\x22);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentQueue\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueue.\n */\ncljs.core.__GT_PersistentQueue \x3d (function cljs$core$__GT_PersistentQueue(meta,count,front,rear,__hash){\nreturn (new cljs.core.PersistentQueue(meta,count,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueue.EMPTY \x3d (new cljs.core.PersistentQueue(null,(0),null,cljs.core.PersistentVector.EMPTY,cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentQueue.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n*/\ncljs.core.NeverEquiv \x3d (function (){\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2097152;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NeverEquiv.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NeverEquiv.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.NeverEquiv.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.NeverEquiv.cljs$lang$type \x3d true);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorStr \x3d \x22cljs.core/NeverEquiv\x22);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/NeverEquiv\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NeverEquiv.\n */\ncljs.core.__GT_NeverEquiv \x3d (function cljs$core$__GT_NeverEquiv(){\nreturn (new cljs.core.NeverEquiv());\n});\n\ncljs.core.never_equiv \x3d (new cljs.core.NeverEquiv());\n/**\n * Test map equivalence. Returns true if x equals y, otherwise returns false.\n */\ncljs.core.equiv_map \x3d (function cljs$core$equiv_map(x,y){\nreturn cljs.core.boolean$(((((cljs.core.map_QMARK_(y)) \x26\x26 ((!(cljs.core.record_QMARK_(y))))))?(((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))?(((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1048576))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IKVReduce$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x)))?cljs.core.reduce_kv((function (_,k,v){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,k,cljs.core.never_equiv),v)){\nreturn true;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,x):cljs.core.every_QMARK_((function (xkv){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,cljs.core.first(xkv),cljs.core.never_equiv),cljs.core.second(xkv));\n}),x)):null):null));\n});\ncljs.core.scan_array \x3d (function cljs$core$scan_array(incr,k,array){\nvar len \x3d array.length;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((k \x3d\x3d\x3d (array[i]))){\nreturn i;\n} else {\nvar G__19637 \x3d (i + incr);\ni \x3d G__19637;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.core.obj_map_compare_keys \x3d (function cljs$core$obj_map_compare_keys(a,b){\nvar a__$1 \x3d cljs.core.hash(a);\nvar b__$1 \x3d cljs.core.hash(b);\nif((a__$1 \x3c b__$1)){\nreturn (-1);\n} else {\nif((a__$1 \x3e b__$1)){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\ncljs.core.obj_map__GT_hash_map \x3d (function cljs$core$obj_map__GT_hash_map(m,k,v){\nvar ks \x3d m.keys;\nvar len \x3d ks.length;\nvar so \x3d m.strobj;\nvar mm \x3d cljs.core.meta(m);\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar k__$1 \x3d (ks[i]);\nvar G__19650 \x3d (i + (1));\nvar G__19651 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k__$1,cljs.core.goog$module$goog$object.get(so,k__$1));\ni \x3d G__19650;\nout \x3d G__19651;\ncontinue;\n} else {\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k,v)),mm);\n}\nbreak;\n}\n});\ncljs.core.obj_clone \x3d (function cljs$core$obj_clone(obj,ks){\nvar new_obj \x3d ({});\nvar l \x3d ks.length;\nvar i_19652 \x3d (0);\nwhile(true){\nif((i_19652 \x3c l)){\nvar k_19653 \x3d (ks[i_19652]);\ncljs.core.goog$module$goog$object.set(new_obj,k_19653,cljs.core.goog$module$goog$object.get(obj,k_19653));\n\nvar G__19654 \x3d (i_19652 + (1));\ni_19652 \x3d G__19654;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.ObjMap \x3d (function (meta,keys,strobj,update_count,__hash){\nthis.meta \x3d meta;\nthis.keys \x3d keys;\nthis.strobj \x3d strobj;\nthis.update_count \x3d update_count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4;\n});\n(cljs.core.ObjMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (new cljs.core.MapEntry(k,(self__.strobj[k]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ObjMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (self__.strobj[k]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.keys.length;\nvar keys__$1 \x3d self__.keys.sort(cljs.core.obj_map_compare_keys);\nvar init__$1 \x3d init;\nwhile(true){\nif(cljs.core.seq(keys__$1)){\nvar k \x3d cljs.core.first(keys__$1);\nvar init__$2 \x3d (function (){var G__15567 \x3d init__$1;\nvar G__15568 \x3d k;\nvar G__15569 \x3d (self__.strobj[k]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15567,G__15568,G__15569) : f.call(null,G__15567,G__15568,G__15569));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__19659 \x3d cljs.core.rest(keys__$1);\nvar G__19660 \x3d init__$2;\nkeys__$1 \x3d G__19659;\ninit__$1 \x3d G__19660;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.keys.length;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.transient$(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.ObjMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nvar new_keys \x3d cljs.core.aclone(self__.keys);\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nnew_keys.splice(cljs.core.scan_array((1),k,new_keys),(1));\n\ndelete new_strobj[k];\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nif((((self__.update_count \x3e cljs.core.ObjMap.HASHMAP_THRESHOLD)) || ((self__.keys.length \x3e\x3d cljs.core.ObjMap.HASHMAP_THRESHOLD)))){\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n} else {\nif((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))){\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nreturn (new cljs.core.ObjMap(self__.meta,self__.keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nvar new_keys \x3d cljs.core.aclone(self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nnew_keys.push(k);\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n}\n}\n} else {\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn true;\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.keys.length \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__15565_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__15565_SHARP_,(self__.strobj[p1__15565_SHARP_])],null));\n}),self__.keys.sort(cljs.core.obj_map_compare_keys));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ObjMap(new_meta,self__.keys,self__.strobj,self__.update_count,self__.__hash));\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,coll__$1,entry);\n}\n}));\n\n(cljs.core.ObjMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15570 \x3d (arguments.length - (1));\nswitch (G__15570) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.ObjMap.prototype.apply \x3d (function (self__,args15566){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15566)));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.ObjMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22strobj\x22,\x22strobj\x22,1088091283,null),new cljs.core.Symbol(null,\x22update-count\x22,\x22update-count\x22,-411982269,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ObjMap.cljs$lang$type \x3d true);\n\n(cljs.core.ObjMap.cljs$lang$ctorStr \x3d \x22cljs.core/ObjMap\x22);\n\n(cljs.core.ObjMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ObjMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ObjMap.\n */\ncljs.core.__GT_ObjMap \x3d (function cljs$core$__GT_ObjMap(meta,keys,strobj,update_count,__hash){\nreturn (new cljs.core.ObjMap(meta,keys,strobj,update_count,__hash));\n});\n\n(cljs.core.ObjMap.EMPTY \x3d (new cljs.core.ObjMap(null,[],({}),(0),cljs.core.empty_unordered_hash)));\n(cljs.core.ObjMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.ObjMap.fromObject \x3d (function (ks,obj){\nreturn (new cljs.core.ObjMap(null,ks,obj,(0),null));\n}));\n\n/**\n* @constructor\n*/\ncljs.core.RecordIter \x3d (function (i,record,base_count,fields,ext_map_iter){\nthis.i \x3d i;\nthis.record \x3d record;\nthis.base_count \x3d base_count;\nthis.fields \x3d fields;\nthis.ext_map_iter \x3d ext_map_iter;\n});\n(cljs.core.RecordIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5045__auto__ \x3d (self__.i \x3c self__.base_count);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn self__.ext_map_iter.hasNext();\n}\n}));\n\n(cljs.core.RecordIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.i \x3c self__.base_count)){\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(self__.fields,self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn (new cljs.core.MapEntry(k,cljs.core._lookup(self__.record,k),null));\n} else {\nreturn self__.ext_map_iter.next();\n}\n}));\n\n(cljs.core.RecordIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.RecordIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22record\x22,\x22record\x22,861424668,null),new cljs.core.Symbol(null,\x22base-count\x22,\x22base-count\x22,-1180647182,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22ext-map-iter\x22,\x22ext-map-iter\x22,-1215982757,null)], null);\n}));\n\n(cljs.core.RecordIter.cljs$lang$type \x3d true);\n\n(cljs.core.RecordIter.cljs$lang$ctorStr \x3d \x22cljs.core/RecordIter\x22);\n\n(cljs.core.RecordIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RecordIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RecordIter.\n */\ncljs.core.__GT_RecordIter \x3d (function cljs$core$__GT_RecordIter(i,record,base_count,fields,ext_map_iter){\nreturn (new cljs.core.RecordIter(i,record,base_count,fields,ext_map_iter));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6EntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6EntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar vec__15573 \x3d cljs.core.first(self__.s);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15573,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15573,(1),null);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [k,v], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6EntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6EntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6EntriesIterator\x22);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6EntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6EntriesIterator.\n */\ncljs.core.__GT_ES6EntriesIterator \x3d (function cljs$core$__GT_ES6EntriesIterator(s){\nreturn (new cljs.core.ES6EntriesIterator(s));\n});\n\ncljs.core.es6_entries_iterator \x3d (function cljs$core$es6_entries_iterator(coll){\nreturn (new cljs.core.ES6EntriesIterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ES6SetEntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6SetEntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [x,x], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6SetEntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6SetEntriesIterator\x22);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6SetEntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6SetEntriesIterator.\n */\ncljs.core.__GT_ES6SetEntriesIterator \x3d (function cljs$core$__GT_ES6SetEntriesIterator(s){\nreturn (new cljs.core.ES6SetEntriesIterator(s));\n});\n\ncljs.core.es6_set_entries_iterator \x3d (function cljs$core$es6_set_entries_iterator(coll){\nreturn (new cljs.core.ES6SetEntriesIterator(cljs.core.seq(coll)));\n});\ncljs.core.array_index_of_nil_QMARK_ \x3d (function cljs$core$array_index_of_nil_QMARK_(arr){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((arr[i]) \x3d\x3d null)){\nreturn i;\n} else {\nvar G__19685 \x3d (i + (2));\ni \x3d G__19685;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_keyword_QMARK_ \x3d (function cljs$core$array_index_of_keyword_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.fqn;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Keyword)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).fqn)))){\nreturn i;\n} else {\nvar G__19689 \x3d (i + (2));\ni \x3d G__19689;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_symbol_QMARK_ \x3d (function cljs$core$array_index_of_symbol_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.str;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Symbol)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).str)))){\nreturn i;\n} else {\nvar G__19690 \x3d (i + (2));\ni \x3d G__19690;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_identical_QMARK_ \x3d (function cljs$core$array_index_of_identical_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif((k \x3d\x3d\x3d (arr[i]))){\nreturn i;\n} else {\nvar G__19694 \x3d (i + (2));\ni \x3d G__19694;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_equiv_QMARK_ \x3d (function cljs$core$array_index_of_equiv_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(arr[i]))){\nreturn i;\n} else {\nvar G__19695 \x3d (i + (2));\ni \x3d G__19695;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of \x3d (function cljs$core$array_index_of(arr,k){\nif((k instanceof cljs.core.Keyword)){\nreturn cljs.core.array_index_of_keyword_QMARK_(arr,k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (typeof k \x3d\x3d\x3d \x27number\x27))){\nreturn cljs.core.array_index_of_identical_QMARK_(arr,k);\n} else {\nif((k instanceof cljs.core.Symbol)){\nreturn cljs.core.array_index_of_symbol_QMARK_(arr,k);\n} else {\nif((k \x3d\x3d null)){\nreturn cljs.core.array_index_of_nil_QMARK_(arr);\n} else {\nreturn cljs.core.array_index_of_equiv_QMARK_(arr,k);\n\n}\n}\n}\n}\n});\ncljs.core.array_map_index_of \x3d (function cljs$core$array_map_index_of(m,k){\nreturn cljs.core.array_index_of(m.arr,k);\n});\ncljs.core.array_extend_kv \x3d (function cljs$core$array_extend_kv(arr,k,v){\nvar l \x3d arr.length;\nvar narr \x3d (new Array((l + (2))));\nvar i_19699 \x3d (0);\nwhile(true){\nif((i_19699 \x3c l)){\n(narr[i_19699] \x3d (arr[i_19699]));\n\nvar G__19700 \x3d (i_19699 + (1));\ni_19699 \x3d G__19700;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(narr[l] \x3d k);\n\n(narr[(l + (1))] \x3d v);\n\nreturn narr;\n});\ncljs.core.array_map_extend_kv \x3d (function cljs$core$array_map_extend_kv(m,k,v){\nreturn cljs.core.array_extend_kv(m.arr,k,v);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.MapEntry \x3d (function (key,val,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MapEntry.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__15577 \x3d k;\nswitch (G__15577) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.indexOf \x3d (function() {\nvar G__19708 \x3d null;\nvar G__19708__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__19708__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19708 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19708__1.call(this,x);\ncase 2:\nreturn G__19708__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19708.cljs$core$IFn$_invoke$arity$1 \x3d G__19708__1;\nG__19708.cljs$core$IFn$_invoke$arity$2 \x3d G__19708__2;\nreturn G__19708;\n})()\n);\n\n(cljs.core.MapEntry.prototype.lastIndexOf \x3d (function() {\nvar G__19709 \x3d null;\nvar G__19709__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__19709__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19709 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19709__1.call(this,x);\ncase 2:\nreturn G__19709__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19709.cljs$core$IFn$_invoke$arity$1 \x3d G__19709__1;\nG__19709.cljs$core$IFn$_invoke$arity$2 \x3d G__19709__2;\nreturn G__19709;\n})()\n);\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.MapEntry.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15578 \x3d (arguments.length - (1));\nswitch (G__15578) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.apply \x3d (function (self__,args15576){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15576)));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.MapEntry.cljs$lang$type \x3d true);\n\n(cljs.core.MapEntry.cljs$lang$ctorStr \x3d \x22cljs.core/MapEntry\x22);\n\n(cljs.core.MapEntry.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MapEntry\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MapEntry.\n */\ncljs.core.__GT_MapEntry \x3d (function cljs$core$__GT_MapEntry(key,val,__hash){\nreturn (new cljs.core.MapEntry(key,val,__hash));\n});\n\n/**\n * Returns true if x satisfies IMapEntry\n */\ncljs.core.map_entry_QMARK_ \x3d (function cljs$core$map_entry_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMapEntry$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMapSeq \x3d (function (arr,i,_meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentArrayMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.indexOf \x3d (function() {\nvar G__19752 \x3d null;\nvar G__19752__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__19752__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19752 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19752__1.call(this,x);\ncase 2:\nreturn G__19752__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19752.cljs$core$IFn$_invoke$arity$1 \x3d G__19752__1;\nG__19752.cljs$core$IFn$_invoke$arity$2 \x3d G__19752__2;\nreturn G__19752;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__19792 \x3d null;\nvar G__19792__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__19792__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__19792 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__19792__1.call(this,x);\ncase 2:\nreturn G__19792__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__19792.cljs$core$IFn$_invoke$arity$1 \x3d G__19792__1;\nG__19792.cljs$core$IFn$_invoke$arity$2 \x3d G__19792__2;\nreturn G__19792;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn ((self__.arr.length - self__.i) / (2));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapSeq\x22);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentArrayMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapSeq.\n */\ncljs.core.__GT_PersistentArrayMapSeq \x3d (function cljs$core$__GT_PersistentArrayMapSeq(arr,i,_meta){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n});\n\n(cljs.core.PersistentArrayMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.persistent_array_map_seq \x3d (function cljs$core$persistent_array_map_seq(arr,i,_meta){\nif((i \x3c\x3d (arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n} else {\nreturn null;\n}\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentArrayMapIterator \x3d (function (arr,i,cnt){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.cnt \x3d cnt;\n});\n(cljs.core.PersistentArrayMapIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.cnt);\n}));\n\n(cljs.core.PersistentArrayMapIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n(self__.i \x3d (self__.i + (2)));\n\nreturn ret;\n}));\n\n(cljs.core.PersistentArrayMapIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapIterator\x22);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentArrayMapIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapIterator.\n */\ncljs.core.__GT_PersistentArrayMapIterator \x3d (function cljs$core$__GT_PersistentArrayMapIterator(arr,i,cnt){\nreturn (new cljs.core.PersistentArrayMapIterator(arr,i,cnt));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMap \x3d (function (meta,cnt,arr,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16647951;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn null;\n} else {\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__15581 \x3d cljs.core.seq(coll);\nvar chunk__15582 \x3d null;\nvar count__15583 \x3d (0);\nvar i__15584 \x3d (0);\nwhile(true){\nif((i__15584 \x3c count__15583)){\nvar vec__15591 \x3d chunk__15582.cljs$core$IIndexed$_nth$arity$2(null,i__15584);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15591,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15591,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__19898 \x3d seq__15581;\nvar G__19899 \x3d chunk__15582;\nvar G__19900 \x3d count__15583;\nvar G__19901 \x3d (i__15584 + (1));\nseq__15581 \x3d G__19898;\nchunk__15582 \x3d G__19899;\ncount__15583 \x3d G__19900;\ni__15584 \x3d G__19901;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__15581);\nif(temp__5804__auto__){\nvar seq__15581__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__15581__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__15581__$1);\nvar G__19903 \x3d cljs.core.chunk_rest(seq__15581__$1);\nvar G__19904 \x3d c__5568__auto__;\nvar G__19905 \x3d cljs.core.count(c__5568__auto__);\nvar G__19906 \x3d (0);\nseq__15581 \x3d G__19903;\nchunk__15582 \x3d G__19904;\ncount__15583 \x3d G__19905;\ni__15584 \x3d G__19906;\ncontinue;\n} else {\nvar vec__15594 \x3d cljs.core.first(seq__15581__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15594,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15594,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__19907 \x3d cljs.core.next(seq__15581__$1);\nvar G__19908 \x3d null;\nvar G__19909 \x3d (0);\nvar G__19910 \x3d (0);\nseq__15581 \x3d G__19907;\nchunk__15582 \x3d G__19908;\ncount__15583 \x3d G__19909;\ni__15584 \x3d G__19910;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var G__15597 \x3d init__$1;\nvar G__15598 \x3d (self__.arr[i]);\nvar G__15599 \x3d (self__.arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15597,G__15598,G__15599) : f.call(null,G__15597,G__15598,G__15599));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__19915 \x3d (i + (2));\nvar G__19916 \x3d init__$2;\ni \x3d G__19915;\ninit__$1 \x3d G__19916;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMapIterator(self__.arr,(0),(self__.cnt * (2))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,self__.arr,self__.__hash));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.map_QMARK_(other)) \x26\x26 ((!(cljs.core.record_QMARK_(other)))))){\nvar alen \x3d self__.arr.length;\nvar other__$1 \x3d other;\nif((self__.cnt \x3d\x3d\x3d other__$1.cljs$core$ICounted$_count$arity$1(null))){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c alen)){\nvar v \x3d other__$1.cljs$core$ILookup$_lookup$arity$3(null,(self__.arr[i]),cljs.core.lookup_sentinel);\nif((!((v \x3d\x3d\x3d cljs.core.lookup_sentinel)))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(i + (1))]),v)){\nvar G__19919 \x3d (i + (2));\ni \x3d G__19919;\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientArrayMap(({}),self__.arr.length,cljs.core.aclone(self__.arr)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentArrayMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,start);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3e\x3d (0))){\nvar len \x3d self__.arr.length;\nvar new_len \x3d (len - (2));\nif((new_len \x3d\x3d\x3d (0))){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nvar new_arr \x3d (new Array(new_len));\nvar s \x3d (0);\nvar d \x3d (0);\nwhile(true){\nif((s \x3e\x3d len)){\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt - (1)),new_arr,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(self__.arr[s]))){\nvar G__19924 \x3d (s + (2));\nvar G__19925 \x3d d;\ns \x3d G__19924;\nd \x3d G__19925;\ncontinue;\n} else {\n(new_arr[d] \x3d (self__.arr[s]));\n\n(new_arr[(d + (1))] \x3d (self__.arr[(s + (1))]));\n\nvar G__19927 \x3d (s + (2));\nvar G__19928 \x3d (d + (2));\ns \x3d G__19927;\nd \x3d G__19928;\ncontinue;\n\n}\n}\nbreak;\n}\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.cnt \x3c cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr__$1 \x3d cljs.core.array_map_extend_kv(coll__$1,k,v);\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt + (1)),arr__$1,null));\n} else {\nreturn cljs.core._with_meta(cljs.core._assoc(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1),k,v),self__.meta);\n}\n} else {\nif((v \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn coll__$1;\n} else {\nvar arr__$1 \x3d (function (){var G__15602 \x3d cljs.core.aclone(self__.arr);\n(G__15602[(idx + (1))] \x3d v);\n\nreturn G__15602;\n})();\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,arr__$1,null));\n\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((cljs.core.array_map_index_of(coll__$1,k) \x3d\x3d\x3d (-1))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.persistent_array_map_seq(self__.arr,(0),null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMap(new_meta,self__.cnt,self__.arr,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__19937 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__19938 \x3d cljs.core.next(es);\nret \x3d G__19937;\nes \x3d G__19938;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15603 \x3d (arguments.length - (1));\nswitch (G__15603) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.apply \x3d (function (self__,args15580){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15580)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMap\x22);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMap.\n */\ncljs.core.__GT_PersistentArrayMap \x3d (function cljs$core$__GT_PersistentArrayMap(meta,cnt,arr,__hash){\nreturn (new cljs.core.PersistentArrayMap(meta,cnt,arr,__hash));\n});\n\n(cljs.core.PersistentArrayMap.EMPTY \x3d (new cljs.core.PersistentArrayMap(null,(0),[],cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.PersistentArrayMap.fromArray \x3d (function (arr,no_clone,no_check){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar arr__$2 \x3d ((no_check)?arr__$1:(function (){var ret \x3d [];\nvar i_19949 \x3d (0);\nwhile(true){\nif((i_19949 \x3c arr__$1.length)){\nvar k_19950 \x3d (arr__$1[i_19949]);\nvar v_19951 \x3d (arr__$1[(i_19949 + (1))]);\nvar idx_19952 \x3d cljs.core.array_index_of(ret,k_19950);\nif((idx_19952 \x3d\x3d\x3d (-1))){\nret.push(k_19950);\n\nret.push(v_19951);\n} else {\n}\n\nvar G__19953 \x3d (i_19949 + (2));\ni_19949 \x3d G__19953;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn ret;\n})());\nvar cnt \x3d (arr__$2.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr__$2,null));\n}));\n(cljs.core.PersistentArrayMap.createWithCheck \x3d (function (arr){\nvar ret \x3d [];\nvar i_19954 \x3d (0);\nwhile(true){\nif((i_19954 \x3c arr.length)){\nvar k_19955 \x3d (arr[i_19954]);\nvar v_19956 \x3d (arr[(i_19954 + (1))]);\nvar idx_19957 \x3d cljs.core.array_index_of(ret,k_19955);\nif((idx_19957 \x3d\x3d\x3d (-1))){\nvar G__15604_19959 \x3d ret;\nG__15604_19959.push(k_19955);\n\nG__15604_19959.push(v_19956);\n\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k_19955)].join(\x27\x27)));\n}\n\nvar G__19960 \x3d (i_19954 + (2));\ni_19954 \x3d G__19960;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar cnt \x3d (arr.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr,null));\n}));\ncljs.core.key_test \x3d (function cljs$core$key_test(key,other){\nif((key \x3d\x3d\x3d other)){\nreturn true;\n} else {\nif(cljs.core.keyword_identical_QMARK_(key,other)){\nreturn true;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,other);\n\n}\n}\n});\ncljs.core.pam_dupes_QMARK_ \x3d (function cljs$core$pam_dupes_QMARK_(arr){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5045__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__19963 \x3d ((2) + j);\nj \x3d G__19963;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar or__5045__auto__ \x3d dupe_QMARK_;\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__19964 \x3d ((2) + i);\ni \x3d G__19964;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n});\ncljs.core.pam_new_size \x3d (function cljs$core$pam_new_size(arr){\nvar i \x3d (0);\nvar n \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5045__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__19965 \x3d ((2) + j);\nj \x3d G__19965;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar G__19967 \x3d ((2) + i);\nvar G__19968 \x3d ((dupe_QMARK_)?n:(n + (2)));\ni \x3d G__19967;\nn \x3d G__19968;\ncontinue;\n} else {\nreturn n;\n}\nbreak;\n}\n});\ncljs.core.pam_grow_seed_array \x3d (function cljs$core$pam_grow_seed_array(seed,trailing){\nvar seed_cnt \x3d (seed.length - (1));\nvar extra_kvs \x3d cljs.core.seq(trailing);\nvar ret \x3d (new Array((seed_cnt + ((2) * cljs.core.count(extra_kvs)))));\nvar ret__$1 \x3d cljs.core.array_copy(seed,(0),ret,(0),seed_cnt);\nvar i \x3d seed_cnt;\nvar extra_kvs__$1 \x3d extra_kvs;\nwhile(true){\nif(extra_kvs__$1){\nvar kv \x3d cljs.core.first(extra_kvs__$1);\n(ret__$1[i] \x3d cljs.core._key(kv));\n\n(ret__$1[(i + (1))] \x3d cljs.core._val(kv));\n\nvar G__19971 \x3d ((2) + seed_cnt);\nvar G__19972 \x3d cljs.core.next(extra_kvs__$1);\ni \x3d G__19971;\nextra_kvs__$1 \x3d G__19972;\ncontinue;\n} else {\nreturn ret__$1;\n}\nbreak;\n}\n});\n(cljs.core.PersistentArrayMap.createAsIfByAssoc \x3d (function (init){\nvar len \x3d init.length;\nvar has_trailing_QMARK_ \x3d ((1) \x3d\x3d\x3d (len \x26 (1)));\nif((!(((has_trailing_QMARK_) || (cljs.core.pam_dupes_QMARK_(init)))))){\nreturn (new cljs.core.PersistentArrayMap(null,(len / (2)),init,null));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath(init,has_trailing_QMARK_);\n}\n}));\n(cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath \x3d (function (init,has_trailing_QMARK_){\nvar init__$1 \x3d ((has_trailing_QMARK_)?cljs.core.pam_grow_seed_array(init,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(init[(init.length - (1))]))):init);\nvar n \x3d cljs.core.pam_new_size(init__$1);\nvar len \x3d init__$1.length;\nif((n \x3c len)){\nvar nodups \x3d (new Array(n));\nvar i_19977 \x3d (0);\nvar m_19978 \x3d (0);\nwhile(true){\nif((i_19977 \x3c len)){\nvar dupe_QMARK__19979 \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c m_19978)){\nvar or__5045__auto__ \x3d cljs.core.key_test((init__$1[i_19977]),(init__$1[j]));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__19980 \x3d ((2) + j);\nj \x3d G__19980;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nif((!(dupe_QMARK__19979))){\nvar j_19981 \x3d (function (){var j_19981 \x3d (len - (2));\nwhile(true){\nif((j_19981 \x3e\x3d i_19977)){\nif(cljs.core.key_test((init__$1[i_19977]),(init__$1[j_19981]))){\nreturn j_19981;\n} else {\nvar G__19982 \x3d (j_19981 - (2));\nj_19981 \x3d G__19982;\ncontinue;\n}\n} else {\nreturn j_19981;\n}\nbreak;\n}\n})();\n(nodups[m_19978] \x3d (init__$1[i_19977]));\n\n(nodups[(m_19978 + (1))] \x3d (init__$1[(j_19981 + (1))]));\n\nvar G__19984 \x3d ((2) + i_19977);\nvar G__19985 \x3d ((2) + m_19978);\ni_19977 \x3d G__19984;\nm_19978 \x3d G__19985;\ncontinue;\n} else {\nvar G__19986 \x3d ((2) + i_19977);\nvar G__19987 \x3d m_19978;\ni_19977 \x3d G__19986;\nm_19978 \x3d G__19987;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.PersistentArrayMap(null,(nodups.length / (2)),nodups,null));\n} else {\nreturn (new cljs.core.PersistentArrayMap(null,(init__$1.length / (2)),init__$1,null));\n}\n}));\n(cljs.core.PersistentArrayMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientArrayMap \x3d (function (editable_QMARK_,len,arr){\nthis.editable_QMARK_ \x3d editable_QMARK_;\nthis.len \x3d len;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nreturn cljs.core.quot(self__.len,(2));\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n} else {\nthrow (new Error(\x22lookup after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$2 \x3d tcoll__$1;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nvar G__19992 \x3d cljs.core.next(es);\nvar G__19994 \x3d cljs.core._assoc_BANG_(tcoll__$2,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__19992;\ntcoll__$2 \x3d G__19994;\ncontinue;\n} else {\nreturn tcoll__$2;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\n(self__.editable_QMARK_ \x3d false);\n\nreturn (new cljs.core.PersistentArrayMap(null,cljs.core.quot(self__.len,(2)),self__.arr,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3d\x3d\x3d (-1))){\nif(((self__.len + (2)) \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD))){\n(self__.len \x3d (self__.len + (2)));\n\nself__.arr.push(key);\n\nself__.arr.push(val);\n\nreturn tcoll__$1;\n} else {\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2(self__.len,self__.arr) : cljs.core.array__GT_transient_hash_map.call(null,self__.len,self__.arr)),key,val);\n}\n} else {\nif((val \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn tcoll__$1;\n} else {\n(self__.arr[(idx + (1))] \x3d val);\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3e\x3d (0))){\n(self__.arr[idx] \x3d (self__.arr[(self__.len - (2))]));\n\n(self__.arr[(idx + (1))] \x3d (self__.arr[(self__.len - (1))]));\n\nvar G__15606_19998 \x3d self__.arr;\nG__15606_19998.pop();\n\nG__15606_19998.pop();\n\n\n(self__.len \x3d (self__.len - (2)));\n} else {\n}\n\nreturn tcoll__$1;\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15607 \x3d (arguments.length - (1));\nswitch (G__15607) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.apply \x3d (function (self__,args15605){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15605)));\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22editable?\x22,\x22editable?\x22,-164945806,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22len\x22,\x22len\x22,-1230778691,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.TransientArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientArrayMap\x22);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientArrayMap.\n */\ncljs.core.__GT_TransientArrayMap \x3d (function cljs$core$__GT_TransientArrayMap(editable_QMARK_,len,arr){\nreturn (new cljs.core.TransientArrayMap(editable_QMARK_,len,arr));\n});\n\ncljs.core.array__GT_transient_hash_map \x3d (function cljs$core$array__GT_transient_hash_map(len,arr){\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__20008 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,(arr[i]),(arr[(i + (1))]));\nvar G__20009 \x3d (i + (2));\nout \x3d G__20008;\ni \x3d G__20009;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Box \x3d (function (val){\nthis.val \x3d val;\n});\n\n(cljs.core.Box.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Box.cljs$lang$type \x3d true);\n\n(cljs.core.Box.cljs$lang$ctorStr \x3d \x22cljs.core/Box\x22);\n\n(cljs.core.Box.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Box\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Box.\n */\ncljs.core.__GT_Box \x3d (function cljs$core$__GT_Box(val){\nreturn (new cljs.core.Box(val));\n});\n\n\n\n\n\n\ncljs.core.mask \x3d (function cljs$core$mask(hash,shift){\nreturn ((hash \x3e\x3e\x3e shift) \x26 (31));\n});\ncljs.core.clone_and_set \x3d (function cljs$core$clone_and_set(var_args){\nvar G__15609 \x3d arguments.length;\nswitch (G__15609) {\ncase 3:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,i,a){\nvar G__15610 \x3d cljs.core.aclone(arr);\n(G__15610[i] \x3d a);\n\nreturn G__15610;\n}));\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5 \x3d (function (arr,i,a,j,b){\nvar G__15611 \x3d cljs.core.aclone(arr);\n(G__15611[i] \x3d a);\n\n(G__15611[j] \x3d b);\n\nreturn G__15611;\n}));\n\n(cljs.core.clone_and_set.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.core.remove_pair \x3d (function cljs$core$remove_pair(arr,i){\nvar new_arr \x3d (new Array((arr.length - (2))));\ncljs.core.array_copy(arr,(0),new_arr,(0),((2) * i));\n\ncljs.core.array_copy(arr,((2) * (i + (1))),new_arr,((2) * i),(new_arr.length - ((2) * i)));\n\nreturn new_arr;\n});\ncljs.core.bitmap_indexed_node_index \x3d (function cljs$core$bitmap_indexed_node_index(bitmap,bit){\nreturn cljs.core.bit_count((bitmap \x26 (bit - (1))));\n});\ncljs.core.bitpos \x3d (function cljs$core$bitpos(hash,shift){\nreturn ((1) \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\n});\ncljs.core.edit_and_set \x3d (function cljs$core$edit_and_set(var_args){\nvar G__15613 \x3d arguments.length;\nswitch (G__15613) {\ncase 4:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 6:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4 \x3d (function (inode,edit,i,a){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6 \x3d (function (inode,edit,i,a,j,b){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\n(editable.arr[j] \x3d b);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$lang$maxFixedArity \x3d 6);\n\ncljs.core.inode_kv_reduce \x3d (function cljs$core$inode_kv_reduce(arr,f,init){\nvar len \x3d arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var k \x3d (arr[i]);\nif((!((k \x3d\x3d null)))){\nvar G__15614 \x3d init__$1;\nvar G__15615 \x3d k;\nvar G__15616 \x3d (arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15614,G__15615,G__15616) : f.call(null,G__15614,G__15615,G__15616));\n} else {\nvar node \x3d (arr[(i + (1))]);\nif((!((node \x3d\x3d null)))){\nreturn node.kv_reduce(f,init__$1);\n} else {\nreturn init__$1;\n}\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__20024 \x3d (i + (2));\nvar G__20025 \x3d init__$2;\ni \x3d G__20024;\ninit__$1 \x3d G__20025;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.NodeIterator \x3d (function (arr,i,next_entry,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_entry \x3d next_entry;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.NodeIterator.prototype.advance \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((self__.i \x3c len)){\nvar key \x3d (self__.arr[self__.i]);\nvar node_or_val \x3d (self__.arr[(self__.i + (1))]);\nvar found \x3d (((!((key \x3d\x3d null))))?(self__.next_entry \x3d (new cljs.core.MapEntry(key,node_or_val,null))):(((!((node_or_val \x3d\x3d null))))?(function (){var new_iter \x3d cljs.core._iterator(node_or_val);\nif(new_iter.hasNext()){\nreturn (self__.next_iter \x3d new_iter);\n} else {\nreturn false;\n}\n})():false\n));\n(self__.i \x3d (self__.i + (2)));\n\nif(found){\nreturn true;\n} else {\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n(cljs.core.NodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar or__5045__auto__ \x3d (!((self__.next_entry \x3d\x3d null)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (!((self__.next_iter \x3d\x3d null)));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn this$.advance();\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__.next_entry \x3d\x3d null)))){\nvar ret \x3d self__.next_entry;\n(self__.next_entry \x3d null);\n\nreturn ret;\n} else {\nif((!((self__.next_iter \x3d\x3d null)))){\nvar ret \x3d self__.next_iter.next();\nif(self__.next_iter.hasNext()){\n} else {\n(self__.next_iter \x3d null);\n}\n\nreturn ret;\n} else {\nif(this$.advance()){\nreturn this$.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.NodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-entry\x22,\x22next-entry\x22,1091342476,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.NodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/NodeIterator\x22);\n\n(cljs.core.NodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/NodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeIterator.\n */\ncljs.core.__GT_NodeIterator \x3d (function cljs$core$__GT_NodeIterator(arr,i,next_entry,next_iter){\nreturn (new cljs.core.NodeIterator(arr,i,next_entry,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.BitmapIndexedNode \x3d (function (edit,bitmap,arr){\nthis.edit \x3d edit;\nthis.bitmap \x3d bitmap;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.BitmapIndexedNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nvar new_arr \x3d (new Array((((n \x3c (0)))?(4):((2) * (n + (1))))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * n));\n\nreturn (new cljs.core.BitmapIndexedNode(e,self__.bitmap,new_arr));\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\n(removed_leaf_QMARK_.val \x3d true);\n\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair \x3d (function (e,bit,i){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(e);\nvar earr \x3d editable.arr;\nvar len \x3d earr.length;\n(editable.bitmap \x3d (bit ^ editable.bitmap));\n\ncljs.core.array_copy(earr,((2) * (i + (1))),earr,((2) * i),(len - ((2) * (i + (1)))));\n\n(earr[(len - (2))] \x3d null);\n\n(earr[(len - (1))] \x3d null);\n\nreturn editable;\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn val_or_node;\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((((2) * n) \x3c self__.arr.length)){\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(added_leaf_QMARK_.val \x3d true);\n\ncljs.core.array_copy_downward(earr,((2) * idx),earr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(earr[((2) * idx)] \x3d key);\n\n(earr[(((2) * idx) + (1))] \x3d val);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n} else {\nif((n \x3e\x3d (16))){\nvar nodes \x3d [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];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_20052 \x3d (0);\nvar j_20053 \x3d (0);\nwhile(true){\nif((i_20052 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_20052) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__20054 \x3d (i_20052 + (1));\nvar G__20055 \x3d j_20053;\ni_20052 \x3d G__20054;\nj_20053 \x3d G__20055;\ncontinue;\n} else {\n(nodes[i_20052] \x3d (((!(((self__.arr[j_20053]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),cljs.core.hash((self__.arr[j_20053])),(self__.arr[j_20053]),(self__.arr[(j_20053 + (1))]),added_leaf_QMARK_):(self__.arr[(j_20053 + (1))])));\n\nvar G__20057 \x3d (i_20052 + (1));\nvar G__20058 \x3d (j_20053 + (2));\ni_20052 \x3d G__20057;\nj_20053 \x3d G__20058;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(edit__$1,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (4)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nvar editable \x3d inode.ensure_editable(edit__$1);\n(editable.arr \x3d new_arr);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n\n}\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),val);\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * idx),null,(((2) * idx) + (1)),(function (){var G__15617 \x3d edit__$1;\nvar G__15618 \x3d (shift + (5));\nvar G__15619 \x3d key_or_nil;\nvar G__15620 \x3d val_or_node;\nvar G__15621 \x3d hash;\nvar G__15622 \x3d key;\nvar G__15623 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(G__15617,G__15618,G__15619,G__15620,G__15621,G__15622,G__15623) : cljs.core.create_node.call(null,G__15617,G__15618,G__15619,G__15620,G__15621,G__15622,G__15623));\n})());\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((n \x3e\x3d (16))){\nvar nodes \x3d [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];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_20066 \x3d (0);\nvar j_20067 \x3d (0);\nwhile(true){\nif((i_20066 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_20066) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__20070 \x3d (i_20066 + (1));\nvar G__20071 \x3d j_20067;\ni_20066 \x3d G__20070;\nj_20067 \x3d G__20071;\ncontinue;\n} else {\n(nodes[i_20066] \x3d (((!(((self__.arr[j_20067]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),cljs.core.hash((self__.arr[j_20067])),(self__.arr[j_20067]),(self__.arr[(j_20067 + (1))]),added_leaf_QMARK_):(self__.arr[(j_20067 + (1))])));\n\nvar G__20075 \x3d (i_20066 + (1));\nvar G__20076 \x3d (j_20067 + (2));\ni_20066 \x3d G__20075;\nj_20067 \x3d G__20076;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(null,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap | bit),new_arr));\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),val)));\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(self__.arr,((2) * idx),null,(((2) * idx) + (1)),(function (){var G__15624 \x3d (shift + (5));\nvar G__15625 \x3d key_or_nil;\nvar G__15626 \x3d val_or_node;\nvar G__15627 \x3d hash;\nvar G__15628 \x3d key;\nvar G__15629 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(G__15624,G__15625,G__15626,G__15627,G__15628,G__15629) : cljs.core.create_node.call(null,G__15624,G__15625,G__15626,G__15627,G__15628,G__15629));\n})())));\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn (new cljs.core.MapEntry(key_or_nil,val_or_node,null));\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n}\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.BitmapIndexedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22bitmap\x22,\x22bitmap\x22,501334601,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BitmapIndexedNode.cljs$lang$type \x3d true);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorStr \x3d \x22cljs.core/BitmapIndexedNode\x22);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/BitmapIndexedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BitmapIndexedNode.\n */\ncljs.core.__GT_BitmapIndexedNode \x3d (function cljs$core$__GT_BitmapIndexedNode(edit,bitmap,arr){\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,arr));\n});\n\n(cljs.core.BitmapIndexedNode.EMPTY \x3d (new cljs.core.BitmapIndexedNode(null,(0),[])));\ncljs.core.pack_array_node \x3d (function cljs$core$pack_array_node(array_node,edit,idx){\nvar arr \x3d array_node.arr;\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(((2) * (array_node.cnt - (1)))));\nvar i \x3d (0);\nvar j \x3d (1);\nvar bitmap \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((((!((i \x3d\x3d\x3d idx)))) \x26\x26 ((!(((arr[i]) \x3d\x3d null)))))){\n(new_arr[j] \x3d (arr[i]));\n\nvar G__20085 \x3d (i + (1));\nvar G__20086 \x3d (j + (2));\nvar G__20087 \x3d (bitmap | ((1) \x3c\x3c i));\ni \x3d G__20085;\nj \x3d G__20086;\nbitmap \x3d G__20087;\ncontinue;\n} else {\nvar G__20088 \x3d (i + (1));\nvar G__20089 \x3d j;\nvar G__20090 \x3d bitmap;\ni \x3d G__20088;\nj \x3d G__20089;\nbitmap \x3d G__20090;\ncontinue;\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,new_arr));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayNodeIterator \x3d (function (arr,i,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.ArrayNodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((!((((!((self__.next_iter \x3d\x3d null)))) \x26\x26 (self__.next_iter.hasNext()))))){\nif((self__.i \x3c len)){\nvar node \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nif((!((node \x3d\x3d null)))){\n(self__.next_iter \x3d cljs.core._iterator(node));\n} else {\n}\n\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nreturn self__.next_iter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayNodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeIterator\x22);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayNodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeIterator.\n */\ncljs.core.__GT_ArrayNodeIterator \x3d (function cljs$core$__GT_ArrayNodeIterator(arr,i,next_iter){\nreturn (new cljs.core.ArrayNodeIterator(arr,i,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.ArrayNode \x3d (function (edit,cnt,arr){\nthis.edit \x3d edit;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.ArrayNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(e,self__.cnt,cljs.core.aclone(self__.arr)));\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn inode;\n} else {\nvar n \x3d node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,edit__$1,idx);\n} else {\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n\n}\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_array_node_seq.call(null,self__.arr));\n}));\n\n(cljs.core.ArrayNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar node \x3d (self__.arr[i]);\nif((!((node \x3d\x3d null)))){\nvar init__$2 \x3d node.kv_reduce(f,init__$1);\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__20092 \x3d (i + (1));\nvar G__20093 \x3d init__$2;\ni \x3d G__20092;\ninit__$1 \x3d G__20093;\ncontinue;\n}\n} else {\nvar G__20094 \x3d (i + (1));\nvar G__20095 \x3d init__$1;\ni \x3d G__20094;\ninit__$1 \x3d G__20095;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar n \x3d node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn (new cljs.core.ArrayNode(null,(self__.cnt + (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_))));\n} else {\nvar n \x3d node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nvar n \x3d node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,null,idx);\n} else {\nreturn (new cljs.core.ArrayNode(null,(self__.cnt - (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n\n}\n}\n} else {\nreturn inode;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.ArrayNodeIterator(self__.arr,(0),null));\n}));\n\n(cljs.core.ArrayNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNode.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNode.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNode\x22);\n\n(cljs.core.ArrayNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNode.\n */\ncljs.core.__GT_ArrayNode \x3d (function cljs$core$__GT_ArrayNode(edit,cnt,arr){\nreturn (new cljs.core.ArrayNode(edit,cnt,arr));\n});\n\ncljs.core.hash_collision_node_find_index \x3d (function cljs$core$hash_collision_node_find_index(arr,cnt,key){\nvar lim \x3d ((2) * cnt);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c lim)){\nif(cljs.core.key_test(key,(arr[i]))){\nreturn i;\n} else {\nvar G__20097 \x3d (i + (2));\ni \x3d G__20097;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.HashCollisionNode \x3d (function (edit,collision_hash,cnt,arr){\nthis.edit \x3d edit;\nthis.collision_hash \x3d collision_hash;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.HashCollisionNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar new_arr \x3d (new Array(((2) * (self__.cnt + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * self__.cnt));\n\nreturn (new cljs.core.HashCollisionNode(e,self__.collision_hash,self__.cnt,new_arr));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\n(removed_leaf_QMARK_.val \x3d true);\n\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(earr[idx] \x3d (earr[(((2) * self__.cnt) - (2))]));\n\n(earr[(idx + (1))] \x3d (earr[(((2) * self__.cnt) - (1))]));\n\n(earr[(((2) * self__.cnt) - (1))] \x3d null);\n\n(earr[(((2) * self__.cnt) - (2))] \x3d null);\n\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.HashCollisionNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nif(cljs.core.key_test(key,(self__.arr[idx]))){\nreturn (self__.arr[(idx + (1))]);\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.arr.length \x3e ((2) * self__.cnt))){\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * self__.cnt),key,(((2) * self__.cnt) + (1)),val);\n(added_leaf_QMARK_.val \x3d true);\n\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar len \x3d self__.arr.length;\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn inode.ensure_editable_array(edit__$1,(self__.cnt + (1)),new_arr);\n}\n} else {\nif(((self__.arr[(idx + (1))]) \x3d\x3d\x3d val)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(idx + (1)),val);\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit__$1,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode,null,null])).inode_assoc_BANG_(edit__$1,shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nvar len \x3d ((2) * self__.cnt);\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt + (1)),new_arr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(idx + (1))]),val)){\nreturn inode;\n} else {\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(idx + (1)),val)));\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode])).inode_assoc(shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.ensure_editable_array \x3d (function (e,count,array){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\n(self__.arr \x3d array);\n\n(self__.cnt \x3d count);\n\nreturn inode;\n} else {\nreturn (new cljs.core.HashCollisionNode(self__.edit,self__.collision_hash,count,array));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nif(cljs.core.key_test(key,(self__.arr[idx]))){\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt - (1)),cljs.core.remove_pair(self__.arr,cljs.core.quot(idx,(2)))));\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.HashCollisionNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22collision-hash\x22,\x22collision-hash\x22,-35831342,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashCollisionNode.cljs$lang$type \x3d true);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorStr \x3d \x22cljs.core/HashCollisionNode\x22);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/HashCollisionNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashCollisionNode.\n */\ncljs.core.__GT_HashCollisionNode \x3d (function cljs$core$__GT_HashCollisionNode(edit,collision_hash,cnt,arr){\nreturn (new cljs.core.HashCollisionNode(edit,collision_hash,cnt,arr));\n});\n\ncljs.core.create_node \x3d (function cljs$core$create_node(var_args){\nvar G__15631 \x3d arguments.length;\nswitch (G__15631) {\ncase 6:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 \x3d (function (shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc(shift,key2hash,key2,val2,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 \x3d (function (edit,shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit,shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc_BANG_(edit,shift,key2hash,key2,val2,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.create_node.cljs$lang$maxFixedArity \x3d 7);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.NodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.NodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NodeSeq.prototype.indexOf \x3d (function() {\nvar G__20113 \x3d null;\nvar G__20113__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__20113__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20113 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20113__1.call(this,x);\ncase 2:\nreturn G__20113__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20113.cljs$core$IFn$_invoke$arity$1 \x3d G__20113__1;\nG__20113.cljs$core$IFn$_invoke$arity$2 \x3d G__20113__2;\nreturn G__20113;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__20115 \x3d null;\nvar G__20115__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__20115__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20115 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20115__1.call(this,x);\ncase 2:\nreturn G__20115__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20115.cljs$core$IFn$_invoke$arity$1 \x3d G__20115__1;\nG__20115.cljs$core$IFn$_invoke$arity$2 \x3d G__20115__2;\nreturn G__20115;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nvar G__15632 \x3d self__.nodes;\nvar G__15633 \x3d (self__.i + (2));\nvar G__15634 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__15632,G__15633,G__15634) : cljs.core.create_inode_seq.call(null,G__15632,G__15633,G__15634));\n} else {\nvar G__15635 \x3d self__.nodes;\nvar G__15636 \x3d self__.i;\nvar G__15637 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__15635,G__15636,G__15637) : cljs.core.create_inode_seq.call(null,G__15635,G__15636,G__15637));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nreturn (new cljs.core.MapEntry((self__.nodes[self__.i]),(self__.nodes[(self__.i + (1))]),null));\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (((self__.s \x3d\x3d null))?(function (){var G__15638 \x3d self__.nodes;\nvar G__15639 \x3d (self__.i + (2));\nvar G__15640 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__15638,G__15639,G__15640) : cljs.core.create_inode_seq.call(null,G__15638,G__15639,G__15640));\n})():(function (){var G__15641 \x3d self__.nodes;\nvar G__15642 \x3d self__.i;\nvar G__15643 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__15641,G__15642,G__15643) : cljs.core.create_inode_seq.call(null,G__15641,G__15642,G__15643));\n})());\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.NodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.NodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.NodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/NodeSeq\x22);\n\n(cljs.core.NodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/NodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeSeq.\n */\ncljs.core.__GT_NodeSeq \x3d (function cljs$core$__GT_NodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.NodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.NodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.create_inode_seq \x3d (function cljs$core$create_inode_seq(var_args){\nvar G__15645 \x3d arguments.length;\nswitch (G__15645) {\ncase 1:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nif((!(((nodes[j]) \x3d\x3d null)))){\nreturn (new cljs.core.NodeSeq(null,nodes,j,null,null));\n} else {\nvar temp__5802__auto__ \x3d (nodes[(j + (1))]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar node \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d node.inode_seq();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar node_seq \x3d temp__5802__auto____$1;\nreturn (new cljs.core.NodeSeq(null,nodes,(j + (2)),node_seq,null));\n} else {\nvar G__20120 \x3d (j + (2));\nj \x3d G__20120;\ncontinue;\n}\n} else {\nvar G__20121 \x3d (j + (2));\nj \x3d G__20121;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.NodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_inode_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayNodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayNodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.indexOf \x3d (function() {\nvar G__20122 \x3d null;\nvar G__20122__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__20122__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20122 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20122__1.call(this,x);\ncase 2:\nreturn G__20122__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20122.cljs$core$IFn$_invoke$arity$1 \x3d G__20122__1;\nG__20122.cljs$core$IFn$_invoke$arity$2 \x3d G__20122__2;\nreturn G__20122;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__20123 \x3d null;\nvar G__20123__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__20123__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20123 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20123__1.call(this,x);\ncase 2:\nreturn G__20123__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20123.cljs$core$IFn$_invoke$arity$1 \x3d G__20123__1;\nG__20123.cljs$core$IFn$_invoke$arity$2 \x3d G__20123__2;\nreturn G__20123;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__15646 \x3d self__.nodes;\nvar G__15647 \x3d self__.i;\nvar G__15648 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__15646,G__15647,G__15648) : cljs.core.create_array_node_seq.call(null,G__15646,G__15647,G__15648));\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.s);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (function (){var G__15649 \x3d self__.nodes;\nvar G__15650 \x3d self__.i;\nvar G__15651 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__15649,G__15650,G__15651) : cljs.core.create_array_node_seq.call(null,G__15649,G__15650,G__15651));\n})();\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ArrayNodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeSeq\x22);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayNodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeSeq.\n */\ncljs.core.__GT_ArrayNodeSeq \x3d (function cljs$core$__GT_ArrayNodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.ArrayNodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.ArrayNodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.create_array_node_seq \x3d (function cljs$core$create_array_node_seq(var_args){\nvar G__15653 \x3d arguments.length;\nswitch (G__15653) {\ncase 1:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nvar temp__5802__auto__ \x3d (nodes[j]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar nj \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d nj.inode_seq();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar ns \x3d temp__5802__auto____$1;\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,(j + (1)),ns,null));\n} else {\nvar G__20135 \x3d (j + (1));\nj \x3d G__20135;\ncontinue;\n}\n} else {\nvar G__20136 \x3d (j + (1));\nj \x3d G__20136;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_array_node_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.HashMapIter \x3d (function (nil_val,root_iter,seen){\nthis.nil_val \x3d nil_val;\nthis.root_iter \x3d root_iter;\nthis.seen \x3d seen;\n});\n(cljs.core.HashMapIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (((!(self__.seen))) || (self__.root_iter.hasNext()));\n}));\n\n(cljs.core.HashMapIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!(self__.seen))){\n(self__.seen \x3d true);\n\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn self__.root_iter.next();\n}\n}));\n\n(cljs.core.HashMapIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashMapIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.Symbol(null,\x22root-iter\x22,\x22root-iter\x22,1974672108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seen\x22,\x22seen\x22,1121531738,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashMapIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashMapIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashMapIter\x22);\n\n(cljs.core.HashMapIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/HashMapIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashMapIter.\n */\ncljs.core.__GT_HashMapIter \x3d (function cljs$core$__GT_HashMapIter(nil_val,root_iter,seen){\nreturn (new cljs.core.HashMapIter(nil_val,root_iter,seen));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashMap \x3d (function (meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.root \x3d root;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_find((0),cljs.core.hash(k),k,null);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__15655 \x3d cljs.core.seq(coll);\nvar chunk__15656 \x3d null;\nvar count__15657 \x3d (0);\nvar i__15658 \x3d (0);\nwhile(true){\nif((i__15658 \x3c count__15657)){\nvar vec__15665 \x3d chunk__15656.cljs$core$IIndexed$_nth$arity$2(null,i__15658);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15665,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15665,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__20145 \x3d seq__15655;\nvar G__20146 \x3d chunk__15656;\nvar G__20147 \x3d count__15657;\nvar G__20148 \x3d (i__15658 + (1));\nseq__15655 \x3d G__20145;\nchunk__15656 \x3d G__20146;\ncount__15657 \x3d G__20147;\ni__15658 \x3d G__20148;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__15655);\nif(temp__5804__auto__){\nvar seq__15655__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__15655__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__15655__$1);\nvar G__20153 \x3d cljs.core.chunk_rest(seq__15655__$1);\nvar G__20154 \x3d c__5568__auto__;\nvar G__20155 \x3d cljs.core.count(c__5568__auto__);\nvar G__20156 \x3d (0);\nseq__15655 \x3d G__20153;\nchunk__15656 \x3d G__20154;\ncount__15657 \x3d G__20155;\ni__15658 \x3d G__20156;\ncontinue;\n} else {\nvar vec__15668 \x3d cljs.core.first(seq__15655__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15668,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15668,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__20161 \x3d cljs.core.next(seq__15655__$1);\nvar G__20162 \x3d null;\nvar G__20163 \x3d (0);\nvar G__20164 \x3d (0);\nseq__15655 \x3d G__20161;\nchunk__15656 \x3d G__20162;\ncount__15657 \x3d G__20163;\ni__15658 \x3d G__20164;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar init__$1 \x3d ((self__.has_nil_QMARK_)?(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(init,null,self__.nil_val) : f.call(null,init,null,self__.nil_val)):init);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn cljs.core.deref(init__$1);\n} else {\nif((!((self__.root \x3d\x3d null)))){\nreturn cljs.core.unreduced(self__.root.kv_reduce(f,init__$1));\n} else {\nreturn init__$1;\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar root_iter \x3d ((self__.root)?cljs.core._iterator(self__.root):cljs.core.nil_iter());\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.HashMapIter(self__.nil_val,root_iter,false));\n} else {\nreturn root_iter;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashMap(self__.meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashMap(({}),self__.root,self__.cnt,self__.has_nil_QMARK_,self__.nil_val));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),self__.root,false,null,null));\n} else {\nreturn coll__$1;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn coll__$1;\n} else {\nvar new_root \x3d self__.root.inode_without((0),cljs.core.hash(k),k);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),new_root,self__.has_nil_QMARK_,self__.nil_val,null));\n}\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(((self__.has_nil_QMARK_) \x26\x26 ((v \x3d\x3d\x3d self__.nil_val)))){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,((self__.has_nil_QMARK_)?self__.cnt:(self__.cnt + (1))),self__.root,true,v,null));\n}\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar new_root \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc((0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,((added_leaf_QMARK_.val)?(self__.cnt + (1)):self__.cnt),new_root,self__.has_nil_QMARK_,self__.nil_val,null));\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nreturn self__.has_nil_QMARK_;\n} else {\nif((self__.root \x3d\x3d null)){\nreturn false;\n} else {\nreturn (!((self__.root.inode_lookup((0),cljs.core.hash(k),k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)));\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar s \x3d (((!((self__.root \x3d\x3d null))))?self__.root.inode_seq():null);\nif(self__.has_nil_QMARK_){\nreturn cljs.core.cons((new cljs.core.MapEntry(null,self__.nil_val,null)),s);\n} else {\nreturn s;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(new_meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__20226 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__20227 \x3d cljs.core.next(es);\nret \x3d G__20226;\nes \x3d G__20227;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15673 \x3d (arguments.length - (1));\nswitch (G__15673) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.apply \x3d (function (self__,args15654){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15654)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashMap\x22);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashMap.\n */\ncljs.core.__GT_PersistentHashMap \x3d (function cljs$core$__GT_PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nreturn (new cljs.core.PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash));\n});\n\n(cljs.core.PersistentHashMap.EMPTY \x3d (new cljs.core.PersistentHashMap(null,(0),null,false,null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashMap.fromArray \x3d (function (arr,no_clone){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar len \x3d arr__$1.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__20234 \x3d (i + (2));\nvar G__20235 \x3d cljs.core._assoc_BANG_(ret,(arr__$1[i]),(arr__$1[(i + (1))]));\ni \x3d G__20234;\nret \x3d G__20235;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(ret);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.fromArrays \x3d (function (ks,vs){\nvar len \x3d ks.length;\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nif((vs.length \x3c\x3d i)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((ks[i]))].join(\x27\x27)));\n} else {\nvar G__20239 \x3d (i + (1));\nvar G__20240 \x3d cljs.core._assoc_BANG_(out,(ks[i]),(vs[i]));\ni \x3d G__20239;\nout \x3d G__20240;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.createWithCheck \x3d (function (arr){\nvar len \x3d arr.length;\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i_20241 \x3d (0);\nwhile(true){\nif((i_20241 \x3c len)){\ncljs.core._assoc_BANG_(ret,(arr[i_20241]),(arr[(i_20241 + (1))]));\n\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._count(ret),((i_20241 / (2)) + (1)))){\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arr[i_20241]))].join(\x27\x27)));\n} else {\nvar G__20243 \x3d (i_20241 + (2));\ni_20241 \x3d G__20243;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(ret);\n}));\n(cljs.core.PersistentHashMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashMap \x3d (function (edit,root,count,has_nil_QMARK_,nil_val){\nthis.edit \x3d edit;\nthis.root \x3d root;\nthis.count \x3d count;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientHashMap.prototype.conj_BANG_ \x3d (function (o){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll.assoc_BANG_((o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$1 \x3d tcoll;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nvar G__20250 \x3d cljs.core.next(es);\nvar G__20251 \x3d tcoll__$1.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__20250;\ntcoll__$1 \x3d G__20251;\ncontinue;\n} else {\nreturn tcoll__$1;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.assoc_BANG_ \x3d (function (k,v){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif((self__.nil_val \x3d\x3d\x3d v)){\n} else {\n(self__.nil_val \x3d v);\n}\n\nif(self__.has_nil_QMARK_){\n} else {\n(self__.count \x3d (self__.count + (1)));\n\n(self__.has_nil_QMARK_ \x3d true);\n}\n\nreturn tcoll;\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc_BANG_(self__.edit,(0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(added_leaf_QMARK_.val){\n(self__.count \x3d (self__.count + (1)));\n} else {\n}\n\nreturn tcoll;\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.without_BANG_ \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\n(self__.has_nil_QMARK_ \x3d false);\n\n(self__.nil_val \x3d null);\n\n(self__.count \x3d (self__.count - (1)));\n\nreturn tcoll;\n} else {\nreturn tcoll;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn tcoll;\n} else {\nvar removed_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d self__.root.inode_without_BANG_(self__.edit,(0),cljs.core.hash(k),k,removed_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(removed_leaf_QMARK_.val){\n(self__.count \x3d (self__.count - (1)));\n} else {\n}\n\nreturn tcoll;\n}\n}\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.persistent_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\n(self__.edit \x3d null);\n\nreturn (new cljs.core.PersistentHashMap(null,self__.count,self__.root,self__.has_nil_QMARK_,self__.nil_val,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.edit){\nreturn self__.count;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.conj_BANG_(val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.persistent_BANG_();\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.assoc_BANG_(key,val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.without_BANG_(key);\n}));\n\n(cljs.core.TransientHashMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15675 \x3d (arguments.length - (1));\nswitch (G__15675) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.apply \x3d (function (self__,args15674){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15674)));\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$2(null,key);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashMap\x22);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashMap.\n */\ncljs.core.__GT_TransientHashMap \x3d (function cljs$core$__GT_TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val){\nreturn (new cljs.core.TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val));\n});\n\ncljs.core.tree_map_seq_push \x3d (function cljs$core$tree_map_seq_push(node,stack,ascending_QMARK_){\nvar t \x3d node;\nvar stack__$1 \x3d stack;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar G__20267 \x3d ((ascending_QMARK_)?t.left:t.right);\nvar G__20268 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack__$1,t);\nt \x3d G__20267;\nstack__$1 \x3d G__20268;\ncontinue;\n} else {\nreturn stack__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentTreeMapSeq \x3d (function (meta,stack,ascending_QMARK_,cnt,__hash){\nthis.meta \x3d meta;\nthis.stack \x3d stack;\nthis.ascending_QMARK_ \x3d ascending_QMARK_;\nthis.cnt \x3d cnt;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentTreeMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.indexOf \x3d (function() {\nvar G__20270 \x3d null;\nvar G__20270__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__20270__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20270 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20270__1.call(this,x);\ncase 2:\nreturn G__20270__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20270.cljs$core$IFn$_invoke$arity$1 \x3d G__20270__1;\nG__20270.cljs$core$IFn$_invoke$arity$2 \x3d G__20270__2;\nreturn G__20270;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__20273 \x3d null;\nvar G__20273__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__20273__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20273 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20273__1.call(this,x);\ncase 2:\nreturn G__20273__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20273.cljs$core$IFn$_invoke$arity$1 \x3d G__20273__1;\nG__20273.cljs$core$IFn$_invoke$arity$2 \x3d G__20273__2;\nreturn G__20273;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((next_stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3c (0))){\nreturn (cljs.core.count(cljs.core.next(coll__$1)) + (1));\n} else {\nreturn self__.cnt;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.peek(self__.stack);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((!((next_stack \x3d\x3d null)))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(new_meta,self__.stack,self__.ascending_QMARK_,self__.cnt,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22stack\x22,\x22stack\x22,847125597,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22ascending?\x22,\x22ascending?\x22,-1938452653,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMapSeq\x22);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentTreeMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMapSeq.\n */\ncljs.core.__GT_PersistentTreeMapSeq \x3d (function cljs$core$__GT_PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash){\nreturn (new cljs.core.PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash));\n});\n\n(cljs.core.PersistentTreeMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.create_tree_map_seq \x3d (function cljs$core$create_tree_map_seq(tree,ascending_QMARK_,cnt){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.tree_map_seq_push(tree,null,ascending_QMARK_),ascending_QMARK_,cnt,null));\n});\n\ncljs.core.balance_left \x3d (function cljs$core$balance_left(key,val,ins,right){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,ins.left.blacken(),(new cljs.core.BlackNode(key,val,ins.right,right,null)),null));\n} else {\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.right.key,ins.right.val,(new cljs.core.BlackNode(ins.key,ins.val,ins.left,ins.right.left,null)),(new cljs.core.BlackNode(key,val,ins.right.right,right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n}\n});\ncljs.core.balance_right \x3d (function cljs$core$balance_right(key,val,left,ins){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,(new cljs.core.BlackNode(key,val,left,ins.left,null)),ins.right.blacken(),null));\n} else {\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.left.key,ins.left.val,(new cljs.core.BlackNode(key,val,left,ins.left.left,null)),(new cljs.core.BlackNode(ins.key,ins.val,ins.left.right,ins.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n}\n});\ncljs.core.balance_left_del \x3d (function cljs$core$balance_left_del(key,val,del,right){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,del.blacken(),right,null));\n} else {\nif((right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right(key,val,del,right.redden());\n} else {\nif((((right instanceof cljs.core.RedNode)) \x26\x26 ((right.left instanceof cljs.core.BlackNode)))){\nreturn (new cljs.core.RedNode(right.left.key,right.left.val,(new cljs.core.BlackNode(key,val,del,right.left.left,null)),cljs.core.balance_right(right.key,right.val,right.left.right,right.right.redden()),null));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.balance_right_del \x3d (function cljs$core$balance_right_del(key,val,left,del){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,left,del.blacken(),null));\n} else {\nif((left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left(key,val,left.redden(),del);\n} else {\nif((((left instanceof cljs.core.RedNode)) \x26\x26 ((left.right instanceof cljs.core.BlackNode)))){\nreturn (new cljs.core.RedNode(left.right.key,left.right.val,cljs.core.balance_left(left.key,left.val,left.left.redden(),left.right.left),(new cljs.core.BlackNode(key,val,left.right.right,del,null)),null));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.tree_map_kv_reduce \x3d (function cljs$core$tree_map_kv_reduce(node,f,init){\nvar init__$1 \x3d (((!((node.left \x3d\x3d null))))?(function (){var G__15676 \x3d node.left;\nvar G__15677 \x3d f;\nvar G__15678 \x3d init;\nreturn (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__15676,G__15677,G__15678) : cljs.core.tree_map_kv_reduce.call(null,G__15676,G__15677,G__15678));\n})():init);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn init__$1;\n} else {\nvar init__$2 \x3d (function (){var G__15679 \x3d init__$1;\nvar G__15680 \x3d node.key;\nvar G__15681 \x3d node.val;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__15679,G__15680,G__15681) : f.call(null,G__15679,G__15680,G__15681));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nif((!((node.right \x3d\x3d null)))){\nvar G__15682 \x3d node.right;\nvar G__15683 \x3d f;\nvar G__15684 \x3d init__$2;\nreturn (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__15682,G__15683,G__15684) : cljs.core.tree_map_kv_reduce.call(null,G__15682,G__15683,G__15684));\n} else {\nreturn init__$2;\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.BlackNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.BlackNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__15686 \x3d k;\nswitch (G__15686) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.lastIndexOf \x3d (function() {\nvar G__20304 \x3d null;\nvar G__20304__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__20304__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20304 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20304__1.call(this,x);\ncase 2:\nreturn G__20304__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20304.cljs$core$IFn$_invoke$arity$1 \x3d G__20304__1;\nG__20304.cljs$core$IFn$_invoke$arity$2 \x3d G__20304__2;\nreturn G__20304;\n})()\n);\n\n(cljs.core.BlackNode.prototype.indexOf \x3d (function() {\nvar G__20305 \x3d null;\nvar G__20305__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__20305__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20305 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20305__1.call(this,x);\ncase 2:\nreturn G__20305__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20305.cljs$core$IFn$_invoke$arity$1 \x3d G__20305__1;\nG__20305.cljs$core$IFn$_invoke$arity$2 \x3d G__20305__2;\nreturn G__20305;\n})()\n);\n\n(cljs.core.BlackNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_right(node);\n}));\n\n(cljs.core.BlackNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node;\n}));\n\n(cljs.core.BlackNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_left(node);\n}));\n\n(cljs.core.BlackNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n}));\n\n(cljs.core.BlackNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_left_del(self__.key,self__.val,del,self__.right);\n}));\n\n(cljs.core.BlackNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.BlackNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_right_del(self__.key,self__.val,self__.left,del);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.BlackNode.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15687 \x3d (arguments.length - (1));\nswitch (G__15687) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.apply \x3d (function (self__,args15685){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15685)));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BlackNode.cljs$lang$type \x3d true);\n\n(cljs.core.BlackNode.cljs$lang$ctorStr \x3d \x22cljs.core/BlackNode\x22);\n\n(cljs.core.BlackNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/BlackNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BlackNode.\n */\ncljs.core.__GT_BlackNode \x3d (function cljs$core$__GT_BlackNode(key,val,left,right,__hash){\nreturn (new cljs.core.BlackNode(key,val,left,right,__hash));\n});\n\n(cljs.core.BlackNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RedNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.RedNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__15689 \x3d k;\nswitch (G__15689) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.RedNode.prototype.lastIndexOf \x3d (function() {\nvar G__20310 \x3d null;\nvar G__20310__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__20310__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20310 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20310__1.call(this,x);\ncase 2:\nreturn G__20310__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20310.cljs$core$IFn$_invoke$arity$1 \x3d G__20310__1;\nG__20310.cljs$core$IFn$_invoke$arity$2 \x3d G__20310__2;\nreturn G__20310;\n})()\n);\n\n(cljs.core.RedNode.prototype.indexOf \x3d (function() {\nvar G__20311 \x3d null;\nvar G__20311__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__20311__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20311 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20311__1.call(this,x);\ncase 2:\nreturn G__20311__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20311.cljs$core$IFn$_invoke$arity$1 \x3d G__20311__1;\nG__20311.cljs$core$IFn$_invoke$arity$2 \x3d G__20311__2;\nreturn G__20311;\n})()\n);\n\n(cljs.core.RedNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,ins,null));\n}));\n\n(cljs.core.RedNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nthrow (new Error(\x22red-black tree invariant violation\x22));\n}));\n\n(cljs.core.RedNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,ins,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.RedNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left.blacken(),(new cljs.core.BlackNode(parent.key,parent.val,self__.right,parent.right,null)),null));\n} else {\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.right.key,self__.right.val,(new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right.left,null)),(new cljs.core.BlackNode(parent.key,parent.val,self__.right.right,parent.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.key,self__.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left,null)),self__.right.blacken(),null));\n} else {\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.left.key,self__.left.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left.left,null)),(new cljs.core.BlackNode(self__.key,self__.val,self__.left.right,self__.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,del,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.RedNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,del,null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.RedNode.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15690 \x3d (arguments.length - (1));\nswitch (G__15690) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.RedNode.prototype.apply \x3d (function (self__,args15688){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15688)));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.RedNode.cljs$lang$type \x3d true);\n\n(cljs.core.RedNode.cljs$lang$ctorStr \x3d \x22cljs.core/RedNode\x22);\n\n(cljs.core.RedNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RedNode.\n */\ncljs.core.__GT_RedNode \x3d (function cljs$core$__GT_RedNode(key,val,left,right,__hash){\nreturn (new cljs.core.RedNode(key,val,left,right,__hash));\n});\n\n(cljs.core.RedNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.tree_map_add \x3d (function cljs$core$tree_map_add(comp,tree,k,v,found){\nif((tree \x3d\x3d null)){\nreturn (new cljs.core.RedNode(k,v,null,null,null));\n} else {\nvar c \x3d (function (){var G__15691 \x3d k;\nvar G__15692 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__15691,G__15692) : comp.call(null,G__15691,G__15692));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn null;\n} else {\nif((c \x3c (0))){\nvar ins \x3d (function (){var G__15693 \x3d comp;\nvar G__15694 \x3d tree.left;\nvar G__15695 \x3d k;\nvar G__15696 \x3d v;\nvar G__15697 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__15693,G__15694,G__15695,G__15696,G__15697) : cljs.core.tree_map_add.call(null,G__15693,G__15694,G__15695,G__15696,G__15697));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_left(ins);\n} else {\nreturn null;\n}\n} else {\nvar ins \x3d (function (){var G__15698 \x3d comp;\nvar G__15699 \x3d tree.right;\nvar G__15700 \x3d k;\nvar G__15701 \x3d v;\nvar G__15702 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__15698,G__15699,G__15700,G__15701,G__15702) : cljs.core.tree_map_add.call(null,G__15698,G__15699,G__15700,G__15701,G__15702));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_right(ins);\n} else {\nreturn null;\n}\n\n}\n}\n}\n});\ncljs.core.tree_map_append \x3d (function cljs$core$tree_map_append(left,right){\nif((left \x3d\x3d null)){\nreturn right;\n} else {\nif((right \x3d\x3d null)){\nreturn left;\n} else {\nif((left instanceof cljs.core.RedNode)){\nif((right instanceof cljs.core.RedNode)){\nvar app \x3d (function (){var G__15703 \x3d left.right;\nvar G__15704 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__15703,G__15704) : cljs.core.tree_map_append.call(null,G__15703,G__15704));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(app.key,app.val,(new cljs.core.RedNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.RedNode(right.key,right.val,app.right,right.right,null)),null));\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(new cljs.core.RedNode(right.key,right.val,app,right.right,null)),null));\n}\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(function (){var G__15705 \x3d left.right;\nvar G__15706 \x3d right;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__15705,G__15706) : cljs.core.tree_map_append.call(null,G__15705,G__15706));\n})(),null));\n}\n} else {\nif((right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(right.key,right.val,(function (){var G__15707 \x3d left;\nvar G__15708 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__15707,G__15708) : cljs.core.tree_map_append.call(null,G__15707,G__15708));\n})(),right.right,null));\n} else {\nvar app \x3d (function (){var G__15709 \x3d left.right;\nvar G__15710 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__15709,G__15710) : cljs.core.tree_map_append.call(null,G__15709,G__15710));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(app.key,app.val,(new cljs.core.BlackNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.BlackNode(right.key,right.val,app.right,right.right,null)),null));\n} else {\nreturn cljs.core.balance_left_del(left.key,left.val,left.left,(new cljs.core.BlackNode(right.key,right.val,app,right.right,null)));\n}\n\n}\n}\n}\n}\n});\ncljs.core.tree_map_remove \x3d (function cljs$core$tree_map_remove(comp,tree,k,found){\nif((!((tree \x3d\x3d null)))){\nvar c \x3d (function (){var G__15711 \x3d k;\nvar G__15712 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__15711,G__15712) : comp.call(null,G__15711,G__15712));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn cljs.core.tree_map_append(tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nvar del \x3d (function (){var G__15713 \x3d comp;\nvar G__15714 \x3d tree.left;\nvar G__15715 \x3d k;\nvar G__15716 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__15713,G__15714,G__15715,G__15716) : cljs.core.tree_map_remove.call(null,G__15713,G__15714,G__15715,G__15716));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left_del(tree.key,tree.val,del,tree.right);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,del,tree.right,null));\n}\n} else {\nreturn null;\n}\n} else {\nvar del \x3d (function (){var G__15717 \x3d comp;\nvar G__15718 \x3d tree.right;\nvar G__15719 \x3d k;\nvar G__15720 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__15717,G__15718,G__15719,G__15720) : cljs.core.tree_map_remove.call(null,G__15717,G__15718,G__15719,G__15720));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right_del(tree.key,tree.val,tree.left,del);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,tree.left,del,null));\n}\n} else {\nreturn null;\n}\n\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.core.tree_map_replace \x3d (function cljs$core$tree_map_replace(comp,tree,k,v){\nvar tk \x3d tree.key;\nvar c \x3d (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(k,tk) : comp.call(null,k,tk));\nif((c \x3d\x3d\x3d (0))){\nreturn tree.replace(tk,v,tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nreturn tree.replace(tk,tree.val,(function (){var G__15721 \x3d comp;\nvar G__15722 \x3d tree.left;\nvar G__15723 \x3d k;\nvar G__15724 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__15721,G__15722,G__15723,G__15724) : cljs.core.tree_map_replace.call(null,G__15721,G__15722,G__15723,G__15724));\n})(),tree.right);\n} else {\nreturn tree.replace(tk,tree.val,tree.left,(function (){var G__15725 \x3d comp;\nvar G__15726 \x3d tree.right;\nvar G__15727 \x3d k;\nvar G__15728 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__15725,G__15726,G__15727,G__15728) : cljs.core.tree_map_replace.call(null,G__15725,G__15726,G__15727,G__15728));\n})());\n\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeMap \x3d (function (comp,tree,cnt,meta,__hash){\nthis.comp \x3d comp;\nthis.tree \x3d tree;\nthis.cnt \x3d cnt;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 418776847;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.entry_at(k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__15730 \x3d cljs.core.seq(coll);\nvar chunk__15731 \x3d null;\nvar count__15732 \x3d (0);\nvar i__15733 \x3d (0);\nwhile(true){\nif((i__15733 \x3c count__15732)){\nvar vec__15740 \x3d chunk__15731.cljs$core$IIndexed$_nth$arity$2(null,i__15733);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15740,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15740,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__20349 \x3d seq__15730;\nvar G__20350 \x3d chunk__15731;\nvar G__20351 \x3d count__15732;\nvar G__20352 \x3d (i__15733 + (1));\nseq__15730 \x3d G__20349;\nchunk__15731 \x3d G__20350;\ncount__15732 \x3d G__20351;\ni__15733 \x3d G__20352;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__15730);\nif(temp__5804__auto__){\nvar seq__15730__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__15730__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__15730__$1);\nvar G__20353 \x3d cljs.core.chunk_rest(seq__15730__$1);\nvar G__20354 \x3d c__5568__auto__;\nvar G__20355 \x3d cljs.core.count(c__5568__auto__);\nvar G__20356 \x3d (0);\nseq__15730 \x3d G__20353;\nchunk__15731 \x3d G__20354;\ncount__15732 \x3d G__20355;\ni__15733 \x3d G__20356;\ncontinue;\n} else {\nvar vec__15743 \x3d cljs.core.first(seq__15730__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15743,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15743,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__20357 \x3d cljs.core.next(seq__15730__$1);\nvar G__20358 \x3d null;\nvar G__20359 \x3d (0);\nvar G__20360 \x3d (0);\nseq__15730 \x3d G__20357;\nchunk__15731 \x3d G__20358;\ncount__15732 \x3d G__20359;\ni__15733 \x3d G__20360;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entry_at \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__15746 \x3d k;\nvar G__15747 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__15746,G__15747) : self__.comp.call(null,G__15746,G__15747));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn t;\n} else {\nif((c \x3c (0))){\nvar G__20370 \x3d t.left;\nt \x3d G__20370;\ncontinue;\n} else {\nvar G__20371 \x3d t.right;\nt \x3d G__20371;\ncontinue;\n\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d coll__$1.entry_at(k);\nif((!((n \x3d\x3d null)))){\nreturn n.val;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.tree \x3d\x3d null)))){\nreturn cljs.core.unreduced(cljs.core.tree_map_kv_reduce(self__.tree,f,init));\n} else {\nreturn init;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,self__.meta,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,false,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,(0)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_remove(self__.comp,self__.tree,k,found);\nif((t \x3d\x3d null)){\nif((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0)) \x3d\x3d null)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt - (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_add(self__.comp,self__.tree,k,v,found);\nif((t \x3d\x3d null)){\nvar found_node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(v,found_node.val)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,cljs.core.tree_map_replace(self__.comp,self__.tree,k,v),self__.cnt,self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt + (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((coll__$1.entry_at(k) \x3d\x3d null)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,true,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__20382 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__20383 \x3d cljs.core.next(es);\nret \x3d G__20382;\nes \x3d G__20383;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15748 \x3d (arguments.length - (1));\nswitch (G__15748) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.apply \x3d (function (self__,args15729){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15729)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,ascending_QMARK_,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar stack \x3d null;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__15751 \x3d k;\nvar G__15752 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__15751,G__15752) : self__.comp.call(null,G__15751,G__15752));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t),ascending_QMARK_,(-1),null));\n} else {\nif(cljs.core.truth_(ascending_QMARK_)){\nif((c \x3c (0))){\nvar G__20386 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__20387 \x3d t.left;\nstack \x3d G__20386;\nt \x3d G__20387;\ncontinue;\n} else {\nvar G__20389 \x3d stack;\nvar G__20390 \x3d t.right;\nstack \x3d G__20389;\nt \x3d G__20390;\ncontinue;\n}\n} else {\nif((c \x3e (0))){\nvar G__20391 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__20392 \x3d t.right;\nstack \x3d G__20391;\nt \x3d G__20392;\ncontinue;\n} else {\nvar G__20393 \x3d stack;\nvar G__20394 \x3d t.left;\nstack \x3d G__20393;\nt \x3d G__20394;\ncontinue;\n}\n\n}\n}\n} else {\nif((stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,stack,ascending_QMARK_,(-1),null));\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(entry) : cljs.core.key.call(null,entry));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.comp;\n}));\n\n(cljs.core.PersistentTreeMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22comp\x22,\x22comp\x22,-1462482139,null),new cljs.core.Symbol(null,\x22tree\x22,\x22tree\x22,1444219499,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMap\x22);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentTreeMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMap.\n */\ncljs.core.__GT_PersistentTreeMap \x3d (function cljs$core$__GT_PersistentTreeMap(comp,tree,cnt,meta,__hash){\nreturn (new cljs.core.PersistentTreeMap(comp,tree,cnt,meta,__hash));\n});\n\n(cljs.core.PersistentTreeMap.EMPTY \x3d (new cljs.core.PersistentTreeMap(cljs.core.compare,null,(0),null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * keyval \x3d\x3e key val\n * Returns a new hash map with supplied mappings.\n */\ncljs.core.hash_map \x3d (function cljs$core$hash_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20408 \x3d arguments.length;\nvar i__5770__auto___20411 \x3d (0);\nwhile(true){\nif((i__5770__auto___20411 \x3c len__5769__auto___20408)){\nargs__5775__auto__.push((arguments[i__5770__auto___20411]));\n\nvar G__20417 \x3d (i__5770__auto___20411 + (1));\ni__5770__auto___20411 \x3d G__20417;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif(in$){\nvar in_SINGLEQUOTE_ \x3d cljs.core.next(in$);\nif((in_SINGLEQUOTE_ \x3d\x3d null)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(in$))].join(\x27\x27)));\n} else {\nvar G__20434 \x3d cljs.core.next(in_SINGLEQUOTE_);\nvar G__20435 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.first(in_SINGLEQUOTE_));\nin$ \x3d G__20434;\nout \x3d G__20435;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n\n(cljs.core.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.hash_map.cljs$lang$applyTo \x3d (function (seq15753){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15753));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new array map with supplied mappings.\n */\ncljs.core.array_map \x3d (function cljs$core$array_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20448 \x3d arguments.length;\nvar i__5770__auto___20449 \x3d (0);\nwhile(true){\nif((i__5770__auto___20449 \x3c len__5769__auto___20448)){\nargs__5775__auto__.push((arguments[i__5770__auto___20449]));\n\nvar G__20450 \x3d (i__5770__auto___20449 + (1));\ni__5770__auto___20449 \x3d G__20450;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar arr \x3d (((((keyvals instanceof cljs.core.IndexedSeq)) \x26\x26 ((keyvals.i \x3d\x3d\x3d (0)))))?keyvals.arr:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(keyvals));\nif(cljs.core.odd_QMARK_(arr.length)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.last(arr))].join(\x27\x27)));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(arr);\n}\n}));\n\n(cljs.core.array_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.array_map.cljs$lang$applyTo \x3d (function (seq15754){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15754));\n}));\n\n/**\n * Builds a map from a seq as described in\n * https://clojure.org/reference/special_forms#keyword-arguments\n */\ncljs.core.seq_to_map_for_destructuring \x3d (function cljs$core$seq_to_map_for_destructuring(s){\nif(cljs.core.next(s)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(s));\n} else {\nif(cljs.core.seq(s)){\nreturn cljs.core.first(s);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n});\n/**\n * keyval \x3d\x3e key val\n * Returns a new object map with supplied mappings.\n */\ncljs.core.obj_map \x3d (function cljs$core$obj_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20454 \x3d arguments.length;\nvar i__5770__auto___20455 \x3d (0);\nwhile(true){\nif((i__5770__auto___20455 \x3c len__5769__auto___20454)){\nargs__5775__auto__.push((arguments[i__5770__auto___20455]));\n\nvar G__20456 \x3d (i__5770__auto___20455 + (1));\ni__5770__auto___20455 \x3d G__20456;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar ks \x3d [];\nvar obj \x3d ({});\nvar kvs \x3d cljs.core.seq(keyvals);\nwhile(true){\nif(kvs){\nks.push(cljs.core.first(kvs));\n\ncljs.core.goog$module$goog$object.set(obj,cljs.core.first(kvs),cljs.core.second(kvs));\n\nvar G__20457 \x3d cljs.core.nnext(kvs);\nkvs \x3d G__20457;\ncontinue;\n} else {\nreturn cljs.core.ObjMap.fromObject(ks,obj);\n}\nbreak;\n}\n}));\n\n(cljs.core.obj_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.obj_map.cljs$lang$applyTo \x3d (function (seq15755){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15755));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new sorted map with supplied mappings.\n */\ncljs.core.sorted_map \x3d (function cljs$core$sorted_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20459 \x3d arguments.length;\nvar i__5770__auto___20460 \x3d (0);\nwhile(true){\nif((i__5770__auto___20460 \x3c len__5769__auto___20459)){\nargs__5775__auto__.push((arguments[i__5770__auto___20460]));\n\nvar G__20462 \x3d (i__5770__auto___20460 + (1));\ni__5770__auto___20460 \x3d G__20462;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.PersistentTreeMap.EMPTY;\nwhile(true){\nif(in$){\nvar G__20464 \x3d cljs.core.nnext(in$);\nvar G__20465 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__20464;\nout \x3d G__20465;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_map.cljs$lang$applyTo \x3d (function (seq15758){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15758));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new sorted map with supplied mappings, using the supplied comparator.\n */\ncljs.core.sorted_map_by \x3d (function cljs$core$sorted_map_by(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20467 \x3d arguments.length;\nvar i__5770__auto___20468 \x3d (0);\nwhile(true){\nif((i__5770__auto___20468 \x3c len__5769__auto___20467)){\nargs__5775__auto__.push((arguments[i__5770__auto___20468]));\n\nvar G__20470 \x3d (i__5770__auto___20468 + (1));\ni__5770__auto___20468 \x3d G__20470;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d (new cljs.core.PersistentTreeMap(cljs.core.fn__GT_comparator(comparator),null,(0),null,(0)));\nwhile(true){\nif(in$){\nvar G__20471 \x3d cljs.core.nnext(in$);\nvar G__20472 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__20471;\nout \x3d G__20472;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_map_by.cljs$lang$applyTo \x3d (function (seq15759){\nvar G__15760 \x3d cljs.core.first(seq15759);\nvar seq15759__$1 \x3d cljs.core.next(seq15759);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15760,seq15759__$1);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.KeySeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.KeySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.KeySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.KeySeq.prototype.indexOf \x3d (function() {\nvar G__20477 \x3d null;\nvar G__20477__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__20477__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20477 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20477__1.call(this,x);\ncase 2:\nreturn G__20477__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20477.cljs$core$IFn$_invoke$arity$1 \x3d G__20477__1;\nG__20477.cljs$core$IFn$_invoke$arity$2 \x3d G__20477__2;\nreturn G__20477;\n})()\n);\n\n(cljs.core.KeySeq.prototype.lastIndexOf \x3d (function() {\nvar G__20479 \x3d null;\nvar G__20479__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__20479__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20479 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20479__1.call(this,x);\ncase 2:\nreturn G__20479__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20479.cljs$core$IFn$_invoke$arity$1 \x3d G__20479__1;\nG__20479.cljs$core$IFn$_invoke$arity$2 \x3d G__20479__2;\nreturn G__20479;\n})()\n);\n\n(cljs.core.KeySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.KeySeq(nseq,null));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_key$arity$1(null);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.KeySeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.KeySeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.KeySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.KeySeq.cljs$lang$type \x3d true);\n\n(cljs.core.KeySeq.cljs$lang$ctorStr \x3d \x22cljs.core/KeySeq\x22);\n\n(cljs.core.KeySeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/KeySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/KeySeq.\n */\ncljs.core.__GT_KeySeq \x3d (function cljs$core$__GT_KeySeq(mseq,_meta){\nreturn (new cljs.core.KeySeq(mseq,_meta));\n});\n\n(cljs.core.KeySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s keys, in the same order as (seq map).\n */\ncljs.core.keys \x3d (function cljs$core$keys(map){\nvar temp__5804__auto__ \x3d cljs.core.seq(map);\nif(temp__5804__auto__){\nvar mseq \x3d temp__5804__auto__;\nreturn (new cljs.core.KeySeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core.key \x3d (function cljs$core$key(map_entry){\nreturn cljs.core._key(map_entry);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ValSeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ValSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ValSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ValSeq.prototype.indexOf \x3d (function() {\nvar G__20494 \x3d null;\nvar G__20494__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__20494__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20494 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20494__1.call(this,x);\ncase 2:\nreturn G__20494__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20494.cljs$core$IFn$_invoke$arity$1 \x3d G__20494__1;\nG__20494.cljs$core$IFn$_invoke$arity$2 \x3d G__20494__2;\nreturn G__20494;\n})()\n);\n\n(cljs.core.ValSeq.prototype.lastIndexOf \x3d (function() {\nvar G__20497 \x3d null;\nvar G__20497__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__20497__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__20497 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__20497__1.call(this,x);\ncase 2:\nreturn G__20497__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20497.cljs$core$IFn$_invoke$arity$1 \x3d G__20497__1;\nG__20497.cljs$core$IFn$_invoke$arity$2 \x3d G__20497__2;\nreturn G__20497;\n})()\n);\n\n(cljs.core.ValSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.ValSeq(nseq,null));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_val$arity$1(null);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.ValSeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ValSeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ValSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.ValSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ValSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ValSeq\x22);\n\n(cljs.core.ValSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ValSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ValSeq.\n */\ncljs.core.__GT_ValSeq \x3d (function cljs$core$__GT_ValSeq(mseq,_meta){\nreturn (new cljs.core.ValSeq(mseq,_meta));\n});\n\n(cljs.core.ValSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s values, in the same order as (seq map).\n */\ncljs.core.vals \x3d (function cljs$core$vals(map){\nvar temp__5804__auto__ \x3d cljs.core.seq(map);\nif(temp__5804__auto__){\nvar mseq \x3d temp__5804__auto__;\nreturn (new cljs.core.ValSeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the value in the map entry.\n */\ncljs.core.val \x3d (function cljs$core$val(map_entry){\nreturn cljs.core._val(map_entry);\n});\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n * the first. If a key occurs in more than one map, the mapping from\n * the latter (left-to-right) will be the mapping in the result.\n */\ncljs.core.merge \x3d (function cljs$core$merge(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20508 \x3d arguments.length;\nvar i__5770__auto___20509 \x3d (0);\nwhile(true){\nif((i__5770__auto___20509 \x3c len__5769__auto___20508)){\nargs__5775__auto__.push((arguments[i__5770__auto___20509]));\n\nvar G__20512 \x3d (i__5770__auto___20509 + (1));\ni__5770__auto___20509 \x3d G__20512;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic \x3d (function (maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((function (p1__15765_SHARP_,p2__15766_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5045__auto__ \x3d p1__15765_SHARP_;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),p2__15766_SHARP_);\n}),maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.merge.cljs$lang$applyTo \x3d (function (seq15767){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15767));\n}));\n\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n * the first. If a key occurs in more than one map, the mapping(s)\n * from the latter (left-to-right) will be combined with the mapping in\n * the result by calling (f val-in-result val-in-latter).\n */\ncljs.core.merge_with \x3d (function cljs$core$merge_with(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20515 \x3d arguments.length;\nvar i__5770__auto___20516 \x3d (0);\nwhile(true){\nif((i__5770__auto___20516 \x3c len__5769__auto___20515)){\nargs__5775__auto__.push((arguments[i__5770__auto___20516]));\n\nvar G__20517 \x3d (i__5770__auto___20516 + (1));\ni__5770__auto___20516 \x3d G__20517;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nvar merge_entry \x3d (function (m,e){\nvar k \x3d cljs.core.key(e);\nvar v \x3d cljs.core.val(e);\nif(cljs.core.contains_QMARK_(m,k)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__15770 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__15771 \x3d v;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15770,G__15771) : f.call(null,G__15770,G__15771));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\nvar merge2 \x3d (function (m1,m2){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(merge_entry,(function (){var or__5045__auto__ \x3d m1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),cljs.core.seq(m2));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(merge2,maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge_with.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.merge_with.cljs$lang$applyTo \x3d (function (seq15768){\nvar G__15769 \x3d cljs.core.first(seq15768);\nvar seq15768__$1 \x3d cljs.core.next(seq15768);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15769,seq15768__$1);\n}));\n\n/**\n * Returns a map containing only those entries in map whose key is in keys\n */\ncljs.core.select_keys \x3d (function cljs$core$select_keys(map,keyseq){\nvar ret \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar keys \x3d cljs.core.seq(keyseq);\nwhile(true){\nif(keys){\nvar key \x3d cljs.core.first(keys);\nvar entry \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map,key,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185));\nvar G__20520 \x3d ((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(entry,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,key,entry):ret);\nvar G__20521 \x3d cljs.core.next(keys);\nret \x3d G__20520;\nkeys \x3d G__20521;\ncontinue;\n} else {\nreturn cljs.core._with_meta(ret,cljs.core.meta(map));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.HashSetIter \x3d (function (iter){\nthis.iter \x3d iter;\n});\n(cljs.core.HashSetIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.iter.hasNext();\n}));\n\n(cljs.core.HashSetIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(self__.iter.hasNext()){\nreturn self__.iter.next().key;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.HashSetIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashSetIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null)], null);\n}));\n\n(cljs.core.HashSetIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashSetIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashSetIter\x22);\n\n(cljs.core.HashSetIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/HashSetIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashSetIter.\n */\ncljs.core.__GT_HashSetIter \x3d (function cljs$core$__GT_HashSetIter(iter){\nreturn (new cljs.core.HashSetIter(iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashSet \x3d (function (meta,hash_map,__hash){\nthis.meta \x3d meta;\nthis.hash_map \x3d hash_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 15077647;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__15775 \x3d cljs.core.seq(coll);\nvar chunk__15776 \x3d null;\nvar count__15777 \x3d (0);\nvar i__15778 \x3d (0);\nwhile(true){\nif((i__15778 \x3c count__15777)){\nvar vec__15785 \x3d chunk__15776.cljs$core$IIndexed$_nth$arity$2(null,i__15778);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15785,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15785,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__20530 \x3d seq__15775;\nvar G__20531 \x3d chunk__15776;\nvar G__20532 \x3d count__15777;\nvar G__20533 \x3d (i__15778 + (1));\nseq__15775 \x3d G__20530;\nchunk__15776 \x3d G__20531;\ncount__15777 \x3d G__20532;\ni__15778 \x3d G__20533;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__15775);\nif(temp__5804__auto__){\nvar seq__15775__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__15775__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__15775__$1);\nvar G__20534 \x3d cljs.core.chunk_rest(seq__15775__$1);\nvar G__20535 \x3d c__5568__auto__;\nvar G__20536 \x3d cljs.core.count(c__5568__auto__);\nvar G__20537 \x3d (0);\nseq__15775 \x3d G__20534;\nchunk__15776 \x3d G__20535;\ncount__15777 \x3d G__20536;\ni__15778 \x3d G__20537;\ncontinue;\n} else {\nvar vec__15788 \x3d cljs.core.first(seq__15775__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15788,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15788,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__20540 \x3d cljs.core.next(seq__15775__$1);\nvar G__20541 \x3d null;\nvar G__20542 \x3d (0);\nvar G__20543 \x3d (0);\nseq__15775 \x3d G__20540;\nchunk__15776 \x3d G__20541;\ncount__15777 \x3d G__20542;\ni__15778 \x3d G__20543;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core._find(self__.hash_map,v);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar entry \x3d temp__5802__auto__;\nreturn cljs.core.key(entry);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.HashSetIter(cljs.core._iterator(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,self__.hash_map,self__.__hash));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._count(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5043__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5043__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__15773_SHARP_,p2__15772_SHARP_){\nvar or__5045__auto__ \x3d cljs.core.contains_QMARK_(other,p2__15772_SHARP_);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.hash_map);\n}catch (e15791){if((e15791 instanceof Error)){\nvar ex \x3d e15791;\nreturn false;\n} else {\nthrow e15791;\n\n}\n}} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashSet(cljs.core._as_transient(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashSet.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core._dissoc(self__.hash_map,v),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashSet(new_meta,self__.hash_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.hash_map,o,null),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15792 \x3d (arguments.length - (1));\nswitch (G__15792) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.apply \x3d (function (self__,args15774){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15774)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22hash-map\x22,\x22hash-map\x22,-439030950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashSet\x22);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashSet.\n */\ncljs.core.__GT_PersistentHashSet \x3d (function cljs$core$__GT_PersistentHashSet(meta,hash_map,__hash){\nreturn (new cljs.core.PersistentHashSet(meta,hash_map,__hash));\n});\n\n(cljs.core.PersistentHashSet.EMPTY \x3d (new cljs.core.PersistentHashSet(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashSet.fromArray \x3d (function (items,no_clone){\nvar len \x3d items.length;\nif((len \x3c\x3d cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr \x3d ((no_clone)?items:cljs.core.aclone(items));\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__20558 \x3d (i + (1));\nvar G__20559 \x3d cljs.core._assoc_BANG_(out,(items[i]),null);\ni \x3d G__20558;\nout \x3d G__20559;\ncontinue;\n} else {\nreturn (new cljs.core.PersistentHashSet(null,cljs.core._persistent_BANG_(out),null));\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__20561 \x3d (i + (1));\nvar G__20562 \x3d cljs.core._conj_BANG_(out,(items[i]));\ni \x3d G__20561;\nout \x3d G__20562;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentHashSet.createWithCheck \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5636__auto___20563 \x3d len;\nvar i_20564 \x3d (0);\nwhile(true){\nif((i_20564 \x3c n__5636__auto___20563)){\ncljs.core._conj_BANG_(t,(items[i_20564]));\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(t),(i_20564 + (1)))){\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((items[i_20564]))].join(\x27\x27)));\n}\n\nvar G__20565 \x3d (i_20564 + (1));\ni_20564 \x3d G__20565;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.createAsIfByAssoc \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5636__auto___20566 \x3d len;\nvar i_20567 \x3d (0);\nwhile(true){\nif((i_20567 \x3c n__5636__auto___20566)){\ncljs.core._conj_BANG_(t,(items[i_20567]));\n\nvar G__20568 \x3d (i_20567 + (1));\ni_20567 \x3d G__20568;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ITransientSet}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashSet \x3d (function (transient_map){\nthis.transient_map \x3d transient_map;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 136;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\n});\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(self__.transient_map,o,null));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(null,cljs.core.persistent_BANG_(self__.transient_map),null));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(self__.transient_map,v));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn cljs.core.count(self__.transient_map);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,v,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((cljs.core._lookup(self__.transient_map,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn v;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15794 \x3d (arguments.length - (1));\nswitch (G__15794) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.apply \x3d (function (self__,args15793){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15793)));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn null;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22transient-map\x22,\x22transient-map\x22,351764893,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashSet\x22);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashSet.\n */\ncljs.core.__GT_TransientHashSet \x3d (function cljs$core$__GT_TransientHashSet(transient_map){\nreturn (new cljs.core.TransientHashSet(transient_map));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeSet \x3d (function (meta,tree_map,__hash){\nthis.meta \x3d meta;\nthis.tree_map \x3d tree_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 417730831;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__15798 \x3d cljs.core.seq(coll);\nvar chunk__15799 \x3d null;\nvar count__15800 \x3d (0);\nvar i__15801 \x3d (0);\nwhile(true){\nif((i__15801 \x3c count__15800)){\nvar vec__15808 \x3d chunk__15799.cljs$core$IIndexed$_nth$arity$2(null,i__15801);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15808,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15808,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__20579 \x3d seq__15798;\nvar G__20580 \x3d chunk__15799;\nvar G__20581 \x3d count__15800;\nvar G__20582 \x3d (i__15801 + (1));\nseq__15798 \x3d G__20579;\nchunk__15799 \x3d G__20580;\ncount__15800 \x3d G__20581;\ni__15801 \x3d G__20582;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__15798);\nif(temp__5804__auto__){\nvar seq__15798__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__15798__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__15798__$1);\nvar G__20585 \x3d cljs.core.chunk_rest(seq__15798__$1);\nvar G__20586 \x3d c__5568__auto__;\nvar G__20587 \x3d cljs.core.count(c__5568__auto__);\nvar G__20588 \x3d (0);\nseq__15798 \x3d G__20585;\nchunk__15799 \x3d G__20586;\ncount__15800 \x3d G__20587;\ni__15801 \x3d G__20588;\ncontinue;\n} else {\nvar vec__15811 \x3d cljs.core.first(seq__15798__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15811,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15811,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__20591 \x3d cljs.core.next(seq__15798__$1);\nvar G__20592 \x3d null;\nvar G__20593 \x3d (0);\nvar G__20594 \x3d (0);\nseq__15798 \x3d G__20591;\nchunk__15799 \x3d G__20592;\ncount__15800 \x3d G__20593;\ni__15801 \x3d G__20594;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d self__.tree_map.entry_at(v);\nif((!((n \x3d\x3d null)))){\nreturn n.key;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,self__.tree_map,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.count(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.count(self__.tree_map) \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core.rseq(self__.tree_map));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5043__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5043__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__15796_SHARP_,p2__15795_SHARP_){\nvar or__5045__auto__ \x3d cljs.core.contains_QMARK_(other,p2__15795_SHARP_);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.tree_map);\n}catch (e15814){if((e15814 instanceof Error)){\nvar ex \x3d e15814;\nreturn false;\n} else {\nthrow e15814;\n\n}\n}} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core._empty(self__.tree_map),(0)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.tree_map,v),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeSet(new_meta,self__.tree_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.tree_map,o,null),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__15815 \x3d (arguments.length - (1));\nswitch (G__15815) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.apply \x3d (function (self__,args15797){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args15797)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq(self__.tree_map,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq_from(self__.tree_map,k,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn entry;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._comparator(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22tree-map\x22,\x22tree-map\x22,1373073049,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeSet\x22);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentTreeSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeSet.\n */\ncljs.core.__GT_PersistentTreeSet \x3d (function cljs$core$__GT_PersistentTreeSet(meta,tree_map,__hash){\nreturn (new cljs.core.PersistentTreeSet(meta,tree_map,__hash));\n});\n\n(cljs.core.PersistentTreeSet.EMPTY \x3d (new cljs.core.PersistentTreeSet(null,cljs.core.PersistentTreeMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.set_from_indexed_seq \x3d (function cljs$core$set_from_indexed_seq(iseq){\nvar arr \x3d iseq.arr;\nvar ret \x3d (function (){var a__5633__auto__ \x3d arr;\nvar l__5634__auto__ \x3d a__5633__auto__.length;\nvar i \x3d (0);\nvar res \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c l__5634__auto__)){\nvar G__20604 \x3d (i + (1));\nvar G__20605 \x3d cljs.core._conj_BANG_(res,(arr[i]));\ni \x3d G__20604;\nres \x3d G__20605;\ncontinue;\n} else {\nreturn res;\n}\nbreak;\n}\n})();\nreturn ret.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(null);\n});\n/**\n * Returns a set of the distinct elements of coll.\n */\ncljs.core.set \x3d (function cljs$core$set(coll){\nif(cljs.core.set_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nvar in$ \x3d cljs.core.seq(coll);\nif((in$ \x3d\x3d null)){\nreturn cljs.core.PersistentHashSet.EMPTY;\n} else {\nif((((in$ instanceof cljs.core.IndexedSeq)) \x26\x26 ((in$.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentHashSet.createAsIfByAssoc(in$.arr);\n} else {\nvar in$__$1 \x3d in$;\nvar out \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((!((in$__$1 \x3d\x3d null)))){\nvar G__20606 \x3d cljs.core.next(in$__$1);\nvar G__20607 \x3d cljs.core._conj_BANG_(out,cljs.core._first(in$__$1));\nin$__$1 \x3d G__20606;\nout \x3d G__20607;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n\n}\n}\n}\n});\n/**\n * Returns a new hash set with supplied keys. Any equal keys are\n * handled as if by repeated uses of conj.\n */\ncljs.core.hash_set \x3d (function cljs$core$hash_set(var_args){\nvar G__15818 \x3d arguments.length;\nswitch (G__15818) {\ncase 0:\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___20612 \x3d arguments.length;\nvar i__5770__auto___20613 \x3d (0);\nwhile(true){\nif((i__5770__auto___20613 \x3c len__5769__auto___20612)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___20613]));\n\nvar G__20614 \x3d (i__5770__auto___20613 + (1));\ni__5770__auto___20613 \x3d G__20614;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((0)),(0),null));\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.set(keys);\n}));\n\n/** @this {Function} */\n(cljs.core.hash_set.cljs$lang$applyTo \x3d (function (seq15817){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15817));\n}));\n\n(cljs.core.hash_set.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Returns a new sorted set with supplied keys.\n */\ncljs.core.sorted_set \x3d (function cljs$core$sorted_set(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20619 \x3d arguments.length;\nvar i__5770__auto___20620 \x3d (0);\nwhile(true){\nif((i__5770__auto___20620 \x3c len__5769__auto___20619)){\nargs__5775__auto__.push((arguments[i__5770__auto___20620]));\n\nvar G__20623 \x3d (i__5770__auto___20620 + (1));\ni__5770__auto___20620 \x3d G__20623;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,cljs.core.PersistentTreeSet.EMPTY,keys);\n}));\n\n(cljs.core.sorted_set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_set.cljs$lang$applyTo \x3d (function (seq15819){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15819));\n}));\n\n/**\n * Returns a new sorted set with supplied keys, using the supplied comparator.\n */\ncljs.core.sorted_set_by \x3d (function cljs$core$sorted_set_by(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20624 \x3d arguments.length;\nvar i__5770__auto___20625 \x3d (0);\nwhile(true){\nif((i__5770__auto___20625 \x3c len__5769__auto___20624)){\nargs__5775__auto__.push((arguments[i__5770__auto___20625]));\n\nvar G__20626 \x3d (i__5770__auto___20625 + (1));\ni__5770__auto___20625 \x3d G__20626;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,(new cljs.core.PersistentTreeSet(null,cljs.core.sorted_map_by(comparator),(0))),keys);\n}));\n\n(cljs.core.sorted_set_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_set_by.cljs$lang$applyTo \x3d (function (seq15820){\nvar G__15821 \x3d cljs.core.first(seq15820);\nvar seq15820__$1 \x3d cljs.core.next(seq15820);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15821,seq15820__$1);\n}));\n\n/**\n * Given a map of replacement pairs and a vector/collection, returns a\n * vector/seq with any elements \x3d a key in smap replaced with the\n * corresponding val in smap. Returns a transducer when no collection\n * is provided.\n */\ncljs.core.replace \x3d (function cljs$core$replace(var_args){\nvar G__15825 \x3d arguments.length;\nswitch (G__15825) {\ncase 1:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$1 \x3d (function (smap){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__15822_SHARP_){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,p1__15822_SHARP_);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.val(e);\n} else {\nreturn p1__15822_SHARP_;\n}\n}));\n}));\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$2 \x3d (function (smap,coll){\nif(cljs.core.vector_QMARK_(coll)){\nvar n \x3d cljs.core.count(coll);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,i){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,i));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(v,i,cljs.core.second(e));\n} else {\nreturn v;\n}\n}),coll,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.iterate(cljs.core.inc,(0))));\n} else {\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__15823_SHARP_){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,p1__15823_SHARP_);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.second(e);\n} else {\nreturn p1__15823_SHARP_;\n}\n}),coll);\n}\n}));\n\n(cljs.core.replace.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the elements of coll with duplicates removed.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.distinct \x3d (function cljs$core$distinct(var_args){\nvar G__15827 \x3d arguments.length;\nswitch (G__15827) {\ncase 0:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar seen \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\nreturn (function() {\nvar G__20666 \x3d null;\nvar G__20666__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__20666__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__20666__2 \x3d (function (result,input){\nif(cljs.core.contains_QMARK_(cljs.core.deref(seen),input)){\nreturn result;\n} else {\nseen.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen.cljs$core$IDeref$_deref$arity$1(null),input));\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__20666 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__20666__0.call(this);\ncase 1:\nreturn G__20666__1.call(this,result);\ncase 2:\nreturn G__20666__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20666.cljs$core$IFn$_invoke$arity$0 \x3d G__20666__0;\nG__20666.cljs$core$IFn$_invoke$arity$1 \x3d G__20666__1;\nG__20666.cljs$core$IFn$_invoke$arity$2 \x3d G__20666__2;\nreturn G__20666;\n})()\n});\n}));\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar step \x3d (function cljs$core$step(xs,seen){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn (function (p__15828,seen__$1){\nwhile(true){\nvar vec__15829 \x3d p__15828;\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15829,(0),null);\nvar xs__$1 \x3d vec__15829;\nvar temp__5804__auto__ \x3d cljs.core.seq(xs__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.contains_QMARK_(seen__$1,f)){\nvar G__20701 \x3d cljs.core.rest(s);\nvar G__20702 \x3d seen__$1;\np__15828 \x3d G__20701;\nseen__$1 \x3d G__20702;\ncontinue;\n} else {\nreturn cljs.core.cons(f,cljs$core$step(cljs.core.rest(s),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen__$1,f)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})(xs,seen);\n}),null,null));\n});\nreturn step(coll,cljs.core.PersistentHashSet.EMPTY);\n}));\n\n(cljs.core.distinct.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Return a seq of all but the last item in coll, in linear time\n */\ncljs.core.butlast \x3d (function cljs$core$butlast(s){\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nvar s__$1 \x3d s;\nwhile(true){\nif(cljs.core.next(s__$1)){\nvar G__20705 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.first(s__$1));\nvar G__20706 \x3d cljs.core.next(s__$1);\nret \x3d G__20705;\ns__$1 \x3d G__20706;\ncontinue;\n} else {\nreturn cljs.core.seq(ret);\n}\nbreak;\n}\n});\n/**\n * Returns the name String of a string, symbol or keyword.\n */\ncljs.core.name \x3d (function cljs$core$name(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_name$arity$1(null);\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nthrow (new Error([\x22Doesn\x27t support name: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n}\n});\n/**\n * Returns a map with the keys mapped to the corresponding vals.\n */\ncljs.core.zipmap \x3d (function cljs$core$zipmap(keys,vals){\nvar map \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nvar ks \x3d cljs.core.seq(keys);\nvar vs \x3d cljs.core.seq(vals);\nwhile(true){\nif(((ks) \x26\x26 (vs))){\nvar G__20711 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(map,cljs.core.first(ks),cljs.core.first(vs));\nvar G__20712 \x3d cljs.core.next(ks);\nvar G__20713 \x3d cljs.core.next(vs);\nmap \x3d G__20711;\nks \x3d G__20712;\nvs \x3d G__20713;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(map);\n}\nbreak;\n}\n});\n/**\n * Returns the x for which (k x), a number, is greatest.\n * \n * If there are multiple such xs, the last one is returned.\n */\ncljs.core.max_key \x3d (function cljs$core$max_key(var_args){\nvar G__15840 \x3d arguments.length;\nswitch (G__15840) {\ncase 2:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___20716 \x3d arguments.length;\nvar i__5770__auto___20718 \x3d (0);\nwhile(true){\nif((i__5770__auto___20718 \x3c len__5769__auto___20716)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___20718]));\n\nvar G__20720 \x3d (i__5770__auto___20718 + (1));\ni__5770__auto___20718 \x3d G__20720;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3e (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__15833_SHARP_,p2__15834_SHARP_){\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,p1__15833_SHARP_,p2__15834_SHARP_);\n}),cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max_key.cljs$lang$applyTo \x3d (function (seq15836){\nvar G__15837 \x3d cljs.core.first(seq15836);\nvar seq15836__$1 \x3d cljs.core.next(seq15836);\nvar G__15838 \x3d cljs.core.first(seq15836__$1);\nvar seq15836__$2 \x3d cljs.core.next(seq15836__$1);\nvar G__15839 \x3d cljs.core.first(seq15836__$2);\nvar seq15836__$3 \x3d cljs.core.next(seq15836__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15837,G__15838,G__15839,seq15836__$3);\n}));\n\n(cljs.core.max_key.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the x for which (k x), a number, is least.\n * \n * If there are multiple such xs, the last one is returned.\n */\ncljs.core.min_key \x3d (function cljs$core$min_key(var_args){\nvar G__15848 \x3d arguments.length;\nswitch (G__15848) {\ncase 2:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___20729 \x3d arguments.length;\nvar i__5770__auto___20730 \x3d (0);\nwhile(true){\nif((i__5770__auto___20730 \x3c len__5769__auto___20729)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___20730]));\n\nvar G__20733 \x3d (i__5770__auto___20730 + (1));\ni__5770__auto___20730 \x3d G__20733;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3c (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__15841_SHARP_,p2__15842_SHARP_){\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,p1__15841_SHARP_,p2__15842_SHARP_);\n}),cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min_key.cljs$lang$applyTo \x3d (function (seq15844){\nvar G__15845 \x3d cljs.core.first(seq15844);\nvar seq15844__$1 \x3d cljs.core.next(seq15844);\nvar G__15846 \x3d cljs.core.first(seq15844__$1);\nvar seq15844__$2 \x3d cljs.core.next(seq15844__$1);\nvar G__15847 \x3d cljs.core.first(seq15844__$2);\nvar seq15844__$3 \x3d cljs.core.next(seq15844__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15845,G__15846,G__15847,seq15844__$3);\n}));\n\n(cljs.core.min_key.cljs$lang$maxFixedArity \x3d (3));\n\n\n/**\n* @constructor\n*/\ncljs.core.ArrayList \x3d (function (arr){\nthis.arr \x3d arr;\n});\n(cljs.core.ArrayList.prototype.add \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.push(x);\n}));\n\n(cljs.core.ArrayList.prototype.size \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.length;\n}));\n\n(cljs.core.ArrayList.prototype.clear \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr \x3d []);\n}));\n\n(cljs.core.ArrayList.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.ArrayList.prototype.toArray \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr;\n}));\n\n(cljs.core.ArrayList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayList.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayList.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayList\x22);\n\n(cljs.core.ArrayList.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayList.\n */\ncljs.core.__GT_ArrayList \x3d (function cljs$core$__GT_ArrayList(arr){\nreturn (new cljs.core.ArrayList(arr));\n});\n\ncljs.core.array_list \x3d (function cljs$core$array_list(){\nreturn (new cljs.core.ArrayList([]));\n});\n/**\n * Returns a lazy sequence of lists like partition, but may include\n * partitions with fewer than n items at the end. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.partition_all \x3d (function cljs$core$partition_all(var_args){\nvar G__15850 \x3d arguments.length;\nswitch (G__15850) {\ncase 1:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nreturn (function() {\nvar G__20767 \x3d null;\nvar G__20767__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__20767__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__20767__2 \x3d (function (result,input){\na.add(input);\n\nif((n \x3d\x3d\x3d a.size())){\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n} else {\nreturn result;\n}\n});\nG__20767 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__20767__0.call(this);\ncase 1:\nreturn G__20767__1.call(this,result);\ncase 2:\nreturn G__20767__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20767.cljs$core$IFn$_invoke$arity$0 \x3d G__20767__0;\nG__20767.cljs$core$IFn$_invoke$arity$1 \x3d G__20767__1;\nG__20767.cljs$core$IFn$_invoke$arity$2 \x3d G__20767__2;\nreturn G__20767;\n})()\n});\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s),cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_all.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy sequence of successive items from coll while\n * (pred item) returns logical true. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.take_while \x3d (function cljs$core$take_while(var_args){\nvar G__15852 \x3d arguments.length;\nswitch (G__15852) {\ncase 1:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__20779 \x3d null;\nvar G__20779__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__20779__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__20779__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn cljs.core.reduced(result);\n}\n});\nG__20779 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__20779__0.call(this);\ncase 1:\nreturn G__20779__1.call(this,result);\ncase 2:\nreturn G__20779__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20779.cljs$core$IFn$_invoke$arity$0 \x3d G__20779__0;\nG__20779.cljs$core$IFn$_invoke$arity$1 \x3d G__20779__1;\nG__20779.cljs$core$IFn$_invoke$arity$2 \x3d G__20779__2;\nreturn G__20779;\n})()\n});\n}));\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.truth_((function (){var G__15853 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__15853) : pred.call(null,G__15853));\n})())){\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_while.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.mk_bound_fn \x3d (function cljs$core$mk_bound_fn(sc,test,key){\nreturn (function (e){\nvar comp \x3d cljs.core._comparator(sc);\nvar G__15854 \x3d (function (){var G__15856 \x3d cljs.core._entry_key(sc,e);\nvar G__15857 \x3d key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__15856,G__15857) : comp.call(null,G__15856,G__15857));\n})();\nvar G__15855 \x3d (0);\nreturn (test.cljs$core$IFn$_invoke$arity$2 ? test.cljs$core$IFn$_invoke$arity$2(G__15854,G__15855) : test.call(null,G__15854,G__15855));\n});\n});\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n * \x3e\x3d. Returns a seq of those entries with keys ek for\n * which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.subseq \x3d (function cljs$core$subseq(var_args){\nvar G__15859 \x3d arguments.length;\nswitch (G__15859) {\ncase 3:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__15860 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._GT_,cljs.core._GT__EQ_]);\nreturn (fexpr__15860.cljs$core$IFn$_invoke$arity$1 ? fexpr__15860.cljs$core$IFn$_invoke$arity$1(test) : fexpr__15860.call(null,test));\n})())){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,key,true);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__15861 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15861,(0),null);\nvar s \x3d vec__15861;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,true));\n}\n}));\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,start_key,true);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__15864 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15864,(0),null);\nvar s \x3d vec__15864;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,end_test,end_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,start_test,start_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.subseq.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n * \x3e\x3d. Returns a reverse seq of those entries with keys ek for\n * which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.rsubseq \x3d (function cljs$core$rsubseq(var_args){\nvar G__15868 \x3d arguments.length;\nswitch (G__15868) {\ncase 3:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__15869 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._LT_,cljs.core._LT__EQ_]);\nreturn (fexpr__15869.cljs$core$IFn$_invoke$arity$1 ? fexpr__15869.cljs$core$IFn$_invoke$arity$1(test) : fexpr__15869.call(null,test));\n})())){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,key,false);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__15870 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15870,(0),null);\nvar s \x3d vec__15870;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,false));\n}\n}));\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,end_key,false);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__15873 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15873,(0),null);\nvar s \x3d vec__15873;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,start_test,start_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,end_test,end_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.rsubseq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.IChunk}\n*/\ncljs.core.IntegerRangeChunk \x3d (function (start,step,count){\nthis.start \x3d start;\nthis.step \x3d step;\nthis.count \x3d count;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 82;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.start + (i * self__.step));\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c self__.count)))){\nreturn (self__.start + (i * self__.step));\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3c\x3d (1))){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.IntegerRangeChunk((self__.start + self__.step),self__.step,(self__.count - (1))));\n}\n}));\n\n(cljs.core.IntegerRangeChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null)], null);\n}));\n\n(cljs.core.IntegerRangeChunk.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRangeChunk\x22);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IntegerRangeChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRangeChunk.\n */\ncljs.core.__GT_IntegerRangeChunk \x3d (function cljs$core$__GT_IntegerRangeChunk(start,step,count){\nreturn (new cljs.core.IntegerRangeChunk(start,step,count));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.RangeIterator \x3d (function (i,end,step){\nthis.i \x3d i;\nthis.end \x3d end;\nthis.step \x3d step;\n});\n(cljs.core.RangeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.step \x3e (0))){\nreturn (self__.i \x3c self__.end);\n} else {\nreturn (self__.i \x3e self__.end);\n}\n}));\n\n(cljs.core.RangeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.i;\n(self__.i \x3d (self__.i + self__.step));\n\nreturn ret;\n}));\n\n(cljs.core.RangeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null)], null);\n}));\n\n(cljs.core.RangeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangeIterator\x22);\n\n(cljs.core.RangeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RangeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangeIterator.\n */\ncljs.core.__GT_RangeIterator \x3d (function cljs$core$__GT_RangeIterator(i,end,step){\nreturn (new cljs.core.RangeIterator(i,end,step));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IntegerRange \x3d (function (meta,start,end,step,chunk,chunk_next,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.chunk \x3d chunk;\nthis.chunk_next \x3d chunk_next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375006;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 140800;\n});\n(cljs.core.IntegerRange.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IntegerRange.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IntegerRange.prototype.indexOf \x3d (function() {\nvar G__20856 \x3d null;\nvar G__20856__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__20856__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__20856 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__20856__1.call(this,x);\ncase 2:\nreturn G__20856__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20856.cljs$core$IFn$_invoke$arity$1 \x3d G__20856__1;\nG__20856.cljs$core$IFn$_invoke$arity$2 \x3d G__20856__2;\nreturn G__20856;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.lastIndexOf \x3d (function() {\nvar G__20857 \x3d null;\nvar G__20857__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__20857__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__20857 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__20857__1.call(this,x);\ncase 2:\nreturn G__20857__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20857.cljs$core$IFn$_invoke$arity$1 \x3d G__20857__1;\nG__20857.cljs$core$IFn$_invoke$arity$2 \x3d G__20857__2;\nreturn G__20857;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.forceChunk \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.chunk \x3d\x3d null)){\nvar count \x3d coll.cljs$core$ICounted$_count$arity$1(null);\nif((count \x3e (32))){\n(self__.chunk_next \x3d (new cljs.core.IntegerRange(null,(self__.start + (self__.step * (32))),self__.end,self__.step,null,null,null)));\n\nreturn (self__.chunk \x3d (new cljs.core.IntegerRangeChunk(self__.start,self__.step,(32))));\n} else {\nreturn (self__.chunk \x3d (new cljs.core.IntegerRangeChunk(self__.start,self__.step,count)));\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (rng,n){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (rng,n,not_found){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nreturn not_found;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IntegerRange(self__.meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn Math.ceil(((self__.end - self__.start) / self__.step));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(rng__$1,f);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__20886 \x3d (i + self__.step);\nvar G__20887 \x3d ret__$1;\ni \x3d G__20886;\nret \x3d G__20887;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nreturn self__.chunk;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nif((self__.chunk_next \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.chunk_next;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.IntegerRange(new_meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.IntegerRange.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IntegerRange.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRange.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRange\x22);\n\n(cljs.core.IntegerRange.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IntegerRange\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRange.\n */\ncljs.core.__GT_IntegerRange \x3d (function cljs$core$__GT_IntegerRange(meta,start,end,step,chunk,chunk_next,__hash){\nreturn (new cljs.core.IntegerRange(meta,start,end,step,chunk,chunk_next,__hash));\n});\n\n(cljs.core.IntegerRange.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Range \x3d (function (meta,start,end,step,chunk,chunk_next,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.chunk \x3d chunk;\nthis.chunk_next \x3d chunk_next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 140800;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\n});\n(cljs.core.Range.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Range.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Range.prototype.indexOf \x3d (function() {\nvar G__20901 \x3d null;\nvar G__20901__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__20901__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__20901 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__20901__1.call(this,x);\ncase 2:\nreturn G__20901__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20901.cljs$core$IFn$_invoke$arity$1 \x3d G__20901__1;\nG__20901.cljs$core$IFn$_invoke$arity$2 \x3d G__20901__2;\nreturn G__20901;\n})()\n);\n\n(cljs.core.Range.prototype.lastIndexOf \x3d (function() {\nvar G__20904 \x3d null;\nvar G__20904__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__20904__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__20904 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__20904__1.call(this,x);\ncase 2:\nreturn G__20904__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20904.cljs$core$IFn$_invoke$arity$1 \x3d G__20904__1;\nG__20904.cljs$core$IFn$_invoke$arity$2 \x3d G__20904__2;\nreturn G__20904;\n})()\n);\n\n(cljs.core.Range.prototype.forceChunk \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.chunk \x3d\x3d null)){\nvar arr \x3d [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];\nvar val \x3d (function (){var n \x3d (0);\nvar val \x3d self__.start;\nwhile(true){\nif((n \x3c (32))){\n(arr[n] \x3d val);\n\nvar n__$1 \x3d (n + (1));\nvar val__$1 \x3d (val + self__.step);\nif((((self__.step \x3e (0)))?(val__$1 \x3c self__.end):(val__$1 \x3e self__.end))){\nvar G__20912 \x3d n__$1;\nvar G__20913 \x3d val__$1;\nn \x3d G__20912;\nval \x3d G__20913;\ncontinue;\n} else {\nreturn (self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n__$1));\n}\n} else {\nreturn val;\n}\nbreak;\n}\n})();\nif((self__.chunk \x3d\x3d null)){\n(self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),(32)));\n\nif((((self__.step \x3e (0)))?(val \x3c self__.end):(val \x3e self__.end))){\nreturn (self__.chunk_next \x3d (new cljs.core.Range(null,val,self__.end,self__.step,null,null,null)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Range(self__.meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}));\n\n(cljs.core.Range.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__20947 \x3d (i + self__.step);\nvar G__20948 \x3d ret__$1;\ni \x3d G__20947;\nret \x3d G__20948;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nreturn self__.chunk;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nif((self__.chunk_next \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.chunk_next;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.Range(new_meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.Range.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Range.cljs$lang$type \x3d true);\n\n(cljs.core.Range.cljs$lang$ctorStr \x3d \x22cljs.core/Range\x22);\n\n(cljs.core.Range.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Range\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Range.\n */\ncljs.core.__GT_Range \x3d (function cljs$core$__GT_Range(meta,start,end,step,chunk,chunk_next,__hash){\nreturn (new cljs.core.Range(meta,start,end,step,chunk,chunk_next,__hash));\n});\n\n(cljs.core.Range.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a lazy seq of nums from start (inclusive) to end\n * (exclusive), by step, where start defaults to 0, step to 1,\n * and end to infinity.\n */\ncljs.core.range \x3d (function cljs$core$range(var_args){\nvar G__15877 \x3d arguments.length;\nswitch (G__15877) {\ncase 0:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),Number.MAX_VALUE,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$1 \x3d (function (end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$2 \x3d (function (start,end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3(start,end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$3 \x3d (function (start,end,step){\nif((step \x3e (0))){\nif((end \x3c\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,null,null,null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((step \x3c (0))){\nif((end \x3e\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,null,null,null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((end \x3d\x3d\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(start);\n}\n\n}\n}\n}));\n\n(cljs.core.range.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy seq of every nth item in coll. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.take_nth \x3d (function cljs$core$take_nth(var_args){\nvar G__15879 \x3d arguments.length;\nswitch (G__15879) {\ncase 1:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__20982 \x3d null;\nvar G__20982__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__20982__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__20982__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nif((cljs.core.rem(i,n) \x3d\x3d\x3d (0))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__20982 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__20982__0.call(this);\ncase 1:\nreturn G__20982__1.call(this,result);\ncase 2:\nreturn G__20982__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20982.cljs$core$IFn$_invoke$arity$0 \x3d G__20982__0;\nG__20982.cljs$core$IFn$_invoke$arity$1 \x3d G__20982__1;\nG__20982.cljs$core$IFn$_invoke$arity$2 \x3d G__20982__2;\nreturn G__20982;\n})()\n});\n}));\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(n,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_nth.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a vector of [(take-while pred coll) (drop-while pred coll)]\n */\ncljs.core.split_with \x3d (function cljs$core$split_with(pred,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,coll),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(pred,coll)], null);\n});\n/**\n * Applies f to each value in coll, splitting it each time f returns a\n * new value. Returns a lazy seq of partitions. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.partition_by \x3d (function cljs$core$partition_by(var_args){\nvar G__15882 \x3d arguments.length;\nswitch (G__15882) {\ncase 1:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__21000 \x3d null;\nvar G__21000__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__21000__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__21000__2 \x3d (function (result,input){\nvar pval \x3d cljs.core.deref(pa);\nvar val \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\ncljs.core.vreset_BANG_(pa,val);\n\nif(((cljs.core.keyword_identical_QMARK_(pval,new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439))) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(val,pval)))){\na.add(input);\n\nreturn result;\n} else {\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\nif(cljs.core.reduced_QMARK_(ret)){\n} else {\na.add(input);\n}\n\nreturn ret;\n}\n});\nG__21000 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__21000__0.call(this);\ncase 1:\nreturn G__21000__1.call(this,result);\ncase 2:\nreturn G__21000__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21000.cljs$core$IFn$_invoke$arity$0 \x3d G__21000__0;\nG__21000.cljs$core$IFn$_invoke$arity$1 \x3d G__21000__1;\nG__21000.cljs$core$IFn$_invoke$arity$2 \x3d G__21000__2;\nreturn G__21000;\n})()\n});\n}));\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar fst \x3d cljs.core.first(s);\nvar fv \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(fst) : f.call(null,fst));\nvar run \x3d cljs.core.cons(fst,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__15880_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fv,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(p1__15880_SHARP_) : f.call(null,p1__15880_SHARP_)));\n}),cljs.core.next(s)));\nreturn cljs.core.cons(run,cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(f,(new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(run),s);\n}),null,null))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_by.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a map from distinct items in coll to the number of times\n * they appear.\n */\ncljs.core.frequencies \x3d (function cljs$core$frequencies(coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (counts,x){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(counts,x,(cljs.core.get.cljs$core$IFn$_invoke$arity$3(counts,x,(0)) + (1)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Returns a lazy seq of the intermediate values of the reduction (as\n * per reduce) of coll by f, starting with init.\n */\ncljs.core.reductions \x3d (function cljs$core$reductions(var_args){\nvar G__15884 \x3d arguments.length;\nswitch (G__15884) {\ncase 2:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar s \x3d temp__5802__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,cljs.core.first(s),cljs.core.rest(s));\n} else {\nreturn (new cljs.core.List(null,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),null,(1),null));\n}\n}),null,null));\n}));\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,init,coll){\nif(cljs.core.reduced_QMARK_(init)){\nreturn (new cljs.core.List(null,cljs.core.deref(init),null,(1),null));\n} else {\nreturn cljs.core.cons(init,(new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,(function (){var G__15885 \x3d init;\nvar G__15886 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__15885,G__15886) : f.call(null,G__15885,G__15886));\n})(),cljs.core.rest(s));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n}));\n\n(cljs.core.reductions.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a set of functions and returns a fn that is the juxtaposition\n * of those fns. The returned fn takes a variable number of args, and\n * returns a vector containing the result of applying each fn to the\n * args (left-to-right).\n * ((juxt a b c) x) \x3d\x3e [(a x) (b x) (c x)]\n */\ncljs.core.juxt \x3d (function cljs$core$juxt(var_args){\nvar G__15902 \x3d arguments.length;\nswitch (G__15902) {\ncase 1:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___21046 \x3d arguments.length;\nvar i__5770__auto___21047 \x3d (0);\nwhile(true){\nif((i__5770__auto___21047 \x3c len__5769__auto___21046)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___21047]));\n\nvar G__21049 \x3d (i__5770__auto___21047 + (1));\ni__5770__auto___21047 \x3d G__21049;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function() {\nvar G__21050 \x3d null;\nvar G__21050__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null))],null));\n});\nvar G__21050__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x))],null));\n});\nvar G__21050__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y))],null));\n});\nvar G__21050__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z))],null));\n});\nvar G__21050__4 \x3d (function() { \nvar G__21054__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args)],null));\n};\nvar G__21054 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__21055__i \x3d 0, G__21055__a \x3d new Array(arguments.length - 3);\nwhile (G__21055__i \x3c G__21055__a.length) {G__21055__a[G__21055__i] \x3d arguments[G__21055__i + 3]; ++G__21055__i;}\n args \x3d new cljs.core.IndexedSeq(G__21055__a,0,null);\n} \nreturn G__21054__delegate.call(this,x,y,z,args);};\nG__21054.cljs$lang$maxFixedArity \x3d 3;\nG__21054.cljs$lang$applyTo \x3d (function (arglist__21056){\nvar x \x3d cljs.core.first(arglist__21056);\narglist__21056 \x3d cljs.core.next(arglist__21056);\nvar y \x3d cljs.core.first(arglist__21056);\narglist__21056 \x3d cljs.core.next(arglist__21056);\nvar z \x3d cljs.core.first(arglist__21056);\nvar args \x3d cljs.core.rest(arglist__21056);\nreturn G__21054__delegate(x,y,z,args);\n});\nG__21054.cljs$core$IFn$_invoke$arity$variadic \x3d G__21054__delegate;\nreturn G__21054;\n})()\n;\nG__21050 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__21050__0.call(this);\ncase 1:\nreturn G__21050__1.call(this,x);\ncase 2:\nreturn G__21050__2.call(this,x,y);\ncase 3:\nreturn G__21050__3.call(this,x,y,z);\ndefault:\nvar G__21057 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__21058__i \x3d 0, G__21058__a \x3d new Array(arguments.length - 3);\nwhile (G__21058__i \x3c G__21058__a.length) {G__21058__a[G__21058__i] \x3d arguments[G__21058__i + 3]; ++G__21058__i;}\nG__21057 \x3d new cljs.core.IndexedSeq(G__21058__a,0,null);\n}\nreturn G__21050__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__21057);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21050.cljs$lang$maxFixedArity \x3d 3;\nG__21050.cljs$lang$applyTo \x3d G__21050__4.cljs$lang$applyTo;\nG__21050.cljs$core$IFn$_invoke$arity$0 \x3d G__21050__0;\nG__21050.cljs$core$IFn$_invoke$arity$1 \x3d G__21050__1;\nG__21050.cljs$core$IFn$_invoke$arity$2 \x3d G__21050__2;\nG__21050.cljs$core$IFn$_invoke$arity$3 \x3d G__21050__3;\nG__21050.cljs$core$IFn$_invoke$arity$variadic \x3d G__21050__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__21050;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__21059 \x3d null;\nvar G__21059__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null))],null));\n});\nvar G__21059__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x))],null));\n});\nvar G__21059__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y))],null));\n});\nvar G__21059__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z))],null));\n});\nvar G__21059__4 \x3d (function() { \nvar G__21061__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args)],null));\n};\nvar G__21061 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__21062__i \x3d 0, G__21062__a \x3d new Array(arguments.length - 3);\nwhile (G__21062__i \x3c G__21062__a.length) {G__21062__a[G__21062__i] \x3d arguments[G__21062__i + 3]; ++G__21062__i;}\n args \x3d new cljs.core.IndexedSeq(G__21062__a,0,null);\n} \nreturn G__21061__delegate.call(this,x,y,z,args);};\nG__21061.cljs$lang$maxFixedArity \x3d 3;\nG__21061.cljs$lang$applyTo \x3d (function (arglist__21063){\nvar x \x3d cljs.core.first(arglist__21063);\narglist__21063 \x3d cljs.core.next(arglist__21063);\nvar y \x3d cljs.core.first(arglist__21063);\narglist__21063 \x3d cljs.core.next(arglist__21063);\nvar z \x3d cljs.core.first(arglist__21063);\nvar args \x3d cljs.core.rest(arglist__21063);\nreturn G__21061__delegate(x,y,z,args);\n});\nG__21061.cljs$core$IFn$_invoke$arity$variadic \x3d G__21061__delegate;\nreturn G__21061;\n})()\n;\nG__21059 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__21059__0.call(this);\ncase 1:\nreturn G__21059__1.call(this,x);\ncase 2:\nreturn G__21059__2.call(this,x,y);\ncase 3:\nreturn G__21059__3.call(this,x,y,z);\ndefault:\nvar G__21064 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__21065__i \x3d 0, G__21065__a \x3d new Array(arguments.length - 3);\nwhile (G__21065__i \x3c G__21065__a.length) {G__21065__a[G__21065__i] \x3d arguments[G__21065__i + 3]; ++G__21065__i;}\nG__21064 \x3d new cljs.core.IndexedSeq(G__21065__a,0,null);\n}\nreturn G__21059__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__21064);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21059.cljs$lang$maxFixedArity \x3d 3;\nG__21059.cljs$lang$applyTo \x3d G__21059__4.cljs$lang$applyTo;\nG__21059.cljs$core$IFn$_invoke$arity$0 \x3d G__21059__0;\nG__21059.cljs$core$IFn$_invoke$arity$1 \x3d G__21059__1;\nG__21059.cljs$core$IFn$_invoke$arity$2 \x3d G__21059__2;\nG__21059.cljs$core$IFn$_invoke$arity$3 \x3d G__21059__3;\nG__21059.cljs$core$IFn$_invoke$arity$variadic \x3d G__21059__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__21059;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__21066 \x3d null;\nvar G__21066__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null)),(h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null))],null));\n});\nvar G__21066__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x)),(h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x))],null));\n});\nvar G__21066__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y)),(h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y))],null));\n});\nvar G__21066__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z)),(h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z))],null));\n});\nvar G__21066__4 \x3d (function() { \nvar G__21067__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args)],null));\n};\nvar G__21067 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__21068__i \x3d 0, G__21068__a \x3d new Array(arguments.length - 3);\nwhile (G__21068__i \x3c G__21068__a.length) {G__21068__a[G__21068__i] \x3d arguments[G__21068__i + 3]; ++G__21068__i;}\n args \x3d new cljs.core.IndexedSeq(G__21068__a,0,null);\n} \nreturn G__21067__delegate.call(this,x,y,z,args);};\nG__21067.cljs$lang$maxFixedArity \x3d 3;\nG__21067.cljs$lang$applyTo \x3d (function (arglist__21070){\nvar x \x3d cljs.core.first(arglist__21070);\narglist__21070 \x3d cljs.core.next(arglist__21070);\nvar y \x3d cljs.core.first(arglist__21070);\narglist__21070 \x3d cljs.core.next(arglist__21070);\nvar z \x3d cljs.core.first(arglist__21070);\nvar args \x3d cljs.core.rest(arglist__21070);\nreturn G__21067__delegate(x,y,z,args);\n});\nG__21067.cljs$core$IFn$_invoke$arity$variadic \x3d G__21067__delegate;\nreturn G__21067;\n})()\n;\nG__21066 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__21066__0.call(this);\ncase 1:\nreturn G__21066__1.call(this,x);\ncase 2:\nreturn G__21066__2.call(this,x,y);\ncase 3:\nreturn G__21066__3.call(this,x,y,z);\ndefault:\nvar G__21071 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__21072__i \x3d 0, G__21072__a \x3d new Array(arguments.length - 3);\nwhile (G__21072__i \x3c G__21072__a.length) {G__21072__a[G__21072__i] \x3d arguments[G__21072__i + 3]; ++G__21072__i;}\nG__21071 \x3d new cljs.core.IndexedSeq(G__21072__a,0,null);\n}\nreturn G__21066__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__21071);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21066.cljs$lang$maxFixedArity \x3d 3;\nG__21066.cljs$lang$applyTo \x3d G__21066__4.cljs$lang$applyTo;\nG__21066.cljs$core$IFn$_invoke$arity$0 \x3d G__21066__0;\nG__21066.cljs$core$IFn$_invoke$arity$1 \x3d G__21066__1;\nG__21066.cljs$core$IFn$_invoke$arity$2 \x3d G__21066__2;\nG__21066.cljs$core$IFn$_invoke$arity$3 \x3d G__21066__3;\nG__21066.cljs$core$IFn$_invoke$arity$variadic \x3d G__21066__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__21066;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,g,h,fs){\nvar fs__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f,g,h,fs);\nreturn (function() {\nvar G__21073 \x3d null;\nvar G__21073__0 \x3d (function (){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__15887_SHARP_,p2__15888_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__15887_SHARP_,(p2__15888_SHARP_.cljs$core$IFn$_invoke$arity$0 ? p2__15888_SHARP_.cljs$core$IFn$_invoke$arity$0() : p2__15888_SHARP_.call(null)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__21073__1 \x3d (function (x){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__15889_SHARP_,p2__15890_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__15889_SHARP_,(p2__15890_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p2__15890_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p2__15890_SHARP_.call(null,x)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__21073__2 \x3d (function (x,y){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__15891_SHARP_,p2__15892_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__15891_SHARP_,(p2__15892_SHARP_.cljs$core$IFn$_invoke$arity$2 ? p2__15892_SHARP_.cljs$core$IFn$_invoke$arity$2(x,y) : p2__15892_SHARP_.call(null,x,y)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__21073__3 \x3d (function (x,y,z){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__15893_SHARP_,p2__15894_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__15893_SHARP_,(p2__15894_SHARP_.cljs$core$IFn$_invoke$arity$3 ? p2__15894_SHARP_.cljs$core$IFn$_invoke$arity$3(x,y,z) : p2__15894_SHARP_.call(null,x,y,z)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__21073__4 \x3d (function() { \nvar G__21074__delegate \x3d function (x,y,z,args){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__15895_SHARP_,p2__15896_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__15895_SHARP_,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(p2__15896_SHARP_,x,y,z,args));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n};\nvar G__21074 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__21075__i \x3d 0, G__21075__a \x3d new Array(arguments.length - 3);\nwhile (G__21075__i \x3c G__21075__a.length) {G__21075__a[G__21075__i] \x3d arguments[G__21075__i + 3]; ++G__21075__i;}\n args \x3d new cljs.core.IndexedSeq(G__21075__a,0,null);\n} \nreturn G__21074__delegate.call(this,x,y,z,args);};\nG__21074.cljs$lang$maxFixedArity \x3d 3;\nG__21074.cljs$lang$applyTo \x3d (function (arglist__21076){\nvar x \x3d cljs.core.first(arglist__21076);\narglist__21076 \x3d cljs.core.next(arglist__21076);\nvar y \x3d cljs.core.first(arglist__21076);\narglist__21076 \x3d cljs.core.next(arglist__21076);\nvar z \x3d cljs.core.first(arglist__21076);\nvar args \x3d cljs.core.rest(arglist__21076);\nreturn G__21074__delegate(x,y,z,args);\n});\nG__21074.cljs$core$IFn$_invoke$arity$variadic \x3d G__21074__delegate;\nreturn G__21074;\n})()\n;\nG__21073 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__21073__0.call(this);\ncase 1:\nreturn G__21073__1.call(this,x);\ncase 2:\nreturn G__21073__2.call(this,x,y);\ncase 3:\nreturn G__21073__3.call(this,x,y,z);\ndefault:\nvar G__21077 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__21078__i \x3d 0, G__21078__a \x3d new Array(arguments.length - 3);\nwhile (G__21078__i \x3c G__21078__a.length) {G__21078__a[G__21078__i] \x3d arguments[G__21078__i + 3]; ++G__21078__i;}\nG__21077 \x3d new cljs.core.IndexedSeq(G__21078__a,0,null);\n}\nreturn G__21073__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__21077);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21073.cljs$lang$maxFixedArity \x3d 3;\nG__21073.cljs$lang$applyTo \x3d G__21073__4.cljs$lang$applyTo;\nG__21073.cljs$core$IFn$_invoke$arity$0 \x3d G__21073__0;\nG__21073.cljs$core$IFn$_invoke$arity$1 \x3d G__21073__1;\nG__21073.cljs$core$IFn$_invoke$arity$2 \x3d G__21073__2;\nG__21073.cljs$core$IFn$_invoke$arity$3 \x3d G__21073__3;\nG__21073.cljs$core$IFn$_invoke$arity$variadic \x3d G__21073__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__21073;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.juxt.cljs$lang$applyTo \x3d (function (seq15898){\nvar G__15899 \x3d cljs.core.first(seq15898);\nvar seq15898__$1 \x3d cljs.core.next(seq15898);\nvar G__15900 \x3d cljs.core.first(seq15898__$1);\nvar seq15898__$2 \x3d cljs.core.next(seq15898__$1);\nvar G__15901 \x3d cljs.core.first(seq15898__$2);\nvar seq15898__$3 \x3d cljs.core.next(seq15898__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15899,G__15900,G__15901,seq15898__$3);\n}));\n\n(cljs.core.juxt.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * When lazy sequences are produced via functions that have side\n * effects, any effects other than those needed to produce the first\n * element in the seq do not occur until the seq is consumed. dorun can\n * be used to force any effects. Walks through the successive nexts of\n * the seq, does not retain the head and returns nil.\n */\ncljs.core.dorun \x3d (function cljs$core$dorun(var_args){\nvar G__15904 \x3d arguments.length;\nswitch (G__15904) {\ncase 1:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar G__21080 \x3d cljs.core.next(s);\ncoll \x3d G__21080;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nwhile(true){\nif(((cljs.core.seq(coll)) \x26\x26 ((n \x3e (0))))){\nvar G__21081 \x3d (n - (1));\nvar G__21082 \x3d cljs.core.next(coll);\nn \x3d G__21081;\ncoll \x3d G__21082;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * When lazy sequences are produced via functions that have side\n * effects, any effects other than those needed to produce the first\n * element in the seq do not occur until the seq is consumed. doall can\n * be used to force any effects. Walks through the successive nexts of\n * the seq, retains the head and returns it, thus causing the entire\n * seq to reside in memory at one time.\n */\ncljs.core.doall \x3d (function cljs$core$doall(var_args){\nvar G__15906 \x3d arguments.length;\nswitch (G__15906) {\ncase 1:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$1(coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$2(n,coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns true if x is a JavaScript RegExp instance.\n */\ncljs.core.regexp_QMARK_ \x3d (function cljs$core$regexp_QMARK_(x){\nreturn (x instanceof RegExp);\n});\n/**\n * Returns the result of (re-find re s) if re fully matches s.\n */\ncljs.core.re_matches \x3d (function cljs$core$re_matches(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((((!((matches \x3d\x3d null)))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((matches[(0)]),s)))){\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n} else {\nreturn null;\n}\n} else {\nthrow (new TypeError(\x22re-matches must match against a string.\x22));\n}\n});\n/**\n * Returns the first regex match, if any, of s to re, using\n * re.exec(s). Returns a vector, containing first the matching\n * substring, then any capturing groups if the regular expression contains\n * capturing groups.\n */\ncljs.core.re_find \x3d (function cljs$core$re_find(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((matches \x3d\x3d null)){\nreturn null;\n} else {\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n}\n} else {\nthrow (new TypeError(\x22re-find must match against a string.\x22));\n}\n});\ncljs.core.re_seq_STAR_ \x3d (function cljs$core$re_seq_STAR_(re,s){\nvar temp__5808__auto__ \x3d re.exec(s);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar matches \x3d temp__5808__auto__;\nvar match_str \x3d (matches[(0)]);\nvar match_vals \x3d (((matches.length \x3d\x3d\x3d (1)))?match_str:cljs.core.vec(matches));\nreturn cljs.core.cons(match_vals,(new cljs.core.LazySeq(null,(function (){\nvar post_idx \x3d (matches.index + (function (){var x__5130__auto__ \x3d (1);\nvar y__5131__auto__ \x3d match_str.length;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})());\nif((post_idx \x3c\x3d s.length)){\nvar G__15907 \x3d re;\nvar G__15908 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,post_idx);\nreturn (cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2 ? cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2(G__15907,G__15908) : cljs.core.re_seq_STAR_.call(null,G__15907,G__15908));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n});\n/**\n * Returns a lazy sequence of successive matches of re in s.\n */\ncljs.core.re_seq \x3d (function cljs$core$re_seq(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.re_seq_STAR_(re,s);\n} else {\nthrow (new TypeError(\x22re-seq must match against a string.\x22));\n}\n});\n/**\n * Returns an instance of RegExp which has compiled the provided string.\n */\ncljs.core.re_pattern \x3d (function cljs$core$re_pattern(s){\nif((s instanceof RegExp)){\nreturn s;\n} else {\nvar vec__15909 \x3d cljs.core.re_find(/^\\(\\?([idmsux]*)\\)/,s);\nvar prefix \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15909,(0),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15909,(1),null);\nvar pattern \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(((prefix \x3d\x3d null))?(0):((prefix).length)));\nreturn (new RegExp(pattern,(function (){var or__5045__auto__ \x3d flags;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22\x22;\n}\n})()));\n}\n});\ncljs.core.pr_sequential_writer \x3d (function cljs$core$pr_sequential_writer(writer,print_one,begin,sep,end,opts,coll){\nvar _STAR_print_level_STAR__orig_val__15912 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__15913 \x3d (((cljs.core._STAR_print_level_STAR_ \x3d\x3d null))?null:(cljs.core._STAR_print_level_STAR_ - (1)));\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__15913);\n\ntry{if((((!((cljs.core._STAR_print_level_STAR_ \x3d\x3d null)))) \x26\x26 ((cljs.core._STAR_print_level_STAR_ \x3c (0))))){\nreturn cljs.core._write(writer,\x22#\x22);\n} else {\ncljs.core._write(writer,begin);\n\nif((new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\ncljs.core._write(writer,(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n} else {\nif(cljs.core.seq(coll)){\nvar G__15914_21098 \x3d cljs.core.first(coll);\nvar G__15915_21099 \x3d writer;\nvar G__15916_21100 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__15914_21098,G__15915_21099,G__15916_21100) : print_one.call(null,G__15914_21098,G__15915_21099,G__15916_21100));\n} else {\n}\n\nvar coll_21101__$1 \x3d cljs.core.next(coll);\nvar n_21102 \x3d (new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) - (1));\nwhile(true){\nif(((coll_21101__$1) \x26\x26 ((((n_21102 \x3d\x3d null)) || ((!((n_21102 \x3d\x3d\x3d (0))))))))){\ncljs.core._write(writer,sep);\n\nvar G__15917_21103 \x3d cljs.core.first(coll_21101__$1);\nvar G__15918_21104 \x3d writer;\nvar G__15919_21105 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__15917_21103,G__15918_21104,G__15919_21105) : print_one.call(null,G__15917_21103,G__15918_21104,G__15919_21105));\n\nvar G__21106 \x3d cljs.core.next(coll_21101__$1);\nvar G__21107 \x3d (n_21102 - (1));\ncoll_21101__$1 \x3d G__21106;\nn_21102 \x3d G__21107;\ncontinue;\n} else {\nif(((cljs.core.seq(coll_21101__$1)) \x26\x26 ((n_21102 \x3d\x3d\x3d (0))))){\ncljs.core._write(writer,sep);\n\ncljs.core._write(writer,(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n}\nbreak;\n}\n}\n\nreturn cljs.core._write(writer,end);\n}\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__15912);\n}});\ncljs.core.write_all \x3d (function cljs$core$write_all(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21108 \x3d arguments.length;\nvar i__5770__auto___21109 \x3d (0);\nwhile(true){\nif((i__5770__auto___21109 \x3c len__5769__auto___21108)){\nargs__5775__auto__.push((arguments[i__5770__auto___21109]));\n\nvar G__21110 \x3d (i__5770__auto___21109 + (1));\ni__5770__auto___21109 \x3d G__21110;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,ss){\nvar seq__15922 \x3d cljs.core.seq(ss);\nvar chunk__15923 \x3d null;\nvar count__15924 \x3d (0);\nvar i__15925 \x3d (0);\nwhile(true){\nif((i__15925 \x3c count__15924)){\nvar s \x3d chunk__15923.cljs$core$IIndexed$_nth$arity$2(null,i__15925);\ncljs.core._write(writer,s);\n\n\nvar G__21111 \x3d seq__15922;\nvar G__21112 \x3d chunk__15923;\nvar G__21113 \x3d count__15924;\nvar G__21114 \x3d (i__15925 + (1));\nseq__15922 \x3d G__21111;\nchunk__15923 \x3d G__21112;\ncount__15924 \x3d G__21113;\ni__15925 \x3d G__21114;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__15922);\nif(temp__5804__auto__){\nvar seq__15922__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__15922__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__15922__$1);\nvar G__21115 \x3d cljs.core.chunk_rest(seq__15922__$1);\nvar G__21116 \x3d c__5568__auto__;\nvar G__21117 \x3d cljs.core.count(c__5568__auto__);\nvar G__21118 \x3d (0);\nseq__15922 \x3d G__21115;\nchunk__15923 \x3d G__21116;\ncount__15924 \x3d G__21117;\ni__15925 \x3d G__21118;\ncontinue;\n} else {\nvar s \x3d cljs.core.first(seq__15922__$1);\ncljs.core._write(writer,s);\n\n\nvar G__21119 \x3d cljs.core.next(seq__15922__$1);\nvar G__21120 \x3d null;\nvar G__21121 \x3d (0);\nvar G__21122 \x3d (0);\nseq__15922 \x3d G__21119;\nchunk__15923 \x3d G__21120;\ncount__15924 \x3d G__21121;\ni__15925 \x3d G__21122;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.write_all.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.write_all.cljs$lang$applyTo \x3d (function (seq15920){\nvar G__15921 \x3d cljs.core.first(seq15920);\nvar seq15920__$1 \x3d cljs.core.next(seq15920);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15921,seq15920__$1);\n}));\n\ncljs.core.string_print \x3d (function cljs$core$string_print(x){\nif((cljs.core._STAR_print_fn_STAR_ \x3d\x3d null)){\nthrow (new Error(\x22No *print-fn* fn set for evaluation environment\x22));\n} else {\n}\n\ncljs.core._STAR_print_fn_STAR_.call(null,x);\n\nreturn null;\n});\ncljs.core.flush \x3d (function cljs$core$flush(){\nreturn null;\n});\ncljs.core.char_escapes \x3d (function (){var obj15927 \x3d ({\x22\\\x22\x22:\x22\\\\\\\x22\x22,\x22\\\\\x22:\x22\\\\\\\\\x22,\x22\\b\x22:\x22\\\\b\x22,\x22\\f\x22:\x22\\\\f\x22,\x22\\n\x22:\x22\\\\n\x22,\x22\\r\x22:\x22\\\\r\x22,\x22\\t\x22:\x22\\\\t\x22});\nreturn obj15927;\n})();\ncljs.core.quote_string \x3d (function cljs$core$quote_string(s){\nreturn [\x22\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(s.replace(RegExp(\x22[\\\\\\\\\\\x22\\b\\f\\n\\r\\t]\x22,\x22g\x22),(function (match){\nreturn (cljs.core.char_escapes[match]);\n}))),\x22\\\x22\x22].join(\x27\x27);\n});\ncljs.core.print_meta_QMARK_ \x3d (function cljs$core$print_meta_QMARK_(opts,obj){\nvar and__5043__auto__ \x3d cljs.core.boolean$(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964)));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IMeta$))))?true:false):false);\nif(and__5043__auto____$1){\nreturn (!((cljs.core.meta(obj) \x3d\x3d null)));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n});\ncljs.core.pr_writer_impl \x3d (function cljs$core$pr_writer_impl(obj,writer,opts){\nif((obj \x3d\x3d null)){\nreturn cljs.core._write(writer,\x22nil\x22);\n} else {\nif(cljs.core.print_meta_QMARK_(opts,obj)){\ncljs.core._write(writer,\x22^\x22);\n\nvar G__15929_21127 \x3d cljs.core.meta(obj);\nvar G__15930_21128 \x3d writer;\nvar G__15931_21129 \x3d opts;\n(cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3(G__15929_21127,G__15930_21128,G__15931_21129) : cljs.core.pr_writer.call(null,G__15929_21127,G__15930_21128,G__15931_21129));\n\ncljs.core._write(writer,\x22 \x22);\n} else {\n}\n\nif(obj.cljs$lang$type){\nreturn obj.cljs$lang$ctorPrWriter(obj,writer,opts);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IPrintWithWriter$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj))){\nreturn cljs.core._pr_writer(obj,writer,opts);\n} else {\nif(((obj \x3d\x3d\x3d true) || (obj \x3d\x3d\x3d false))){\nreturn cljs.core._write(writer,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj));\n} else {\nif(typeof obj \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core._write(writer,((isNaN(obj))?\x22##NaN\x22:(((obj \x3d\x3d\x3d Number.POSITIVE_INFINITY))?\x22##Inf\x22:(((obj \x3d\x3d\x3d Number.NEGATIVE_INFINITY))?\x22##-Inf\x22:cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj)\n))));\n} else {\nif(cljs.core.object_QMARK_(obj)){\ncljs.core._write(writer,\x22#js \x22);\n\nvar G__15933 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn (new cljs.core.MapEntry((function (){var G__15937 \x3d k;\nif((!((cljs.core.re_matches(/[A-Za-z_\\*\\+\\?!\\-\x27][\\w\\*\\+\\?!\\-\x27]*/,k) \x3d\x3d null)))){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__15937);\n} else {\nreturn G__15937;\n}\n})(),(obj[k]),null));\n}),cljs.core.js_keys(obj));\nvar G__15934 \x3d cljs.core.pr_writer;\nvar G__15935 \x3d writer;\nvar G__15936 \x3d opts;\nreturn (cljs.core.print_map.cljs$core$IFn$_invoke$arity$4 ? cljs.core.print_map.cljs$core$IFn$_invoke$arity$4(G__15933,G__15934,G__15935,G__15936) : cljs.core.print_map.call(null,G__15933,G__15934,G__15935,G__15936));\n} else {\nif(cljs.core.array_QMARK_(obj)){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#js [\x22,\x22 \x22,\x22]\x22,opts,obj);\n} else {\nif(typeof obj \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$1(opts))){\nreturn cljs.core._write(writer,cljs.core.quote_string(obj));\n} else {\nreturn cljs.core._write(writer,obj);\n}\n} else {\nif(typeof obj \x3d\x3d\x3d \x27function\x27){\nvar name \x3d obj.name;\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (name \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Function\x22:name);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,(cljs.core.truth_(cljs.core._STAR_print_fn_bodies_STAR_)?[\x22 \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22\\\x22\x22].join(\x27\x27):\x22\x22),\x22]\x22], 0));\n} else {\nif((obj instanceof Date)){\nvar normalize \x3d (function (n,len){\nvar ns \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(n);\nwhile(true){\nif((((ns).length) \x3c len)){\nvar G__21130 \x3d [\x220\x22,ns].join(\x27\x27);\nns \x3d G__21130;\ncontinue;\n} else {\nreturn ns;\n}\nbreak;\n}\n});\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#inst \\\x22\x22,normalize(obj.getUTCFullYear(),(4)),\x22-\x22,normalize((obj.getUTCMonth() + (1)),(2)),\x22-\x22,normalize(obj.getUTCDate(),(2)),\x22T\x22,normalize(obj.getUTCHours(),(2)),\x22:\x22,normalize(obj.getUTCMinutes(),(2)),\x22:\x22,normalize(obj.getUTCSeconds(),(2)),\x22.\x22,normalize(obj.getUTCMilliseconds(),(3)),\x22-\x22,\x2200:00\\\x22\x22], 0));\n} else {\nif(cljs.core.regexp_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#\\\x22\x22,obj.source,\x22\\\x22\x22], 0));\n} else {\nif(cljs.core.js_symbol_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.toString(),\x22]\x22], 0));\n} else {\nif(cljs.core.truth_((function (){var G__15938 \x3d obj;\nvar G__15938__$1 \x3d (((G__15938 \x3d\x3d null))?null:G__15938.constructor);\nif((G__15938__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__15938__$1.cljs$lang$ctorStr;\n}\n})())){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.constructor.cljs$lang$ctorStr.replace((new RegExp(\x22/\x22,\x22g\x22)),\x22.\x22),\x22]\x22], 0));\n} else {\nvar name \x3d (function (){var G__15939 \x3d obj;\nvar G__15939__$1 \x3d (((G__15939 \x3d\x3d null))?null:G__15939.constructor);\nif((G__15939__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__15939__$1.name;\n}\n})();\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (name \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Object\x22:name);\nif((obj.constructor \x3d\x3d null)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22]\x22], 0));\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22]\x22], 0));\n}\n}\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n\n}\n});\n/**\n * Prefer this to pr-seq, because it makes the printing function\n * configurable, allowing efficient implementations such as appending\n * to a StringBuffer.\n */\ncljs.core.pr_writer \x3d (function cljs$core$pr_writer(obj,writer,opts){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22alt-impl\x22,\x22alt-impl\x22,670969595).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar alt_impl \x3d temp__5802__auto__;\nvar G__15940 \x3d obj;\nvar G__15941 \x3d writer;\nvar G__15942 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22fallback-impl\x22,\x22fallback-impl\x22,-1501286995),cljs.core.pr_writer_impl);\nreturn (alt_impl.cljs$core$IFn$_invoke$arity$3 ? alt_impl.cljs$core$IFn$_invoke$arity$3(G__15940,G__15941,G__15942) : alt_impl.call(null,G__15940,G__15941,G__15942));\n} else {\nreturn cljs.core.pr_writer_impl(obj,writer,opts);\n}\n});\ncljs.core.pr_seq_writer \x3d (function cljs$core$pr_seq_writer(objs,writer,opts){\ncljs.core.pr_writer(cljs.core.first(objs),writer,opts);\n\nvar seq__15943 \x3d cljs.core.seq(cljs.core.next(objs));\nvar chunk__15944 \x3d null;\nvar count__15945 \x3d (0);\nvar i__15946 \x3d (0);\nwhile(true){\nif((i__15946 \x3c count__15945)){\nvar obj \x3d chunk__15944.cljs$core$IIndexed$_nth$arity$2(null,i__15946);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__21133 \x3d seq__15943;\nvar G__21134 \x3d chunk__15944;\nvar G__21135 \x3d count__15945;\nvar G__21136 \x3d (i__15946 + (1));\nseq__15943 \x3d G__21133;\nchunk__15944 \x3d G__21134;\ncount__15945 \x3d G__21135;\ni__15946 \x3d G__21136;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__15943);\nif(temp__5804__auto__){\nvar seq__15943__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__15943__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__15943__$1);\nvar G__21137 \x3d cljs.core.chunk_rest(seq__15943__$1);\nvar G__21138 \x3d c__5568__auto__;\nvar G__21139 \x3d cljs.core.count(c__5568__auto__);\nvar G__21140 \x3d (0);\nseq__15943 \x3d G__21137;\nchunk__15944 \x3d G__21138;\ncount__15945 \x3d G__21139;\ni__15946 \x3d G__21140;\ncontinue;\n} else {\nvar obj \x3d cljs.core.first(seq__15943__$1);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__21144 \x3d cljs.core.next(seq__15943__$1);\nvar G__21145 \x3d null;\nvar G__21146 \x3d (0);\nvar G__21147 \x3d (0);\nseq__15943 \x3d G__21144;\nchunk__15944 \x3d G__21145;\ncount__15945 \x3d G__21146;\ni__15946 \x3d G__21147;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.core.pr_sb_with_opts \x3d (function cljs$core$pr_sb_with_opts(objs,opts){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\ncljs.core.pr_seq_writer(objs,writer,opts);\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn sb;\n});\n/**\n * Prints a sequence of objects to a string, observing all the\n * options given in opts\n */\ncljs.core.pr_str_with_opts \x3d (function cljs$core$pr_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\x22;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_sb_with_opts(objs,opts));\n}\n});\n/**\n * Same as pr-str-with-opts followed by (newline)\n */\ncljs.core.prn_str_with_opts \x3d (function cljs$core$prn_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\\n\x22;\n} else {\nvar sb \x3d cljs.core.pr_sb_with_opts(objs,opts);\nsb.append(\x22\\n\x22);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n}\n});\n/**\n * Prints a sequence of objects using string-print, observing all\n * the options given in opts\n */\ncljs.core.pr_with_opts \x3d (function cljs$core$pr_with_opts(objs,opts){\nreturn cljs.core.string_print(cljs.core.pr_str_with_opts(objs,opts));\n});\n/**\n * Prints a newline using *print-fn*\n */\ncljs.core.newline \x3d (function cljs$core$newline(var_args){\nvar G__15948 \x3d arguments.length;\nswitch (G__15948) {\ncase 0:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$1 \x3d (function (opts){\ncljs.core.string_print(\x22\\n\x22);\n\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939)))){\nreturn cljs.core.flush();\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.newline.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * pr to a string, returning it. Fundamental entrypoint to IPrintWithWriter.\n */\ncljs.core.pr_str \x3d (function cljs$core$pr_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21170 \x3d arguments.length;\nvar i__5770__auto___21171 \x3d (0);\nwhile(true){\nif((i__5770__auto___21171 \x3c len__5769__auto___21170)){\nargs__5775__auto__.push((arguments[i__5770__auto___21171]));\n\nvar G__21172 \x3d (i__5770__auto___21171 + (1));\ni__5770__auto___21171 \x3d G__21172;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr_str.cljs$lang$applyTo \x3d (function (seq15949){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15949));\n}));\n\n/**\n * Same as pr-str followed by (newline)\n */\ncljs.core.prn_str \x3d (function cljs$core$prn_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21175 \x3d arguments.length;\nvar i__5770__auto___21176 \x3d (0);\nwhile(true){\nif((i__5770__auto___21176 \x3c len__5769__auto___21175)){\nargs__5775__auto__.push((arguments[i__5770__auto___21176]));\n\nvar G__21178 \x3d (i__5770__auto___21176 + (1));\ni__5770__auto___21176 \x3d G__21178;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.prn_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn_str.cljs$lang$applyTo \x3d (function (seq15950){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15950));\n}));\n\n/**\n * Prints the object(s) using string-print. Prints the\n * object(s), separated by spaces if there is more than one.\n * By default, pr and prn print in a way that objects can be\n * read by the reader\n */\ncljs.core.pr \x3d (function cljs$core$pr(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21181 \x3d arguments.length;\nvar i__5770__auto___21182 \x3d (0);\nwhile(true){\nif((i__5770__auto___21182 \x3c len__5769__auto___21181)){\nargs__5775__auto__.push((arguments[i__5770__auto___21182]));\n\nvar G__21184 \x3d (i__5770__auto___21182 + (1));\ni__5770__auto___21182 \x3d G__21184;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr.cljs$lang$applyTo \x3d (function (seq15951){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15951));\n}));\n\n/**\n * Prints the object(s) using string-print.\n * print and println produce output for human consumption.\n * @param {...*} var_args\n */\ncljs.core.print \x3d (function() { \nvar cljs$core$cljs_core_print__delegate \x3d function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n};\nvar cljs$core$cljs_core_print \x3d function (var_args){\nvar objs \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21190__i \x3d 0, G__21190__a \x3d new Array(arguments.length - 0);\nwhile (G__21190__i \x3c G__21190__a.length) {G__21190__a[G__21190__i] \x3d arguments[G__21190__i + 0]; ++G__21190__i;}\n objs \x3d new cljs.core.IndexedSeq(G__21190__a,0,null);\n} \nreturn cljs$core$cljs_core_print__delegate.call(this,objs);};\ncljs$core$cljs_core_print.cljs$lang$maxFixedArity \x3d 0;\ncljs$core$cljs_core_print.cljs$lang$applyTo \x3d (function (arglist__21191){\nvar objs \x3d cljs.core.seq(arglist__21191);\nreturn cljs$core$cljs_core_print__delegate(objs);\n});\ncljs$core$cljs_core_print.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$cljs_core_print__delegate;\nreturn cljs$core$cljs_core_print;\n})()\n;\n/**\n * print to a string, returning it\n */\ncljs.core.print_str \x3d (function cljs$core$print_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21192 \x3d arguments.length;\nvar i__5770__auto___21193 \x3d (0);\nwhile(true){\nif((i__5770__auto___21193 \x3c len__5769__auto___21192)){\nargs__5775__auto__.push((arguments[i__5770__auto___21193]));\n\nvar G__21195 \x3d (i__5770__auto___21193 + (1));\ni__5770__auto___21193 \x3d G__21195;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.print_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.print_str.cljs$lang$applyTo \x3d (function (seq15952){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15952));\n}));\n\n/**\n * Same as print followed by (newline)\n */\ncljs.core.println \x3d (function cljs$core$println(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21201 \x3d arguments.length;\nvar i__5770__auto___21203 \x3d (0);\nwhile(true){\nif((i__5770__auto___21203 \x3c len__5769__auto___21201)){\nargs__5775__auto__.push((arguments[i__5770__auto___21203]));\n\nvar G__21205 \x3d (i__5770__auto___21203 + (1));\ni__5770__auto___21203 \x3d G__21205;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println.cljs$lang$applyTo \x3d (function (seq15953){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15953));\n}));\n\n/**\n * println to a string, returning it\n */\ncljs.core.println_str \x3d (function cljs$core$println_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21208 \x3d arguments.length;\nvar i__5770__auto___21209 \x3d (0);\nwhile(true){\nif((i__5770__auto___21209 \x3c len__5769__auto___21208)){\nargs__5775__auto__.push((arguments[i__5770__auto___21209]));\n\nvar G__21210 \x3d (i__5770__auto___21209 + (1));\ni__5770__auto___21209 \x3d G__21210;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.println_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println_str.cljs$lang$applyTo \x3d (function (seq15954){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15954));\n}));\n\n/**\n * Same as pr followed by (newline).\n */\ncljs.core.prn \x3d (function cljs$core$prn(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21212 \x3d arguments.length;\nvar i__5770__auto___21213 \x3d (0);\nwhile(true){\nif((i__5770__auto___21213 \x3c len__5769__auto___21212)){\nargs__5775__auto__.push((arguments[i__5770__auto___21213]));\n\nvar G__21214 \x3d (i__5770__auto___21213 + (1));\ni__5770__auto___21213 \x3d G__21214;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn.cljs$lang$applyTo \x3d (function (seq15955){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq15955));\n}));\n\ncljs.core.strip_ns \x3d (function cljs$core$strip_ns(named){\nif((named instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n}\n});\n/**\n * Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\n */\ncljs.core.lift_ns \x3d (function cljs$core$lift_ns(m){\nif(cljs.core.truth_(cljs.core._STAR_print_namespace_maps_STAR_)){\nvar ns \x3d null;\nvar G__15962 \x3d cljs.core.seq(m);\nvar vec__15963 \x3d G__15962;\nvar seq__15964 \x3d cljs.core.seq(vec__15963);\nvar first__15965 \x3d cljs.core.first(seq__15964);\nvar seq__15964__$1 \x3d cljs.core.next(seq__15964);\nvar vec__15966 \x3d first__15965;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15966,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15966,(1),null);\nvar entry \x3d vec__15966;\nvar entries \x3d seq__15964__$1;\nvar lm \x3d cljs.core.empty(m);\nvar ns__$1 \x3d ns;\nvar G__15962__$1 \x3d G__15962;\nvar lm__$1 \x3d lm;\nwhile(true){\nvar ns__$2 \x3d ns__$1;\nvar vec__15975 \x3d G__15962__$1;\nvar seq__15976 \x3d cljs.core.seq(vec__15975);\nvar first__15977 \x3d cljs.core.first(seq__15976);\nvar seq__15976__$1 \x3d cljs.core.next(seq__15976);\nvar vec__15978 \x3d first__15977;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15978,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15978,(1),null);\nvar entry__$1 \x3d vec__15978;\nvar entries__$1 \x3d seq__15976__$1;\nvar lm__$2 \x3d lm__$1;\nif(cljs.core.truth_(entry__$1)){\nif((((k__$1 instanceof cljs.core.Keyword)) || ((k__$1 instanceof cljs.core.Symbol)))){\nif(cljs.core.truth_(ns__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ns__$2,cljs.core.namespace(k__$1))){\nvar G__21227 \x3d ns__$2;\nvar G__21228 \x3d entries__$1;\nvar G__21229 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__21227;\nG__15962__$1 \x3d G__21228;\nlm__$1 \x3d G__21229;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.namespace(k__$1);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar new_ns \x3d temp__5804__auto__;\nvar G__21233 \x3d new_ns;\nvar G__21234 \x3d entries__$1;\nvar G__21235 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__21233;\nG__15962__$1 \x3d G__21234;\nlm__$1 \x3d G__21235;\ncontinue;\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns__$2,lm__$2], null);\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\ncljs.core.print_prefix_map \x3d (function cljs$core$print_prefix_map(prefix,m,print_one,writer,opts){\nreturn cljs.core.pr_sequential_writer(writer,(function (e,w,opts__$1){\nvar G__15981_21238 \x3d cljs.core.key(e);\nvar G__15982_21239 \x3d w;\nvar G__15983_21240 \x3d opts__$1;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__15981_21238,G__15982_21239,G__15983_21240) : print_one.call(null,G__15981_21238,G__15982_21239,G__15983_21240));\n\ncljs.core._write(w,\x22 \x22);\n\nvar G__15984 \x3d cljs.core.val(e);\nvar G__15985 \x3d w;\nvar G__15986 \x3d opts__$1;\nreturn (print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__15984,G__15985,G__15986) : print_one.call(null,G__15984,G__15985,G__15986));\n}),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22{\x22].join(\x27\x27),\x22, \x22,\x22}\x22,opts,cljs.core.seq(m));\n});\ncljs.core.print_map \x3d (function cljs$core$print_map(m,print_one,writer,opts){\nvar vec__15987 \x3d ((cljs.core.map_QMARK_(m))?cljs.core.lift_ns(m):null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15987,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__15987,(1),null);\nif(cljs.core.truth_(ns)){\nreturn cljs.core.print_prefix_map([\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join(\x27\x27),lift_map,print_one,writer,opts);\n} else {\nreturn cljs.core.print_prefix_map(null,m,print_one,writer,opts);\n}\n});\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Volatile \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#\x27\x22);\n\nreturn cljs.core.pr_writer(a__$1.sym,writer,opts);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Atom \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core._write(writer,\x22()\x22);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#queue [\x22,\x22 \x22,\x22]\x22,opts,cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n(cljs.core.Symbol.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Symbol)){\nreturn cljs.core.compare_symbols(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Keyword)){\nreturn cljs.core.compare_keywords(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n/**\n * Atomically sets the metadata for a namespace/var/ref/agent/atom to be:\n * \n * (apply f its-current-meta args)\n * \n * f must be free of side-effects\n */\ncljs.core.alter_meta_BANG_ \x3d (function cljs$core$alter_meta_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21358 \x3d arguments.length;\nvar i__5770__auto___21359 \x3d (0);\nwhile(true){\nif((i__5770__auto___21359 \x3c len__5769__auto___21358)){\nargs__5775__auto__.push((arguments[i__5770__auto___21359]));\n\nvar G__21361 \x3d (i__5770__auto___21359 + (1));\ni__5770__auto___21359 \x3d G__21361;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (iref,f,args){\nreturn (iref.meta \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,iref.meta,args));\n}));\n\n(cljs.core.alter_meta_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.alter_meta_BANG_.cljs$lang$applyTo \x3d (function (seq15990){\nvar G__15991 \x3d cljs.core.first(seq15990);\nvar seq15990__$1 \x3d cljs.core.next(seq15990);\nvar G__15992 \x3d cljs.core.first(seq15990__$1);\nvar seq15990__$2 \x3d cljs.core.next(seq15990__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15991,G__15992,seq15990__$2);\n}));\n\n/**\n * Atomically resets the metadata for an atom\n */\ncljs.core.reset_meta_BANG_ \x3d (function cljs$core$reset_meta_BANG_(iref,m){\nreturn (iref.meta \x3d m);\n});\n/**\n * Adds a watch function to an atom reference. The watch fn must be a\n * fn of 4 args: a key, the reference, its old-state, its\n * new-state. Whenever the reference\x27s state might have been changed,\n * any registered watches will have their functions called. The watch\n * fn will be called synchronously. Note that an atom\x27s state\n * may have changed again prior to the fn call, so use old/new-state\n * rather than derefing the reference. Keys must be unique per\n * reference, and can be used to remove the watch with remove-watch,\n * but are otherwise considered opaque by the watch mechanism. Bear in\n * mind that regardless of the result or action of the watch fns the\n * atom\x27s value will change. Example:\n * \n * (def a (atom 0))\n * (add-watch a :inc (fn [k r o n] (assert (\x3d\x3d 0 n))))\n * (swap! a inc)\n * ;; Assertion Error\n * (deref a)\n * ;\x3d\x3e 1\n */\ncljs.core.add_watch \x3d (function cljs$core$add_watch(iref,key,f){\ncljs.core._add_watch(iref,key,f);\n\nreturn iref;\n});\n/**\n * Removes a watch (set by add-watch) from a reference\n */\ncljs.core.remove_watch \x3d (function cljs$core$remove_watch(iref,key){\ncljs.core._remove_watch(iref,key);\n\nreturn iref;\n});\n/**\n * @type {*}\n */\ncljs.core.gensym_counter \x3d null;\n/**\n * Returns a new symbol with a unique name. If a prefix string is\n * supplied, the name is prefix# where # is some unique number. If\n * prefix is not supplied, the prefix is \x27G__\x27.\n */\ncljs.core.gensym \x3d (function cljs$core$gensym(var_args){\nvar G__15994 \x3d arguments.length;\nswitch (G__15994) {\ncase 0:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22G__\x22);\n}));\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1 \x3d (function (prefix_string){\nif((cljs.core.gensym_counter \x3d\x3d null)){\n(cljs.core.gensym_counter \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)));\n} else {\n}\n\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix_string),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.gensym_counter,cljs.core.inc))].join(\x27\x27));\n}));\n\n(cljs.core.gensym.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Delay \x3d (function (f,value){\nthis.f \x3d f;\nthis.value \x3d value;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2147516416;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Delay.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.f)){\n(self__.value \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null)));\n\n(self__.f \x3d null);\n} else {\n}\n\nreturn self__.value;\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (x){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\nreturn cljs.core.not(self__.f);\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (x,writer,opts){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Delay \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22status\x22,\x22status\x22,-1997798413),(((self__.f \x3d\x3d null))?new cljs.core.Keyword(null,\x22ready\x22,\x22ready\x22,1086465795):new cljs.core.Keyword(null,\x22pending\x22,\x22pending\x22,-220036727)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),self__.value], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Delay.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Delay.cljs$lang$type \x3d true);\n\n(cljs.core.Delay.cljs$lang$ctorStr \x3d \x22cljs.core/Delay\x22);\n\n(cljs.core.Delay.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Delay\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Delay.\n */\ncljs.core.__GT_Delay \x3d (function cljs$core$__GT_Delay(f,value){\nreturn (new cljs.core.Delay(f,value));\n});\n\n/**\n * returns true if x is a Delay created with delay\n */\ncljs.core.delay_QMARK_ \x3d (function cljs$core$delay_QMARK_(x){\nreturn (x instanceof cljs.core.Delay);\n});\n/**\n * If x is a Delay, returns the (possibly cached) value of its expression, else returns x\n */\ncljs.core.force \x3d (function cljs$core$force(x){\nif(cljs.core.delay_QMARK_(x)){\nreturn cljs.core.deref(x);\n} else {\nreturn x;\n}\n});\n/**\n * Returns true if a value has been produced for a delay or lazy sequence.\n */\ncljs.core.realized_QMARK_ \x3d (function cljs$core$realized_QMARK_(x){\nreturn cljs.core._realized_QMARK_(x);\n});\ncljs.core.preserving_reduced \x3d (function cljs$core$preserving_reduced(rf){\nreturn (function (p1__15995_SHARP_,p2__15996_SHARP_){\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(p1__15995_SHARP_,p2__15996_SHARP_) : rf.call(null,p1__15995_SHARP_,p2__15996_SHARP_));\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.reduced(ret);\n} else {\nreturn ret;\n}\n});\n});\n/**\n * A transducer which concatenates the contents of each input, which must be a\n * collection, into the reduction.\n */\ncljs.core.cat \x3d (function cljs$core$cat(rf){\nvar rf1 \x3d cljs.core.preserving_reduced(rf);\nreturn (function() {\nvar G__21378 \x3d null;\nvar G__21378__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__21378__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__21378__2 \x3d (function (result,input){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(rf1,result,input);\n});\nG__21378 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__21378__0.call(this);\ncase 1:\nreturn G__21378__1.call(this,result);\ncase 2:\nreturn G__21378__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21378.cljs$core$IFn$_invoke$arity$0 \x3d G__21378__0;\nG__21378.cljs$core$IFn$_invoke$arity$1 \x3d G__21378__1;\nG__21378.cljs$core$IFn$_invoke$arity$2 \x3d G__21378__2;\nreturn G__21378;\n})()\n});\n/**\n * Returns a transducer that ends transduction when pred returns true\n * for an input. When retf is supplied it must be a fn of 2 arguments -\n * it will be passed the (completed) result so far and the input that\n * triggered the predicate, and its return value (if it does not throw\n * an exception) will be the return value of the transducer. If retf\n * is not supplied, the input that triggered the predicate will be\n * returned. If the predicate never returns true the transduction is\n * unaffected.\n */\ncljs.core.halt_when \x3d (function cljs$core$halt_when(var_args){\nvar G__15998 \x3d arguments.length;\nswitch (G__15998) {\ncase 1:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(pred,null);\n}));\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,retf){\nreturn (function (rf){\nreturn (function() {\nvar G__21384 \x3d null;\nvar G__21384__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__21384__1 \x3d (function (result){\nif(((cljs.core.map_QMARK_(result)) \x26\x26 (cljs.core.contains_QMARK_(result,new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715))))){\nreturn new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715).cljs$core$IFn$_invoke$arity$1(result);\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n}\n});\nvar G__21384__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn cljs.core.reduced(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715),(cljs.core.truth_(retf)?(function (){var G__15999 \x3d (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\nvar G__16000 \x3d input;\nreturn (retf.cljs$core$IFn$_invoke$arity$2 ? retf.cljs$core$IFn$_invoke$arity$2(G__15999,G__16000) : retf.call(null,G__15999,G__16000));\n})():input)], null));\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__21384 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__21384__0.call(this);\ncase 1:\nreturn G__21384__1.call(this,result);\ncase 2:\nreturn G__21384__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21384.cljs$core$IFn$_invoke$arity$0 \x3d G__21384__0;\nG__21384.cljs$core$IFn$_invoke$arity$1 \x3d G__21384__1;\nG__21384.cljs$core$IFn$_invoke$arity$2 \x3d G__21384__2;\nreturn G__21384;\n})()\n});\n}));\n\n(cljs.core.halt_when.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence removing consecutive duplicates in coll.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.dedupe \x3d (function cljs$core$dedupe(var_args){\nvar G__16002 \x3d arguments.length;\nswitch (G__16002) {\ncase 0:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__21390 \x3d null;\nvar G__21390__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__21390__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__21390__2 \x3d (function (result,input){\nvar prior \x3d cljs.core.deref(pa);\ncljs.core.vreset_BANG_(pa,input);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(prior,input)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__21390 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__21390__0.call(this);\ncase 1:\nreturn G__21390__1.call(this,result);\ncase 2:\nreturn G__21390__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21390.cljs$core$IFn$_invoke$arity$0 \x3d G__21390__0;\nG__21390.cljs$core$IFn$_invoke$arity$1 \x3d G__21390__1;\nG__21390.cljs$core$IFn$_invoke$arity$2 \x3d G__21390__2;\nreturn G__21390;\n})()\n});\n}));\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0(),coll);\n}));\n\n(cljs.core.dedupe.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns items from coll with random probability of prob (0.0 -\n * 1.0). Returns a transducer when no collection is provided.\n */\ncljs.core.random_sample \x3d (function cljs$core$random_sample(var_args){\nvar G__16004 \x3d arguments.length;\nswitch (G__16004) {\ncase 1:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1 \x3d (function (prob){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}));\n}));\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2 \x3d (function (prob,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}),coll);\n}));\n\n(cljs.core.random_sample.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Eduction \x3d (function (xform,coll){\nthis.xform \x3d xform;\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2173173760;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\n});\n(cljs.core.Eduction.prototype.indexOf \x3d (function() {\nvar G__21396 \x3d null;\nvar G__21396__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,(0));\n});\nvar G__21396__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__21396 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__21396__1.call(this,x);\ncase 2:\nreturn G__21396__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21396.cljs$core$IFn$_invoke$arity$1 \x3d G__21396__1;\nG__21396.cljs$core$IFn$_invoke$arity$2 \x3d G__21396__2;\nreturn G__21396;\n})()\n);\n\n(cljs.core.Eduction.prototype.lastIndexOf \x3d (function() {\nvar G__21398 \x3d null;\nvar G__21398__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,cljs.core.count(coll__$1));\n});\nvar G__21398__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__21398 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__21398__1.call(this,x);\ncase 2:\nreturn G__21398__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__21398.cljs$core$IFn$_invoke$arity$1 \x3d G__21398__1;\nG__21398.cljs$core$IFn$_invoke$arity$2 \x3d G__21398__2;\nreturn G__21398;\n})()\n);\n\n(cljs.core.Eduction.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.TransformerIterator.create(self__.xform,cljs.core.iter(self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.seq(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(self__.xform,self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,f,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),init,self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll__$1,writer,opts){\nvar self__ \x3d this;\nvar coll__$2 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$2);\n}));\n\n(cljs.core.Eduction.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22xform\x22,\x22xform\x22,-85179481,null),new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(cljs.core.Eduction.cljs$lang$type \x3d true);\n\n(cljs.core.Eduction.cljs$lang$ctorStr \x3d \x22cljs.core/Eduction\x22);\n\n(cljs.core.Eduction.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Eduction\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Eduction.\n */\ncljs.core.__GT_Eduction \x3d (function cljs$core$__GT_Eduction(xform,coll){\nreturn (new cljs.core.Eduction(xform,coll));\n});\n\n(cljs.core.Eduction.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a reducible/iterable application of the transducers\n * to the items in coll. Transducers are applied in order as if\n * combined with comp. Note that these applications will be\n * performed every time reduce/iterator is called.\n */\ncljs.core.eduction \x3d (function cljs$core$eduction(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21400 \x3d arguments.length;\nvar i__5770__auto___21401 \x3d (0);\nwhile(true){\nif((i__5770__auto___21401 \x3c len__5769__auto___21400)){\nargs__5775__auto__.push((arguments[i__5770__auto___21401]));\n\nvar G__21402 \x3d (i__5770__auto___21401 + (1));\ni__5770__auto___21401 \x3d G__21402;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xforms){\nreturn (new cljs.core.Eduction(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.butlast(xforms)),cljs.core.last(xforms)));\n}));\n\n(cljs.core.eduction.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.eduction.cljs$lang$applyTo \x3d (function (seq16005){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq16005));\n}));\n\n/**\n * Runs the supplied procedure (via reduce), for purposes of side\n * effects, on successive items in the collection. Returns nil\n */\ncljs.core.run_BANG_ \x3d (function cljs$core$run_BANG_(proc,coll){\ncljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__16007_SHARP_,p2__16006_SHARP_){\nreturn (proc.cljs$core$IFn$_invoke$arity$1 ? proc.cljs$core$IFn$_invoke$arity$1(p2__16006_SHARP_) : proc.call(null,p2__16006_SHARP_));\n}),null,coll);\n\nreturn null;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.t_cljs$core16012 \x3d (function (step,p__16010,map__16011,somef,vf,kf,initk,meta16013){\nthis.step \x3d step;\nthis.p__16010 \x3d p__16010;\nthis.map__16011 \x3d map__16011;\nthis.somef \x3d somef;\nthis.vf \x3d vf;\nthis.kf \x3d kf;\nthis.initk \x3d initk;\nthis.meta16013 \x3d meta16013;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 9306112;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core16012.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_16014,meta16013__$1){\nvar self__ \x3d this;\nvar _16014__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core16012(self__.step,self__.p__16010,self__.map__16011,self__.somef,self__.vf,self__.kf,self__.initk,meta16013__$1));\n}));\n\n(cljs.core.t_cljs$core16012.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_16014){\nvar self__ \x3d this;\nvar _16014__$1 \x3d this;\nreturn self__.meta16013;\n}));\n\n(cljs.core.t_cljs$core16012.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (function cljs$core$next(ret){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nreturn cljs.core.cons((self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret)),(function (){var temp__5808__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar k \x3d temp__5808__auto__;\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$next((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k)));\n}),null,null));\n}\n})());\n} else {\nreturn null;\n}\n})((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk)));\n}));\n\n(cljs.core.t_cljs$core16012.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,rf,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar acc \x3d init;\nvar ret \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk));\nwhile(true){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nvar acc__$1 \x3d (function (){var G__16015 \x3d acc;\nvar G__16016 \x3d (self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__16015,G__16016) : rf.call(null,G__16015,G__16016));\n})();\nif(cljs.core.reduced_QMARK_(acc__$1)){\nreturn cljs.core.deref(acc__$1);\n} else {\nvar temp__5806__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn acc__$1;\n} else {\nvar k \x3d temp__5806__auto__;\nvar G__21413 \x3d acc__$1;\nvar G__21414 \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k));\nacc \x3d G__21413;\nret \x3d G__21414;\ncontinue;\n}\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.t_cljs$core16012.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22p__16010\x22,\x22p__16010\x22,-1979525299,null),new cljs.core.Symbol(null,\x22map__16011\x22,\x22map__16011\x22,872623490,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),new cljs.core.Symbol(null,\x22meta16013\x22,\x22meta16013\x22,245518587,null)], null);\n}));\n\n(cljs.core.t_cljs$core16012.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core16012.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core16012\x22);\n\n(cljs.core.t_cljs$core16012.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/t_cljs$core16012\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core16012.\n */\ncljs.core.__GT_t_cljs$core16012 \x3d (function cljs$core$__GT_t_cljs$core16012(step,p__16010,map__16011,somef,vf,kf,initk,meta16013){\nreturn (new cljs.core.t_cljs$core16012(step,p__16010,map__16011,somef,vf,kf,initk,meta16013));\n});\n\n\n/**\n * Creates a seqable/reducible via repeated calls to step,\n * a function of some (continuation token) \x27k\x27. The first call to step\n * will be passed initk, returning \x27ret\x27. Iff (somef ret) is true,\n * (vf ret) will be included in the iteration, else iteration will\n * terminate and vf/kf will not be called. If (kf ret) is non-nil it\n * will be passed to the next step call, else iteration will terminate.\n * This can be used e.g. to consume APIs that return paginated or batched data.\n * step - (possibly impure) fn of \x27k\x27 -\x3e \x27ret\x27\n * :somef - fn of \x27ret\x27 -\x3e logical true/false, default \x27some?\x27\n * :vf - fn of \x27ret\x27 -\x3e \x27v\x27, a value produced by the iteration, default \x27identity\x27\n * :kf - fn of \x27ret\x27 -\x3e \x27next-k\x27 or nil (signaling \x27do not continue\x27), default \x27identity\x27\n * :initk - the first value passed to step, default \x27nil\x27\n * It is presumed that step with non-initk is unreproducible/non-idempotent.\n * If step with initk is unreproducible it is on the consumer to not consume twice.\n */\ncljs.core.iteration \x3d (function cljs$core$iteration(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21415 \x3d arguments.length;\nvar i__5770__auto___21419 \x3d (0);\nwhile(true){\nif((i__5770__auto___21419 \x3c len__5769__auto___21415)){\nargs__5775__auto__.push((arguments[i__5770__auto___21419]));\n\nvar G__21420 \x3d (i__5770__auto___21419 + (1));\ni__5770__auto___21419 \x3d G__21420;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic \x3d (function (step,p__16010){\nvar map__16011 \x3d p__16010;\nvar map__16011__$1 \x3d cljs.core.__destructure_map(map__16011);\nvar somef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__16011__$1,new cljs.core.Keyword(null,\x22somef\x22,\x22somef\x22,-622590365),cljs.core.some_QMARK_);\nvar vf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__16011__$1,new cljs.core.Keyword(null,\x22vf\x22,\x22vf\x22,-321423269),cljs.core.identity);\nvar kf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__16011__$1,new cljs.core.Keyword(null,\x22kf\x22,\x22kf\x22,1608087589),cljs.core.identity);\nvar initk \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__16011__$1,new cljs.core.Keyword(null,\x22initk\x22,\x22initk\x22,-1693342987),null);\nreturn (new cljs.core.t_cljs$core16012(step,p__16010,map__16011__$1,somef,vf,kf,initk,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.iteration.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.iteration.cljs$lang$applyTo \x3d (function (seq16008){\nvar G__16009 \x3d cljs.core.first(seq16008);\nvar seq16008__$1 \x3d cljs.core.next(seq16008);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16009,seq16008__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeJS \x3d function(){};\n\nvar cljs$core$IEncodeJS$_clj__GT_js$dyn_21430 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._clj__GT_js[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._clj__GT_js[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-clj-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Recursively transforms clj values to JavaScript\n */\ncljs.core._clj__GT_js \x3d (function cljs$core$_clj__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_clj__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_clj__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_clj__GT_js$dyn_21430(x);\n}\n});\n\nvar cljs$core$IEncodeJS$_key__GT_js$dyn_21452 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._key__GT_js[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._key__GT_js[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-key-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Transforms map keys to valid JavaScript keys. Arbitrary keys are\n * encoded to their string representation via (pr-str x)\n */\ncljs.core._key__GT_js \x3d (function cljs$core$_key__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_key__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_key__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_key__GT_js$dyn_21452(x);\n}\n});\n\ncljs.core.key__GT_js \x3d (function cljs$core$key__GT_js(var_args){\nvar G__16018 \x3d arguments.length;\nswitch (G__16018) {\ncase 1:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,cljs.core.clj__GT_js);\n}));\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,primitive_fn){\nif((((!((k \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d k.cljs$core$IEncodeJS$))))?true:(((!k.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k))){\nreturn cljs.core._clj__GT_js(k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (((typeof k \x3d\x3d\x3d \x27number\x27) || ((((k instanceof cljs.core.Keyword)) || ((k instanceof cljs.core.Symbol)))))))){\nreturn (primitive_fn.cljs$core$IFn$_invoke$arity$1 ? primitive_fn.cljs$core$IFn$_invoke$arity$1(k) : primitive_fn.call(null,k));\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k], 0));\n\n}\n}\n}));\n\n(cljs.core.key__GT_js.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Recursively transforms ClojureScript values to JavaScript.\n * sets/vectors/lists become Arrays, Keywords and Symbol become Strings,\n * Maps become Objects. Arbitrary keys are encoded to by `key-\x3ejs`.\n * Options is a key-value pair, where the only valid key is\n * :keyword-fn, which should point to a single-argument function to be\n * called on keyword keys. Default to `name`.\n */\ncljs.core.clj__GT_js \x3d (function cljs$core$clj__GT_js(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21461 \x3d arguments.length;\nvar i__5770__auto___21462 \x3d (0);\nwhile(true){\nif((i__5770__auto___21462 \x3c len__5769__auto___21461)){\nargs__5775__auto__.push((arguments[i__5770__auto___21462]));\n\nvar G__21463 \x3d (i__5770__auto___21462 + (1));\ni__5770__auto___21462 \x3d G__21463;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__16022){\nvar map__16023 \x3d p__16022;\nvar map__16023__$1 \x3d cljs.core.__destructure_map(map__16023);\nvar options \x3d map__16023__$1;\nvar keyword_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__16023__$1,new cljs.core.Keyword(null,\x22keyword-fn\x22,\x22keyword-fn\x22,-64566675),cljs.core.name);\nvar keyfn \x3d (function cljs$core$keyfn(k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,thisfn);\n});\nvar thisfn \x3d (function cljs$core$thisfn(x__$1){\nif((x__$1 \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x__$1.cljs$core$IEncodeJS$))))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1))){\nreturn cljs.core._clj__GT_js(x__$1);\n} else {\nif((x__$1 instanceof cljs.core.Keyword)){\nreturn (keyword_fn.cljs$core$IFn$_invoke$arity$1 ? keyword_fn.cljs$core$IFn$_invoke$arity$1(x__$1) : keyword_fn.call(null,x__$1));\n} else {\nif((x__$1 instanceof cljs.core.Symbol)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1);\n} else {\nif(cljs.core.map_QMARK_(x__$1)){\nvar m \x3d ({});\nvar seq__16050_21472 \x3d cljs.core.seq(x__$1);\nvar chunk__16051_21473 \x3d null;\nvar count__16052_21474 \x3d (0);\nvar i__16053_21475 \x3d (0);\nwhile(true){\nif((i__16053_21475 \x3c count__16052_21474)){\nvar vec__16060_21479 \x3d chunk__16051_21473.cljs$core$IIndexed$_nth$arity$2(null,i__16053_21475);\nvar k_21480 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16060_21479,(0),null);\nvar v_21481 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16060_21479,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_21480),cljs$core$thisfn(v_21481));\n\n\nvar G__21483 \x3d seq__16050_21472;\nvar G__21484 \x3d chunk__16051_21473;\nvar G__21485 \x3d count__16052_21474;\nvar G__21486 \x3d (i__16053_21475 + (1));\nseq__16050_21472 \x3d G__21483;\nchunk__16051_21473 \x3d G__21484;\ncount__16052_21474 \x3d G__21485;\ni__16053_21475 \x3d G__21486;\ncontinue;\n} else {\nvar temp__5804__auto___21488 \x3d cljs.core.seq(seq__16050_21472);\nif(temp__5804__auto___21488){\nvar seq__16050_21489__$1 \x3d temp__5804__auto___21488;\nif(cljs.core.chunked_seq_QMARK_(seq__16050_21489__$1)){\nvar c__5568__auto___21490 \x3d cljs.core.chunk_first(seq__16050_21489__$1);\nvar G__21491 \x3d cljs.core.chunk_rest(seq__16050_21489__$1);\nvar G__21492 \x3d c__5568__auto___21490;\nvar G__21493 \x3d cljs.core.count(c__5568__auto___21490);\nvar G__21494 \x3d (0);\nseq__16050_21472 \x3d G__21491;\nchunk__16051_21473 \x3d G__21492;\ncount__16052_21474 \x3d G__21493;\ni__16053_21475 \x3d G__21494;\ncontinue;\n} else {\nvar vec__16063_21495 \x3d cljs.core.first(seq__16050_21489__$1);\nvar k_21496 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16063_21495,(0),null);\nvar v_21497 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16063_21495,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_21496),cljs$core$thisfn(v_21497));\n\n\nvar G__21498 \x3d cljs.core.next(seq__16050_21489__$1);\nvar G__21499 \x3d null;\nvar G__21500 \x3d (0);\nvar G__21501 \x3d (0);\nseq__16050_21472 \x3d G__21498;\nchunk__16051_21473 \x3d G__21499;\ncount__16052_21474 \x3d G__21500;\ni__16053_21475 \x3d G__21501;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn m;\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nvar arr \x3d [];\nvar seq__16066_21503 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\nvar chunk__16067_21504 \x3d null;\nvar count__16068_21505 \x3d (0);\nvar i__16069_21506 \x3d (0);\nwhile(true){\nif((i__16069_21506 \x3c count__16068_21505)){\nvar x_21508__$2 \x3d chunk__16067_21504.cljs$core$IIndexed$_nth$arity$2(null,i__16069_21506);\narr.push(x_21508__$2);\n\n\nvar G__21509 \x3d seq__16066_21503;\nvar G__21510 \x3d chunk__16067_21504;\nvar G__21511 \x3d count__16068_21505;\nvar G__21512 \x3d (i__16069_21506 + (1));\nseq__16066_21503 \x3d G__21509;\nchunk__16067_21504 \x3d G__21510;\ncount__16068_21505 \x3d G__21511;\ni__16069_21506 \x3d G__21512;\ncontinue;\n} else {\nvar temp__5804__auto___21516 \x3d cljs.core.seq(seq__16066_21503);\nif(temp__5804__auto___21516){\nvar seq__16066_21517__$1 \x3d temp__5804__auto___21516;\nif(cljs.core.chunked_seq_QMARK_(seq__16066_21517__$1)){\nvar c__5568__auto___21518 \x3d cljs.core.chunk_first(seq__16066_21517__$1);\nvar G__21519 \x3d cljs.core.chunk_rest(seq__16066_21517__$1);\nvar G__21520 \x3d c__5568__auto___21518;\nvar G__21521 \x3d cljs.core.count(c__5568__auto___21518);\nvar G__21522 \x3d (0);\nseq__16066_21503 \x3d G__21519;\nchunk__16067_21504 \x3d G__21520;\ncount__16068_21505 \x3d G__21521;\ni__16069_21506 \x3d G__21522;\ncontinue;\n} else {\nvar x_21525__$2 \x3d cljs.core.first(seq__16066_21517__$1);\narr.push(x_21525__$2);\n\n\nvar G__21526 \x3d cljs.core.next(seq__16066_21517__$1);\nvar G__21527 \x3d null;\nvar G__21528 \x3d (0);\nvar G__21529 \x3d (0);\nseq__16066_21503 \x3d G__21526;\nchunk__16067_21504 \x3d G__21527;\ncount__16068_21505 \x3d G__21528;\ni__16069_21506 \x3d G__21529;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn arr;\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn thisfn(x);\n}));\n\n(cljs.core.clj__GT_js.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.clj__GT_js.cljs$lang$applyTo \x3d (function (seq16020){\nvar G__16021 \x3d cljs.core.first(seq16020);\nvar seq16020__$1 \x3d cljs.core.next(seq16020);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16021,seq16020__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeClojure \x3d function(){};\n\nvar cljs$core$IEncodeClojure$_js__GT_clj$dyn_21532 \x3d (function (x,options){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._js__GT_clj[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5394__auto__.call(null,x,options));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._js__GT_clj[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5392__auto__.call(null,x,options));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeClojure.-js-\x3eclj\x22,x);\n}\n}\n});\n/**\n * Transforms JavaScript values to Clojure\n */\ncljs.core._js__GT_clj \x3d (function cljs$core$_js__GT_clj(x,options){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2(x,options);\n} else {\nreturn cljs$core$IEncodeClojure$_js__GT_clj$dyn_21532(x,options);\n}\n});\n\n/**\n * Recursively transforms JavaScript arrays into ClojureScript\n * vectors, and JavaScript objects into ClojureScript maps. With\n * option \x27:keywordize-keys true\x27 will convert object fields from\n * strings to keywords.\n */\ncljs.core.js__GT_clj \x3d (function cljs$core$js__GT_clj(var_args){\nvar G__16075 \x3d arguments.length;\nswitch (G__16075) {\ncase 1:\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___21537 \x3d arguments.length;\nvar i__5770__auto___21538 \x3d (0);\nwhile(true){\nif((i__5770__auto___21538 \x3c len__5769__auto___21537)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___21538]));\n\nvar G__21539 \x3d (i__5770__auto___21538 + (1));\ni__5770__auto___21538 \x3d G__21539;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252),false], 0));\n}));\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,opts){\nvar map__16076 \x3d opts;\nvar map__16076__$1 \x3d cljs.core.__destructure_map(map__16076);\nvar keywordize_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16076__$1,new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252));\nvar keyfn \x3d (cljs.core.truth_(keywordize_keys)?cljs.core.keyword:cljs.core.str);\nvar f \x3d (function cljs$core$thisfn(x__$1){\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x__$1.cljs$core$IEncodeClojure$))))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1))){\nreturn cljs.core._js__GT_clj(x__$1,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,opts));\n} else {\nif(cljs.core.seq_QMARK_(x__$1)){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\n} else {\nif(cljs.core.map_entry_QMARK_(x__$1)){\nreturn (new cljs.core.MapEntry(cljs$core$thisfn(cljs.core.key(x__$1)),cljs$core$thisfn(cljs.core.val(x__$1)),null));\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.empty(x__$1),cljs.core.map.cljs$core$IFn$_invoke$arity$1(cljs$core$thisfn),x__$1);\n} else {\nif(cljs.core.array_QMARK_(x__$1)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__16070_SHARP_,p2__16071_SHARP_){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(p1__16070_SHARP_,cljs$core$thisfn(p2__16071_SHARP_));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),x__$1));\n} else {\nif((cljs.core.type(x__$1) \x3d\x3d\x3d Object)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,k){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(r,(keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(k) : keyfn.call(null,k)),cljs$core$thisfn(cljs.core.goog$module$goog$object.get(x__$1,k)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),cljs.core.js_keys(x__$1)));\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn f(x);\n}));\n\n/** @this {Function} */\n(cljs.core.js__GT_clj.cljs$lang$applyTo \x3d (function (seq16073){\nvar G__16074 \x3d cljs.core.first(seq16073);\nvar seq16073__$1 \x3d cljs.core.next(seq16073);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16074,seq16073__$1);\n}));\n\n(cljs.core.js__GT_clj.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a memoized version of a referentially transparent function. The\n * memoized version of the function keeps a cache of the mapping from arguments\n * to results and, when calls with the same arguments are repeated often, has\n * higher performance at the expense of higher memory use.\n */\ncljs.core.memoize \x3d (function cljs$core$memoize(f){\nvar mem \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nreturn (function() { \nvar G__21548__delegate \x3d function (args){\nvar v \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(mem),args,cljs.core.lookup_sentinel);\nif((v \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(mem,cljs.core.assoc,args,ret);\n\nreturn ret;\n} else {\nreturn v;\n}\n};\nvar G__21548 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21549__i \x3d 0, G__21549__a \x3d new Array(arguments.length - 0);\nwhile (G__21549__i \x3c G__21549__a.length) {G__21549__a[G__21549__i] \x3d arguments[G__21549__i + 0]; ++G__21549__i;}\n args \x3d new cljs.core.IndexedSeq(G__21549__a,0,null);\n} \nreturn G__21548__delegate.call(this,args);};\nG__21548.cljs$lang$maxFixedArity \x3d 0;\nG__21548.cljs$lang$applyTo \x3d (function (arglist__21551){\nvar args \x3d cljs.core.seq(arglist__21551);\nreturn G__21548__delegate(args);\n});\nG__21548.cljs$core$IFn$_invoke$arity$variadic \x3d G__21548__delegate;\nreturn G__21548;\n})()\n;\n});\n/**\n * trampoline can be used to convert algorithms requiring mutual\n * recursion without stack consumption. Calls f with supplied args, if\n * any. If f returns a fn, calls that fn with no arguments, and\n * continues to repeat, until the return value is not a fn, then\n * returns that non-fn value. Note that if you want to return a fn as a\n * final value, you must wrap it in some data structure and unpack it\n * after trampoline returns.\n */\ncljs.core.trampoline \x3d (function cljs$core$trampoline(var_args){\nvar G__16081 \x3d arguments.length;\nswitch (G__16081) {\ncase 1:\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___21553 \x3d arguments.length;\nvar i__5770__auto___21554 \x3d (0);\nwhile(true){\nif((i__5770__auto___21554 \x3c len__5769__auto___21553)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___21554]));\n\nvar G__21555 \x3d (i__5770__auto___21554 + (1));\ni__5770__auto___21554 \x3d G__21555;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nwhile(true){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\nif(cljs.core.fn_QMARK_(ret)){\nvar G__21557 \x3d ret;\nf \x3d G__21557;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((function (){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}));\n}));\n\n/** @this {Function} */\n(cljs.core.trampoline.cljs$lang$applyTo \x3d (function (seq16079){\nvar G__16080 \x3d cljs.core.first(seq16079);\nvar seq16079__$1 \x3d cljs.core.next(seq16079);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16080,seq16079__$1);\n}));\n\n(cljs.core.trampoline.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a random floating point number between 0 (inclusive) and\n * n (default 1) (exclusive).\n */\ncljs.core.rand \x3d (function cljs$core$rand(var_args){\nvar G__16083 \x3d arguments.length;\nswitch (G__16083) {\ncase 0:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((1));\n}));\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (Math.random() * n);\n}));\n\n(cljs.core.rand.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns a random integer between 0 (inclusive) and n (exclusive).\n */\ncljs.core.rand_int \x3d (function cljs$core$rand_int(n){\nreturn Math.floor((Math.random() * n));\n});\n/**\n * Return a random element of the (sequential) collection. Will have\n * the same performance characteristics as nth for the given\n * collection.\n */\ncljs.core.rand_nth \x3d (function cljs$core$rand_nth(coll){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,cljs.core.rand_int(cljs.core.count(coll)));\n});\n/**\n * Returns a map of the elements of coll keyed by the result of\n * f on each element. The value at each key will be a vector of the\n * corresponding elements, in the order they appeared in coll.\n */\ncljs.core.group_by \x3d (function cljs$core$group_by(f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar k \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x));\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.PersistentVector.EMPTY),x));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Creates a hierarchy object for use with derive, isa? etc.\n */\ncljs.core.make_hierarchy \x3d (function cljs$core$make_hierarchy(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),cljs.core.PersistentArrayMap.EMPTY], null);\n});\n/**\n * @type {*}\n */\ncljs.core._global_hierarchy \x3d null;\ncljs.core.get_global_hierarchy \x3d (function cljs$core$get_global_hierarchy(){\nif((cljs.core._global_hierarchy \x3d\x3d null)){\n(cljs.core._global_hierarchy \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.make_hierarchy()));\n} else {\n}\n\nreturn cljs.core._global_hierarchy;\n});\ncljs.core.swap_global_hierarchy_BANG_ \x3d (function cljs$core$swap_global_hierarchy_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21578 \x3d arguments.length;\nvar i__5770__auto___21580 \x3d (0);\nwhile(true){\nif((i__5770__auto___21580 \x3c len__5769__auto___21578)){\nargs__5775__auto__.push((arguments[i__5770__auto___21580]));\n\nvar G__21581 \x3d (i__5770__auto___21580 + (1));\ni__5770__auto___21580 \x3d G__21581;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,cljs.core.get_global_hierarchy(),f,args);\n}));\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$applyTo \x3d (function (seq16084){\nvar G__16085 \x3d cljs.core.first(seq16084);\nvar seq16084__$1 \x3d cljs.core.next(seq16084);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16085,seq16084__$1);\n}));\n\n/**\n * Returns true if (\x3d child parent), or child is directly or indirectly derived from\n * parent, either via a JavaScript type inheritance relationship or a\n * relationship established via derive. h must be a hierarchy obtained\n * from make-hierarchy, if not supplied defaults to the global\n * hierarchy\n */\ncljs.core.isa_QMARK_ \x3d (function cljs$core$isa_QMARK_(var_args){\nvar G__16087 \x3d arguments.length;\nswitch (G__16087) {\ncase 2:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (child,parent){\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(cljs.core.get_global_hierarchy()),child,parent);\n}));\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,child,parent){\nvar or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(child,parent);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.contains_QMARK_((function (){var fexpr__16088 \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nreturn (fexpr__16088.cljs$core$IFn$_invoke$arity$1 ? fexpr__16088.cljs$core$IFn$_invoke$arity$1(child) : fexpr__16088.call(null,child));\n})(),parent);\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nvar and__5043__auto__ \x3d cljs.core.vector_QMARK_(parent);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.vector_QMARK_(child);\nif(and__5043__auto____$1){\nvar and__5043__auto____$2 \x3d (cljs.core.count(parent) \x3d\x3d\x3d cljs.core.count(child));\nif(and__5043__auto____$2){\nvar ret \x3d true;\nvar i \x3d (0);\nwhile(true){\nif((((!(ret))) || ((i \x3d\x3d\x3d cljs.core.count(parent))))){\nreturn ret;\n} else {\nvar G__21612 \x3d cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(h,(child.cljs$core$IFn$_invoke$arity$1 ? child.cljs$core$IFn$_invoke$arity$1(i) : child.call(null,i)),(parent.cljs$core$IFn$_invoke$arity$1 ? parent.cljs$core$IFn$_invoke$arity$1(i) : parent.call(null,i)));\nvar G__21613 \x3d (i + (1));\nret \x3d G__21612;\ni \x3d G__21613;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}\n}\n}));\n\n(cljs.core.isa_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the immediate parents of tag, either via a JavaScript type\n * inheritance relationship or a relationship established via derive. h\n * must be a hierarchy obtained from make-hierarchy, if not supplied\n * defaults to the global hierarchy\n */\ncljs.core.parents \x3d (function cljs$core$parents(var_args){\nvar G__16090 \x3d arguments.length;\nswitch (G__16090) {\ncase 1:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.parents.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect parents of tag, either via a JavaScript type\n * inheritance relationship or a relationship established via derive. h\n * must be a hierarchy obtained from make-hierarchy, if not supplied\n * defaults to the global hierarchy\n */\ncljs.core.ancestors \x3d (function cljs$core$ancestors(var_args){\nvar G__16092 \x3d arguments.length;\nswitch (G__16092) {\ncase 1:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.ancestors.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect children of tag, through a\n * relationship established via derive. h must be a hierarchy obtained\n * from make-hierarchy, if not supplied defaults to the global\n * hierarchy. Note: does not work on JavaScript type inheritance\n * relationships.\n */\ncljs.core.descendants \x3d (function cljs$core$descendants(var_args){\nvar G__16094 \x3d arguments.length;\nswitch (G__16094) {\ncase 1:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.descendants.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Establishes a parent/child relationship between parent and\n * tag. Parent must be a namespace-qualified symbol or keyword and\n * child can be either a namespace-qualified symbol or keyword or a\n * class. h must be a hierarchy obtained from make-hierarchy, if not\n * supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.derive \x3d (function cljs$core$derive(var_args){\nvar G__16096 \x3d arguments.length;\nswitch (G__16096) {\ncase 2:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\nif(cljs.core.truth_(cljs.core.namespace(parent))){\n} else {\nthrow (new Error(\x22Assert failed: (namespace parent)\x22));\n}\n\ncljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.derive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));\n\nreturn null;\n}));\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(tag,parent)){\n} else {\nthrow (new Error(\x22Assert failed: (not\x3d tag parent)\x22));\n}\n\nvar tp \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar td \x3d new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h);\nvar ta \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nvar tf \x3d (function (m,source,sources,target,targets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,k){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.get.cljs$core$IFn$_invoke$arity$3(targets,k,cljs.core.PersistentHashSet.EMPTY),cljs.core.cons(target,(targets.cljs$core$IFn$_invoke$arity$1 ? targets.cljs$core$IFn$_invoke$arity$1(target) : targets.call(null,target)))));\n}),m,cljs.core.cons(source,(sources.cljs$core$IFn$_invoke$arity$1 ? sources.cljs$core$IFn$_invoke$arity$1(source) : sources.call(null,source))));\n});\nvar or__5045__auto__ \x3d ((cljs.core.contains_QMARK_((tp.cljs$core$IFn$_invoke$arity$1 ? tp.cljs$core$IFn$_invoke$arity$1(tag) : tp.call(null,tag)),parent))?null:(function (){\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(tag) : ta.call(null,tag)),parent)){\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22already has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(parent) : ta.call(null,parent)),tag)){\nthrow (new Error([\x22Cyclic derivation:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h),tag,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(tp,tag,cljs.core.PersistentHashSet.EMPTY),parent)),new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),tf(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag,td,parent,ta),new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),tf(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),parent,ta,tag,td)], null);\n})()\n);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.derive.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Removes a parent/child relationship between parent and\n * tag. h must be a hierarchy obtained from make-hierarchy, if not\n * supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.underive \x3d (function cljs$core$underive(var_args){\nvar G__16101 \x3d arguments.length;\nswitch (G__16101) {\ncase 2:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\ncljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.underive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));\n\nreturn null;\n}));\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nvar parentMap \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar childsParents \x3d (cljs.core.truth_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)))?cljs.core.disj.cljs$core$IFn$_invoke$arity$2((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent):cljs.core.PersistentHashSet.EMPTY);\nvar newParents \x3d (cljs.core.truth_(cljs.core.not_empty(childsParents))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(parentMap,tag,childsParents):cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(parentMap,tag));\nvar deriv_seq \x3d cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__16097_SHARP_){\nreturn cljs.core.cons(cljs.core.first(p1__16097_SHARP_),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(cljs.core.first(p1__16097_SHARP_),cljs.core.second(p1__16097_SHARP_)));\n}),cljs.core.seq(newParents)));\nif(cljs.core.contains_QMARK_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__16098_SHARP_,p2__16099_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.derive,p1__16098_SHARP_,p2__16099_SHARP_);\n}),cljs.core.make_hierarchy(),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),deriv_seq));\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.underive.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.reset_cache \x3d (function cljs$core$reset_cache(method_cache,method_table,cached_hierarchy,hierarchy){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(method_cache,(function (_){\nreturn cljs.core.deref(method_table);\n}));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cached_hierarchy,(function (_){\nreturn cljs.core.deref(hierarchy);\n}));\n});\ncljs.core.prefers_STAR_ \x3d (function cljs$core$prefers_STAR_(x,y,prefer_table){\nvar xprefs \x3d (function (){var fexpr__16102 \x3d cljs.core.deref(prefer_table);\nreturn (fexpr__16102.cljs$core$IFn$_invoke$arity$1 ? fexpr__16102.cljs$core$IFn$_invoke$arity$1(x) : fexpr__16102.call(null,x));\n})();\nvar or__5045__auto__ \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d xprefs;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (xprefs.cljs$core$IFn$_invoke$arity$1 ? xprefs.cljs$core$IFn$_invoke$arity$1(y) : xprefs.call(null,y));\n} else {\nreturn and__5043__auto__;\n}\n})())?true:null);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(y);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__16103 \x3d x;\nvar G__16104 \x3d cljs.core.first(ps);\nvar G__16105 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__16103,G__16104,G__16105) : cljs.core.prefers_STAR_.call(null,G__16103,G__16104,G__16105));\n})())){\n} else {\n}\n\nvar G__21635 \x3d cljs.core.rest(ps);\nps \x3d G__21635;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(x);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__16106 \x3d cljs.core.first(ps);\nvar G__16107 \x3d y;\nvar G__16108 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__16106,G__16107,G__16108) : cljs.core.prefers_STAR_.call(null,G__16106,G__16107,G__16108));\n})())){\n} else {\n}\n\nvar G__21637 \x3d cljs.core.rest(ps);\nps \x3d G__21637;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn false;\n}\n}\n}\n});\ncljs.core.dominates \x3d (function cljs$core$dominates(x,y,prefer_table,hierarchy){\nvar or__5045__auto__ \x3d cljs.core.prefers_STAR_(x,y,prefer_table);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(hierarchy,x,y);\n}\n});\ncljs.core.find_and_cache_best_method \x3d (function cljs$core$find_and_cache_best_method(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val){\nvar best_entry \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (be,p__16109){\nvar vec__16110 \x3d p__16109;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16110,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16110,(1),null);\nvar e \x3d vec__16110;\nif(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(hierarchy),dispatch_val,k)){\nvar be2 \x3d (((((be \x3d\x3d null)) || (cljs.core.dominates(k,cljs.core.first(be),prefer_table,cljs.core.deref(hierarchy)))))?e:be);\nif(cljs.core.dominates(cljs.core.first(be2),k,prefer_table,cljs.core.deref(hierarchy))){\n} else {\nthrow (new Error([\x22Multiple methods in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 match dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val),\x22 -\x3e \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),\x22 and \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(be2)),\x22, and neither is preferred\x22].join(\x27\x27)));\n}\n\nreturn be2;\n} else {\nreturn be;\n}\n}),null,cljs.core.deref(method_table));\nvar best_entry__$1 \x3d (function (){var temp__5802__auto__ \x3d (function (){var and__5043__auto__ \x3d (best_entry \x3d\x3d null);\nif(and__5043__auto__){\nvar fexpr__16113 \x3d cljs.core.deref(method_table);\nreturn (fexpr__16113.cljs$core$IFn$_invoke$arity$1 ? fexpr__16113.cljs$core$IFn$_invoke$arity$1(default_dispatch_val) : fexpr__16113.call(null,default_dispatch_val));\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar entry \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default_dispatch_val,entry], null);\n} else {\nreturn best_entry;\n}\n})();\nif(cljs.core.truth_(best_entry__$1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cached_hierarchy),cljs.core.deref(hierarchy))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(method_cache,cljs.core.assoc,dispatch_val,cljs.core.second(best_entry__$1));\n\nreturn cljs.core.second(best_entry__$1);\n} else {\ncljs.core.reset_cache(method_cache,method_table,cached_hierarchy,hierarchy);\n\nreturn (cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8 ? cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val) : cljs.core.find_and_cache_best_method.call(null,name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val));\n}\n} else {\nreturn null;\n}\n});\n\n/**\n * @interface\n */\ncljs.core.IMultiFn \x3d function(){};\n\nvar cljs$core$IMultiFn$_reset$dyn_21642 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._reset[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reset[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-reset\x22,mf);\n}\n}\n});\ncljs.core._reset \x3d (function cljs$core$_reset(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_reset$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_reset$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_reset$dyn_21642(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_add_method$dyn_21645 \x3d (function (mf,dispatch_val,method){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._add_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5394__auto__.call(null,mf,dispatch_val,method));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._add_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5392__auto__.call(null,mf,dispatch_val,method));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-add-method\x22,mf);\n}\n}\n});\ncljs.core._add_method \x3d (function cljs$core$_add_method(mf,dispatch_val,method){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_add_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_add_method$arity$3(mf,dispatch_val,method);\n} else {\nreturn cljs$core$IMultiFn$_add_method$dyn_21645(mf,dispatch_val,method);\n}\n});\n\nvar cljs$core$IMultiFn$_remove_method$dyn_21646 \x3d (function (mf,dispatch_val){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._remove_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5394__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._remove_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5392__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-remove-method\x22,mf);\n}\n}\n});\ncljs.core._remove_method \x3d (function cljs$core$_remove_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_remove_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_remove_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_remove_method$dyn_21646(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_prefer_method$dyn_21666 \x3d (function (mf,dispatch_val,dispatch_val_y){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._prefer_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5394__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._prefer_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5392__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefer-method\x22,mf);\n}\n}\n});\ncljs.core._prefer_method \x3d (function cljs$core$_prefer_method(mf,dispatch_val,dispatch_val_y){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefer_method$arity$3(mf,dispatch_val,dispatch_val_y);\n} else {\nreturn cljs$core$IMultiFn$_prefer_method$dyn_21666(mf,dispatch_val,dispatch_val_y);\n}\n});\n\nvar cljs$core$IMultiFn$_get_method$dyn_21676 \x3d (function (mf,dispatch_val){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._get_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5394__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._get_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5392__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-get-method\x22,mf);\n}\n}\n});\ncljs.core._get_method \x3d (function cljs$core$_get_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_get_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_get_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_get_method$dyn_21676(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_methods$dyn_21678 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._methods[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._methods[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-methods\x22,mf);\n}\n}\n});\ncljs.core._methods \x3d (function cljs$core$_methods(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_methods$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_methods$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_methods$dyn_21678(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_prefers$dyn_21679 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._prefers[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._prefers[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefers\x22,mf);\n}\n}\n});\ncljs.core._prefers \x3d (function cljs$core$_prefers(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefers$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefers$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_prefers$dyn_21679(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_default_dispatch_val$dyn_21681 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._default_dispatch_val[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._default_dispatch_val[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-default-dispatch-val\x22,mf);\n}\n}\n});\ncljs.core._default_dispatch_val \x3d (function cljs$core$_default_dispatch_val(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_default_dispatch_val$dyn_21681(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_dispatch_fn$dyn_21687 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._dispatch_fn[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._dispatch_fn[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-dispatch-fn\x22,mf);\n}\n}\n});\ncljs.core._dispatch_fn \x3d (function cljs$core$_dispatch_fn(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_dispatch_fn$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_dispatch_fn$dyn_21687(mf);\n}\n});\n\ncljs.core.throw_no_method_error \x3d (function cljs$core$throw_no_method_error(name,dispatch_val){\nthrow (new Error([\x22No method in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val)].join(\x27\x27)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMultiFn}\n * @implements {cljs.core.INamed}\n*/\ncljs.core.MultiFn \x3d (function (name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nthis.name \x3d name;\nthis.dispatch_fn \x3d dispatch_fn;\nthis.default_dispatch_val \x3d default_dispatch_val;\nthis.hierarchy \x3d hierarchy;\nthis.method_table \x3d method_table;\nthis.prefer_table \x3d prefer_table;\nthis.method_cache \x3d method_cache;\nthis.cached_hierarchy \x3d cached_hierarchy;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 4194305;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4352;\n});\n(cljs.core.MultiFn.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__16115 \x3d (arguments.length - (1));\nswitch (G__16115) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MultiFn.prototype.apply \x3d (function (self__,args16114){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args16114)));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0() : self__.dispatch_fn.call(null));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$0 ? target_fn.cljs$core$IFn$_invoke$arity$0() : target_fn.call(null));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1(a) : self__.dispatch_fn.call(null,a));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$1 ? target_fn.cljs$core$IFn$_invoke$arity$1(a) : target_fn.call(null,a));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.dispatch_fn.call(null,a,b));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$2 ? target_fn.cljs$core$IFn$_invoke$arity$2(a,b) : target_fn.call(null,a,b));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.dispatch_fn.call(null,a,b,c));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$3 ? target_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : target_fn.call(null,a,b,c));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.dispatch_fn.call(null,a,b,c,d));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$4 ? target_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : target_fn.call(null,a,b,c,d));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.dispatch_fn.call(null,a,b,c,d,e));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$5 ? target_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : target_fn.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.dispatch_fn.call(null,a,b,c,d,e,f));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$6 ? target_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : target_fn.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$7 ? target_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : target_fn.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$8 ? target_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : target_fn.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$9 ? target_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : target_fn.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$10 ? target_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$11 ? target_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$12 ? target_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$13 ? target_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$14 ? target_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$15 ? target_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$16 ? target_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$17 ? target_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$18 ? target_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$19 ? target_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$20 ? target_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(self__.dispatch_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(target_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d (function (mf,dispatch_val_x,dispatch_val_y){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core.truth_(cljs.core.prefers_STAR_(dispatch_val_y,dispatch_val_x,self__.prefer_table))){\nthrow (new Error([\x22Preference conflict in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),\x22\x27: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_y),\x22 is already preferred to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_x)].join(\x27\x27)));\n} else {\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (old){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.PersistentHashSet.EMPTY),dispatch_val_y));\n}));\n\nreturn cljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.default_dispatch_val;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_remove_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.method_table,cljs.core.dissoc,dispatch_val);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_methods$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.method_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefers$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.prefer_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.dispatch_fn;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_add_method$arity$3 \x3d (function (mf,dispatch_val,method){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.method_table,cljs.core.assoc,dispatch_val,method);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_reset$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_cache,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.cached_hierarchy,(function (mf__$2){\nreturn null;\n}));\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_get_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.cached_hierarchy),cljs.core.deref(self__.hierarchy))){\n} else {\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}\n\nvar temp__5802__auto__ \x3d (function (){var fexpr__16116 \x3d cljs.core.deref(self__.method_cache);\nreturn (fexpr__16116.cljs$core$IFn$_invoke$arity$1 ? fexpr__16116.cljs$core$IFn$_invoke$arity$1(dispatch_val) : fexpr__16116.call(null,dispatch_val));\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar target_fn \x3d temp__5802__auto__;\nreturn target_fn;\n} else {\nreturn cljs.core.find_and_cache_best_method(self__.name,dispatch_val,self__.hierarchy,self__.method_table,self__.prefer_table,self__.method_cache,self__.cached_hierarchy,self__.default_dispatch_val);\n}\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._name(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._namespace(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.MultiFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22dispatch-fn\x22,\x22dispatch-fn\x22,-1401088155,null),new cljs.core.Symbol(null,\x22default-dispatch-val\x22,\x22default-dispatch-val\x22,-1231201266,null),new cljs.core.Symbol(null,\x22hierarchy\x22,\x22hierarchy\x22,587061186,null),new cljs.core.Symbol(null,\x22method-table\x22,\x22method-table\x22,-1878263165,null),new cljs.core.Symbol(null,\x22prefer-table\x22,\x22prefer-table\x22,462168584,null),new cljs.core.Symbol(null,\x22method-cache\x22,\x22method-cache\x22,1230193905,null),new cljs.core.Symbol(null,\x22cached-hierarchy\x22,\x22cached-hierarchy\x22,-1085460203,null)], null);\n}));\n\n(cljs.core.MultiFn.cljs$lang$type \x3d true);\n\n(cljs.core.MultiFn.cljs$lang$ctorStr \x3d \x22cljs.core/MultiFn\x22);\n\n(cljs.core.MultiFn.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MultiFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiFn.\n */\ncljs.core.__GT_MultiFn \x3d (function cljs$core$__GT_MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nreturn (new cljs.core.MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy));\n});\n\n/**\n * Removes all of the methods of multimethod.\n */\ncljs.core.remove_all_methods \x3d (function cljs$core$remove_all_methods(multifn){\nreturn cljs.core._reset(multifn);\n});\n/**\n * Removes the method of multimethod associated with dispatch-value.\n */\ncljs.core.remove_method \x3d (function cljs$core$remove_method(multifn,dispatch_val){\nreturn cljs.core._remove_method(multifn,dispatch_val);\n});\n/**\n * Causes the multimethod to prefer matches of dispatch-val-x over dispatch-val-y\n * when there is a conflict\n */\ncljs.core.prefer_method \x3d (function cljs$core$prefer_method(multifn,dispatch_val_x,dispatch_val_y){\nreturn cljs.core._prefer_method(multifn,dispatch_val_x,dispatch_val_y);\n});\n/**\n * Given a multimethod, returns a map of dispatch values -\x3e dispatch fns\n */\ncljs.core.methods$ \x3d (function cljs$core$methods(multifn){\nreturn cljs.core._methods(multifn);\n});\n/**\n * Given a multimethod and a dispatch value, returns the dispatch fn\n * that would apply to that value, or nil if none apply and no default\n */\ncljs.core.get_method \x3d (function cljs$core$get_method(multifn,dispatch_val){\nreturn cljs.core._get_method(multifn,dispatch_val);\n});\n/**\n * Given a multimethod, returns a map of preferred value -\x3e set of other values\n */\ncljs.core.prefers \x3d (function cljs$core$prefers(multifn){\nreturn cljs.core._prefers(multifn);\n});\n/**\n * Given a multimethod, return its default-dispatch-val.\n */\ncljs.core.default_dispatch_val \x3d (function cljs$core$default_dispatch_val(multifn){\nreturn cljs.core._default_dispatch_val(multifn);\n});\n/**\n * Given a multimethod, return its dispatch-fn.\n */\ncljs.core.dispatch_fn \x3d (function cljs$core$dispatch_fn(multifn){\nreturn cljs.core._dispatch_fn(multifn);\n});\n\n/**\n * A marker protocol for UUIDs\n * @interface\n */\ncljs.core.IUUID \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IComparable}\n * @implements {cljs.core.IUUID}\n*/\ncljs.core.UUID \x3d (function (uuid,__hash){\nthis.uuid \x3d uuid;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775104;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2048;\n});\n(cljs.core.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.uuid;\n}));\n\n(cljs.core.UUID.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar and__5043__auto__ \x3d (((!((other \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d other.cljs$core$IUUID$))))?true:false):false);\nif(and__5043__auto__){\nreturn (self__.uuid \x3d\x3d\x3d other.uuid);\n} else {\nreturn and__5043__auto__;\n}\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (_,writer,___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.uuid),\x22\\\x22\x22].join(\x27\x27));\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.__hash \x3d\x3d null)){\n(self__.__hash \x3d cljs.core.hash(self__.uuid));\n} else {\n}\n\nreturn self__.__hash;\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(self__.uuid,other.uuid);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.UUID.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22uuid\x22,\x22uuid\x22,-504564192,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.UUID.cljs$lang$type \x3d true);\n\n(cljs.core.UUID.cljs$lang$ctorStr \x3d \x22cljs.core/UUID\x22);\n\n(cljs.core.UUID.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/UUID\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/UUID.\n */\ncljs.core.__GT_UUID \x3d (function cljs$core$__GT_UUID(uuid,__hash){\nreturn (new cljs.core.UUID(uuid,__hash));\n});\n\n/**\n * Returns a UUID consistent with the string s.\n */\ncljs.core.uuid \x3d (function cljs$core$uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? s)\x22));\n}\n\nreturn (new cljs.core.UUID(s.toLowerCase(),null));\n});\n/**\n * Returns a pseudo-randomly generated UUID instance (i.e. type 4).\n */\ncljs.core.random_uuid \x3d (function cljs$core$random_uuid(){\nvar hex \x3d (function cljs$core$random_uuid_$_hex(){\nreturn cljs.core.rand_int((16)).toString((16));\n});\nvar rhex \x3d ((8) | ((3) \x26 cljs.core.rand_int((16)))).toString((16));\nreturn cljs.core.uuid([cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,\x224\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(rhex),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex())].join(\x27\x27));\n});\n/**\n * Return true if x is a UUID.\n */\ncljs.core.uuid_QMARK_ \x3d (function cljs$core$uuid_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IUUID$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\ncljs.core.pr_writer_ex_info \x3d (function cljs$core$pr_writer_ex_info(obj,writer,opts){\ncljs.core._write(writer,\x22#error {:message \x22);\n\ncljs.core.pr_writer(obj.message,writer,opts);\n\nif(cljs.core.truth_(obj.data)){\ncljs.core._write(writer,\x22, :data \x22);\n\ncljs.core.pr_writer(obj.data,writer,opts);\n} else {\n}\n\nif(cljs.core.truth_(obj.cause)){\ncljs.core._write(writer,\x22, :cause \x22);\n\ncljs.core.pr_writer(obj.cause,writer,opts);\n} else {\n}\n\nreturn cljs.core._write(writer,\x22}\x22);\n});\n/**\n * @constructor\n */\ncljs.core.ExceptionInfo \x3d (function cljs$core$ExceptionInfo(message,data,cause){\nvar e \x3d (new Error(message));\nvar this$ \x3d this;\n(this$.message \x3d message);\n\n(this$.data \x3d data);\n\n(this$.cause \x3d cause);\n\n(this$.name \x3d e.name);\n\n(this$.description \x3d e.description);\n\n(this$.number \x3d e.number);\n\n(this$.fileName \x3d e.fileName);\n\n(this$.lineNumber \x3d e.lineNumber);\n\n(this$.columnNumber \x3d e.columnNumber);\n\n(this$.stack \x3d e.stack);\n\nreturn this$;\n});\n(cljs.core.ExceptionInfo.prototype.__proto__ \x3d Error.prototype);\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (obj,writer,opts){\nvar obj__$1 \x3d this;\nreturn cljs.core.pr_writer_ex_info(obj__$1,writer,opts);\n}));\n(cljs.core.ExceptionInfo.prototype.toString \x3d (function (){\nvar this$ \x3d this;\nreturn cljs.core.pr_str_STAR_(this$);\n}));\n/**\n * Create an instance of ExceptionInfo, an Error type that carries a\n * map of additional data.\n */\ncljs.core.ex_info \x3d (function cljs$core$ex_info(var_args){\nvar G__16120 \x3d arguments.length;\nswitch (G__16120) {\ncase 2:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,data){\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(msg,data,null);\n}));\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,data,cause){\nreturn (new cljs.core.ExceptionInfo(msg,data,cause));\n}));\n\n(cljs.core.ex_info.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns exception data (a map) if ex is an ExceptionInfo.\n * Otherwise returns nil.\n */\ncljs.core.ex_data \x3d (function cljs$core$ex_data(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.data;\n} else {\nreturn null;\n}\n});\n/**\n * Returns the message attached to the given Error / ExceptionInfo object.\n * For non-Errors returns nil.\n */\ncljs.core.ex_message \x3d (function cljs$core$ex_message(ex){\nif((ex instanceof Error)){\nreturn ex.message;\n} else {\nreturn null;\n}\n});\n/**\n * Returns exception cause (an Error / ExceptionInfo) if ex is an\n * ExceptionInfo.\n * Otherwise returns nil.\n */\ncljs.core.ex_cause \x3d (function cljs$core$ex_cause(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.cause;\n} else {\nreturn null;\n}\n});\n/**\n * Returns an JavaScript compatible comparator based upon pred.\n */\ncljs.core.comparator \x3d (function cljs$core$comparator(pred){\nreturn (function (x,y){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(x,y) : pred.call(null,x,y)))){\nreturn (-1);\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(y,x) : pred.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\n});\n/**\n * Returns true if x names a special form\n */\ncljs.core.special_symbol_QMARK_ \x3d (function cljs$core$special_symbol_QMARK_(x){\nreturn cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 24, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),\x22null\x22,new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),\x22null\x22,new cljs.core.Symbol(null,\x22defrecord*\x22,\x22defrecord*\x22,-1936366207,null),\x22null\x22,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns*\x22,\x22ns*\x22,1840949383,null),\x22null\x22,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),\x22null\x22,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22letfn*\x22,\x22letfn*\x22,-110097810,null),\x22null\x22,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),\x22null\x22,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),\x22null\x22,new cljs.core.Symbol(null,\x22deftype*\x22,\x22deftype*\x22,962659890,null),\x22null\x22,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),\x22null\x22,new cljs.core.Symbol(null,\x22js*\x22,\x22js*\x22,-1134233646,null),\x22null\x22,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),\x22null\x22,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),\x22null\x22,new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),\x22null\x22,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),\x22null\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22null\x22,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22null\x22,new cljs.core.Symbol(null,\x22catch\x22,\x22catch\x22,-1616370245,null),\x22null\x22,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22], null), null),x);\n});\n/**\n * test [v] finds fn at key :test in var metadata and calls it,\n * presuming failure will throw exception\n */\ncljs.core.test \x3d (function cljs$core$test(v){\nvar f \x3d v.cljs$lang$test;\nif(cljs.core.truth_(f)){\n(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n\nreturn new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236);\n} else {\nreturn new cljs.core.Keyword(null,\x22no-test\x22,\x22no-test\x22,-1679482642);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TaggedLiteral \x3d (function (tag,form){\nthis.tag \x3d tag;\nthis.form \x3d form;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775360;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.TaggedLiteral.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof cljs.core.TaggedLiteral)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.tag,other.tag)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.form,other.form)))));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((31) * cljs.core.hash(self__.tag)) + cljs.core.hash(self__.form));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,v,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar G__16121 \x3d v;\nvar G__16121__$1 \x3d (((G__16121 instanceof cljs.core.Keyword))?G__16121.fqn:null);\nswitch (G__16121__$1) {\ncase \x22tag\x22:\nreturn self__.tag;\n\nbreak;\ncase \x22form\x22:\nreturn self__.form;\n\nbreak;\ndefault:\nreturn not_found;\n\n}\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,opts){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\ncljs.core._write(writer,[\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.tag),\x22 \x22].join(\x27\x27));\n\nreturn cljs.core.pr_writer(self__.form,writer,opts);\n}));\n\n(cljs.core.TaggedLiteral.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(cljs.core.TaggedLiteral.cljs$lang$type \x3d true);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorStr \x3d \x22cljs.core/TaggedLiteral\x22);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TaggedLiteral\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TaggedLiteral.\n */\ncljs.core.__GT_TaggedLiteral \x3d (function cljs$core$__GT_TaggedLiteral(tag,form){\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n\n/**\n * Return true if the value is the data representation of a tagged literal\n */\ncljs.core.tagged_literal_QMARK_ \x3d (function cljs$core$tagged_literal_QMARK_(value){\nreturn (value instanceof cljs.core.TaggedLiteral);\n});\n/**\n * Construct a data representation of a tagged literal from a\n * tag symbol and a form.\n */\ncljs.core.tagged_literal \x3d (function cljs$core$tagged_literal(tag,form){\nif((tag instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? tag)\x22));\n}\n\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n/**\n * @type {*}\n */\ncljs.core.js_reserved_arr \x3d [\x22arguments\x22,\x22abstract\x22,\x22await\x22,\x22boolean\x22,\x22break\x22,\x22byte\x22,\x22case\x22,\x22catch\x22,\x22char\x22,\x22class\x22,\x22const\x22,\x22continue\x22,\x22debugger\x22,\x22default\x22,\x22delete\x22,\x22do\x22,\x22double\x22,\x22else\x22,\x22enum\x22,\x22export\x22,\x22extends\x22,\x22final\x22,\x22finally\x22,\x22float\x22,\x22for\x22,\x22function\x22,\x22goto\x22,\x22if\x22,\x22implements\x22,\x22import\x22,\x22in\x22,\x22instanceof\x22,\x22int\x22,\x22interface\x22,\x22let\x22,\x22long\x22,\x22native\x22,\x22new\x22,\x22package\x22,\x22private\x22,\x22protected\x22,\x22public\x22,\x22return\x22,\x22short\x22,\x22static\x22,\x22super\x22,\x22switch\x22,\x22synchronized\x22,\x22this\x22,\x22throw\x22,\x22throws\x22,\x22transient\x22,\x22try\x22,\x22typeof\x22,\x22var\x22,\x22void\x22,\x22volatile\x22,\x22while\x22,\x22with\x22,\x22yield\x22,\x22methods\x22,\x22null\x22,\x22constructor\x22];\n/**\n * @type {null|Object}\n */\ncljs.core.js_reserved \x3d null;\ncljs.core.js_reserved_QMARK_ \x3d (function cljs$core$js_reserved_QMARK_(x){\nif((cljs.core.js_reserved \x3d\x3d null)){\n(cljs.core.js_reserved \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__16122_SHARP_,p2__16123_SHARP_){\ncljs.core.goog$module$goog$object.set(p1__16122_SHARP_,p2__16123_SHARP_,true);\n\nreturn p1__16122_SHARP_;\n}),({}),cljs.core.js_reserved_arr));\n} else {\n}\n\nreturn cljs.core.js_reserved.hasOwnProperty(x);\n});\ncljs.core.demunge_pattern \x3d (function cljs$core$demunge_pattern(){\nif(cljs.core.truth_(cljs.core.DEMUNGE_PATTERN)){\n} else {\n(cljs.core.DEMUNGE_PATTERN \x3d (function (){var ks \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (a,b){\nreturn (b.length - a.length);\n}),cljs.core.js_keys(cljs.core.DEMUNGE_MAP));\nvar ks__$1 \x3d ks;\nvar ret \x3d \x22\x22;\nwhile(true){\nif(cljs.core.seq(ks__$1)){\nvar G__21823 \x3d cljs.core.next(ks__$1);\nvar G__21824 \x3d [(function (){var G__16127 \x3d ret;\nif((!((ret \x3d\x3d\x3d \x22\x22)))){\nreturn [G__16127,\x22|\x22].join(\x27\x27);\n} else {\nreturn G__16127;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(ks__$1))].join(\x27\x27);\nks__$1 \x3d G__21823;\nret \x3d G__21824;\ncontinue;\n} else {\nreturn [ret,\x22|\\\\$\x22].join(\x27\x27);\n}\nbreak;\n}\n})());\n}\n\nreturn cljs.core.DEMUNGE_PATTERN;\n});\ncljs.core.munge_str \x3d (function cljs$core$munge_str(name){\nvar sb \x3d (new goog.string.StringBuffer());\nvar i_21827 \x3d (0);\nwhile(true){\nif((i_21827 \x3c name.length)){\nvar c_21829 \x3d name.charAt(i_21827);\nvar sub_21830 \x3d cljs.core.goog$module$goog$object.get(cljs.core.CHAR_MAP,c_21829);\nif((!((sub_21830 \x3d\x3d null)))){\nsb.append(sub_21830);\n} else {\nsb.append(c_21829);\n}\n\nvar G__21831 \x3d (i_21827 + (1));\ni_21827 \x3d G__21831;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn sb.toString();\n});\ncljs.core.munge \x3d (function cljs$core$munge(name){\nvar name_SINGLEQUOTE_ \x3d cljs.core.munge_str(cljs.core.str.cljs$core$IFn$_invoke$arity$1(name));\nvar name_SINGLEQUOTE___$1 \x3d (((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22..\x22))?\x22_DOT__DOT_\x22:(cljs.core.truth_(cljs.core.js_reserved_QMARK_(name_SINGLEQUOTE_))?[name_SINGLEQUOTE_,\x22$\x22].join(\x27\x27):name_SINGLEQUOTE_\n));\nif((name instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(name_SINGLEQUOTE___$1);\n} else {\nreturn name_SINGLEQUOTE___$1;\n}\n});\ncljs.core.demunge_str \x3d (function cljs$core$demunge_str(munged_name){\nvar r \x3d (new RegExp(cljs.core.demunge_pattern(),\x22g\x22));\nvar munged_name__$1 \x3d (cljs.core.truth_(goog.string.endsWith(munged_name,\x22$\x22))?munged_name.substring((0),(munged_name.length - (1))):munged_name);\nvar ret \x3d \x22\x22;\nvar last_match_end \x3d (0);\nwhile(true){\nvar temp__5802__auto__ \x3d r.exec(munged_name__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar match \x3d temp__5802__auto__;\nvar vec__16131 \x3d match;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16131,(0),null);\nvar G__21834 \x3d [ret,cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,(r.lastIndex - x.length))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((x \x3d\x3d\x3d \x22$\x22))?\x22/\x22:cljs.core.goog$module$goog$object.get(cljs.core.DEMUNGE_MAP,x)))].join(\x27\x27);\nvar G__21835 \x3d r.lastIndex;\nret \x3d G__21834;\nlast_match_end \x3d G__21835;\ncontinue;\n} else {\nreturn [ret,cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,munged_name__$1.length))].join(\x27\x27);\n}\nbreak;\n}\n});\ncljs.core.demunge \x3d (function cljs$core$demunge(name){\nvar G__16135 \x3d (function (){var name_SINGLEQUOTE_ \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(name);\nif((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22_DOT__DOT_\x22)){\nreturn \x22..\x22;\n} else {\nreturn cljs.core.demunge_str(name_SINGLEQUOTE_);\n}\n})();\nvar fexpr__16134 \x3d (((name instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.str);\nreturn (fexpr__16134.cljs$core$IFn$_invoke$arity$1 ? fexpr__16134.cljs$core$IFn$_invoke$arity$1(G__16135) : fexpr__16134.call(null,G__16135));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.tapset !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core.tapset \x3d null;\n}\ncljs.core.maybe_init_tapset \x3d (function cljs$core$maybe_init_tapset(){\nif((cljs.core.tapset \x3d\x3d null)){\nreturn (cljs.core.tapset \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY));\n} else {\nreturn null;\n}\n});\n/**\n * Adds f, a fn of one argument, to the tap set. This function will be called with\n * anything sent via tap\x3e. Remember f in order to remove-tap\n */\ncljs.core.add_tap \x3d (function cljs$core$add_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.conj,f);\n\nreturn null;\n});\n/**\n * Remove f from the tap set.\n */\ncljs.core.remove_tap \x3d (function cljs$core$remove_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.disj,f);\n\nreturn null;\n});\n/**\n * Sends x to any taps. Returns the result of *exec-tap-fn*, a Boolean value.\n */\ncljs.core.tap_GT_ \x3d (function cljs$core$tap_GT_(x){\ncljs.core.maybe_init_tapset();\n\nreturn cljs.core._STAR_exec_tap_fn_STAR_.call(null,(function (){\nvar seq__16136 \x3d cljs.core.seq(cljs.core.deref(cljs.core.tapset));\nvar chunk__16137 \x3d null;\nvar count__16138 \x3d (0);\nvar i__16139 \x3d (0);\nwhile(true){\nif((i__16139 \x3c count__16138)){\nvar tap \x3d chunk__16137.cljs$core$IIndexed$_nth$arity$2(null,i__16139);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e16142){if((e16142 instanceof Error)){\nvar ex_21844 \x3d e16142;\n} else {\nthrow e16142;\n\n}\n}\n\nvar G__21845 \x3d seq__16136;\nvar G__21846 \x3d chunk__16137;\nvar G__21847 \x3d count__16138;\nvar G__21848 \x3d (i__16139 + (1));\nseq__16136 \x3d G__21845;\nchunk__16137 \x3d G__21846;\ncount__16138 \x3d G__21847;\ni__16139 \x3d G__21848;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__16136);\nif(temp__5804__auto__){\nvar seq__16136__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__16136__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__16136__$1);\nvar G__21851 \x3d cljs.core.chunk_rest(seq__16136__$1);\nvar G__21852 \x3d c__5568__auto__;\nvar G__21853 \x3d cljs.core.count(c__5568__auto__);\nvar G__21854 \x3d (0);\nseq__16136 \x3d G__21851;\nchunk__16137 \x3d G__21852;\ncount__16138 \x3d G__21853;\ni__16139 \x3d G__21854;\ncontinue;\n} else {\nvar tap \x3d cljs.core.first(seq__16136__$1);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e16143){if((e16143 instanceof Error)){\nvar ex_21855 \x3d e16143;\n} else {\nthrow e16143;\n\n}\n}\n\nvar G__21856 \x3d cljs.core.next(seq__16136__$1);\nvar G__21857 \x3d null;\nvar G__21858 \x3d (0);\nvar G__21859 \x3d (0);\nseq__16136 \x3d G__21856;\nchunk__16137 \x3d G__21857;\ncount__16138 \x3d G__21858;\ni__16139 \x3d G__21859;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n});\n/**\n * m f \x3d\x3e {k (f v) ...}\n * Given a map m and a function f of 1-argument, returns a new map where the keys of m\n * are mapped to result of applying f to the corresponding values of m.\n */\ncljs.core.update_vals \x3d (function cljs$core$update_vals(m,f){\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,k,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(v) : f.call(null,v)));\n}),(((((!((m \x3d\x3d null))))?(((((m.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d m.cljs$core$IEditableCollection$))))?true:false):false))?cljs.core.transient$(m):cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY)),m)),cljs.core.meta(m));\n});\n/**\n * m f \x3d\x3e {(f k) v ...}\n * Given a map m and a function f of 1-argument, returns a new map whose\n * keys are the result of applying f to the keys of m, mapped to the\n * corresponding values of m.\n * f must return a unique key for each key of m, else the behavior is undefined.\n */\ncljs.core.update_keys \x3d (function cljs$core$update_keys(m,f){\nvar ret \x3d cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(k) : f.call(null,k)),v);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\nreturn cljs.core.with_meta(ret,cljs.core.meta(m));\n});\n/**\n * Bootstrap only.\n */\ncljs.core.ns_lookup \x3d (function cljs$core$ns_lookup(ns_obj,k){\nreturn (function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n});\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n*/\ncljs.core.Namespace \x3d (function (obj,name){\nthis.obj \x3d obj;\nthis.name \x3d name;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6291456;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Namespace.prototype.findInternedVar \x3d (function (sym){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar k \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nif(cljs.core.goog$module$goog$object.containsKey(self__.obj,k)){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nvar var_meta \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),this$], null);\nreturn (new cljs.core.Var(cljs.core.ns_lookup(self__.obj,k),var_sym,var_meta));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Namespace.prototype.getName \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Namespace.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name);\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Namespace)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.name,other.name);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash(self__.name);\n}));\n\n(cljs.core.Namespace.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null)], null);\n}));\n\n(cljs.core.Namespace.cljs$lang$type \x3d true);\n\n(cljs.core.Namespace.cljs$lang$ctorStr \x3d \x22cljs.core/Namespace\x22);\n\n(cljs.core.Namespace.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Namespace\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Namespace.\n */\ncljs.core.__GT_Namespace \x3d (function cljs$core$__GT_Namespace(obj,name){\nreturn (new cljs.core.Namespace(obj,name));\n});\n\n/**\n * Bootstrap only.\n * @type {*}\n */\ncljs.core.NS_CACHE \x3d null;\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj_STAR_ \x3d (function cljs$core$find_ns_obj_STAR_(ctxt,xs){\nwhile(true){\nif((ctxt \x3d\x3d null)){\nreturn null;\n} else {\nif((xs \x3d\x3d null)){\nreturn ctxt;\n} else {\nvar G__21865 \x3d cljs.core.goog$module$goog$object.get(ctxt,cljs.core.first(xs));\nvar G__21866 \x3d cljs.core.next(xs);\nctxt \x3d G__21865;\nxs \x3d G__21866;\ncontinue;\n\n}\n}\nbreak;\n}\n});\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj \x3d (function cljs$core$find_ns_obj(ns){\nvar munged_ns \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns));\nvar segs \x3d munged_ns.split(\x22.\x22);\nvar G__16145 \x3d cljs.core._STAR_target_STAR_;\nswitch (G__16145) {\ncase \x22nodejs\x22:\nif(COMPILED){\nreturn cljs.core.find_ns_obj_STAR_((function (){try{var ctxt \x3d eval(cljs.core.first(segs));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d ctxt;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.object_QMARK_(ctxt);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn ctxt;\n} else {\nreturn null;\n}\n}catch (e16146){if((e16146 instanceof ReferenceError)){\nvar e \x3d e16146;\nreturn null;\n} else {\nthrow e16146;\n\n}\n}})(),cljs.core.next(segs));\n} else {\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n}\n\nbreak;\ncase \x22default\x22:\ncase \x22webworker\x22:\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n\nbreak;\ndefault:\nthrow (new Error([\x22find-ns-obj not supported for target \x22,cljs.core._STAR_target_STAR_].join(\x27\x27)));\n\n}\n});\n/**\n * Returns a map of the intern mappings for the namespace.\n * Bootstrap only.\n */\ncljs.core.ns_interns_STAR_ \x3d (function cljs$core$ns_interns_STAR_(sym){\nvar ns_obj \x3d cljs.core.find_ns_obj(sym);\nvar ns \x3d (new cljs.core.Namespace(ns_obj,sym));\nvar step \x3d (function cljs$core$ns_interns_STAR__$_step(ret,k){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.demunge(k));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,var_sym,(new cljs.core.Var((function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n}),cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym)),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns], null))));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(step,cljs.core.PersistentArrayMap.EMPTY,cljs.core.js_keys(ns_obj));\n});\n/**\n * Create a new namespace named by the symbol. Bootstrap only.\n */\ncljs.core.create_ns \x3d (function cljs$core$create_ns(var_args){\nvar G__16148 \x3d arguments.length;\nswitch (G__16148) {\ncase 1:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1 \x3d (function (sym){\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(sym,cljs.core.find_ns_obj(sym));\n}));\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,ns_obj){\nreturn (new cljs.core.Namespace(ns_obj,sym));\n}));\n\n(cljs.core.create_ns.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the namespace named by the symbol or nil if it doesn\x27t exist.\n * Bootstrap only.\n */\ncljs.core.find_ns \x3d (function cljs$core$find_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the macros namespace named by the symbol or nil if it doesn\x27t exist.\n * Bootstrap only.\n */\ncljs.core.find_macros_ns \x3d (function cljs$core$find_macros_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar ns_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns);\nvar ns__$1 \x3d (((!(goog.string.contains(ns_str,\x22$macros\x22))))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([ns_str,\x22$macros\x22].join(\x27\x27)):ns);\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns__$1);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns__$1);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns__$1,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns__$1,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the name of the namespace, a Namespace object.\n * Bootstrap only.\n */\ncljs.core.ns_name \x3d (function cljs$core$ns_name(ns_obj){\nreturn ns_obj.name;\n});\n/**\n * Returns true x is a goog.Uri instance.\n */\ncljs.core.uri_QMARK_ \x3d (function cljs$core$uri_QMARK_(x){\nreturn (x instanceof goog.Uri);\n});\n/**\n * Returns true if num is NaN, else false\n */\ncljs.core.NaN_QMARK_ \x3d (function cljs$core$NaN_QMARK_(val){\nreturn isNaN(val);\n});\n/**\n * Construct message for parsing for non-string parsing error\n */\ncljs.core.parsing_err \x3d (function cljs$core$parsing_err(val){\nreturn [\x22Expected string, got: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((val \x3d\x3d null))?\x22nil\x22:goog.typeOf(val)))].join(\x27\x27);\n});\n/**\n * Parse string of decimal digits with optional leading -/+ and return an\n * integer value, or nil if parse fails\n */\ncljs.core.parse_long \x3d (function cljs$core$parse_long(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar and__5043__auto__ \x3d cljs.core.re_matches(/[+-]?\\d+/,s);\nif(cljs.core.truth_(and__5043__auto__)){\nvar i \x3d parseInt(s);\nif((((i \x3c\x3d Number.MAX_SAFE_INTEGER)) \x26\x26 ((i \x3e\x3d Number.MIN_SAFE_INTEGER)))){\nreturn i;\n} else {\nreturn null;\n}\n} else {\nreturn and__5043__auto__;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse string with floating point components and return a floating point value,\n * or nil if parse fails.\n * Grammar: https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String-\n */\ncljs.core.parse_double \x3d (function cljs$core$parse_double(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?NaN[\\x00-\\x20]*/,s)){\nreturn NaN;\n} else {\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?(Infinity|((\\d+\\.?\\d*|\\.\\d+)([eE][+-]?\\d+)?)[dDfF]?)[\\x00-\\x20]*/,s)){\nreturn parseFloat(s);\n} else {\nreturn null;\n\n}\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.uuid_regex \x3d /^[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]$/;\n/**\n * Parse a string representing a UUID and return a UUID instance,\n * or nil if parse fails.\n * Grammar: https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#toString--\n */\ncljs.core.parse_uuid \x3d (function cljs$core$parse_uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(cljs.core.uuid_regex,s)){\nreturn cljs.core.uuid(s);\n} else {\nreturn null;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse strings \x22true\x22 or \x22false\x22 and return a boolean, or nil if invalid. Note that this explicitly\n * excludes strings with different cases, or space characters.\n */\ncljs.core.parse_boolean \x3d (function cljs$core$parse_boolean(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar G__16149 \x3d s;\nswitch (G__16149) {\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ndefault:\nreturn null;\n\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.maybe_enable_print_BANG_ \x3d (function cljs$core$maybe_enable_print_BANG_(){\nif((typeof console !\x3d\x3d \x27undefined\x27)){\nreturn cljs.core.enable_console_print_BANG_();\n} else {\nif((((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nashorn\x22)) || ((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22graaljs\x22)))){\nvar system \x3d Java.type(\x22java.lang.System\x22);\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.out.println(s);\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.error.println(s);\n}));\n} else {\nreturn null;\n}\n}\n});\ncljs.core.maybe_enable_print_BANG_();\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_eval_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Runtime environments may provide a way to evaluate ClojureScript\n * forms. Whatever function *eval* is bound to will be passed any forms which\n * should be evaluated.\n */\ncljs.core._STAR_eval_STAR_ \x3d (function cljs$core$_STAR_eval_STAR_(_){\nthrow (new Error(\x22cljs.core/*eval* not bound\x22));\n});\n}\n/**\n * Evaluates the form data structure (not text!) and returns the result.\n * Delegates to cljs.core/*eval*. Intended for use in self-hosted ClojureScript,\n * which sets up an implementation of cljs.core/*eval* for that environment.\n */\ncljs.core.eval \x3d (function cljs$core$eval(form){\nreturn cljs.core._STAR_eval_STAR_.call(null,form);\n});\nif(COMPILED){\nif((\x22nodejs\x22 \x3d\x3d\x3d cljs.core._STAR_target_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n\nif((\x22window\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d window);\n} else {\nif((\x22self\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d self);\n} else {\nif((\x22global\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n}\n}\n} else {\n}\n\ncljs.core.enable_console_print_BANG_();\n"); -SHADOW_ENV.evalLoad("clojure.string.js", true , "goog.provide(\x27clojure.string\x27);\nclojure.string.seq_reverse \x3d (function clojure$string$seq_reverse(coll){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n});\nclojure.string.re_surrogate_pair \x3d (new RegExp(\x22([\\\\uD800-\\\\uDBFF])([\\\\uDC00-\\\\uDFFF])\x22,\x22g\x22));\n/**\n * Returns s with its characters reversed.\n */\nclojure.string.reverse \x3d (function clojure$string$reverse(s){\nreturn s.replace(clojure.string.re_surrogate_pair,\x22$2$1\x22).split(\x22\x22).reverse().join(\x22\x22);\n});\nclojure.string.replace_all \x3d (function clojure$string$replace_all(s,re,replacement){\nvar r \x3d (new RegExp(re.source,(function (){var G__16159 \x3d \x22g\x22;\nvar G__16159__$1 \x3d (cljs.core.truth_(re.ignoreCase)?[G__16159,\x22i\x22].join(\x27\x27):G__16159);\nvar G__16159__$2 \x3d (cljs.core.truth_(re.multiline)?[G__16159__$1,\x22m\x22].join(\x27\x27):G__16159__$1);\nif(cljs.core.truth_(re.unicode)){\nreturn [G__16159__$2,\x22u\x22].join(\x27\x27);\n} else {\nreturn G__16159__$2;\n}\n})()));\nreturn s.replace(r,replacement);\n});\nclojure.string.replace_with \x3d (function clojure$string$replace_with(f){\nreturn (function() { \nvar G__16225__delegate \x3d function (args){\nvar matches \x3d cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((2),args);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(matches),(1))){\nvar G__16160 \x3d cljs.core.first(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__16160) : f.call(null,G__16160));\n} else {\nvar G__16161 \x3d cljs.core.vec(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__16161) : f.call(null,G__16161));\n}\n};\nvar G__16225 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__16228__i \x3d 0, G__16228__a \x3d new Array(arguments.length - 0);\nwhile (G__16228__i \x3c G__16228__a.length) {G__16228__a[G__16228__i] \x3d arguments[G__16228__i + 0]; ++G__16228__i;}\n args \x3d new cljs.core.IndexedSeq(G__16228__a,0,null);\n} \nreturn G__16225__delegate.call(this,args);};\nG__16225.cljs$lang$maxFixedArity \x3d 0;\nG__16225.cljs$lang$applyTo \x3d (function (arglist__16229){\nvar args \x3d cljs.core.seq(arglist__16229);\nreturn G__16225__delegate(args);\n});\nG__16225.cljs$core$IFn$_invoke$arity$variadic \x3d G__16225__delegate;\nreturn G__16225;\n})()\n;\n});\n/**\n * Replaces all instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace-first.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace \x22Almost Pig Latin\x22 #\x22\\b(\\w)(\\w+)\\b\x22 \x22$2$1ay\x22)\n * -\x3e \x22lmostAay igPay atinLay\x22\n */\nclojure.string.replace \x3d (function clojure$string$replace(s,match,replacement){\nif(typeof match \x3d\x3d\x3d \x27string\x27){\nreturn s.replace((new RegExp(goog.string.regExpEscape(match),\x22g\x22)),replacement);\n} else {\nif((match instanceof RegExp)){\nif(typeof replacement \x3d\x3d\x3d \x27string\x27){\nreturn clojure.string.replace_all(s,match,replacement);\n} else {\nreturn clojure.string.replace_all(s,match,clojure.string.replace_with(replacement));\n}\n} else {\nthrow [\x22Invalid match arg: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(match)].join(\x27\x27);\n\n}\n}\n});\n/**\n * Replaces the first instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace-first \x22swap first two words\x22\n * #\x22(\\w+)(\\s+)(\\w+)\x22 \x22$3$2$1\x22)\n * -\x3e \x22first swap two words\x22\n */\nclojure.string.replace_first \x3d (function clojure$string$replace_first(s,match,replacement){\nreturn s.replace(match,replacement);\n});\n/**\n * Returns a string of all elements in coll, as returned by (seq coll),\n * separated by an optional separator.\n */\nclojure.string.join \x3d (function clojure$string$join(var_args){\nvar G__16169 \x3d arguments.length;\nswitch (G__16169) {\ncase 1:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__16235 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\nvar G__16236 \x3d cljs.core.next(coll__$1);\nsb \x3d G__16235;\ncoll__$1 \x3d G__16236;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (separator,coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nsb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\n\nvar coll__$2 \x3d cljs.core.next(coll__$1);\nif((coll__$2 \x3d\x3d null)){\n} else {\nsb.append(separator);\n}\n\nvar G__16243 \x3d sb;\nvar G__16244 \x3d coll__$2;\nsb \x3d G__16243;\ncoll__$1 \x3d G__16244;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Converts string to all upper-case.\n */\nclojure.string.upper_case \x3d (function clojure$string$upper_case(s){\nreturn s.toUpperCase();\n});\n/**\n * Converts string to all lower-case.\n */\nclojure.string.lower_case \x3d (function clojure$string$lower_case(s){\nreturn s.toLowerCase();\n});\n/**\n * Converts first character of the string to upper-case, all other\n * characters to lower-case.\n */\nclojure.string.capitalize \x3d (function clojure$string$capitalize(s){\nreturn goog.string.capitalize(s);\n});\nclojure.string.pop_last_while_empty \x3d (function clojure$string$pop_last_while_empty(v){\nvar v__$1 \x3d v;\nwhile(true){\nif((\x22\x22 \x3d\x3d\x3d cljs.core.peek(v__$1))){\nvar G__16250 \x3d cljs.core.pop(v__$1);\nv__$1 \x3d G__16250;\ncontinue;\n} else {\nreturn v__$1;\n}\nbreak;\n}\n});\nclojure.string.discard_trailing_if_needed \x3d (function clojure$string$discard_trailing_if_needed(limit,v){\nif(((((0) \x3d\x3d\x3d limit)) \x26\x26 (((1) \x3c cljs.core.count(v))))){\nreturn clojure.string.pop_last_while_empty(v);\n} else {\nreturn v;\n}\n});\nclojure.string.split_with_empty_regex \x3d (function clojure$string$split_with_empty_regex(s,limit){\nif((((limit \x3c\x3d (0))) || ((limit \x3e\x3d ((2) + cljs.core.count(s)))))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s)))),\x22\x22);\n} else {\nvar pred__16176 \x3d cljs.core._EQ__EQ_;\nvar expr__16177 \x3d limit;\nif(cljs.core.truth_((pred__16176.cljs$core$IFn$_invoke$arity$2 ? pred__16176.cljs$core$IFn$_invoke$arity$2((1),expr__16177) : pred__16176.call(null,(1),expr__16177)))){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[s],null));\n} else {\nif(cljs.core.truth_((pred__16176.cljs$core$IFn$_invoke$arity$2 ? pred__16176.cljs$core$IFn$_invoke$arity$2((2),expr__16177) : pred__16176.call(null,(2),expr__16177)))){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[\x22\x22,s],null));\n} else {\nvar c \x3d (limit - (2));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s))),(0),c))),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,c));\n}\n}\n}\n});\n/**\n * Splits string on a regular expression. Optional argument limit is\n * the maximum number of parts. Not lazy. Returns vector of the parts.\n * Trailing empty strings are not returned - pass limit of -1 to return all.\n */\nclojure.string.split \x3d (function clojure$string$split(var_args){\nvar G__16186 \x3d arguments.length;\nswitch (G__16186) {\ncase 2:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,re){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,re,(0));\n}));\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,re,limit){\nreturn clojure.string.discard_trailing_if_needed(limit,(((\x22/(?:)/\x22 \x3d\x3d\x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(re)))?clojure.string.split_with_empty_regex(s,limit):(((limit \x3c (1)))?cljs.core.vec(cljs.core.str.cljs$core$IFn$_invoke$arity$1(s).split(re)):(function (){var s__$1 \x3d s;\nvar limit__$1 \x3d limit;\nvar parts \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(((1) \x3d\x3d\x3d limit__$1)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n} else {\nvar m \x3d cljs.core.re_find(re,s__$1);\nif((!((m \x3d\x3d null)))){\nvar index \x3d s__$1.indexOf(m);\nvar G__16260 \x3d s__$1.substring((index + cljs.core.count(m)));\nvar G__16261 \x3d (limit__$1 - (1));\nvar G__16262 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1.substring((0),index));\ns__$1 \x3d G__16260;\nlimit__$1 \x3d G__16261;\nparts \x3d G__16262;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n}\n}\nbreak;\n}\n})())));\n}));\n\n(clojure.string.split.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Splits s on \\n or \\r\\n. Trailing empty lines are not returned.\n */\nclojure.string.split_lines \x3d (function clojure$string$split_lines(s){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2(s,/\\n|\\r\\n/);\n});\n/**\n * Removes whitespace from both ends of string.\n */\nclojure.string.trim \x3d (function clojure$string$trim(s){\nreturn goog.string.trim(s);\n});\n/**\n * Removes whitespace from the left side of string.\n */\nclojure.string.triml \x3d (function clojure$string$triml(s){\nreturn goog.string.trimLeft(s);\n});\n/**\n * Removes whitespace from the right side of string.\n */\nclojure.string.trimr \x3d (function clojure$string$trimr(s){\nreturn goog.string.trimRight(s);\n});\n/**\n * Removes all trailing newline \\n or return \\r characters from\n * string. Similar to Perl\x27s chomp.\n */\nclojure.string.trim_newline \x3d (function clojure$string$trim_newline(s){\nvar index \x3d s.length;\nwhile(true){\nif((index \x3d\x3d\x3d (0))){\nreturn \x22\x22;\n} else {\nvar ch \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(s,(index - (1)));\nif((((\x22\\n\x22 \x3d\x3d\x3d ch)) || ((\x22\\r\x22 \x3d\x3d\x3d ch)))){\nvar G__16264 \x3d (index - (1));\nindex \x3d G__16264;\ncontinue;\n} else {\nreturn s.substring((0),index);\n}\n}\nbreak;\n}\n});\n/**\n * True is s is nil, empty, or contains only whitespace.\n */\nclojure.string.blank_QMARK_ \x3d (function clojure$string$blank_QMARK_(s){\nreturn goog.string.isEmptyOrWhitespace(goog.string.makeSafe(s));\n});\n/**\n * Return a new string, using cmap to escape each character ch\n * from s as follows:\n * \n * If (cmap ch) is nil, append ch to the new string.\n * If (cmap ch) is non-nil, append (str (cmap ch)) instead.\n */\nclojure.string.escape \x3d (function clojure$string$escape(s,cmap){\nvar buffer \x3d (new goog.string.StringBuffer());\nvar length \x3d s.length;\nvar index \x3d (0);\nwhile(true){\nif((length \x3d\x3d\x3d index)){\nreturn buffer.toString();\n} else {\nvar ch \x3d s.charAt(index);\nvar replacement \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cmap,ch);\nif((!((replacement \x3d\x3d null)))){\nbuffer.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(replacement));\n} else {\nbuffer.append(ch);\n}\n\nvar G__16265 \x3d (index + (1));\nindex \x3d G__16265;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Return index of value (string or char) in s, optionally searching\n * forward from from-index or nil if not found.\n */\nclojure.string.index_of \x3d (function clojure$string$index_of(var_args){\nvar G__16213 \x3d arguments.length;\nswitch (G__16213) {\ncase 2:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.indexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.indexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return last index of value (string or char) in s, optionally\n * searching backward from from-index or nil if not found.\n */\nclojure.string.last_index_of \x3d (function clojure$string$last_index_of(var_args){\nvar G__16217 \x3d arguments.length;\nswitch (G__16217) {\ncase 2:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.lastIndexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.lastIndexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * True if s starts with substr.\n */\nclojure.string.starts_with_QMARK_ \x3d (function clojure$string$starts_with_QMARK_(s,substr){\nreturn goog.string.startsWith(s,substr);\n});\n/**\n * True if s ends with substr.\n */\nclojure.string.ends_with_QMARK_ \x3d (function clojure$string$ends_with_QMARK_(s,substr){\nreturn goog.string.endsWith(s,substr);\n});\n/**\n * True if s includes substr.\n */\nclojure.string.includes_QMARK_ \x3d (function clojure$string$includes_QMARK_(s,substr){\nreturn goog.string.contains(s,substr);\n});\n"); -SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.console.js", true , "goog.provide(\x27shadow.cljs.devtools.client.console\x27);\nshadow.cljs.devtools.client.console.push_all \x3d (function shadow$cljs$devtools$client$console$push_all(arr,item){\nif(cljs.core.vector_QMARK_(item)){\nvar seq__16230 \x3d cljs.core.seq(item);\nvar chunk__16231 \x3d null;\nvar count__16232 \x3d (0);\nvar i__16233 \x3d (0);\nwhile(true){\nif((i__16233 \x3c count__16232)){\nvar it \x3d chunk__16231.cljs$core$IIndexed$_nth$arity$2(null,i__16233);\narr.push(it);\n\n\nvar G__16356 \x3d seq__16230;\nvar G__16357 \x3d chunk__16231;\nvar G__16358 \x3d count__16232;\nvar G__16359 \x3d (i__16233 + (1));\nseq__16230 \x3d G__16356;\nchunk__16231 \x3d G__16357;\ncount__16232 \x3d G__16358;\ni__16233 \x3d G__16359;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__16230);\nif(temp__5804__auto__){\nvar seq__16230__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__16230__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__16230__$1);\nvar G__16362 \x3d cljs.core.chunk_rest(seq__16230__$1);\nvar G__16363 \x3d c__5568__auto__;\nvar G__16364 \x3d cljs.core.count(c__5568__auto__);\nvar G__16365 \x3d (0);\nseq__16230 \x3d G__16362;\nchunk__16231 \x3d G__16363;\ncount__16232 \x3d G__16364;\ni__16233 \x3d G__16365;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__16230__$1);\narr.push(it);\n\n\nvar G__16366 \x3d cljs.core.next(seq__16230__$1);\nvar G__16367 \x3d null;\nvar G__16368 \x3d (0);\nvar G__16369 \x3d (0);\nseq__16230 \x3d G__16366;\nchunk__16231 \x3d G__16367;\ncount__16232 \x3d G__16368;\ni__16233 \x3d G__16369;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn arr.push(item);\n}\n});\nshadow.cljs.devtools.client.console.object_ref \x3d (function shadow$cljs$devtools$client$console$object_ref(obj){\nif((obj \x3d\x3d null)){\nreturn null;\n} else {\nreturn [\x22object\x22,({\x22object\x22: obj})];\n}\n});\nshadow.cljs.devtools.client.console.map__GT_style \x3d (function shadow$cljs$devtools$client$console$map__GT_style(m){\nreturn ({\x22style\x22: clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__16245){\nvar vec__16246 \x3d p__16245;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16246,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16246,(1),null);\nreturn [cljs.core.name(k),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),\x22;\x22].join(\x27\x27);\n}),m))});\n});\nshadow.cljs.devtools.client.console.clj__GT_jsonml \x3d (function shadow$cljs$devtools$client$console$clj__GT_jsonml(struct){\nif((struct \x3d\x3d null)){\nreturn null;\n} else {\nif(cljs.core.array_QMARK_(struct)){\nreturn struct;\n} else {\nif(cljs.core.vector_QMARK_(struct)){\nvar vec__16251 \x3d struct;\nvar seq__16252 \x3d cljs.core.seq(vec__16251);\nvar first__16253 \x3d cljs.core.first(seq__16252);\nvar seq__16252__$1 \x3d cljs.core.next(seq__16252);\nvar tag \x3d first__16253;\nvar first__16253__$1 \x3d cljs.core.first(seq__16252__$1);\nvar seq__16252__$2 \x3d cljs.core.next(seq__16252__$1);\nvar attrs \x3d first__16253__$1;\nvar children \x3d seq__16252__$2;\nvar js \x3d [cljs.core.name(tag),shadow.cljs.devtools.client.console.map__GT_style(attrs)];\nvar seq__16254_16370 \x3d cljs.core.seq(children);\nvar chunk__16255_16371 \x3d null;\nvar count__16256_16372 \x3d (0);\nvar i__16257_16373 \x3d (0);\nwhile(true){\nif((i__16257_16373 \x3c count__16256_16372)){\nvar child_16374 \x3d chunk__16255_16371.cljs$core$IIndexed$_nth$arity$2(null,i__16257_16373);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_16374) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_16374)));\n\n\nvar G__16375 \x3d seq__16254_16370;\nvar G__16376 \x3d chunk__16255_16371;\nvar G__16377 \x3d count__16256_16372;\nvar G__16378 \x3d (i__16257_16373 + (1));\nseq__16254_16370 \x3d G__16375;\nchunk__16255_16371 \x3d G__16376;\ncount__16256_16372 \x3d G__16377;\ni__16257_16373 \x3d G__16378;\ncontinue;\n} else {\nvar temp__5804__auto___16379 \x3d cljs.core.seq(seq__16254_16370);\nif(temp__5804__auto___16379){\nvar seq__16254_16384__$1 \x3d temp__5804__auto___16379;\nif(cljs.core.chunked_seq_QMARK_(seq__16254_16384__$1)){\nvar c__5568__auto___16385 \x3d cljs.core.chunk_first(seq__16254_16384__$1);\nvar G__16386 \x3d cljs.core.chunk_rest(seq__16254_16384__$1);\nvar G__16387 \x3d c__5568__auto___16385;\nvar G__16388 \x3d cljs.core.count(c__5568__auto___16385);\nvar G__16389 \x3d (0);\nseq__16254_16370 \x3d G__16386;\nchunk__16255_16371 \x3d G__16387;\ncount__16256_16372 \x3d G__16388;\ni__16257_16373 \x3d G__16389;\ncontinue;\n} else {\nvar child_16390 \x3d cljs.core.first(seq__16254_16384__$1);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_16390) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_16390)));\n\n\nvar G__16391 \x3d cljs.core.next(seq__16254_16384__$1);\nvar G__16392 \x3d null;\nvar G__16393 \x3d (0);\nvar G__16394 \x3d (0);\nseq__16254_16370 \x3d G__16391;\nchunk__16255_16371 \x3d G__16392;\ncount__16256_16372 \x3d G__16393;\ni__16257_16373 \x3d G__16394;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn js;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27string\x27){\nreturn struct;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27number\x27){\nreturn struct;\n} else {\nif(cljs.core.seq_QMARK_(struct)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.console.clj__GT_jsonml),struct);\n} else {\nreturn shadow.cljs.devtools.client.console.object_ref(struct);\n\n}\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SeqFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((cljs.core.sequential_QMARK_(obj)) || (cljs.core.set_QMARK_(obj)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.body \x3d (function (s){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),(0)], null),(function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__16268(s__16269){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__16269__$1 \x3d s__16269;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__16269__$1);\nif(temp__5804__auto__){\nvar s__16269__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__16269__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__16269__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__16271 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__16270 \x3d (0);\nwhile(true){\nif((i__16270 \x3c size__5522__auto__)){\nvar value \x3d cljs.core._nth(c__5521__auto__,i__16270);\ncljs.core.chunk_append(b__16271,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null));\n\nvar G__16401 \x3d (i__16270 + (1));\ni__16270 \x3d G__16401;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__16271),shadow$cljs$devtools$client$console$iter__16268(cljs.core.chunk_rest(s__16269__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__16271),null);\n}\n} else {\nvar value \x3d cljs.core.first(s__16269__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null),shadow$cljs$devtools$client$console$iter__16268(cljs.core.rest(s__16269__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(s);\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SeqFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SeqFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SeqFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SeqFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.MapFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.PersistentHashMap)) || ((((obj instanceof cljs.core.PersistentArrayMap)) || (cljs.core.record_QMARK_(obj)))))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x22100%\x22,new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),(function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__16303(s__16304){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__16304__$1 \x3d s__16304;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__16304__$1);\nif(temp__5804__auto__){\nvar s__16304__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__16304__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__16304__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__16306 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__16305 \x3d (0);\nwhile(true){\nif((i__16305 \x3c size__5522__auto__)){\nvar key \x3d cljs.core._nth(c__5521__auto__,i__16305);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\ncljs.core.chunk_append(b__16306,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null));\n\nvar G__16418 \x3d (i__16305 + (1));\ni__16305 \x3d G__16418;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__16306),shadow$cljs$devtools$client$console$iter__16303(cljs.core.chunk_rest(s__16304__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__16306),null);\n}\n} else {\nvar key \x3d cljs.core.first(s__16304__$2);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null),shadow$cljs$devtools$client$console$iter__16303(cljs.core.rest(s__16304__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__((function (){var k \x3d cljs.core.keys(m);\ntry{return cljs.core.sort.cljs$core$IFn$_invoke$arity$1(k);\n}catch (e16312){var e \x3d e16312;\nreturn k;\n}})());\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/MapFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_MapFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_MapFormatter(){\nreturn (new shadow.cljs.devtools.client.console.MapFormatter());\n});\n\nshadow.cljs.devtools.client.console.keyword_style \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22rgb(136, 19, 145)\x22], null);\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.KeywordFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Keyword)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/KeywordFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_KeywordFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_KeywordFormatter(){\nreturn (new shadow.cljs.devtools.client.console.KeywordFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SymbolFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Symbol)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SymbolFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SymbolFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SymbolFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SymbolFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.DerefFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.Atom)) || ((obj instanceof cljs.core.Volatile)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,[\x22@DEREF \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0))].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.body \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),shadow.cljs.devtools.client.console.object_ref(cljs.core.deref(v))], null));\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/DerefFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_DerefFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_DerefFormatter(){\nreturn (new shadow.cljs.devtools.client.console.DerefFormatter());\n});\n\nshadow.cljs.devtools.client.console.install_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$install_all_BANG_(){\nvar temp__5804__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar f \x3d temp__5804__auto__;\nvar G__16343 \x3d f;\nG__16343.push((new shadow.cljs.devtools.client.console.KeywordFormatter()));\n\nG__16343.push((new shadow.cljs.devtools.client.console.MapFormatter()));\n\nG__16343.push((new shadow.cljs.devtools.client.console.SeqFormatter()));\n\nG__16343.push((new shadow.cljs.devtools.client.console.SymbolFormatter()));\n\nG__16343.push((new shadow.cljs.devtools.client.console.DerefFormatter()));\n\nreturn G__16343;\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$remove_all_BANG_(){\nvar all \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__16351_SHARP_){\nreturn goog.object.get(p1__16351_SHARP_,\x22shadow$formatter\x22);\n}),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn [];\n}\n})())));\nreturn goog.object.set(goog.global,\x22devtoolsFormatters\x22,all);\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_();\nshadow.cljs.devtools.client.console.install_all_BANG_();\n"); +SHADOW_ENV.evalLoad("cljs.core.js", true , "goog.provide(\x27cljs.core\x27);\ngoog.scope(function(){\n cljs.core.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n cljs.core.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n cljs.core.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\ncljs.core._STAR_clojurescript_version_STAR_ \x3d \x221.11.60\x22;\ncljs.core._STAR_unchecked_if_STAR_ \x3d false;\ncljs.core._STAR_unchecked_arrays_STAR_ \x3d false;\ncljs.core._STAR_warn_on_infer_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.PROTOCOL_SENTINEL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.PROTOCOL_SENTINEL \x3d ({});\n}\ncljs.core.MODULE_URIS \x3d null;\ncljs.core.MODULE_INFOS \x3d null;\n/**\n * Var bound to the name value of the compiler build :target option.\n * For example, if the compiler build :target is :nodejs, *target* will be bound\n * to \x22nodejs\x22. *target* is a Google Closure define and can be set by compiler\n * :closure-defines option.\n * @define {string}\n */\ncljs.core._STAR_target_STAR_ \x3d goog.define(\x22cljs.core._STAR_target_STAR_\x22,\x22default\x22);\n/**\n * Manually set the JavaScript global context. Only \x22window\x22, \x22self\x22\n * , and \x22global\x22 supported. \n * @define {string}\n */\ncljs.core._STAR_global_STAR_ \x3d goog.define(\x22cljs.core._STAR_global_STAR_\x22,\x22default\x22);\n/**\n * Var bound to the current namespace. Only used for bootstrapping.\n * @type {*}\n */\ncljs.core._STAR_ns_STAR_ \x3d null;\n/**\n * @type {*}\n */\ncljs.core._STAR_out_STAR_ \x3d null;\ncljs.core._STAR_assert_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print output.\n * Whatever function *print-fn* is bound to will be passed any\n * Strings which should be printed.\n */\ncljs.core._STAR_print_fn_STAR_ \x3d null;\n}\n/**\n * Arranges to have tap functions executed via the supplied f, a\n * function of no arguments. Returns true if successful, false otherwise.\n */\ncljs.core._STAR_exec_tap_fn_STAR_ \x3d (function cljs$core$_STAR_exec_tap_fn_STAR_(f){\nvar and__5043__auto__ \x3d (typeof setTimeout !\x3d\x3d \x27undefined\x27);\nif(and__5043__auto__){\nvar G__10677 \x3d setTimeout(f,(0));\nreturn (cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1 ? cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1(G__10677) : cljs.core.boolean$.call(null,G__10677));\n} else {\nreturn and__5043__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_err_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print error output.\n * Whatever function *print-err-fn* is bound to will be passed any\n * Strings which should be printed.\n */\ncljs.core._STAR_print_err_fn_STAR_ \x3d null;\n}\n/**\n * Set *print-fn* to f.\n */\ncljs.core.set_print_fn_BANG_ \x3d (function cljs$core$set_print_fn_BANG_(f){\nreturn (cljs.core._STAR_print_fn_STAR_ \x3d f);\n});\n/**\n * Set *print-err-fn* to f.\n */\ncljs.core.set_print_err_fn_BANG_ \x3d (function cljs$core$set_print_err_fn_BANG_(f){\nreturn (cljs.core._STAR_print_err_fn_STAR_ \x3d f);\n});\n/**\n * When set to true, output will be flushed whenever a newline is printed.\n * \n * Defaults to true.\n */\ncljs.core._STAR_flush_on_newline_STAR_ \x3d true;\n/**\n * When set to logical false will drop newlines from printing calls.\n * This is to work around the implicit newlines emitted by standard JavaScript\n * console objects.\n */\ncljs.core._STAR_print_newline_STAR_ \x3d true;\n/**\n * When set to logical false, strings and characters will be printed with\n * non-alphanumeric characters converted to the appropriate escape sequences.\n * \n * Defaults to true\n */\ncljs.core._STAR_print_readably_STAR_ \x3d true;\n/**\n * If set to logical true, when printing an object, its metadata will also\n * be printed in a form that can be read back by the reader.\n * \n * Defaults to false.\n */\ncljs.core._STAR_print_meta_STAR_ \x3d false;\n/**\n * When set to logical true, objects will be printed in a way that preserves\n * their type when read in later.\n * \n * Defaults to false.\n */\ncljs.core._STAR_print_dup_STAR_ \x3d false;\n/**\n * *print-namespace-maps* controls whether the printer will print\n * namespace map literal syntax.\n * \n * Defaults to false, but the REPL binds it to true.\n */\ncljs.core._STAR_print_namespace_maps_STAR_ \x3d false;\n/**\n * *print-length* controls how many items of each collection the\n * printer will print. If it is bound to logical false, there is no\n * limit. Otherwise, it must be bound to an integer indicating the maximum\n * number of items of each collection to print. If a collection contains\n * more items, the printer will print items up to the limit followed by\n * \x27...\x27 to represent the remaining items. The root binding is nil\n * indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_length_STAR_ \x3d null;\n/**\n * *print-level* controls how many levels deep the printer will\n * print nested objects. If it is bound to logical false, there is no\n * limit. Otherwise, it must be bound to an integer indicating the maximum\n * level to print. Each argument to print is at level 0; if an argument is a\n * collection, its items are at level 1; and so on. If an object is a\n * collection and is at a level greater than or equal to the value bound to\n * *print-level*, the printer prints \x27#\x27 to represent it. The root binding\n * is nil indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_level_STAR_ \x3d null;\n/**\n * *print-fns-bodies* controls whether functions print their source or\n * only their names.\n */\ncljs.core._STAR_print_fn_bodies_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_loaded_libs_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core._STAR_loaded_libs_STAR_ \x3d null;\n}\ncljs.core.pr_opts \x3d (function cljs$core$pr_opts(){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939),cljs.core._STAR_flush_on_newline_STAR_,new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),cljs.core._STAR_print_readably_STAR_,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),cljs.core._STAR_print_meta_STAR_,new cljs.core.Keyword(null,\x22dup\x22,\x22dup\x22,556298533),cljs.core._STAR_print_dup_STAR_,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),cljs.core._STAR_print_length_STAR_], null);\n});\n/**\n * Set *print-fn* to console.log\n */\ncljs.core.enable_console_print_BANG_ \x3d (function cljs$core$enable_console_print_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.log.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\ncljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.error.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\nreturn null;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.truth_ \x3d (function cljs$core$truth_(x){\nreturn (x !\x3d null \x26\x26 x !\x3d\x3d false);\n});\ncljs.core.not_native \x3d null;\n\n/**\n * Tests if 2 arguments are the same object\n */\ncljs.core.identical_QMARK_ \x3d (function cljs$core$identical_QMARK_(x,y){\nreturn (x \x3d\x3d\x3d y);\n});\n/**\n * Returns true if x is nil, false otherwise.\n */\ncljs.core.nil_QMARK_ \x3d (function cljs$core$nil_QMARK_(x){\nreturn (x \x3d\x3d null);\n});\n/**\n * Returns true if x is a JavaScript array.\n */\ncljs.core.array_QMARK_ \x3d (function cljs$core$array_QMARK_(x){\nif((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nodejs\x22)){\nreturn Array.isArray(x);\n} else {\nreturn (x instanceof Array);\n}\n});\n/**\n * Returns true if x is a JavaScript number.\n */\ncljs.core.number_QMARK_ \x3d (function cljs$core$number_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true if x is logical false, false otherwise.\n */\ncljs.core.not \x3d (function cljs$core$not(x){\nif((x \x3d\x3d null)){\nreturn true;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Returns true if x is not nil, false otherwise.\n */\ncljs.core.some_QMARK_ \x3d (function cljs$core$some_QMARK_(x){\nreturn (!((x \x3d\x3d null)));\n});\n/**\n * Returns true if x\x27s constructor is Object\n */\ncljs.core.object_QMARK_ \x3d (function cljs$core$object_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nreturn (x.constructor \x3d\x3d\x3d Object);\n} else {\nreturn false;\n}\n});\n/**\n * Returns true if x is a JavaScript string.\n */\ncljs.core.string_QMARK_ \x3d (function cljs$core$string_QMARK_(x){\nreturn (\x22string\x22 \x3d\x3d\x3d goog.typeOf(x));\n});\n/**\n * Returns true if x is a JavaScript string of length one.\n */\ncljs.core.char_QMARK_ \x3d (function cljs$core$char_QMARK_(x){\nreturn ((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 (((1) \x3d\x3d\x3d x.length)));\n});\n/**\n * Returns true if given any argument.\n */\ncljs.core.any_QMARK_ \x3d (function cljs$core$any_QMARK_(x){\nreturn true;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.native_satisfies_QMARK_ \x3d (function cljs$core$native_satisfies_QMARK_(p,x){\nvar x__$1 \x3d (((x \x3d\x3d null))?null:x);\nif((p[goog.typeOf(x__$1)])){\nreturn true;\n} else {\nif((p[\x22_\x22])){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\ncljs.core.is_proto_ \x3d (function cljs$core$is_proto_(x){\nreturn (x.constructor.prototype \x3d\x3d\x3d x);\n});\n/**\n * When compiled for a command-line target, whatever function\n * *main-cli-fn* is set to will be called with the command-line\n * argv as arguments\n */\ncljs.core._STAR_main_cli_fn_STAR_ \x3d null;\n/**\n * A sequence of the supplied command line arguments, or nil if\n * none were supplied\n */\ncljs.core._STAR_command_line_args_STAR_ \x3d null;\n/**\n * Return x\x27s constructor.\n */\ncljs.core.type \x3d (function cljs$core$type(x){\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn x.constructor;\n}\n});\ncljs.core.missing_protocol \x3d (function cljs$core$missing_protocol(proto,obj){\nvar ty \x3d cljs.core.type(obj);\nvar ty__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d ty;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn ty.cljs$lang$type;\n} else {\nreturn and__5043__auto__;\n}\n})())?ty.cljs$lang$ctorStr:goog.typeOf(obj));\nreturn (new Error([\x22No protocol method \x22,proto,\x22 defined for type \x22,ty__$1,\x22: \x22,obj].join(\x22\x22)));\n});\ncljs.core.type__GT_str \x3d (function cljs$core$type__GT_str(ty){\nvar temp__5802__auto__ \x3d ty.cljs$lang$ctorStr;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar s \x3d temp__5802__auto__;\nreturn s;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(ty);\n}\n});\ncljs.core.load_file \x3d (function cljs$core$load_file(file){\nif(cljs.core.truth_(COMPILED)){\nreturn null;\n} else {\nreturn goog.nodeGlobalRequire(file);\n}\n});\nif((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((goog.typeOf(Symbol) \x3d\x3d\x3d \x22function\x22)))){\ncljs.core.ITER_SYMBOL \x3d Symbol.iterator;\n} else {\ncljs.core.ITER_SYMBOL \x3d \x22@@iterator\x22;\n}\n/**\n * @enum {string}\n */\ncljs.core.CHAR_MAP \x3d ({\x22]\x22: \x22_RBRACK_\x22, \x22\x27\x22: \x22_SINGLEQUOTE_\x22, \x22\x3d\x22: \x22_EQ_\x22, \x22\\\x22\x22: \x22_DOUBLEQUOTE_\x22, \x22!\x22: \x22_BANG_\x22, \x22*\x22: \x22_STAR_\x22, \x22%\x22: \x22_PERCENT_\x22, \x22|\x22: \x22_BAR_\x22, \x22~\x22: \x22_TILDE_\x22, \x22/\x22: \x22_SLASH_\x22, \x22\\\\\x22: \x22_BSLASH_\x22, \x22-\x22: \x22_\x22, \x22?\x22: \x22_QMARK_\x22, \x22\x26\x22: \x22_AMPERSAND_\x22, \x22:\x22: \x22_COLON_\x22, \x22\x3c\x22: \x22_LT_\x22, \x22{\x22: \x22_LBRACE_\x22, \x22}\x22: \x22_RBRACE_\x22, \x22[\x22: \x22_LBRACK_\x22, \x22#\x22: \x22_SHARP_\x22, \x22^\x22: \x22_CARET_\x22, \x22+\x22: \x22_PLUS_\x22, \x22@\x22: \x22_CIRCA_\x22, \x22\x3e\x22: \x22_GT_\x22});\n/**\n * @enum {string}\n */\ncljs.core.DEMUNGE_MAP \x3d ({\x22_RBRACE_\x22: \x22}\x22, \x22_COLON_\x22: \x22:\x22, \x22_BANG_\x22: \x22!\x22, \x22_QMARK_\x22: \x22?\x22, \x22_BSLASH_\x22: \x22\\\\\\\\\x22, \x22_SLASH_\x22: \x22/\x22, \x22_PERCENT_\x22: \x22%\x22, \x22_PLUS_\x22: \x22+\x22, \x22_SHARP_\x22: \x22#\x22, \x22_LBRACE_\x22: \x22{\x22, \x22_BAR_\x22: \x22|\x22, \x22_LBRACK_\x22: \x22[\x22, \x22_EQ_\x22: \x22\x3d\x22, \x22_\x22: \x22-\x22, \x22_TILDE_\x22: \x22~\x22, \x22_RBRACK_\x22: \x22]\x22, \x22_GT_\x22: \x22\x3e\x22, \x22_SINGLEQUOTE_\x22: \x22\x27\x22, \x22_CIRCA_\x22: \x22@\x22, \x22_AMPERSAND_\x22: \x22\x26\x22, \x22_DOUBLEQUOTE_\x22: \x22\\\\\\\x22\x22, \x22_CARET_\x22: \x22^\x22, \x22_LT_\x22: \x22\x3c\x22, \x22_STAR_\x22: \x22*\x22});\ncljs.core.DEMUNGE_PATTERN \x3d null;\n/**\n * Returns highest resolution time offered by host in milliseconds.\n */\ncljs.core.system_time \x3d (function cljs$core$system_time(){\nif((((typeof performance !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((performance.now \x3d\x3d null)))))){\nreturn performance.now();\n} else {\nif((((typeof process !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((process.hrtime \x3d\x3d null)))))){\nvar t \x3d process.hrtime();\nreturn ((((t[(0)]) * 1.0E9) + (t[(1)])) / 1000000.0);\n} else {\nreturn (new Date()).getTime();\n\n}\n}\n});\n/**\n * Construct a JavaScript array of the specified dimensions. Accepts ignored\n * type argument for compatibility with Clojure. Note that there is no efficient\n * way to allocate multi-dimensional arrays in JavaScript; as such, this function\n * will run in polynomial time when called with 3 or more arguments.\n */\ncljs.core.make_array \x3d (function cljs$core$make_array(var_args){\nvar G__10682 \x3d arguments.length;\nswitch (G__10682) {\ncase 1:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12211 \x3d arguments.length;\nvar i__5770__auto___12212 \x3d (0);\nwhile(true){\nif((i__5770__auto___12212 \x3c len__5769__auto___12211)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12212]));\n\nvar G__12213 \x3d (i__5770__auto___12212 + (1));\ni__5770__auto___12212 \x3d G__12213;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,size,more_sizes){\nvar dims \x3d more_sizes;\nvar dimarray \x3d (new Array(size));\nvar n__5636__auto___12214 \x3d dimarray.length;\nvar i_12215 \x3d (0);\nwhile(true){\nif((i_12215 \x3c n__5636__auto___12214)){\n(dimarray[i_12215] \x3d (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.make_array,null,dims) : cljs.core.apply.call(null,cljs.core.make_array,null,dims)));\n\nvar G__12216 \x3d (i_12215 + (1));\ni_12215 \x3d G__12216;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn dimarray;\n}));\n\n/** @this {Function} */\n(cljs.core.make_array.cljs$lang$applyTo \x3d (function (seq10679){\nvar G__10680 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10679) : cljs.core.first.call(null,seq10679));\nvar seq10679__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10679) : cljs.core.next.call(null,seq10679));\nvar G__10681 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10679__$1) : cljs.core.first.call(null,seq10679__$1));\nvar seq10679__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10679__$1) : cljs.core.next.call(null,seq10679__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10680,G__10681,seq10679__$2);\n}));\n\n(cljs.core.make_array.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a javascript array, cloned from the passed in array\n */\ncljs.core.aclone \x3d (function cljs$core$aclone(arr){\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(len));\nvar n__5636__auto___12222 \x3d len;\nvar i_12223 \x3d (0);\nwhile(true){\nif((i_12223 \x3c n__5636__auto___12222)){\n(new_arr[i_12223] \x3d (arr[i_12223]));\n\nvar G__12224 \x3d (i_12223 + (1));\ni_12223 \x3d G__12224;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_arr;\n});\n/**\n * Creates a new javascript array.\n * @param {...*} var_args\n */\ncljs.core.array \x3d (function cljs$core$array(var_args){\nvar a \x3d (new Array(arguments.length));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c a.length)){\n(a[i] \x3d (arguments[i]));\n\nvar G__12225 \x3d (i + (1));\ni \x3d G__12225;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n});\ncljs.core.maybe_warn \x3d (function cljs$core$maybe_warn(e){\nif(cljs.core.truth_(cljs.core._STAR_print_err_fn_STAR_)){\nreturn cljs.core._STAR_print_err_fn_STAR_.call(null,e);\n} else {\nreturn null;\n}\n});\ncljs.core.checked_aget \x3d (function cljs$core$checked_aget(var_args){\nvar G__10687 \x3d arguments.length;\nswitch (G__10687) {\ncase 2:\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12227 \x3d arguments.length;\nvar i__5770__auto___12228 \x3d (0);\nwhile(true){\nif((i__5770__auto___12228 \x3c len__5769__auto___12227)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12228]));\n\nvar G__12229 \x3d (i__5770__auto___12228 + (1));\ni__5770__auto___12228 \x3d G__12229;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\ntry{if(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e10688){var e_12230 \x3d e10688;\ncljs.core.maybe_warn(e_12230);\n}\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__10689 \x3d cljs.core.checked_aget;\nvar G__10690 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__10691 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__10689,G__10690,G__10691) : cljs.core.apply.call(null,G__10689,G__10690,G__10691));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget.cljs$lang$applyTo \x3d (function (seq10684){\nvar G__10685 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10684) : cljs.core.first.call(null,seq10684));\nvar seq10684__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10684) : cljs.core.next.call(null,seq10684));\nvar G__10686 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10684__$1) : cljs.core.first.call(null,seq10684__$1));\nvar seq10684__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10684__$1) : cljs.core.next.call(null,seq10684__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10685,G__10686,seq10684__$2);\n}));\n\n(cljs.core.checked_aget.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset \x3d (function cljs$core$checked_aset(var_args){\nvar G__10697 \x3d arguments.length;\nswitch (G__10697) {\ncase 3:\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12233 \x3d arguments.length;\nvar i__5770__auto___12234 \x3d (0);\nwhile(true){\nif((i__5770__auto___12234 \x3c len__5769__auto___12233)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12234]));\n\nvar G__12235 \x3d (i__5770__auto___12234 + (1));\ni__5770__auto___12234 \x3d G__12235;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\ntry{if(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e10698){var e_12238 \x3d e10698;\ncljs.core.maybe_warn(e_12238);\n}\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__10699 \x3d cljs.core.checked_aset;\nvar G__10700 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__10701 \x3d idx2;\nvar G__10702 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__10699,G__10700,G__10701,G__10702) : cljs.core.apply.call(null,G__10699,G__10700,G__10701,G__10702));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset.cljs$lang$applyTo \x3d (function (seq10693){\nvar G__10694 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10693) : cljs.core.first.call(null,seq10693));\nvar seq10693__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10693) : cljs.core.next.call(null,seq10693));\nvar G__10695 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10693__$1) : cljs.core.first.call(null,seq10693__$1));\nvar seq10693__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10693__$1) : cljs.core.next.call(null,seq10693__$1));\nvar G__10696 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10693__$2) : cljs.core.first.call(null,seq10693__$2));\nvar seq10693__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10693__$2) : cljs.core.next.call(null,seq10693__$2));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10694,G__10695,G__10696,seq10693__$3);\n}));\n\n(cljs.core.checked_aset.cljs$lang$maxFixedArity \x3d (3));\n\ncljs.core.checked_aget_SINGLEQUOTE_ \x3d (function cljs$core$checked_aget_SINGLEQUOTE_(var_args){\nvar G__10707 \x3d arguments.length;\nswitch (G__10707) {\ncase 2:\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12246 \x3d arguments.length;\nvar i__5770__auto___12247 \x3d (0);\nwhile(true){\nif((i__5770__auto___12247 \x3c len__5769__auto___12246)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12247]));\n\nvar G__12248 \x3d (i__5770__auto___12247 + (1));\ni__5770__auto___12247 \x3d G__12248;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__10708 \x3d cljs.core.checked_aget_SINGLEQUOTE_;\nvar G__10709 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__10710 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__10708,G__10709,G__10710) : cljs.core.apply.call(null,G__10708,G__10709,G__10710));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq10704){\nvar G__10705 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10704) : cljs.core.first.call(null,seq10704));\nvar seq10704__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10704) : cljs.core.next.call(null,seq10704));\nvar G__10706 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10704__$1) : cljs.core.first.call(null,seq10704__$1));\nvar seq10704__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10704__$1) : cljs.core.next.call(null,seq10704__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10705,G__10706,seq10704__$2);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset_SINGLEQUOTE_ \x3d (function cljs$core$checked_aset_SINGLEQUOTE_(var_args){\nvar G__10716 \x3d arguments.length;\nswitch (G__10716) {\ncase 3:\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12254 \x3d arguments.length;\nvar i__5770__auto___12255 \x3d (0);\nwhile(true){\nif((i__5770__auto___12255 \x3c len__5769__auto___12254)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12255]));\n\nvar G__12256 \x3d (i__5770__auto___12255 + (1));\ni__5770__auto___12255 \x3d G__12256;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__10717 \x3d cljs.core.checked_aset_SINGLEQUOTE_;\nvar G__10718 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__10719 \x3d idx2;\nvar G__10720 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__10717,G__10718,G__10719,G__10720) : cljs.core.apply.call(null,G__10717,G__10718,G__10719,G__10720));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq10712){\nvar G__10713 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10712) : cljs.core.first.call(null,seq10712));\nvar seq10712__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10712) : cljs.core.next.call(null,seq10712));\nvar G__10714 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10712__$1) : cljs.core.first.call(null,seq10712__$1));\nvar seq10712__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10712__$1) : cljs.core.next.call(null,seq10712__$1));\nvar G__10715 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10712__$2) : cljs.core.first.call(null,seq10712__$2));\nvar seq10712__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10712__$2) : cljs.core.next.call(null,seq10712__$2));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10713,G__10714,G__10715,seq10712__$3);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the value at the index/indices. Works on JavaScript arrays.\n */\ncljs.core.aget \x3d (function cljs$core$aget(var_args){\nvar G__10725 \x3d arguments.length;\nswitch (G__10725) {\ncase 2:\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12264 \x3d arguments.length;\nvar i__5770__auto___12265 \x3d (0);\nwhile(true){\nif((i__5770__auto___12265 \x3c len__5769__auto___12264)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12265]));\n\nvar G__12266 \x3d (i__5770__auto___12265 + (1));\ni__5770__auto___12265 \x3d G__12266;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nreturn (array[idx]);\n}));\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__10726 \x3d cljs.core.aget;\nvar G__10727 \x3d (array[idx]);\nvar G__10728 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__10726,G__10727,G__10728) : cljs.core.apply.call(null,G__10726,G__10727,G__10728));\n}));\n\n/** @this {Function} */\n(cljs.core.aget.cljs$lang$applyTo \x3d (function (seq10722){\nvar G__10723 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10722) : cljs.core.first.call(null,seq10722));\nvar seq10722__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10722) : cljs.core.next.call(null,seq10722));\nvar G__10724 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10722__$1) : cljs.core.first.call(null,seq10722__$1));\nvar seq10722__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10722__$1) : cljs.core.next.call(null,seq10722__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10723,G__10724,seq10722__$2);\n}));\n\n(cljs.core.aget.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Sets the value at the index/indices. Works on JavaScript arrays.\n * Returns val.\n */\ncljs.core.aset \x3d (function cljs$core$aset(var_args){\nvar G__10734 \x3d arguments.length;\nswitch (G__10734) {\ncase 3:\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12268 \x3d arguments.length;\nvar i__5770__auto___12269 \x3d (0);\nwhile(true){\nif((i__5770__auto___12269 \x3c len__5769__auto___12268)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12269]));\n\nvar G__12270 \x3d (i__5770__auto___12269 + (1));\ni__5770__auto___12269 \x3d G__12270;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__10735 \x3d cljs.core.aset;\nvar G__10736 \x3d (array[idx]);\nvar G__10737 \x3d idx2;\nvar G__10738 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__10735,G__10736,G__10737,G__10738) : cljs.core.apply.call(null,G__10735,G__10736,G__10737,G__10738));\n}));\n\n/** @this {Function} */\n(cljs.core.aset.cljs$lang$applyTo \x3d (function (seq10730){\nvar G__10731 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10730) : cljs.core.first.call(null,seq10730));\nvar seq10730__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10730) : cljs.core.next.call(null,seq10730));\nvar G__10732 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10730__$1) : cljs.core.first.call(null,seq10730__$1));\nvar seq10730__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10730__$1) : cljs.core.next.call(null,seq10730__$1));\nvar G__10733 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10730__$2) : cljs.core.first.call(null,seq10730__$2));\nvar seq10730__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10730__$2) : cljs.core.next.call(null,seq10730__$2));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10731,G__10732,G__10733,seq10730__$3);\n}));\n\n(cljs.core.aset.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the length of the array. Works on arrays of all types.\n */\ncljs.core.alength \x3d (function cljs$core$alength(array){\nreturn array.length;\n});\n/**\n * Returns an array with components set to the values in aseq. Optional type\n * argument accepted for compatibility with Clojure.\n */\ncljs.core.into_array \x3d (function cljs$core$into_array(var_args){\nvar G__10740 \x3d arguments.length;\nswitch (G__10740) {\ncase 1:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (aseq){\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(null,aseq);\n}));\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,aseq){\nvar G__10741 \x3d (function (a,x){\na.push(x);\n\nreturn a;\n});\nvar G__10742 \x3d [];\nvar G__10743 \x3d aseq;\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__10741,G__10742,G__10743) : cljs.core.reduce.call(null,G__10741,G__10742,G__10743));\n}));\n\n(cljs.core.into_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Invoke JavaScript object method via string. Needed when the\n * string is not a valid unquoted property name.\n */\ncljs.core.js_invoke \x3d (function cljs$core$js_invoke(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___12273 \x3d arguments.length;\nvar i__5770__auto___12274 \x3d (0);\nwhile(true){\nif((i__5770__auto___12274 \x3c len__5769__auto___12273)){\nargs__5775__auto__.push((arguments[i__5770__auto___12274]));\n\nvar G__12275 \x3d (i__5770__auto___12274 + (1));\ni__5770__auto___12274 \x3d G__12275;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,s,args){\nreturn (obj[s]).apply(obj,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args));\n}));\n\n(cljs.core.js_invoke.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.js_invoke.cljs$lang$applyTo \x3d (function (seq10744){\nvar G__10745 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10744) : cljs.core.first.call(null,seq10744));\nvar seq10744__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10744) : cljs.core.next.call(null,seq10744));\nvar G__10746 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq10744__$1) : cljs.core.first.call(null,seq10744__$1));\nvar seq10744__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq10744__$1) : cljs.core.next.call(null,seq10744__$1));\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10745,G__10746,seq10744__$2);\n}));\n\n/**\n * Returns true if x is an instance of Symbol\n */\ncljs.core.js_symbol_QMARK_ \x3d (function cljs$core$js_symbol_QMARK_(x){\nreturn (((goog.typeOf(x) \x3d\x3d\x3d \x22symbol\x22)) || ((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((x instanceof Symbol)))));\n});\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.Fn \x3d function(){};\n\n\n/**\n * Protocol for adding the ability to invoke an object as a function.\n * For example, a vector can also be used to look up a value:\n * ([1 2 3 4] 1) \x3d\x3e 2\n * @interface\n */\ncljs.core.IFn \x3d function(){};\n\nvar cljs$core$IFn$_invoke$dyn_12276 \x3d (function() {\nvar G__12277 \x3d null;\nvar G__12277__1 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__2 \x3d (function (this$,a){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5394__auto__.call(null,this$,a));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5392__auto__.call(null,this$,a));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__3 \x3d (function (this$,a,b){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5394__auto__.call(null,this$,a,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5392__auto__.call(null,this$,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__4 \x3d (function (this$,a,b,c){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5394__auto__.call(null,this$,a,b,c));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5392__auto__.call(null,this$,a,b,c));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__5 \x3d (function (this$,a,b,c,d){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5394__auto__.call(null,this$,a,b,c,d));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5392__auto__.call(null,this$,a,b,c,d));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__6 \x3d (function (this$,a,b,c,d,e){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5394__auto__.call(null,this$,a,b,c,d,e));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5392__auto__.call(null,this$,a,b,c,d,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__7 \x3d (function (this$,a,b,c,d,e,f){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5394__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5392__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__8 \x3d (function (this$,a,b,c,d,e,f,g){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__12277__22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$22 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : m__5394__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$22 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : m__5392__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nG__12277 \x3d function(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nswitch(arguments.length){\ncase 1:\nreturn G__12277__1.call(this,this$);\ncase 2:\nreturn G__12277__2.call(this,this$,a);\ncase 3:\nreturn G__12277__3.call(this,this$,a,b);\ncase 4:\nreturn G__12277__4.call(this,this$,a,b,c);\ncase 5:\nreturn G__12277__5.call(this,this$,a,b,c,d);\ncase 6:\nreturn G__12277__6.call(this,this$,a,b,c,d,e);\ncase 7:\nreturn G__12277__7.call(this,this$,a,b,c,d,e,f);\ncase 8:\nreturn G__12277__8.call(this,this$,a,b,c,d,e,f,g);\ncase 9:\nreturn G__12277__9.call(this,this$,a,b,c,d,e,f,g,h);\ncase 10:\nreturn G__12277__10.call(this,this$,a,b,c,d,e,f,g,h,i);\ncase 11:\nreturn G__12277__11.call(this,this$,a,b,c,d,e,f,g,h,i,j);\ncase 12:\nreturn G__12277__12.call(this,this$,a,b,c,d,e,f,g,h,i,j,k);\ncase 13:\nreturn G__12277__13.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l);\ncase 14:\nreturn G__12277__14.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\ncase 15:\nreturn G__12277__15.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\ncase 16:\nreturn G__12277__16.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\ncase 17:\nreturn G__12277__17.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\ncase 18:\nreturn G__12277__18.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\ncase 19:\nreturn G__12277__19.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\ncase 20:\nreturn G__12277__20.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\ncase 21:\nreturn G__12277__21.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\ncase 22:\nreturn G__12277__22.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12277.cljs$core$IFn$_invoke$arity$1 \x3d G__12277__1;\nG__12277.cljs$core$IFn$_invoke$arity$2 \x3d G__12277__2;\nG__12277.cljs$core$IFn$_invoke$arity$3 \x3d G__12277__3;\nG__12277.cljs$core$IFn$_invoke$arity$4 \x3d G__12277__4;\nG__12277.cljs$core$IFn$_invoke$arity$5 \x3d G__12277__5;\nG__12277.cljs$core$IFn$_invoke$arity$6 \x3d G__12277__6;\nG__12277.cljs$core$IFn$_invoke$arity$7 \x3d G__12277__7;\nG__12277.cljs$core$IFn$_invoke$arity$8 \x3d G__12277__8;\nG__12277.cljs$core$IFn$_invoke$arity$9 \x3d G__12277__9;\nG__12277.cljs$core$IFn$_invoke$arity$10 \x3d G__12277__10;\nG__12277.cljs$core$IFn$_invoke$arity$11 \x3d G__12277__11;\nG__12277.cljs$core$IFn$_invoke$arity$12 \x3d G__12277__12;\nG__12277.cljs$core$IFn$_invoke$arity$13 \x3d G__12277__13;\nG__12277.cljs$core$IFn$_invoke$arity$14 \x3d G__12277__14;\nG__12277.cljs$core$IFn$_invoke$arity$15 \x3d G__12277__15;\nG__12277.cljs$core$IFn$_invoke$arity$16 \x3d G__12277__16;\nG__12277.cljs$core$IFn$_invoke$arity$17 \x3d G__12277__17;\nG__12277.cljs$core$IFn$_invoke$arity$18 \x3d G__12277__18;\nG__12277.cljs$core$IFn$_invoke$arity$19 \x3d G__12277__19;\nG__12277.cljs$core$IFn$_invoke$arity$20 \x3d G__12277__20;\nG__12277.cljs$core$IFn$_invoke$arity$21 \x3d G__12277__21;\nG__12277.cljs$core$IFn$_invoke$arity$22 \x3d G__12277__22;\nreturn G__12277;\n})()\n;\ncljs.core._invoke \x3d (function cljs$core$_invoke(var_args){\nvar G__10748 \x3d arguments.length;\nswitch (G__10748) {\ncase 1:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase 8:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$8((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase 9:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$9((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase 10:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$10((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase 11:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$11((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase 12:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$12((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase 13:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$13((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase 14:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$14((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase 15:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$15((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase 16:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$16((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase 17:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$17((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase 18:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$18((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase 19:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$19((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase 20:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$20((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase 21:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$21((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase 22:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$22((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$1 \x3d (function (this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$1(this$);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$2 \x3d (function (this$,a){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$2(this$,a);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$3 \x3d (function (this$,a,b){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$3(this$,a,b);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$4 \x3d (function (this$,a,b,c){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$4 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$4(this$,a,b,c);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$5 \x3d (function (this$,a,b,c,d){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$5 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$6 \x3d (function (this$,a,b,c,d,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$6 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$7 \x3d (function (this$,a,b,c,d,e,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$7 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$8 \x3d (function (this$,a,b,c,d,e,f,g){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$8 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$9 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$10 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$11 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$12 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$13 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$14 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$15 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$16 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$17 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$18 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$19 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$20 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$21 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$22 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_12276(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\n}));\n\n(cljs.core._invoke.cljs$lang$maxFixedArity \x3d 22);\n\n\n\n/**\n * Protocol for cloning a value.\n * @interface\n */\ncljs.core.ICloneable \x3d function(){};\n\nvar cljs$core$ICloneable$_clone$dyn_12341 \x3d (function (value){\nvar x__5393__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5394__auto__ \x3d (cljs.core._clone[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5394__auto__.call(null,value));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._clone[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5392__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22ICloneable.-clone\x22,value);\n}\n}\n});\n/**\n * Creates a clone of value.\n */\ncljs.core._clone \x3d (function cljs$core$_clone(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.cljs$core$ICloneable$_clone$arity$1 \x3d\x3d null)))))){\nreturn value.cljs$core$ICloneable$_clone$arity$1(value);\n} else {\nreturn cljs$core$ICloneable$_clone$dyn_12341(value);\n}\n});\n\n\n/**\n * Protocol for adding the ability to count a collection in constant time.\n * @interface\n */\ncljs.core.ICounted \x3d function(){};\n\nvar cljs$core$ICounted$_count$dyn_12342 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._count[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._count[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ICounted.-count\x22,coll);\n}\n}\n});\n/**\n * Calculates the count of coll in constant time. Used by cljs.core/count.\n */\ncljs.core._count \x3d (function cljs$core$_count(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICounted$_count$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICounted$_count$arity$1(coll);\n} else {\nreturn cljs$core$ICounted$_count$dyn_12342(coll);\n}\n});\n\n\n/**\n * Protocol for creating an empty collection.\n * @interface\n */\ncljs.core.IEmptyableCollection \x3d function(){};\n\nvar cljs$core$IEmptyableCollection$_empty$dyn_12343 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._empty[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._empty[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEmptyableCollection.-empty\x22,coll);\n}\n}\n});\n/**\n * Returns an empty collection of the same category as coll. Used\n * by cljs.core/empty.\n */\ncljs.core._empty \x3d (function cljs$core$_empty(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(coll);\n} else {\nreturn cljs$core$IEmptyableCollection$_empty$dyn_12343(coll);\n}\n});\n\n\n/**\n * Protocol for adding to a collection.\n * @interface\n */\ncljs.core.ICollection \x3d function(){};\n\nvar cljs$core$ICollection$_conj$dyn_12344 \x3d (function (coll,o){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._conj[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5394__auto__.call(null,coll,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._conj[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5392__auto__.call(null,coll,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ICollection.-conj\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with o added to it. The new item\n * should be added to the most efficient place, e.g.\n * (conj [1 2 3 4] 5) \x3d\x3e [1 2 3 4 5]\n * (conj \x27(2 3 4 5) 1) \x3d\x3e \x27(1 2 3 4 5)\n */\ncljs.core._conj \x3d (function cljs$core$_conj(coll,o){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICollection$_conj$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICollection$_conj$arity$2(coll,o);\n} else {\nreturn cljs$core$ICollection$_conj$dyn_12344(coll,o);\n}\n});\n\n\n/**\n * Protocol for collections to provide indexed-based access to their items.\n * @interface\n */\ncljs.core.IIndexed \x3d function(){};\n\nvar cljs$core$IIndexed$_nth$dyn_12345 \x3d (function() {\nvar G__12346 \x3d null;\nvar G__12346__2 \x3d (function (coll,n){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5394__auto__.call(null,coll,n));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5392__auto__.call(null,coll,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nvar G__12346__3 \x3d (function (coll,n,not_found){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5394__auto__.call(null,coll,n,not_found));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5392__auto__.call(null,coll,n,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nG__12346 \x3d function(coll,n,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__12346__2.call(this,coll,n);\ncase 3:\nreturn G__12346__3.call(this,coll,n,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12346.cljs$core$IFn$_invoke$arity$2 \x3d G__12346__2;\nG__12346.cljs$core$IFn$_invoke$arity$3 \x3d G__12346__3;\nreturn G__12346;\n})()\n;\n/**\n * Returns the value at the index n in the collection coll.\n * Returns not-found if index n is out of bounds and not-found is supplied.\n */\ncljs.core._nth \x3d (function cljs$core$_nth(var_args){\nvar G__10750 \x3d arguments.length;\nswitch (G__10750) {\ncase 2:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(coll,n);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_12345(coll,n);\n}\n}));\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(coll,n,not_found);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_12345(coll,n,not_found);\n}\n}));\n\n(cljs.core._nth.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Marker protocol indicating an array sequence.\n * @interface\n */\ncljs.core.ASeq \x3d function(){};\n\n\n/**\n * Protocol for collections to provide access to their items as sequences.\n * @interface\n */\ncljs.core.ISeq \x3d function(){};\n\nvar cljs$core$ISeq$_first$dyn_12355 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._first[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._first[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first item in the collection coll. Used by cljs.core/first.\n */\ncljs.core._first \x3d (function cljs$core$_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_first$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_first$dyn_12355(coll);\n}\n});\n\nvar cljs$core$ISeq$_rest$dyn_12357 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._rest[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._rest[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-rest\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. It should\n * always return a seq, e.g.\n * (rest []) \x3d\x3e ()\n * (rest nil) \x3d\x3e ()\n */\ncljs.core._rest \x3d (function cljs$core$_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_rest$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_rest$dyn_12357(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the next items of a collection.\n * @interface\n */\ncljs.core.INext \x3d function(){};\n\nvar cljs$core$INext$_next$dyn_12359 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._next[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._next[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22INext.-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. In contrast to\n * rest, it should return nil if there are no more items, e.g.\n * (next []) \x3d\x3e nil\n * (next nil) \x3d\x3e nil\n */\ncljs.core._next \x3d (function cljs$core$_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$INext$_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$INext$_next$arity$1(coll);\n} else {\nreturn cljs$core$INext$_next$dyn_12359(coll);\n}\n});\n\n\n/**\n * Protocol for looking up a value in a data structure.\n * @interface\n */\ncljs.core.ILookup \x3d function(){};\n\nvar cljs$core$ILookup$_lookup$dyn_12361 \x3d (function() {\nvar G__12363 \x3d null;\nvar G__12363__2 \x3d (function (o,k){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5394__auto__.call(null,o,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5392__auto__.call(null,o,k));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nvar G__12363__3 \x3d (function (o,k,not_found){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5394__auto__.call(null,o,k,not_found));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5392__auto__.call(null,o,k,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nG__12363 \x3d function(o,k,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__12363__2.call(this,o,k);\ncase 3:\nreturn G__12363__3.call(this,o,k,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12363.cljs$core$IFn$_invoke$arity$2 \x3d G__12363__2;\nG__12363.cljs$core$IFn$_invoke$arity$3 \x3d G__12363__3;\nreturn G__12363;\n})()\n;\n/**\n * Use k to look up a value in o. If not-found is supplied and k is not\n * a valid value that can be used for look up, not-found is returned.\n */\ncljs.core._lookup \x3d (function cljs$core$_lookup(var_args){\nvar G__10752 \x3d arguments.length;\nswitch (G__10752) {\ncase 2:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$2(o,k);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_12361(o,k);\n}\n}));\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$3(o,k,not_found);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_12361(o,k,not_found);\n}\n}));\n\n(cljs.core._lookup.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for adding associativity to collections.\n * @interface\n */\ncljs.core.IAssociative \x3d function(){};\n\nvar cljs$core$IAssociative$_contains_key_QMARK_$dyn_12368 \x3d (function (coll,k){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._contains_key_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5394__auto__.call(null,coll,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._contains_key_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5392__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-contains-key?\x22,coll);\n}\n}\n});\n/**\n * Returns true if k is a key in coll.\n */\ncljs.core._contains_key_QMARK_ \x3d (function cljs$core$_contains_key_QMARK_(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(coll,k);\n} else {\nreturn cljs$core$IAssociative$_contains_key_QMARK_$dyn_12368(coll,k);\n}\n});\n\nvar cljs$core$IAssociative$_assoc$dyn_12369 \x3d (function (coll,k,v){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._assoc[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5394__auto__.call(null,coll,k,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5392__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-assoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with a mapping from key k to\n * value v added to it.\n */\ncljs.core._assoc \x3d (function cljs$core$_assoc(coll,k,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_assoc$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(coll,k,v);\n} else {\nreturn cljs$core$IAssociative$_assoc$dyn_12369(coll,k,v);\n}\n});\n\n\n/**\n * Protocol for implementing entry finding in collections.\n * @interface\n */\ncljs.core.IFind \x3d function(){};\n\nvar cljs$core$IFind$_find$dyn_12370 \x3d (function (coll,k){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._find[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5394__auto__.call(null,coll,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._find[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5392__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFind.-find\x22,coll);\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core._find \x3d (function cljs$core$_find(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IFind$_find$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IFind$_find$arity$2(coll,k);\n} else {\nreturn cljs$core$IFind$_find$dyn_12370(coll,k);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to collections.\n * @interface\n */\ncljs.core.IMap \x3d function(){};\n\nvar cljs$core$IMap$_dissoc$dyn_12373 \x3d (function (coll,k){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._dissoc[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5394__auto__.call(null,coll,k));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._dissoc[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5392__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IMap.-dissoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the mapping for key k.\n */\ncljs.core._dissoc \x3d (function cljs$core$_dissoc(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMap$_dissoc$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMap$_dissoc$arity$2(coll,k);\n} else {\nreturn cljs$core$IMap$_dissoc$dyn_12373(coll,k);\n}\n});\n\n\n/**\n * Protocol for examining a map entry.\n * @interface\n */\ncljs.core.IMapEntry \x3d function(){};\n\nvar cljs$core$IMapEntry$_key$dyn_12381 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._key[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._key[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core._key \x3d (function cljs$core$_key(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_key$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_key$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_key$dyn_12381(coll);\n}\n});\n\nvar cljs$core$IMapEntry$_val$dyn_12382 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._val[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._val[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-val\x22,coll);\n}\n}\n});\n/**\n * Returns the value of the map entry.\n */\ncljs.core._val \x3d (function cljs$core$_val(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_val$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_val$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_val$dyn_12382(coll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a collection.\n * @interface\n */\ncljs.core.ISet \x3d function(){};\n\nvar cljs$core$ISet$_disjoin$dyn_12383 \x3d (function (coll,v){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._disjoin[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5394__auto__.call(null,coll,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._disjoin[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5392__auto__.call(null,coll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ISet.-disjoin\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll that does not contain v.\n */\ncljs.core._disjoin \x3d (function cljs$core$_disjoin(coll,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISet$_disjoin$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISet$_disjoin$arity$2(coll,v);\n} else {\nreturn cljs$core$ISet$_disjoin$dyn_12383(coll,v);\n}\n});\n\n\n/**\n * Protocol for collections to provide access to their items as stacks. The top\n * of the stack should be accessed in the most efficient way for the different\n * data structures.\n * @interface\n */\ncljs.core.IStack \x3d function(){};\n\nvar cljs$core$IStack$_peek$dyn_12384 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._peek[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._peek[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-peek\x22,coll);\n}\n}\n});\n/**\n * Returns the item from the top of the stack. Is used by cljs.core/peek.\n */\ncljs.core._peek \x3d (function cljs$core$_peek(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_peek$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_peek$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_peek$dyn_12384(coll);\n}\n});\n\nvar cljs$core$IStack$_pop$dyn_12385 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._pop[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._pop[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-pop\x22,coll);\n}\n}\n});\n/**\n * Returns a new stack without the item on top of the stack. Is used\n * by cljs.core/pop.\n */\ncljs.core._pop \x3d (function cljs$core$_pop(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_pop$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_pop$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_pop$dyn_12385(coll);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to collections.\n * @interface\n */\ncljs.core.IVector \x3d function(){};\n\nvar cljs$core$IVector$_assoc_n$dyn_12386 \x3d (function (coll,n,val){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._assoc_n[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5394__auto__.call(null,coll,n,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc_n[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5392__auto__.call(null,coll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22IVector.-assoc-n\x22,coll);\n}\n}\n});\n/**\n * Returns a new vector with value val added at position n.\n */\ncljs.core._assoc_n \x3d (function cljs$core$_assoc_n(coll,n,val){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IVector$_assoc_n$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IVector$_assoc_n$arity$3(coll,n,val);\n} else {\nreturn cljs$core$IVector$_assoc_n$dyn_12386(coll,n,val);\n}\n});\n\n\n/**\n * Protocol for adding dereference functionality to a reference.\n * @interface\n */\ncljs.core.IDeref \x3d function(){};\n\nvar cljs$core$IDeref$_deref$dyn_12387 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._deref[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._deref[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IDeref.-deref\x22,o);\n}\n}\n});\n/**\n * Returns the value of the reference o.\n */\ncljs.core._deref \x3d (function cljs$core$_deref(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDeref$_deref$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IDeref$_deref$arity$1(o);\n} else {\nreturn cljs$core$IDeref$_deref$dyn_12387(o);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.IDerefWithTimeout \x3d function(){};\n\nvar cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_12394 \x3d (function (o,msec,timeout_val){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._deref_with_timeout[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5394__auto__.call(null,o,msec,timeout_val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._deref_with_timeout[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5392__auto__.call(null,o,msec,timeout_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IDerefWithTimeout.-deref-with-timeout\x22,o);\n}\n}\n});\ncljs.core._deref_with_timeout \x3d (function cljs$core$_deref_with_timeout(o,msec,timeout_val){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3(o,msec,timeout_val);\n} else {\nreturn cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_12394(o,msec,timeout_val);\n}\n});\n\n\n/**\n * Protocol for accessing the metadata of an object.\n * @interface\n */\ncljs.core.IMeta \x3d function(){};\n\nvar cljs$core$IMeta$_meta$dyn_12399 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._meta[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._meta[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IMeta.-meta\x22,o);\n}\n}\n});\n/**\n * Returns the metadata of object o.\n */\ncljs.core._meta \x3d (function cljs$core$_meta(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IMeta$_meta$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IMeta$_meta$arity$1(o);\n} else {\nreturn cljs$core$IMeta$_meta$dyn_12399(o);\n}\n});\n\n\n/**\n * Protocol for adding metadata to an object.\n * @interface\n */\ncljs.core.IWithMeta \x3d function(){};\n\nvar cljs$core$IWithMeta$_with_meta$dyn_12402 \x3d (function (o,meta){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._with_meta[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5394__auto__.call(null,o,meta));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._with_meta[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5392__auto__.call(null,o,meta));\n} else {\nthrow cljs.core.missing_protocol(\x22IWithMeta.-with-meta\x22,o);\n}\n}\n});\n/**\n * Returns a new object with value of o and metadata meta added to it.\n */\ncljs.core._with_meta \x3d (function cljs$core$_with_meta(o,meta){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IWithMeta$_with_meta$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IWithMeta$_with_meta$arity$2(o,meta);\n} else {\nreturn cljs$core$IWithMeta$_with_meta$dyn_12402(o,meta);\n}\n});\n\n\n/**\n * Protocol for seq types that can reduce themselves.\n * Called by cljs.core/reduce.\n * @interface\n */\ncljs.core.IReduce \x3d function(){};\n\nvar cljs$core$IReduce$_reduce$dyn_12407 \x3d (function() {\nvar G__12408 \x3d null;\nvar G__12408__2 \x3d (function (coll,f){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5394__auto__.call(null,coll,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5392__auto__.call(null,coll,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nvar G__12408__3 \x3d (function (coll,f,start){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5394__auto__.call(null,coll,f,start));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5392__auto__.call(null,coll,f,start));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nG__12408 \x3d function(coll,f,start){\nswitch(arguments.length){\ncase 2:\nreturn G__12408__2.call(this,coll,f);\ncase 3:\nreturn G__12408__3.call(this,coll,f,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12408.cljs$core$IFn$_invoke$arity$2 \x3d G__12408__2;\nG__12408.cljs$core$IFn$_invoke$arity$3 \x3d G__12408__3;\nreturn G__12408;\n})()\n;\n/**\n * f should be a function of 2 arguments. If start is not supplied,\n * returns the result of applying f to the first 2 items in coll, then\n * applying f to that result and the 3rd item, etc.\n */\ncljs.core._reduce \x3d (function cljs$core$_reduce(var_args){\nvar G__10754 \x3d arguments.length;\nswitch (G__10754) {\ncase 2:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(coll,f);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_12407(coll,f);\n}\n}));\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,start){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(coll,f,start);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_12407(coll,f,start);\n}\n}));\n\n(cljs.core._reduce.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for associative types that can reduce themselves\n * via a function of key and val. Called by cljs.core/reduce-kv.\n * @interface\n */\ncljs.core.IKVReduce \x3d function(){};\n\nvar cljs$core$IKVReduce$_kv_reduce$dyn_12412 \x3d (function (coll,f,init){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._kv_reduce[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5394__auto__.call(null,coll,f,init));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._kv_reduce[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5392__auto__.call(null,coll,f,init));\n} else {\nthrow cljs.core.missing_protocol(\x22IKVReduce.-kv-reduce\x22,coll);\n}\n}\n});\n/**\n * Reduces an associative collection and returns the result. f should be\n * a function that takes three arguments.\n */\ncljs.core._kv_reduce \x3d (function cljs$core$_kv_reduce(coll,f,init){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IKVReduce$_kv_reduce$arity$3(coll,f,init);\n} else {\nreturn cljs$core$IKVReduce$_kv_reduce$dyn_12412(coll,f,init);\n}\n});\n\n\n/**\n * Protocol for adding value comparison functionality to a type.\n * @interface\n */\ncljs.core.IEquiv \x3d function(){};\n\nvar cljs$core$IEquiv$_equiv$dyn_12415 \x3d (function (o,other){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._equiv[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5394__auto__.call(null,o,other));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._equiv[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5392__auto__.call(null,o,other));\n} else {\nthrow cljs.core.missing_protocol(\x22IEquiv.-equiv\x22,o);\n}\n}\n});\n/**\n * Returns true if o and other are equal, false otherwise.\n */\ncljs.core._equiv \x3d (function cljs$core$_equiv(o,other){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IEquiv$_equiv$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IEquiv$_equiv$arity$2(o,other);\n} else {\nreturn cljs$core$IEquiv$_equiv$dyn_12415(o,other);\n}\n});\n\n\n/**\n * Protocol for adding hashing functionality to a type.\n * @interface\n */\ncljs.core.IHash \x3d function(){};\n\nvar cljs$core$IHash$_hash$dyn_12420 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._hash[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._hash[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IHash.-hash\x22,o);\n}\n}\n});\n/**\n * Returns the hash code of o.\n */\ncljs.core._hash \x3d (function cljs$core$_hash(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IHash$_hash$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IHash$_hash$arity$1(o);\n} else {\nreturn cljs$core$IHash$_hash$dyn_12420(o);\n}\n});\n\n\n/**\n * Protocol for adding the ability to a type to be transformed into a sequence.\n * @interface\n */\ncljs.core.ISeqable \x3d function(){};\n\nvar cljs$core$ISeqable$_seq$dyn_12421 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._seq[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._seq[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeqable.-seq\x22,o);\n}\n}\n});\n/**\n * Returns a seq of o, or nil if o is empty.\n */\ncljs.core._seq \x3d (function cljs$core$_seq(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISeqable$_seq$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$ISeqable$_seq$arity$1(o);\n} else {\nreturn cljs$core$ISeqable$_seq$dyn_12421(o);\n}\n});\n\n\n/**\n * Marker interface indicating a persistent collection of sequential items\n * @interface\n */\ncljs.core.ISequential \x3d function(){};\n\n\n/**\n * Marker interface indicating a persistent list\n * @interface\n */\ncljs.core.IList \x3d function(){};\n\n\n/**\n * Marker interface indicating a record object\n * @interface\n */\ncljs.core.IRecord \x3d function(){};\n\n\n/**\n * Protocol for reversing a seq.\n * @interface\n */\ncljs.core.IReversible \x3d function(){};\n\nvar cljs$core$IReversible$_rseq$dyn_12422 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._rseq[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._rseq[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IReversible.-rseq\x22,coll);\n}\n}\n});\n/**\n * Returns a seq of the items in coll in reversed order.\n */\ncljs.core._rseq \x3d (function cljs$core$_rseq(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReversible$_rseq$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReversible$_rseq$arity$1(coll);\n} else {\nreturn cljs$core$IReversible$_rseq$dyn_12422(coll);\n}\n});\n\n\n/**\n * Protocol for a collection which can represent their items\n * in a sorted manner. \n * @interface\n */\ncljs.core.ISorted \x3d function(){};\n\nvar cljs$core$ISorted$_sorted_seq$dyn_12423 \x3d (function (coll,ascending_QMARK_){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._sorted_seq[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5394__auto__.call(null,coll,ascending_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._sorted_seq[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5392__auto__.call(null,coll,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n */\ncljs.core._sorted_seq \x3d (function cljs$core$_sorted_seq(coll,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq$arity$2(coll,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq$dyn_12423(coll,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_sorted_seq_from$dyn_12426 \x3d (function (coll,k,ascending_QMARK_){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._sorted_seq_from[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5394__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._sorted_seq_from[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5392__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq-from\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n * If ascending is true, the result should contain all items which are \x3e or \x3e\x3d\n * than k. If ascending is false, the result should contain all items which\n * are \x3c or \x3c\x3d than k, e.g.\n * (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 true) \x3d\x3e (3 4 5)\n * (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 false) \x3d\x3e (3 2 1)\n */\ncljs.core._sorted_seq_from \x3d (function cljs$core$_sorted_seq_from(coll,k,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq_from$arity$3(coll,k,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq_from$dyn_12426(coll,k,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_entry_key$dyn_12431 \x3d (function (coll,entry){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._entry_key[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5394__auto__.call(null,coll,entry));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._entry_key[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5392__auto__.call(null,coll,entry));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-entry-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key for entry.\n */\ncljs.core._entry_key \x3d (function cljs$core$_entry_key(coll,entry){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_entry_key$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_entry_key$arity$2(coll,entry);\n} else {\nreturn cljs$core$ISorted$_entry_key$dyn_12431(coll,entry);\n}\n});\n\nvar cljs$core$ISorted$_comparator$dyn_12434 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._comparator[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._comparator[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-comparator\x22,coll);\n}\n}\n});\n/**\n * Returns the comparator for coll.\n */\ncljs.core._comparator \x3d (function cljs$core$_comparator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_comparator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_comparator$arity$1(coll);\n} else {\nreturn cljs$core$ISorted$_comparator$dyn_12434(coll);\n}\n});\n\n\n/**\n * Protocol for writing. Currently only implemented by StringBufferWriter.\n * @interface\n */\ncljs.core.IWriter \x3d function(){};\n\nvar cljs$core$IWriter$_write$dyn_12450 \x3d (function (writer,s){\nvar x__5393__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5394__auto__ \x3d (cljs.core._write[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5394__auto__.call(null,writer,s));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._write[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5392__auto__.call(null,writer,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-write\x22,writer);\n}\n}\n});\n/**\n * Writes s with writer and returns the result.\n */\ncljs.core._write \x3d (function cljs$core$_write(writer,s){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_write$arity$2 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_write$arity$2(writer,s);\n} else {\nreturn cljs$core$IWriter$_write$dyn_12450(writer,s);\n}\n});\n\nvar cljs$core$IWriter$_flush$dyn_12451 \x3d (function (writer){\nvar x__5393__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5394__auto__ \x3d (cljs.core._flush[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5394__auto__.call(null,writer));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._flush[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5392__auto__.call(null,writer));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-flush\x22,writer);\n}\n}\n});\n/**\n * Flush writer.\n */\ncljs.core._flush \x3d (function cljs$core$_flush(writer){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_flush$arity$1 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_flush$arity$1(writer);\n} else {\nreturn cljs$core$IWriter$_flush$dyn_12451(writer);\n}\n});\n\n\n/**\n * The old IPrintable protocol\x27s implementation consisted of building a giant\n * list of strings to concatenate. This involved lots of concat calls,\n * intermediate vectors, and lazy-seqs, and was very slow in some older JS\n * engines. IPrintWithWriter implements printing via the IWriter protocol, so it\n * be implemented efficiently in terms of e.g. a StringBuffer append.\n * @interface\n */\ncljs.core.IPrintWithWriter \x3d function(){};\n\nvar cljs$core$IPrintWithWriter$_pr_writer$dyn_12452 \x3d (function (o,writer,opts){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._pr_writer[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5394__auto__.call(null,o,writer,opts));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._pr_writer[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5392__auto__.call(null,o,writer,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrintWithWriter.-pr-writer\x22,o);\n}\n}\n});\ncljs.core._pr_writer \x3d (function cljs$core$_pr_writer(o,writer,opts){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IPrintWithWriter$_pr_writer$arity$3(o,writer,opts);\n} else {\nreturn cljs$core$IPrintWithWriter$_pr_writer$dyn_12452(o,writer,opts);\n}\n});\n\n\n/**\n * Protocol for types which can have a deferred realization. Currently only\n * implemented by Delay and LazySeq.\n * @interface\n */\ncljs.core.IPending \x3d function(){};\n\nvar cljs$core$IPending$_realized_QMARK_$dyn_12456 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._realized_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._realized_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IPending.-realized?\x22,x);\n}\n}\n});\n/**\n * Returns true if a value for x has been produced, false otherwise.\n */\ncljs.core._realized_QMARK_ \x3d (function cljs$core$_realized_QMARK_(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IPending$_realized_QMARK_$arity$1(x);\n} else {\nreturn cljs$core$IPending$_realized_QMARK_$dyn_12456(x);\n}\n});\n\n\n/**\n * Protocol for types that can be watched. Currently only implemented by Atom.\n * @interface\n */\ncljs.core.IWatchable \x3d function(){};\n\nvar cljs$core$IWatchable$_notify_watches$dyn_12461 \x3d (function (this$,oldval,newval){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._notify_watches[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5394__auto__.call(null,this$,oldval,newval));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._notify_watches[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5392__auto__.call(null,this$,oldval,newval));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-notify-watches\x22,this$);\n}\n}\n});\n/**\n * Calls all watchers with this, oldval and newval.\n */\ncljs.core._notify_watches \x3d (function cljs$core$_notify_watches(this$,oldval,newval){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_notify_watches$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_notify_watches$arity$3(this$,oldval,newval);\n} else {\nreturn cljs$core$IWatchable$_notify_watches$dyn_12461(this$,oldval,newval);\n}\n});\n\nvar cljs$core$IWatchable$_add_watch$dyn_12463 \x3d (function (this$,key,f){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._add_watch[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5394__auto__.call(null,this$,key,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._add_watch[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5392__auto__.call(null,this$,key,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-add-watch\x22,this$);\n}\n}\n});\n/**\n * Adds a watcher function f to this. Keys must be unique per reference,\n * and can be used to remove the watch with -remove-watch.\n */\ncljs.core._add_watch \x3d (function cljs$core$_add_watch(this$,key,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_add_watch$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_add_watch$arity$3(this$,key,f);\n} else {\nreturn cljs$core$IWatchable$_add_watch$dyn_12463(this$,key,f);\n}\n});\n\nvar cljs$core$IWatchable$_remove_watch$dyn_12466 \x3d (function (this$,key){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core._remove_watch[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5394__auto__.call(null,this$,key));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._remove_watch[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5392__auto__.call(null,this$,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-remove-watch\x22,this$);\n}\n}\n});\n/**\n * Removes watcher that corresponds to key from this.\n */\ncljs.core._remove_watch \x3d (function cljs$core$_remove_watch(this$,key){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_remove_watch$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_remove_watch$arity$2(this$,key);\n} else {\nreturn cljs$core$IWatchable$_remove_watch$dyn_12466(this$,key);\n}\n});\n\n\n/**\n * Protocol for collections which can transformed to transients.\n * @interface\n */\ncljs.core.IEditableCollection \x3d function(){};\n\nvar cljs$core$IEditableCollection$_as_transient$dyn_12467 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._as_transient[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._as_transient[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEditableCollection.-as-transient\x22,coll);\n}\n}\n});\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core._as_transient \x3d (function cljs$core$_as_transient(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEditableCollection$_as_transient$arity$1(coll);\n} else {\nreturn cljs$core$IEditableCollection$_as_transient$dyn_12467(coll);\n}\n});\n\n\n/**\n * Protocol for adding basic functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientCollection \x3d function(){};\n\nvar cljs$core$ITransientCollection$_conj_BANG_$dyn_12468 \x3d (function (tcoll,val){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._conj_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5394__auto__.call(null,tcoll,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._conj_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5392__auto__.call(null,tcoll,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-conj!\x22,tcoll);\n}\n}\n});\n/**\n * Adds value val to tcoll and returns tcoll.\n */\ncljs.core._conj_BANG_ \x3d (function cljs$core$_conj_BANG_(tcoll,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2(tcoll,val);\n} else {\nreturn cljs$core$ITransientCollection$_conj_BANG_$dyn_12468(tcoll,val);\n}\n});\n\nvar cljs$core$ITransientCollection$_persistent_BANG_$dyn_12469 \x3d (function (tcoll){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._persistent_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5394__auto__.call(null,tcoll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._persistent_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5392__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-persistent!\x22,tcoll);\n}\n}\n});\n/**\n * Creates a persistent data structure from tcoll and returns it.\n */\ncljs.core._persistent_BANG_ \x3d (function cljs$core$_persistent_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientCollection$_persistent_BANG_$dyn_12469(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding associativity to transient collections.\n * @interface\n */\ncljs.core.ITransientAssociative \x3d function(){};\n\nvar cljs$core$ITransientAssociative$_assoc_BANG_$dyn_12470 \x3d (function (tcoll,key,val){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._assoc_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5394__auto__.call(null,tcoll,key,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5392__auto__.call(null,tcoll,key,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientAssociative.-assoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll with a mapping from key to\n * val added to it.\n */\ncljs.core._assoc_BANG_ \x3d (function cljs$core$_assoc_BANG_(tcoll,key,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(tcoll,key,val);\n} else {\nreturn cljs$core$ITransientAssociative$_assoc_BANG_$dyn_12470(tcoll,key,val);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientMap \x3d function(){};\n\nvar cljs$core$ITransientMap$_dissoc_BANG_$dyn_12471 \x3d (function (tcoll,key){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._dissoc_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5394__auto__.call(null,tcoll,key));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._dissoc_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5392__auto__.call(null,tcoll,key));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientMap.-dissoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll without the mapping for key.\n */\ncljs.core._dissoc_BANG_ \x3d (function cljs$core$_dissoc_BANG_(tcoll,key){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2(tcoll,key);\n} else {\nreturn cljs$core$ITransientMap$_dissoc_BANG_$dyn_12471(tcoll,key);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientVector \x3d function(){};\n\nvar cljs$core$ITransientVector$_assoc_n_BANG_$dyn_12472 \x3d (function (tcoll,n,val){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._assoc_n_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5394__auto__.call(null,tcoll,n,val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._assoc_n_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5392__auto__.call(null,tcoll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-assoc-n!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with value val added at position n.\n */\ncljs.core._assoc_n_BANG_ \x3d (function cljs$core$_assoc_n_BANG_(tcoll,n,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(tcoll,n,val);\n} else {\nreturn cljs$core$ITransientVector$_assoc_n_BANG_$dyn_12472(tcoll,n,val);\n}\n});\n\nvar cljs$core$ITransientVector$_pop_BANG_$dyn_12473 \x3d (function (tcoll){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._pop_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5394__auto__.call(null,tcoll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._pop_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5392__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-pop!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with the last item removed from it.\n */\ncljs.core._pop_BANG_ \x3d (function cljs$core$_pop_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientVector$_pop_BANG_$dyn_12473(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a transient collection.\n * @interface\n */\ncljs.core.ITransientSet \x3d function(){};\n\nvar cljs$core$ITransientSet$_disjoin_BANG_$dyn_12474 \x3d (function (tcoll,v){\nvar x__5393__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5394__auto__ \x3d (cljs.core._disjoin_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5394__auto__.call(null,tcoll,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._disjoin_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5392__auto__.call(null,tcoll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientSet.-disjoin!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll without v.\n */\ncljs.core._disjoin_BANG_ \x3d (function cljs$core$_disjoin_BANG_(tcoll,v){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2(tcoll,v);\n} else {\nreturn cljs$core$ITransientSet$_disjoin_BANG_$dyn_12474(tcoll,v);\n}\n});\n\n\n/**\n * Protocol for values that can be compared.\n * @interface\n */\ncljs.core.IComparable \x3d function(){};\n\nvar cljs$core$IComparable$_compare$dyn_12479 \x3d (function (x,y){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._compare[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5394__auto__.call(null,x,y));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._compare[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5392__auto__.call(null,x,y));\n} else {\nthrow cljs.core.missing_protocol(\x22IComparable.-compare\x22,x);\n}\n}\n});\n/**\n * Returns a negative number, zero, or a positive number when x is logically\n * \x27less than\x27, \x27equal to\x27, or \x27greater than\x27 y.\n */\ncljs.core._compare \x3d (function cljs$core$_compare(x,y){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IComparable$_compare$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IComparable$_compare$arity$2(x,y);\n} else {\nreturn cljs$core$IComparable$_compare$dyn_12479(x,y);\n}\n});\n\n\n/**\n * Protocol for accessing the items of a chunk.\n * @interface\n */\ncljs.core.IChunk \x3d function(){};\n\nvar cljs$core$IChunk$_drop_first$dyn_12482 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._drop_first[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._drop_first[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunk.-drop-first\x22,coll);\n}\n}\n});\n/**\n * Return a new chunk of coll with the first item removed.\n */\ncljs.core._drop_first \x3d (function cljs$core$_drop_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunk$_drop_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunk$_drop_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunk$_drop_first$dyn_12482(coll);\n}\n});\n\n\n/**\n * Protocol for accessing a collection as sequential chunks.\n * @interface\n */\ncljs.core.IChunkedSeq \x3d function(){};\n\nvar cljs$core$IChunkedSeq$_chunked_first$dyn_12483 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._chunked_first[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._chunked_first[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first chunk in coll.\n */\ncljs.core._chunked_first \x3d (function cljs$core$_chunked_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_first$dyn_12483(coll);\n}\n});\n\nvar cljs$core$IChunkedSeq$_chunked_rest$dyn_12484 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._chunked_rest[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._chunked_rest[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-rest\x22,coll);\n}\n}\n});\n/**\n * Return a new collection of coll with the first chunk removed.\n */\ncljs.core._chunked_rest \x3d (function cljs$core$_chunked_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_rest$dyn_12484(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the chunks of a collection.\n * @interface\n */\ncljs.core.IChunkedNext \x3d function(){};\n\nvar cljs$core$IChunkedNext$_chunked_next$dyn_12485 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._chunked_next[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._chunked_next[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedNext.-chunked-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first chunk.\n */\ncljs.core._chunked_next \x3d (function cljs$core$_chunked_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedNext$_chunked_next$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedNext$_chunked_next$dyn_12485(coll);\n}\n});\n\n\n/**\n * Protocol for adding a name.\n * @interface\n */\ncljs.core.INamed \x3d function(){};\n\nvar cljs$core$INamed$_name$dyn_12487 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._name[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._name[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-name\x22,x);\n}\n}\n});\n/**\n * Returns the name String of x.\n */\ncljs.core._name \x3d (function cljs$core$_name(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_name$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_name$arity$1(x);\n} else {\nreturn cljs$core$INamed$_name$dyn_12487(x);\n}\n});\n\nvar cljs$core$INamed$_namespace$dyn_12488 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._namespace[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._namespace[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-namespace\x22,x);\n}\n}\n});\n/**\n * Returns the namespace String of x.\n */\ncljs.core._namespace \x3d (function cljs$core$_namespace(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_namespace$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_namespace$arity$1(x);\n} else {\nreturn cljs$core$INamed$_namespace$dyn_12488(x);\n}\n});\n\n\n/**\n * Marker protocol indicating an atom.\n * @interface\n */\ncljs.core.IAtom \x3d function(){};\n\n\n/**\n * Protocol for adding resetting functionality.\n * @interface\n */\ncljs.core.IReset \x3d function(){};\n\nvar cljs$core$IReset$_reset_BANG_$dyn_12489 \x3d (function (o,new_value){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._reset_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5394__auto__.call(null,o,new_value));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reset_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5392__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IReset.-reset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of o to new-value.\n */\ncljs.core._reset_BANG_ \x3d (function cljs$core$_reset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IReset$_reset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IReset$_reset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IReset$_reset_BANG_$dyn_12489(o,new_value);\n}\n});\n\n\n/**\n * Protocol for adding swapping functionality.\n * @interface\n */\ncljs.core.ISwap \x3d function(){};\n\nvar cljs$core$ISwap$_swap_BANG_$dyn_12490 \x3d (function() {\nvar G__12491 \x3d null;\nvar G__12491__2 \x3d (function (o,f){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5394__auto__.call(null,o,f));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5392__auto__.call(null,o,f));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__12491__3 \x3d (function (o,f,a){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5394__auto__.call(null,o,f,a));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5392__auto__.call(null,o,f,a));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__12491__4 \x3d (function (o,f,a,b){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5394__auto__.call(null,o,f,a,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5392__auto__.call(null,o,f,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__12491__5 \x3d (function (o,f,a,b,xs){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5394__auto__.call(null,o,f,a,b,xs));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5392__auto__.call(null,o,f,a,b,xs));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nG__12491 \x3d function(o,f,a,b,xs){\nswitch(arguments.length){\ncase 2:\nreturn G__12491__2.call(this,o,f);\ncase 3:\nreturn G__12491__3.call(this,o,f,a);\ncase 4:\nreturn G__12491__4.call(this,o,f,a,b);\ncase 5:\nreturn G__12491__5.call(this,o,f,a,b,xs);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12491.cljs$core$IFn$_invoke$arity$2 \x3d G__12491__2;\nG__12491.cljs$core$IFn$_invoke$arity$3 \x3d G__12491__3;\nG__12491.cljs$core$IFn$_invoke$arity$4 \x3d G__12491__4;\nG__12491.cljs$core$IFn$_invoke$arity$5 \x3d G__12491__5;\nreturn G__12491;\n})()\n;\n/**\n * Swaps the value of o to be (apply f current-value-of-atom args).\n */\ncljs.core._swap_BANG_ \x3d (function cljs$core$_swap_BANG_(var_args){\nvar G__10756 \x3d arguments.length;\nswitch (G__10756) {\ncase 2:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,f){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$2(o,f);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_12490(o,f);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,f,a){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$3(o,f,a);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_12490(o,f,a);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (o,f,a,b){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$4 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$4(o,f,a,b);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_12490(o,f,a,b);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5 \x3d (function (o,f,a,b,xs){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$5 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$5(o,f,a,b,xs);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_12490(o,f,a,b,xs);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n/**\n * Protocol for adding volatile functionality.\n * @interface\n */\ncljs.core.IVolatile \x3d function(){};\n\nvar cljs$core$IVolatile$_vreset_BANG_$dyn_12505 \x3d (function (o,new_value){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (cljs.core._vreset_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5394__auto__.call(null,o,new_value));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._vreset_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5392__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IVolatile.-vreset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of volatile o to new-value without regard for the\n * current value. Returns new-value.\n */\ncljs.core._vreset_BANG_ \x3d (function cljs$core$_vreset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IVolatile$_vreset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IVolatile$_vreset_BANG_$dyn_12505(o,new_value);\n}\n});\n\n\n/**\n * Protocol for iterating over a collection.\n * @interface\n */\ncljs.core.IIterable \x3d function(){};\n\nvar cljs$core$IIterable$_iterator$dyn_12506 \x3d (function (coll){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (cljs.core._iterator[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5394__auto__.call(null,coll));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._iterator[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5392__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IIterable.-iterator\x22,coll);\n}\n}\n});\n/**\n * Returns an iterator for coll.\n */\ncljs.core._iterator \x3d (function cljs$core$_iterator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIterable$_iterator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIterable$_iterator$arity$1(coll);\n} else {\nreturn cljs$core$IIterable$_iterator$dyn_12506(coll);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\ncljs.core.StringBufferWriter \x3d (function (sb){\nthis.sb \x3d sb;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.sb.append(s);\n}));\n\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.StringBufferWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null)], null);\n}));\n\n(cljs.core.StringBufferWriter.cljs$lang$type \x3d true);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorStr \x3d \x22cljs.core/StringBufferWriter\x22);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/StringBufferWriter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringBufferWriter.\n */\ncljs.core.__GT_StringBufferWriter \x3d (function cljs$core$__GT_StringBufferWriter(sb){\nreturn (new cljs.core.StringBufferWriter(sb));\n});\n\n/**\n * Support so that collections can implement toString without\n * loading all the printing machinery.\n */\ncljs.core.pr_str_STAR_ \x3d (function cljs$core$pr_str_STAR_(obj){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\nobj.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,writer,cljs.core.pr_opts());\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n});\ncljs.core.int_rotate_left \x3d (function cljs$core$int_rotate_left(x,n){\nreturn ((x \x3c\x3c n) | (x \x3e\x3e\x3e (- n)));\n});\nif((((typeof Math !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof Math.imul !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((Math.imul((4294967295),(5)) \x3d\x3d\x3d (0))))))){\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nreturn Math.imul(a,b);\n});\n} else {\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nvar ah \x3d ((a \x3e\x3e\x3e (16)) \x26 (65535));\nvar al \x3d (a \x26 (65535));\nvar bh \x3d ((b \x3e\x3e\x3e (16)) \x26 (65535));\nvar bl \x3d (b \x26 (65535));\nreturn (((al * bl) + ((((ah * bl) + (al * bh)) \x3c\x3c (16)) \x3e\x3e\x3e (0))) | (0));\n});\n}\ncljs.core.m3_seed \x3d (0);\ncljs.core.m3_C1 \x3d ((3432918353) | (0));\ncljs.core.m3_C2 \x3d ((461845907) | (0));\ncljs.core.m3_mix_K1 \x3d (function cljs$core$m3_mix_K1(k1){\nreturn cljs.core.imul(cljs.core.int_rotate_left(cljs.core.imul((k1 | (0)),cljs.core.m3_C1),(15)),cljs.core.m3_C2);\n});\ncljs.core.m3_mix_H1 \x3d (function cljs$core$m3_mix_H1(h1,k1){\nreturn ((cljs.core.imul(cljs.core.int_rotate_left(((h1 | (0)) ^ (k1 | (0))),(13)),(5)) + ((3864292196) | (0))) | (0));\n});\ncljs.core.m3_fmix \x3d (function cljs$core$m3_fmix(h1,len){\nvar h1__$1 \x3d (h1 | (0));\nvar h1__$2 \x3d (h1__$1 ^ len);\nvar h1__$3 \x3d (h1__$2 ^ (h1__$2 \x3e\x3e\x3e (16)));\nvar h1__$4 \x3d cljs.core.imul(h1__$3,((2246822507) | (0)));\nvar h1__$5 \x3d (h1__$4 ^ (h1__$4 \x3e\x3e\x3e (13)));\nvar h1__$6 \x3d cljs.core.imul(h1__$5,((3266489909) | (0)));\nreturn (h1__$6 ^ (h1__$6 \x3e\x3e\x3e (16)));\n});\ncljs.core.m3_hash_int \x3d (function cljs$core$m3_hash_int(in$){\nif((in$ \x3d\x3d\x3d (0))){\nreturn in$;\n} else {\nvar k1 \x3d cljs.core.m3_mix_K1(in$);\nvar h1 \x3d cljs.core.m3_mix_H1(cljs.core.m3_seed,k1);\nreturn cljs.core.m3_fmix(h1,(4));\n}\n});\ncljs.core.m3_hash_unencoded_chars \x3d (function cljs$core$m3_hash_unencoded_chars(in$){\nvar h1 \x3d (function (){var i \x3d (1);\nvar h1 \x3d cljs.core.m3_seed;\nwhile(true){\nif((i \x3c in$.length)){\nvar G__12517 \x3d (i + (2));\nvar G__12518 \x3d cljs.core.m3_mix_H1(h1,cljs.core.m3_mix_K1((in$.charCodeAt((i - (1))) | (in$.charCodeAt(i) \x3c\x3c (16)))));\ni \x3d G__12517;\nh1 \x3d G__12518;\ncontinue;\n} else {\nreturn h1;\n}\nbreak;\n}\n})();\nvar h1__$1 \x3d ((((in$.length \x26 (1)) \x3d\x3d\x3d (1)))?(h1 ^ cljs.core.m3_mix_K1(in$.charCodeAt((in$.length - (1))))):h1);\nreturn cljs.core.m3_fmix(h1__$1,cljs.core.imul((2),in$.length));\n});\n\n\n\ncljs.core.string_hash_cache \x3d ({});\ncljs.core.string_hash_cache_count \x3d (0);\ncljs.core.hash_string_STAR_ \x3d (function cljs$core$hash_string_STAR_(s){\nif((!((s \x3d\x3d null)))){\nvar len \x3d s.length;\nif((len \x3e (0))){\nvar i \x3d (0);\nvar hash \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__12522 \x3d (i + (1));\nvar G__12523 \x3d (cljs.core.imul((31),hash) + s.charCodeAt(i));\ni \x3d G__12522;\nhash \x3d G__12523;\ncontinue;\n} else {\nreturn hash;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.add_to_string_hash_cache \x3d (function cljs$core$add_to_string_hash_cache(k){\nvar h \x3d cljs.core.hash_string_STAR_(k);\ncljs.core.goog$module$goog$object.set(cljs.core.string_hash_cache,k,h);\n\n(cljs.core.string_hash_cache_count \x3d (cljs.core.string_hash_cache_count + (1)));\n\nreturn h;\n});\ncljs.core.hash_string \x3d (function cljs$core$hash_string(k){\nif((cljs.core.string_hash_cache_count \x3e (255))){\n(cljs.core.string_hash_cache \x3d ({}));\n\n(cljs.core.string_hash_cache_count \x3d (0));\n} else {\n}\n\nif((k \x3d\x3d null)){\nreturn (0);\n} else {\nvar h \x3d (cljs.core.string_hash_cache[k]);\nif(typeof h \x3d\x3d\x3d \x27number\x27){\nreturn h;\n} else {\nreturn cljs.core.add_to_string_hash_cache(k);\n}\n}\n});\n/**\n * Returns the hash code of its argument. Note this is the hash code\n * consistent with \x3d.\n */\ncljs.core.hash \x3d (function cljs$core$hash(o){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (4194304))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IHash$))))?true:false):false)){\nreturn (o.cljs$core$IHash$_hash$arity$1(null) ^ (0));\n} else {\nif(typeof o \x3d\x3d\x3d \x27number\x27){\nif(isFinite(o)){\nreturn (Math.floor(o) % (2147483647));\n} else {\nvar G__10762 \x3d o;\nswitch (G__10762) {\ncase Infinity:\nreturn (2146435072);\n\nbreak;\ncase -Infinity:\nreturn (-1048576);\n\nbreak;\ndefault:\nreturn (2146959360);\n\n}\n}\n} else {\nif(o \x3d\x3d\x3d true){\nreturn (1231);\n} else {\nif(o \x3d\x3d\x3d false){\nreturn (1237);\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.m3_hash_int(cljs.core.hash_string(o));\n} else {\nif((o instanceof Date)){\nreturn (o.valueOf() ^ (0));\n} else {\nif((o \x3d\x3d null)){\nreturn (0);\n} else {\nreturn (cljs.core._hash(o) ^ (0));\n\n}\n}\n}\n}\n}\n}\n}\n});\ncljs.core.hash_combine \x3d (function cljs$core$hash_combine(seed,hash){\nreturn (seed ^ (((hash + (2654435769)) + (seed \x3c\x3c (6))) + (seed \x3e\x3e (2))));\n});\n/**\n * Evaluates x and tests if it is an instance of the type\n * c. Returns true or false\n */\ncljs.core.instance_QMARK_ \x3d (function cljs$core$instance_QMARK_(c,x){\nreturn (x instanceof c);\n});\n/**\n * Return true if x is a Symbol\n */\ncljs.core.symbol_QMARK_ \x3d (function cljs$core$symbol_QMARK_(x){\nreturn (x instanceof cljs.core.Symbol);\n});\ncljs.core.hash_symbol \x3d (function cljs$core$hash_symbol(sym){\nreturn cljs.core.hash_combine(cljs.core.m3_hash_unencoded_chars(sym.name),cljs.core.hash_string(sym.ns));\n});\ncljs.core.compare_symbols \x3d (function cljs$core$compare_symbols(a,b){\nif((a.str \x3d\x3d\x3d b.str)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(a.ns);\nif(and__5043__auto__){\nreturn b.ns;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Symbol \x3d (function (ns,name,str,_hash,_meta){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.str \x3d str;\nthis._hash \x3d _hash;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2154168321;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Symbol.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.str;\n}));\n\n(cljs.core.Symbol.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Symbol)){\nreturn (self__.str \x3d\x3d\x3d other.str);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Symbol.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10764 \x3d (arguments.length - (1));\nswitch (G__10764) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Symbol.prototype.apply \x3d (function (self__,args10763){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10763)));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$2 ? cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,sym) : cljs.core.get.call(null,coll,sym));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$3 ? cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,sym,not_found) : cljs.core.get.call(null,coll,sym,not_found));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Symbol(self__.ns,self__.name,self__.str,self__._hash,new_meta));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (sym){\nvar self__ \x3d this;\nvar sym__$1 \x3d this;\nvar h__5154__auto__ \x3d self__._hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_symbol(sym__$1);\n(self__._hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,self__.str);\n}));\n\n(cljs.core.Symbol.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22str\x22,\x22str\x22,-1564826950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Symbol.cljs$lang$type \x3d true);\n\n(cljs.core.Symbol.cljs$lang$ctorStr \x3d \x22cljs.core/Symbol\x22);\n\n(cljs.core.Symbol.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Symbol\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Symbol.\n */\ncljs.core.__GT_Symbol \x3d (function cljs$core$__GT_Symbol(ns,name,str,_hash,_meta){\nreturn (new cljs.core.Symbol(ns,name,str,_hash,_meta));\n});\n\n/**\n * Returns true if v is of type cljs.core.Var\n */\ncljs.core.var_QMARK_ \x3d (function cljs$core$var_QMARK_(v){\nreturn (v instanceof cljs.core.Var);\n});\n/**\n * Returns a Symbol with the given namespace and name. Arity-1 works\n * on strings, keywords, and vars.\n */\ncljs.core.symbol \x3d (function cljs$core$symbol(var_args){\nvar G__10766 \x3d arguments.length;\nswitch (G__10766) {\ncase 1:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nwhile(true){\nif((name instanceof cljs.core.Symbol)){\nreturn name;\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar idx \x3d name.indexOf(\x22/\x22);\nif((idx \x3c (1))){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,name);\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(name.substring((0),idx),name.substring((idx + (1)),name.length));\n}\n} else {\nif(cljs.core.var_QMARK_(name)){\nreturn name.sym;\n} else {\nif((name instanceof cljs.core.Keyword)){\nvar G__12532 \x3d name.fqn;\nname \x3d G__12532;\ncontinue;\n} else {\nthrow (new Error(\x22no conversion to symbol\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar sym_str \x3d (((!((ns \x3d\x3d null))))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(\x27\x27):name);\nreturn (new cljs.core.Symbol(ns,name,sym_str,null,null));\n}));\n\n(cljs.core.symbol.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Var \x3d (function (val,sym,_meta){\nthis.val \x3d val;\nthis.sym \x3d sym;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6717441;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Var.prototype.isMacro \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null)).cljs$lang$macro;\n}));\n\n(cljs.core.Var.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22#\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.sym)].join(\x27\x27);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Var.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Var(self__.val,self__.sym,new_meta));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.Var)){\nvar G__10768 \x3d this$__$1.sym;\nvar G__10769 \x3d other.sym;\nreturn (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 ? cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(G__10768,G__10769) : cljs.core._EQ_.call(null,G__10768,G__10769));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Var.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash_symbol(self__.sym);\n}));\n\n(cljs.core.Var.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10770 \x3d (arguments.length - (1));\nswitch (G__10770) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Var.prototype.apply \x3d (function (self__,args10767){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10767)));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10771 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10771.cljs$core$IFn$_invoke$arity$0 ? fexpr__10771.cljs$core$IFn$_invoke$arity$0() : fexpr__10771.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10772 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10772.cljs$core$IFn$_invoke$arity$1 ? fexpr__10772.cljs$core$IFn$_invoke$arity$1(a) : fexpr__10772.call(null,a));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10773 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10773.cljs$core$IFn$_invoke$arity$2 ? fexpr__10773.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__10773.call(null,a,b));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10774 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10774.cljs$core$IFn$_invoke$arity$3 ? fexpr__10774.cljs$core$IFn$_invoke$arity$3(a,b,c) : fexpr__10774.call(null,a,b,c));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10775 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10775.cljs$core$IFn$_invoke$arity$4 ? fexpr__10775.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : fexpr__10775.call(null,a,b,c,d));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10776 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10776.cljs$core$IFn$_invoke$arity$5 ? fexpr__10776.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : fexpr__10776.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10777 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10777.cljs$core$IFn$_invoke$arity$6 ? fexpr__10777.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : fexpr__10777.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10778 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10778.cljs$core$IFn$_invoke$arity$7 ? fexpr__10778.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : fexpr__10778.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10779 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10779.cljs$core$IFn$_invoke$arity$8 ? fexpr__10779.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : fexpr__10779.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10780 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10780.cljs$core$IFn$_invoke$arity$9 ? fexpr__10780.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : fexpr__10780.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10781 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10781.cljs$core$IFn$_invoke$arity$10 ? fexpr__10781.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : fexpr__10781.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10782 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10782.cljs$core$IFn$_invoke$arity$11 ? fexpr__10782.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : fexpr__10782.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10783 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10783.cljs$core$IFn$_invoke$arity$12 ? fexpr__10783.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : fexpr__10783.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10784 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10784.cljs$core$IFn$_invoke$arity$13 ? fexpr__10784.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : fexpr__10784.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10785 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10785.cljs$core$IFn$_invoke$arity$14 ? fexpr__10785.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : fexpr__10785.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10786 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10786.cljs$core$IFn$_invoke$arity$15 ? fexpr__10786.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : fexpr__10786.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10787 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10787.cljs$core$IFn$_invoke$arity$16 ? fexpr__10787.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : fexpr__10787.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10788 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10788.cljs$core$IFn$_invoke$arity$17 ? fexpr__10788.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : fexpr__10788.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10789 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10789.cljs$core$IFn$_invoke$arity$18 ? fexpr__10789.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : fexpr__10789.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10790 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10790.cljs$core$IFn$_invoke$arity$19 ? fexpr__10790.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : fexpr__10790.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__10791 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__10791.cljs$core$IFn$_invoke$arity$20 ? fexpr__10791.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : fexpr__10791.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar G__10792 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nvar G__10793 \x3d a;\nvar G__10794 \x3d b;\nvar G__10795 \x3d c;\nvar G__10796 \x3d d;\nvar G__10797 \x3d e;\nvar G__10798 \x3d f;\nvar G__10799 \x3d g;\nvar G__10800 \x3d h;\nvar G__10801 \x3d i;\nvar G__10802 \x3d j;\nvar G__10803 \x3d k;\nvar G__10804 \x3d l;\nvar G__10805 \x3d m;\nvar G__10806 \x3d n;\nvar G__10807 \x3d o;\nvar G__10808 \x3d p;\nvar G__10809 \x3d q;\nvar G__10810 \x3d r;\nvar G__10811 \x3d s;\nvar G__10812 \x3d t;\nvar G__10813 \x3d rest;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$22 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$22(G__10792,G__10793,G__10794,G__10795,G__10796,G__10797,G__10798,G__10799,G__10800,G__10801,G__10802,G__10803,G__10804,G__10805,G__10806,G__10807,G__10808,G__10809,G__10810,G__10811,G__10812,G__10813) : cljs.core.apply.call(null,G__10792,G__10793,G__10794,G__10795,G__10796,G__10797,G__10798,G__10799,G__10800,G__10801,G__10802,G__10803,G__10804,G__10805,G__10806,G__10807,G__10808,G__10809,G__10810,G__10811,G__10812,G__10813));\n}));\n\n(cljs.core.Var.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22sym\x22,\x22sym\x22,195671222,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Var.cljs$lang$type \x3d true);\n\n(cljs.core.Var.cljs$lang$ctorStr \x3d \x22cljs.core/Var\x22);\n\n(cljs.core.Var.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Var\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Var.\n */\ncljs.core.__GT_Var \x3d (function cljs$core$__GT_Var(val,sym,_meta){\nreturn (new cljs.core.Var(val,sym,_meta));\n});\n\n\n\n/**\n * Return true if x implements IIterable protocol.\n */\ncljs.core.iterable_QMARK_ \x3d (function cljs$core$iterable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIterable$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n}\n});\n/**\n * Return true if x has a JavaScript iterator property\n */\ncljs.core.js_iterable_QMARK_ \x3d (function cljs$core$js_iterable_QMARK_(x){\nreturn (((!((x \x3d\x3d null)))) \x26\x26 ((!((x[cljs.core.ITER_SYMBOL] \x3d\x3d null)))));\n});\n/**\n * Clone the supplied value which must implement ICloneable.\n */\ncljs.core.clone \x3d (function cljs$core$clone(value){\nreturn cljs.core._clone(value);\n});\n/**\n * Return true if x implements ICloneable protocol.\n */\ncljs.core.cloneable_QMARK_ \x3d (function cljs$core$cloneable_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif((((value.cljs$lang$protocol_mask$partition1$ \x26 (8192))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$ICloneable$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n}\n});\n/**\n * Returns a seq on the collection. If the collection is\n * empty, returns nil. (seq nil) returns nil. seq also works on\n * Strings.\n */\ncljs.core.seq \x3d (function cljs$core$seq(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn coll.cljs$core$ISeqable$_seq$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(cljs.core.js_iterable_QMARK_(coll)){\nvar G__10817 \x3d cljs.core.goog$module$goog$object.get(coll,cljs.core.ITER_SYMBOL).call(coll);\nreturn (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(G__10817) : cljs.core.es6_iterator_seq.call(null,G__10817));\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,coll)){\nreturn cljs.core._seq(coll);\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll),\x22 is not ISeqable\x22].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\n/**\n * Returns the first item in the collection. Calls seq on its\n * argument. If coll is nil, returns nil.\n */\ncljs.core.first \x3d (function cljs$core$first(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_first$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._first(s);\n}\n}\n}\n});\n/**\n * Returns a possibly empty seq of the items after the first. Calls seq on its\n * argument.\n */\ncljs.core.rest \x3d (function cljs$core$rest(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif(s){\nreturn s.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a seq of the items after the first. Calls seq on its\n * argument. If there are no more items, returns nil\n */\ncljs.core.next \x3d (function cljs$core$next(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n}\n});\n/**\n * Equality. Returns true if x equals y, false if not. Compares\n * numbers and collections in a type-independent manner. Clojure\x27s immutable data\n * structures define -equiv (and thus \x3d) as a value, not an identity,\n * comparison.\n */\ncljs.core._EQ_ \x3d (function cljs$core$_EQ_(var_args){\nvar G__10825 \x3d arguments.length;\nswitch (G__10825) {\ncase 1:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12620 \x3d arguments.length;\nvar i__5770__auto___12621 \x3d (0);\nwhile(true){\nif((i__5770__auto___12621 \x3c len__5769__auto___12620)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12621]));\n\nvar G__12622 \x3d (i__5770__auto___12621 + (1));\ni__5770__auto___12621 \x3d G__12622;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nif((x \x3d\x3d null)){\nreturn (y \x3d\x3d null);\n} else {\nreturn (((x \x3d\x3d\x3d y)) || (cljs.core._equiv(x,y)));\n}\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\nif(cljs.core.next(more)){\nvar G__12627 \x3d y;\nvar G__12628 \x3d cljs.core.first(more);\nvar G__12629 \x3d cljs.core.next(more);\nx \x3d G__12627;\ny \x3d G__12628;\nmore \x3d G__12629;\ncontinue;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(y,cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ_.cljs$lang$applyTo \x3d (function (seq10822){\nvar G__10823 \x3d cljs.core.first(seq10822);\nvar seq10822__$1 \x3d cljs.core.next(seq10822);\nvar G__10824 \x3d cljs.core.first(seq10822__$1);\nvar seq10822__$2 \x3d cljs.core.next(seq10822__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10823,G__10824,seq10822__$2);\n}));\n\n(cljs.core._EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6Iterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6Iterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: x, \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6Iterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6Iterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6Iterator\x22);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6Iterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6Iterator.\n */\ncljs.core.__GT_ES6Iterator \x3d (function cljs$core$__GT_ES6Iterator(s){\nreturn (new cljs.core.ES6Iterator(s));\n});\n\n/**\n * EXPERIMENTAL: Return a ES2015 compatible iterator for coll.\n */\ncljs.core.es6_iterator \x3d (function cljs$core$es6_iterator(coll){\nreturn (new cljs.core.ES6Iterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n*/\ncljs.core.ES6IteratorSeq \x3d (function (value,iter,_rest){\nthis.value \x3d value;\nthis.iter \x3d iter;\nthis._rest \x3d _rest;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8388672;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.value;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((self__._rest \x3d\x3d null)){\n(self__._rest \x3d (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(self__.iter) : cljs.core.es6_iterator_seq.call(null,self__.iter)));\n} else {\n}\n\nreturn self__._rest;\n}));\n\n(cljs.core.ES6IteratorSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_rest\x22,\x22_rest\x22,-2100466189,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6IteratorSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ES6IteratorSeq\x22);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6IteratorSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6IteratorSeq.\n */\ncljs.core.__GT_ES6IteratorSeq \x3d (function cljs$core$__GT_ES6IteratorSeq(value,iter,_rest){\nreturn (new cljs.core.ES6IteratorSeq(value,iter,_rest));\n});\n\n/**\n * EXPERIMENTAL: Given an ES2015 compatible iterator return a seq.\n */\ncljs.core.es6_iterator_seq \x3d (function cljs$core$es6_iterator_seq(iter){\nvar v \x3d iter.next();\nif(cljs.core.truth_(v.done)){\nreturn null;\n} else {\nreturn (new cljs.core.ES6IteratorSeq(v.value,iter,null));\n}\n});\n/**\n * Mix final collection hash for ordered or unordered collections.\n * hash-basis is the combined collection hash, count is the number\n * of elements included in the basis. Note this is the hash code\n * consistent with \x3d, different from .hashCode.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.mix_collection_hash \x3d (function cljs$core$mix_collection_hash(hash_basis,count){\nvar h1 \x3d cljs.core.m3_seed;\nvar k1 \x3d cljs.core.m3_mix_K1(hash_basis);\nvar h1__$1 \x3d cljs.core.m3_mix_H1(h1,k1);\nreturn cljs.core.m3_fmix(h1__$1,count);\n});\n/**\n * Returns the hash code, consistent with \x3d, for an external ordered\n * collection implementing Iterable.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_ordered_coll \x3d (function cljs$core$hash_ordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (1);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__12655 \x3d (n + (1));\nvar G__12656 \x3d ((cljs.core.imul((31),hash_code) + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__12657 \x3d cljs.core.next(coll__$1);\nn \x3d G__12655;\nhash_code \x3d G__12656;\ncoll__$1 \x3d G__12657;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_ordered_hash \x3d cljs.core.mix_collection_hash((1),(0));\n/**\n * Returns the hash code, consistent with \x3d, for an external unordered\n * collection implementing Iterable. For maps, the iterator should\n * return map entries whose hash is computed as\n * (hash-ordered-coll [k v]).\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_unordered_coll \x3d (function cljs$core$hash_unordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (0);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__12659 \x3d (n + (1));\nvar G__12660 \x3d ((hash_code + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__12661 \x3d cljs.core.next(coll__$1);\nn \x3d G__12659;\nhash_code \x3d G__12660;\ncoll__$1 \x3d G__12661;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_unordered_hash \x3d cljs.core.mix_collection_hash((0),(0));\n\n\n(cljs.core.ICounted[\x22null\x22] \x3d true);\n\n(cljs.core._count[\x22null\x22] \x3d (function (_){\nreturn (0);\n}));\n(Date.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar o__$1 \x3d this;\nreturn (((other instanceof Date)) \x26\x26 ((o__$1.valueOf() \x3d\x3d\x3d other.valueOf())));\n}));\n\n(Date.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof Date)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(this$__$1.valueOf(),other.valueOf());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n/**\n * @interface\n */\ncljs.core.Inst \x3d function(){};\n\nvar cljs$core$Inst$inst_ms_STAR_$dyn_12665 \x3d (function (inst){\nvar x__5393__auto__ \x3d (((inst \x3d\x3d null))?null:inst);\nvar m__5394__auto__ \x3d (cljs.core.inst_ms_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5394__auto__.call(null,inst));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.inst_ms_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5392__auto__.call(null,inst));\n} else {\nthrow cljs.core.missing_protocol(\x22Inst.inst-ms*\x22,inst);\n}\n}\n});\ncljs.core.inst_ms_STAR_ \x3d (function cljs$core$inst_ms_STAR_(inst){\nif((((!((inst \x3d\x3d null)))) \x26\x26 ((!((inst.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d\x3d null)))))){\nreturn inst.cljs$core$Inst$inst_ms_STAR_$arity$1(inst);\n} else {\nreturn cljs$core$Inst$inst_ms_STAR_$dyn_12665(inst);\n}\n});\n\n(Date.prototype.cljs$core$Inst$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d (function (inst){\nvar inst__$1 \x3d this;\nreturn inst__$1.getTime();\n}));\n/**\n * Return the number of milliseconds since January 1, 1970, 00:00:00 GMT\n */\ncljs.core.inst_ms \x3d (function cljs$core$inst_ms(inst){\nreturn cljs.core.inst_ms_STAR_(inst);\n});\n/**\n * Return true if x satisfies Inst\n */\ncljs.core.inst_QMARK_ \x3d (function cljs$core$inst_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$Inst$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n}\n});\n(cljs.core.IEquiv[\x22number\x22] \x3d true);\n\n(cljs.core._equiv[\x22number\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n(cljs.core.Fn[\x22function\x22] \x3d true);\n\n(cljs.core.IMeta[\x22function\x22] \x3d true);\n\n(cljs.core._meta[\x22function\x22] \x3d (function (_){\nreturn null;\n}));\n(cljs.core.IHash[\x22_\x22] \x3d true);\n\n(cljs.core._hash[\x22_\x22] \x3d (function (o){\nreturn goog.getUid(o);\n}));\n/**\n * Returns a number one greater than num.\n */\ncljs.core.inc \x3d (function cljs$core$inc(x){\nreturn (x + (1));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Reduced \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Reduced.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (o){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Reduced.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.Reduced.cljs$lang$type \x3d true);\n\n(cljs.core.Reduced.cljs$lang$ctorStr \x3d \x22cljs.core/Reduced\x22);\n\n(cljs.core.Reduced.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Reduced\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Reduced.\n */\ncljs.core.__GT_Reduced \x3d (function cljs$core$__GT_Reduced(val){\nreturn (new cljs.core.Reduced(val));\n});\n\n/**\n * Wraps x in a way such that a reduce will terminate with the value x\n */\ncljs.core.reduced \x3d (function cljs$core$reduced(x){\nreturn (new cljs.core.Reduced(x));\n});\n/**\n * Returns true if x is the result of a call to reduced\n */\ncljs.core.reduced_QMARK_ \x3d (function cljs$core$reduced_QMARK_(r){\nreturn (r instanceof cljs.core.Reduced);\n});\n/**\n * If x is already reduced?, returns it, else returns (reduced x)\n */\ncljs.core.ensure_reduced \x3d (function cljs$core$ensure_reduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn x;\n} else {\nreturn cljs.core.reduced(x);\n}\n});\n/**\n * If x is reduced?, returns (deref x), else returns x\n */\ncljs.core.unreduced \x3d (function cljs$core$unreduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn (cljs.core.deref.cljs$core$IFn$_invoke$arity$1 ? cljs.core.deref.cljs$core$IFn$_invoke$arity$1(x) : cljs.core.deref.call(null,x));\n} else {\nreturn x;\n}\n});\n/**\n * Also reader macro: @var/@atom/@delay. Returns the\n * most-recently-committed value of ref. When applied to a var\n * or atom, returns its current state. When applied to a delay, forces\n * it if not already forced. See also - realized?.\n */\ncljs.core.deref \x3d (function cljs$core$deref(o){\nreturn cljs.core._deref(o);\n});\n/**\n * Accepts any collection which satisfies the ICount and IIndexed protocols and\n * reduces them without incurring seq initialization\n */\ncljs.core.ci_reduce \x3d (function cljs$core$ci_reduce(var_args){\nvar G__10828 \x3d arguments.length;\nswitch (G__10828) {\ncase 2:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (cicoll,f){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nif((cnt \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,(0));\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__10829 \x3d val;\nvar G__10830 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10829,G__10830) : f.call(null,G__10829,G__10830));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__12705 \x3d nval;\nvar G__12707 \x3d (n + (1));\nval \x3d G__12705;\nn \x3d G__12707;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (cicoll,f,val){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__10831 \x3d val__$1;\nvar G__10832 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10831,G__10832) : f.call(null,G__10831,G__10832));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__12725 \x3d nval;\nvar G__12726 \x3d (n + (1));\nval__$1 \x3d G__12725;\nn \x3d G__12726;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ci_reduce.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.array_reduce \x3d (function cljs$core$array_reduce(var_args){\nvar G__10834 \x3d arguments.length;\nswitch (G__10834) {\ncase 2:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,f){\nvar cnt \x3d arr.length;\nif((arr.length \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d (arr[(0)]);\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__10835 \x3d val;\nvar G__10836 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10835,G__10836) : f.call(null,G__10835,G__10836));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__12731 \x3d nval;\nvar G__12732 \x3d (n + (1));\nval \x3d G__12731;\nn \x3d G__12732;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,f,val){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__10837 \x3d val__$1;\nvar G__10838 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10837,G__10838) : f.call(null,G__10837,G__10838));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__12734 \x3d nval;\nvar G__12735 \x3d (n + (1));\nval__$1 \x3d G__12734;\nn \x3d G__12735;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (arr,f,val,idx){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d idx;\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__10839 \x3d val__$1;\nvar G__10840 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10839,G__10840) : f.call(null,G__10839,G__10840));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__12738 \x3d nval;\nvar G__12739 \x3d (n + (1));\nval__$1 \x3d G__12738;\nn \x3d G__12739;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$lang$maxFixedArity \x3d 4);\n\n\n\n\n\n\n\n/**\n * Returns true if coll implements count in constant time\n */\ncljs.core.counted_QMARK_ \x3d (function cljs$core$counted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICounted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n}\n});\n/**\n * Returns true if coll implements nth in constant time\n */\ncljs.core.indexed_QMARK_ \x3d (function cljs$core$indexed_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIndexed$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n}\n});\ncljs.core._indexOf \x3d (function cljs$core$_indexOf(var_args){\nvar G__10844 \x3d arguments.length;\nswitch (G__10844) {\ncase 2:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n}));\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((start \x3e\x3d len)){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?start:(((start \x3c (0)))?(function (){var x__5130__auto__ \x3d (0);\nvar y__5131__auto__ \x3d (start + len);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})():start\n));\nwhile(true){\nif((idx \x3c len)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__12765 \x3d (idx + (1));\nidx \x3d G__12765;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._indexOf.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core._lastIndexOf \x3d (function cljs$core$_lastIndexOf(var_args){\nvar G__10846 \x3d arguments.length;\nswitch (G__10846) {\ncase 2:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n}));\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((len \x3d\x3d\x3d (0))){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?(function (){var x__5133__auto__ \x3d (len - (1));\nvar y__5134__auto__ \x3d start;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})():(((start \x3c (0)))?(len + start):start\n));\nwhile(true){\nif((idx \x3e\x3d (0))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__12775 \x3d (idx - (1));\nidx \x3d G__12775;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._lastIndexOf.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.IndexedSeqIterator \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.IndexedSeqIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.IndexedSeqIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.IndexedSeqIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IndexedSeqIterator.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeqIterator\x22);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IndexedSeqIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeqIterator.\n */\ncljs.core.__GT_IndexedSeqIterator \x3d (function cljs$core$__GT_IndexedSeqIterator(arr,i){\nreturn (new cljs.core.IndexedSeqIterator(arr,i));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IndexedSeq \x3d (function (arr,i,meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166592766;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.core.IndexedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IndexedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IndexedSeq.prototype.indexOf \x3d (function() {\nvar G__12812 \x3d null;\nvar G__12812__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__12812__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12812 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12812__1.call(this,x);\ncase 2:\nreturn G__12812__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12812.cljs$core$IFn$_invoke$arity$1 \x3d G__12812__1;\nG__12812.cljs$core$IFn$_invoke$arity$2 \x3d G__12812__2;\nreturn G__12812;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__12815 \x3d null;\nvar G__12815__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__12815__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12815 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12815__1.call(this,x);\ncase 2:\nreturn G__12815__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12815.cljs$core$IFn$_invoke$arity$1 \x3d G__12815__1;\nG__12815.cljs$core$IFn$_invoke$arity$2 \x3d G__12815__2;\nreturn G__12815;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.IndexedSeqIterator(self__.arr,self__.i));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,self__.meta));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar x__5130__auto__ \x3d (0);\nvar y__5131__auto__ \x3d (self__.arr.length - self__.i);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar c \x3d coll__$1.cljs$core$ICounted$_count$arity$1(null);\nif((c \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(c - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.i]),(self__.i + (1)));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.i);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.arr[self__.i]);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.i \x3c self__.arr.length)){\nreturn this$__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.IndexedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.IndexedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeq\x22);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IndexedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeq.\n */\ncljs.core.__GT_IndexedSeq \x3d (function cljs$core$__GT_IndexedSeq(arr,i,meta){\nreturn (new cljs.core.IndexedSeq(arr,i,meta));\n});\n\n(cljs.core.IndexedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Create seq from a primitive JavaScript Array-like.\n */\ncljs.core.prim_seq \x3d (function cljs$core$prim_seq(var_args){\nvar G__10848 \x3d arguments.length;\nswitch (G__10848) {\ncase 1:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (prim){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(prim,(0));\n}));\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (prim,i){\nif((i \x3c prim.length)){\nreturn (new cljs.core.IndexedSeq(prim,i,null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prim_seq.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Create a seq from a JavaScript array.\n */\ncljs.core.array_seq \x3d (function cljs$core$array_seq(var_args){\nvar G__10850 \x3d arguments.length;\nswitch (G__10850) {\ncase 1:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (array){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,(0));\n}));\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,i){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,i);\n}));\n\n(cljs.core.array_seq.cljs$lang$maxFixedArity \x3d 2);\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RSeq \x3d (function (ci,i,meta){\nthis.ci \x3d ci;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.RSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.RSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.RSeq.prototype.indexOf \x3d (function() {\nvar G__12901 \x3d null;\nvar G__12901__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__12901__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12901 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12901__1.call(this,x);\ncase 2:\nreturn G__12901__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12901.cljs$core$IFn$_invoke$arity$1 \x3d G__12901__1;\nG__12901.cljs$core$IFn$_invoke$arity$2 \x3d G__12901__2;\nreturn G__12901;\n})()\n);\n\n(cljs.core.RSeq.prototype.lastIndexOf \x3d (function() {\nvar G__12906 \x3d null;\nvar G__12906__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__12906__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__12906 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__12906__1.call(this,x);\ncase 2:\nreturn G__12906__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12906.cljs$core$IFn$_invoke$arity$1 \x3d G__12906__1;\nG__12906.cljs$core$IFn$_invoke$arity$2 \x3d G__12906__2;\nreturn G__12906;\n})()\n);\n\n(cljs.core.RSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RSeq(self__.ci,self__.i,self__.meta));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.i + (1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (col,f){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,col__$1) : cljs.core.seq_reduce.call(null,f,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (col,f,start){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,col__$1) : cljs.core.seq_reduce.call(null,f,start,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.ci,self__.i);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.RSeq(self__.ci,self__.i,new_meta));\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.RSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ci\x22,\x22ci\x22,2049808339,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.RSeq.cljs$lang$type \x3d true);\n\n(cljs.core.RSeq.cljs$lang$ctorStr \x3d \x22cljs.core/RSeq\x22);\n\n(cljs.core.RSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RSeq.\n */\ncljs.core.__GT_RSeq \x3d (function cljs$core$__GT_RSeq(ci,i,meta){\nreturn (new cljs.core.RSeq(ci,i,meta));\n});\n\n(cljs.core.RSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Same as (first (next x))\n */\ncljs.core.second \x3d (function cljs$core$second(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (first (first x))\n */\ncljs.core.ffirst \x3d (function cljs$core$ffirst(coll){\nreturn cljs.core.first(cljs.core.first(coll));\n});\n/**\n * Same as (next (first x))\n */\ncljs.core.nfirst \x3d (function cljs$core$nfirst(coll){\nreturn cljs.core.next(cljs.core.first(coll));\n});\n/**\n * Same as (first (next x))\n */\ncljs.core.fnext \x3d (function cljs$core$fnext(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (next (next x))\n */\ncljs.core.nnext \x3d (function cljs$core$nnext(coll){\nreturn cljs.core.next(cljs.core.next(coll));\n});\n/**\n * Return the last item in coll, in linear time\n */\ncljs.core.last \x3d (function cljs$core$last(s){\nwhile(true){\nvar sn \x3d cljs.core.next(s);\nif((!((sn \x3d\x3d null)))){\nvar G__12927 \x3d sn;\ns \x3d G__12927;\ncontinue;\n} else {\nreturn cljs.core.first(s);\n}\nbreak;\n}\n});\n(cljs.core.IEquiv[\x22_\x22] \x3d true);\n\n(cljs.core._equiv[\x22_\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n/**\n * conj[oin]. Returns a new collection with the xs\n * \x27added\x27. (conj nil item) returns (item).\n * (conj coll) returns coll. (conj) returns [].\n * The \x27addition\x27 may happen at different \x27places\x27 depending\n * on the concrete type.\n */\ncljs.core.conj \x3d (function cljs$core$conj(var_args){\nvar G__10855 \x3d arguments.length;\nswitch (G__10855) {\ncase 0:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12930 \x3d arguments.length;\nvar i__5770__auto___12931 \x3d (0);\nwhile(true){\nif((i__5770__auto___12931 \x3c len__5769__auto___12930)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12931]));\n\nvar G__12932 \x3d (i__5770__auto___12931 + (1));\ni__5770__auto___12931 \x3d G__12932;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._conj(coll,x);\n} else {\nreturn (new cljs.core.List(null,x,null,(1),null));\n}\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,x,xs){\nwhile(true){\nif(cljs.core.truth_(xs)){\nvar G__12935 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\nvar G__12936 \x3d cljs.core.first(xs);\nvar G__12937 \x3d cljs.core.next(xs);\ncoll \x3d G__12935;\nx \x3d G__12936;\nxs \x3d G__12937;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj.cljs$lang$applyTo \x3d (function (seq10852){\nvar G__10853 \x3d cljs.core.first(seq10852);\nvar seq10852__$1 \x3d cljs.core.next(seq10852);\nvar G__10854 \x3d cljs.core.first(seq10852__$1);\nvar seq10852__$2 \x3d cljs.core.next(seq10852__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10853,G__10854,seq10852__$2);\n}));\n\n(cljs.core.conj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns an empty collection of the same category as coll, or nil\n */\ncljs.core.empty \x3d (function cljs$core$empty(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:false):false)){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll))){\nreturn cljs.core._empty(coll);\n} else {\nreturn null;\n\n}\n}\n}\n});\ncljs.core.accumulating_seq_count \x3d (function cljs$core$accumulating_seq_count(coll){\nvar s \x3d cljs.core.seq(coll);\nvar acc \x3d (0);\nwhile(true){\nif(cljs.core.counted_QMARK_(s)){\nreturn (acc + cljs.core._count(s));\n} else {\nvar G__12938 \x3d cljs.core.next(s);\nvar G__12939 \x3d (acc + (1));\ns \x3d G__12938;\nacc \x3d G__12939;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Returns the number of items in the collection. (count nil) returns\n * 0. Also works on strings, arrays, and Maps\n */\ncljs.core.count \x3d (function cljs$core$count(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ICounted$))))?true:false):false)){\nreturn coll.cljs$core$ICounted$_count$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn coll.length;\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn coll.length;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn cljs.core.accumulating_seq_count(coll);\n} else {\nreturn cljs.core._count(coll);\n\n}\n}\n}\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.linear_traversal_nth \x3d (function cljs$core$linear_traversal_nth(var_args){\nvar G__10861 \x3d arguments.length;\nswitch (G__10861) {\ncase 2:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nwhile(true){\nif((coll \x3d\x3d null)){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nif(cljs.core.seq(coll)){\nvar G__12941 \x3d cljs.core.next(coll);\nvar G__12942 \x3d (n - (1));\ncoll \x3d G__12941;\nn \x3d G__12942;\ncontinue;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nif(cljs.core.seq(coll)){\nvar G__12943 \x3d cljs.core.next(coll);\nvar G__12944 \x3d (n - (1));\nvar G__12945 \x3d not_found;\ncoll \x3d G__12943;\nn \x3d G__12944;\nnot_found \x3d G__12945;\ncontinue;\n} else {\nreturn not_found;\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the value at the index. get returns nil if index out of\n * bounds, nth throws an exception unless not-found is supplied. nth\n * also works for strings, arrays, regex Matchers and Lists, and,\n * in O(n) time, for sequences.\n */\ncljs.core.nth \x3d (function cljs$core$nth(var_args){\nvar G__10863 \x3d arguments.length;\nswitch (G__10863) {\ncase 2:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn coll;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif((function (){var or__5045__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(coll,n);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number.\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,n,not_found);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif((function (){var or__5045__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nreturn not_found;\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(coll,n,not_found);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the nth rest of coll, coll when n is 0.\n */\ncljs.core.nthrest \x3d (function cljs$core$nthrest(coll,n){\nvar n__$1 \x3d n;\nvar xs \x3d coll;\nwhile(true){\nvar temp__5802__auto__ \x3d (((n__$1 \x3e (0))) \x26\x26 (cljs.core.seq(xs)));\nif(temp__5802__auto__){\nvar xs__$1 \x3d temp__5802__auto__;\nvar G__12972 \x3d (n__$1 - (1));\nvar G__12973 \x3d cljs.core.rest(xs__$1);\nn__$1 \x3d G__12972;\nxs \x3d G__12973;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n});\n/**\n * Returns the value mapped to key, not-found or nil if key not present\n * in associative collection, set, string, array, or ILookup instance.\n */\ncljs.core.get \x3d (function cljs$core$get(var_args){\nvar G__10871 \x3d arguments.length;\nswitch (G__10871) {\ncase 2:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$2(null,k);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 ((k \x3c o.length)))){\nreturn (o[(k | (0))]);\n} else {\nreturn null;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k);\n} else {\nreturn null;\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((!((o \x3d\x3d null)))){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn (o[(k | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}\n}\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.get.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * assoc[iate]. When applied to a map, returns a new map of the\n * same (hashed/sorted) type, that contains the mapping of key(s) to\n * val(s). When applied to a vector, returns a new vector that\n * contains val at index. Note - index must be \x3c\x3d (count vector).\n */\ncljs.core.assoc \x3d (function cljs$core$assoc(var_args){\nvar G__10879 \x3d arguments.length;\nswitch (G__10879) {\ncase 3:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12982 \x3d arguments.length;\nvar i__5770__auto___12983 \x3d (0);\nwhile(true){\nif((i__5770__auto___12983 \x3c len__5769__auto___12982)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12983]));\n\nvar G__12984 \x3d (i__5770__auto___12983 + (1));\ni__5770__auto___12983 \x3d G__12984;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,k,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(null,k,v);\n} else {\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._assoc(coll,k,v);\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([k,v]);\n}\n}\n}));\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,v,kvs){\nwhile(true){\nvar ret \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(coll,k,v);\nif(cljs.core.truth_(kvs)){\nvar G__12985 \x3d ret;\nvar G__12986 \x3d cljs.core.first(kvs);\nvar G__12987 \x3d cljs.core.second(kvs);\nvar G__12988 \x3d cljs.core.nnext(kvs);\ncoll \x3d G__12985;\nk \x3d G__12986;\nv \x3d G__12987;\nkvs \x3d G__12988;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc.cljs$lang$applyTo \x3d (function (seq10875){\nvar G__10876 \x3d cljs.core.first(seq10875);\nvar seq10875__$1 \x3d cljs.core.next(seq10875);\nvar G__10877 \x3d cljs.core.first(seq10875__$1);\nvar seq10875__$2 \x3d cljs.core.next(seq10875__$1);\nvar G__10878 \x3d cljs.core.first(seq10875__$2);\nvar seq10875__$3 \x3d cljs.core.next(seq10875__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10876,G__10877,G__10878,seq10875__$3);\n}));\n\n(cljs.core.assoc.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * dissoc[iate]. Returns a new map of the same (hashed/sorted) type,\n * that does not contain a mapping for key(s).\n */\ncljs.core.dissoc \x3d (function cljs$core$dissoc(var_args){\nvar G__10885 \x3d arguments.length;\nswitch (G__10885) {\ncase 1:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12993 \x3d arguments.length;\nvar i__5770__auto___12994 \x3d (0);\nwhile(true){\nif((i__5770__auto___12994 \x3c len__5769__auto___12993)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12994]));\n\nvar G__12995 \x3d (i__5770__auto___12994 + (1));\ni__5770__auto___12994 \x3d G__12995;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._dissoc(coll,k);\n}\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__13007 \x3d ret;\nvar G__13008 \x3d cljs.core.first(ks);\nvar G__13009 \x3d cljs.core.next(ks);\ncoll \x3d G__13007;\nk \x3d G__13008;\nks \x3d G__13009;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc.cljs$lang$applyTo \x3d (function (seq10882){\nvar G__10883 \x3d cljs.core.first(seq10882);\nvar seq10882__$1 \x3d cljs.core.next(seq10882);\nvar G__10884 \x3d cljs.core.first(seq10882__$1);\nvar seq10882__$2 \x3d cljs.core.next(seq10882__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10883,G__10884,seq10882__$2);\n}));\n\n(cljs.core.dissoc.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return true if f is a JavaScript function or satisfies the Fn protocol.\n */\ncljs.core.fn_QMARK_ \x3d (function cljs$core$fn_QMARK_(f){\nvar or__5045__auto__ \x3d typeof f \x3d\x3d\x3d \x27function\x27;\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$Fn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.MetaFn \x3d (function (afn,meta){\nthis.afn \x3d afn;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393217;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MetaFn.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.MetaFn(self__.afn,new_meta));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MetaFn.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__10888 \x3d (arguments.length - (1));\nswitch (G__10888) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MetaFn.prototype.apply \x3d (function (self__,args10887){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args10887)));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$0 ? self__.afn.cljs$core$IFn$_invoke$arity$0() : self__.afn.call(null));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$1 ? self__.afn.cljs$core$IFn$_invoke$arity$1(a) : self__.afn.call(null,a));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$2 ? self__.afn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.afn.call(null,a,b));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$3 ? self__.afn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.afn.call(null,a,b,c));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$4 ? self__.afn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.afn.call(null,a,b,c,d));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$5 ? self__.afn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.afn.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$6 ? self__.afn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.afn.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$7 ? self__.afn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.afn.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$8 ? self__.afn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.afn.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$9 ? self__.afn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.afn.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$10 ? self__.afn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$11 ? self__.afn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$12 ? self__.afn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$13 ? self__.afn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$14 ? self__.afn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$15 ? self__.afn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$16 ? self__.afn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$17 ? self__.afn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$18 ? self__.afn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$19 ? self__.afn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$20 ? self__.afn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$22 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$22(self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : cljs.core.apply.call(null,self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n}));\n\n(cljs.core.MetaFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22afn\x22,\x22afn\x22,216963467,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.MetaFn.cljs$lang$type \x3d true);\n\n(cljs.core.MetaFn.cljs$lang$ctorStr \x3d \x22cljs.core/MetaFn\x22);\n\n(cljs.core.MetaFn.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MetaFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MetaFn.\n */\ncljs.core.__GT_MetaFn \x3d (function cljs$core$__GT_MetaFn(afn,meta){\nreturn (new cljs.core.MetaFn(afn,meta));\n});\n\n/**\n * Returns an object of the same type and value as obj, with\n * map m as its metadata.\n */\ncljs.core.with_meta \x3d (function cljs$core$with_meta(o,meta){\nif(typeof o \x3d\x3d\x3d \x27function\x27){\nreturn (new cljs.core.MetaFn(o,meta));\n} else {\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._with_meta(o,meta);\n}\n}\n});\n/**\n * Returns the metadata of obj, returns nil if there is no metadata.\n */\ncljs.core.meta \x3d (function cljs$core$meta(o){\nif((function (){var and__5043__auto__ \x3d (!((o \x3d\x3d null)));\nif(and__5043__auto__){\nif((!((o \x3d\x3d null)))){\nif((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$)))){\nreturn true;\n} else {\nif((!o.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n}\n} else {\nreturn and__5043__auto__;\n}\n})()){\nreturn cljs.core._meta(o);\n} else {\nreturn null;\n}\n});\n/**\n * For a list or queue, same as first, for a vector, same as, but much\n * more efficient than, last. If the collection is empty, returns nil.\n */\ncljs.core.peek \x3d (function cljs$core$peek(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._peek(coll);\n}\n});\n/**\n * For a list or queue, returns a new list/queue without the first\n * item, for a vector, returns a new vector without the last item.\n * Note - not the same as next/butlast.\n */\ncljs.core.pop \x3d (function cljs$core$pop(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._pop(coll);\n}\n});\n/**\n * disj[oin]. Returns a new set of the same (hashed/sorted) type, that\n * does not contain key(s).\n */\ncljs.core.disj \x3d (function cljs$core$disj(var_args){\nvar G__10894 \x3d arguments.length;\nswitch (G__10894) {\ncase 1:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13092 \x3d arguments.length;\nvar i__5770__auto___13093 \x3d (0);\nwhile(true){\nif((i__5770__auto___13093 \x3c len__5769__auto___13092)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13093]));\n\nvar G__13094 \x3d (i__5770__auto___13093 + (1));\ni__5770__auto___13093 \x3d G__13094;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._disjoin(coll,k);\n}\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__13116 \x3d ret;\nvar G__13117 \x3d cljs.core.first(ks);\nvar G__13118 \x3d cljs.core.next(ks);\ncoll \x3d G__13116;\nk \x3d G__13117;\nks \x3d G__13118;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj.cljs$lang$applyTo \x3d (function (seq10891){\nvar G__10892 \x3d cljs.core.first(seq10891);\nvar seq10891__$1 \x3d cljs.core.next(seq10891);\nvar G__10893 \x3d cljs.core.first(seq10891__$1);\nvar seq10891__$2 \x3d cljs.core.next(seq10891__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10892,G__10893,seq10891__$2);\n}));\n\n(cljs.core.disj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if coll has no items - same as (not (seq coll)).\n * Please use the idiom (seq x) rather than (not (empty? x))\n */\ncljs.core.empty_QMARK_ \x3d (function cljs$core$empty_QMARK_(coll){\nreturn (((coll \x3d\x3d null)) || (cljs.core.not(cljs.core.seq(coll))));\n});\n/**\n * Returns true if x satisfies ICollection\n */\ncljs.core.coll_QMARK_ \x3d (function cljs$core$coll_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (8))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICollection$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n}\n}\n});\n/**\n * Returns true if x satisfies ISet\n */\ncljs.core.set_QMARK_ \x3d (function cljs$core$set_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n}\n}\n});\n/**\n * Returns true if coll implements IAssociative\n */\ncljs.core.associative_QMARK_ \x3d (function cljs$core$associative_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IAssociative$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n}\n});\n/**\n * Returns true if coll implements IFind\n */\ncljs.core.ifind_QMARK_ \x3d (function cljs$core$ifind_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IFind$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n}\n});\n/**\n * Returns true if coll satisfies ISequential\n */\ncljs.core.sequential_QMARK_ \x3d (function cljs$core$sequential_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n}\n});\n/**\n * Returns true if coll satisfies ISorted\n */\ncljs.core.sorted_QMARK_ \x3d (function cljs$core$sorted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (268435456))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISorted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n}\n});\n/**\n * Returns true if coll satisfies IReduce\n */\ncljs.core.reduceable_QMARK_ \x3d (function cljs$core$reduceable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IReduce$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n}\n});\n/**\n * Return true if x satisfies IMap\n */\ncljs.core.map_QMARK_ \x3d (function cljs$core$map_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n}\n}\n});\n/**\n * Return true if x satisfies IRecord\n */\ncljs.core.record_QMARK_ \x3d (function cljs$core$record_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IRecord$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n}\n});\n/**\n * Return true if x satisfies IVector\n */\ncljs.core.vector_QMARK_ \x3d (function cljs$core$vector_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IVector$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n}\n});\n\n/**\n * Return true if x satisfies IChunkedSeq.\n */\ncljs.core.chunked_seq_QMARK_ \x3d (function cljs$core$chunked_seq_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IChunkedSeq$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n/**\n * Create JavaSript object from an even number arguments representing\n * interleaved keys and values.\n */\ncljs.core.js_obj \x3d (function cljs$core$js_obj(var_args){\nvar G__10908 \x3d arguments.length;\nswitch (G__10908) {\ncase 0:\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13147 \x3d arguments.length;\nvar i__5770__auto___13149 \x3d (0);\nwhile(true){\nif((i__5770__auto___13149 \x3c len__5769__auto___13147)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13149]));\n\nvar G__13151 \x3d (i__5770__auto___13149 + (1));\ni__5770__auto___13149 \x3d G__13151;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((0)),(0),null));\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn ({});\n}));\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$2 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.goog$module$goog$object.create,keyvals) : cljs.core.apply.call(null,cljs.core.goog$module$goog$object.create,keyvals));\n}));\n\n/** @this {Function} */\n(cljs.core.js_obj.cljs$lang$applyTo \x3d (function (seq10907){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq10907));\n}));\n\n(cljs.core.js_obj.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Return the JavaScript keys for an object.\n */\ncljs.core.js_keys \x3d (function cljs$core$js_keys(obj){\nreturn cljs.core.goog$module$goog$object.getKeys(obj);\n});\n/**\n * Delete a property from a JavaScript object.\n * Returns true upon success, false otherwise.\n */\ncljs.core.js_delete \x3d (function cljs$core$js_delete(obj,key){\nreturn delete obj[key];\n});\ncljs.core.array_copy \x3d (function cljs$core$array_copy(from,i,to,j,len){\nvar i__$1 \x3d i;\nvar j__$1 \x3d j;\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__13154 \x3d (i__$1 + (1));\nvar G__13155 \x3d (j__$1 + (1));\nvar G__13156 \x3d (len__$1 - (1));\ni__$1 \x3d G__13154;\nj__$1 \x3d G__13155;\nlen__$1 \x3d G__13156;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.array_copy_downward \x3d (function cljs$core$array_copy_downward(from,i,to,j,len){\nvar i__$1 \x3d (i + (len - (1)));\nvar j__$1 \x3d (j + (len - (1)));\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__13165 \x3d (i__$1 - (1));\nvar G__13166 \x3d (j__$1 - (1));\nvar G__13167 \x3d (len__$1 - (1));\ni__$1 \x3d G__13165;\nj__$1 \x3d G__13166;\nlen__$1 \x3d G__13167;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.lookup_sentinel \x3d ({});\n/**\n * Returns true if x is the value false, false otherwise.\n */\ncljs.core.false_QMARK_ \x3d (function cljs$core$false_QMARK_(x){\nreturn x \x3d\x3d\x3d false;\n});\n/**\n * Returns true if x is the value true, false otherwise.\n */\ncljs.core.true_QMARK_ \x3d (function cljs$core$true_QMARK_(x){\nreturn x \x3d\x3d\x3d true;\n});\n/**\n * Return true if x is a Boolean\n */\ncljs.core.boolean_QMARK_ \x3d (function cljs$core$boolean_QMARK_(x){\nreturn ((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false));\n});\n/**\n * Returns true if x identical to the JavaScript undefined value.\n */\ncljs.core.undefined_QMARK_ \x3d (function cljs$core$undefined_QMARK_(x){\nreturn (void 0 \x3d\x3d\x3d x);\n});\n/**\n * Return true if s satisfies ISeq\n */\ncljs.core.seq_QMARK_ \x3d (function cljs$core$seq_QMARK_(s){\nif((s \x3d\x3d null)){\nreturn false;\n} else {\nif((!((s \x3d\x3d null)))){\nif((((s.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$ISeq$)))){\nreturn true;\n} else {\nif((!s.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n}\n}\n});\n/**\n * Return true if the seq function is supported for s\n */\ncljs.core.seqable_QMARK_ \x3d (function cljs$core$seqable_QMARK_(s){\nvar or__5045__auto__ \x3d (s \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$ISeqable$))))?true:(((!s.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn ((cljs.core.array_QMARK_(s)) || (typeof s \x3d\x3d\x3d \x27string\x27));\n}\n}\n});\n/**\n * Coerce to boolean\n */\ncljs.core.boolean$ \x3d (function cljs$core$boolean(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n});\n/**\n * Returns true if f returns true for fn? or satisfies IFn.\n */\ncljs.core.ifn_QMARK_ \x3d (function cljs$core$ifn_QMARK_(f){\nvar or__5045__auto__ \x3d cljs.core.fn_QMARK_(f);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif((((f.cljs$lang$protocol_mask$partition0$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$IFn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n}\n}\n});\n/**\n * Returns true if n is a JavaScript number with no decimal part.\n */\ncljs.core.integer_QMARK_ \x3d (function cljs$core$integer_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))));\n});\n/**\n * INTERNAL: do not use\n */\ncljs.core.LongImpl \x3d cljs.core.goog$module$goog$math$Long;\n/**\n * Return true if x satisfies integer? or is an instance of goog.math.Integer\n * or goog.math.Long.\n */\ncljs.core.int_QMARK_ \x3d (function cljs$core$int_QMARK_(x){\nreturn ((cljs.core.integer_QMARK_(x)) || ((((x instanceof goog.math.Integer)) || ((x instanceof cljs.core.goog$module$goog$math$Long)))));\n});\n/**\n * Return true if x satisfies int? and is positive.\n */\ncljs.core.pos_int_QMARK_ \x3d (function cljs$core$pos_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3e (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is negative.\n */\ncljs.core.neg_int_QMARK_ \x3d (function cljs$core$neg_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3c (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn x.isNegative();\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn x.isNegative();\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is a natural integer value.\n */\ncljs.core.nat_int_QMARK_ \x3d (function cljs$core$nat_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (!((x \x3c (0))));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn cljs.core.not(x.isNegative());\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn cljs.core.not(x.isNegative());\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.float_QMARK_ \x3d (function cljs$core$float_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.double_QMARK_ \x3d (function cljs$core$double_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for Infinity and -Infinity values.\n */\ncljs.core.infinite_QMARK_ \x3d (function cljs$core$infinite_QMARK_(x){\nreturn (((x \x3d\x3d\x3d Number.POSITIVE_INFINITY)) || ((x \x3d\x3d\x3d Number.NEGATIVE_INFINITY)));\n});\n/**\n * Returns true if key is present in the given collection, otherwise\n * returns false. Note that for numerically indexed collections like\n * vectors and arrays, this tests if the numeric key is within the\n * range of indexes. \x27contains?\x27 operates constant or logarithmic time;\n * it will not perform a linear search for a value. See also \x27some\x27.\n */\ncljs.core.contains_QMARK_ \x3d (function cljs$core$contains_QMARK_(coll,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(null,v);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,coll)){\nreturn cljs.core._contains_key_QMARK_(coll,v);\n} else {\nif((cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core.find \x3d (function cljs$core$find(coll,k){\nif(cljs.core.ifind_QMARK_(coll)){\nreturn cljs.core._find(coll,k);\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 (((cljs.core.associative_QMARK_(coll)) \x26\x26 (cljs.core.contains_QMARK_(coll,k)))))){\nreturn (new cljs.core.MapEntry(k,cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,k),null));\n} else {\nreturn null;\n}\n}\n});\n/**\n * Returns true if no two of the arguments are \x3d\n */\ncljs.core.distinct_QMARK_ \x3d (function cljs$core$distinct_QMARK_(var_args){\nvar G__10921 \x3d arguments.length;\nswitch (G__10921) {\ncase 1:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13196 \x3d arguments.length;\nvar i__5770__auto___13197 \x3d (0);\nwhile(true){\nif((i__5770__auto___13197 \x3c len__5769__auto___13196)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13197]));\n\nvar G__13198 \x3d (i__5770__auto___13197 + (1));\ni__5770__auto___13197 \x3d G__13198;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)))){\nvar s \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([x,y]);\nvar xs \x3d more;\nwhile(true){\nvar x__$1 \x3d cljs.core.first(xs);\nvar etc \x3d cljs.core.next(xs);\nif(cljs.core.truth_(xs)){\nif(cljs.core.contains_QMARK_(s,x__$1)){\nreturn false;\n} else {\nvar G__13199 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(s,x__$1);\nvar G__13200 \x3d etc;\ns \x3d G__13199;\nxs \x3d G__13200;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.distinct_QMARK_.cljs$lang$applyTo \x3d (function (seq10918){\nvar G__10919 \x3d cljs.core.first(seq10918);\nvar seq10918__$1 \x3d cljs.core.next(seq10918);\nvar G__10920 \x3d cljs.core.first(seq10918__$1);\nvar seq10918__$2 \x3d cljs.core.next(seq10918__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10919,G__10920,seq10918__$2);\n}));\n\n(cljs.core.distinct_QMARK_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Comparator. Returns a negative number, zero, or a positive number\n * when x is logically \x27less than\x27, \x27equal to\x27, or \x27greater than\x27\n * y. Uses IComparable if available and google.array.defaultCompare for objects\n * of the same type and special-cases nil to be less than any other object.\n */\ncljs.core.compare \x3d (function cljs$core$compare(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn (0);\n} else {\nif((x \x3d\x3d null)){\nreturn (-1);\n} else {\nif((y \x3d\x3d null)){\nreturn (1);\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nif(typeof y \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IComparable$))))?true:(((!x.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x))){\nreturn cljs.core._compare(x,y);\n} else {\nif(((((typeof x \x3d\x3d\x3d \x27string\x27) || (((cljs.core.array_QMARK_(x)) || (((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false))))))) \x26\x26 ((cljs.core.type(x) \x3d\x3d\x3d cljs.core.type(y))))){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n\n}\n}\n}\n}\n}\n});\n/**\n * Compare indexed collection.\n */\ncljs.core.compare_indexed \x3d (function cljs$core$compare_indexed(var_args){\nvar G__10924 \x3d arguments.length;\nswitch (G__10924) {\ncase 2:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (xs,ys){\nvar xl \x3d cljs.core.count(xs);\nvar yl \x3d cljs.core.count(ys);\nif((xl \x3c yl)){\nreturn (-1);\n} else {\nif((xl \x3e yl)){\nreturn (1);\n} else {\nif((xl \x3d\x3d\x3d (0))){\nreturn (0);\n} else {\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(xs,ys,xl,(0));\n\n}\n}\n}\n}));\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4 \x3d (function (xs,ys,len,n){\nwhile(true){\nvar d \x3d cljs.core.compare(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(xs,n),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ys,n));\nif((((d \x3d\x3d\x3d (0))) \x26\x26 (((n + (1)) \x3c len)))){\nvar G__13207 \x3d xs;\nvar G__13208 \x3d ys;\nvar G__13209 \x3d len;\nvar G__13210 \x3d (n + (1));\nxs \x3d G__13207;\nys \x3d G__13208;\nlen \x3d G__13209;\nn \x3d G__13210;\ncontinue;\n} else {\nreturn d;\n}\nbreak;\n}\n}));\n\n(cljs.core.compare_indexed.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Given a fn that might be boolean valued or a comparator,\n * return a fn that is a comparator.\n */\ncljs.core.fn__GT_comparator \x3d (function cljs$core$fn__GT_comparator(f){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.compare)){\nreturn cljs.core.compare;\n} else {\nreturn (function (x,y){\nvar r \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\nif(typeof r \x3d\x3d\x3d \x27number\x27){\nreturn r;\n} else {\nif(cljs.core.truth_(r)){\nreturn (-1);\n} else {\nif(cljs.core.truth_((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(y,x) : f.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n}\n}\n}\n});\n}\n});\n/**\n * Returns a sorted sequence of the items in coll. Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort \x3d (function cljs$core$sort(var_args){\nvar G__10926 \x3d arguments.length;\nswitch (G__10926) {\ncase 1:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(cljs.core.compare,coll);\n}));\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$2 \x3d (function (comp,coll){\nif(cljs.core.seq(coll)){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.stableSort(a,cljs.core.fn__GT_comparator(comp));\n\nreturn cljs.core.with_meta(cljs.core.seq(a),cljs.core.meta(coll));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sort.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a sorted sequence of the items in coll, where the sort\n * order is determined by comparing (keyfn item). Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort_by \x3d (function cljs$core$sort_by(var_args){\nvar G__10928 \x3d arguments.length;\nswitch (G__10928) {\ncase 2:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (keyfn,coll){\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(keyfn,cljs.core.compare,coll);\n}));\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (keyfn,comp,coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (x,y){\nvar G__10930 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(x) : keyfn.call(null,x));\nvar G__10931 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(y) : keyfn.call(null,y));\nvar fexpr__10929 \x3d cljs.core.fn__GT_comparator(comp);\nreturn (fexpr__10929.cljs$core$IFn$_invoke$arity$2 ? fexpr__10929.cljs$core$IFn$_invoke$arity$2(G__10930,G__10931) : fexpr__10929.call(null,G__10930,G__10931));\n}),coll);\n}));\n\n(cljs.core.sort_by.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.seq_reduce \x3d (function cljs$core$seq_reduce(var_args){\nvar G__10933 \x3d arguments.length;\nswitch (G__10933) {\ncase 2:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar s \x3d temp__5802__auto__;\nvar G__10934 \x3d f;\nvar G__10935 \x3d cljs.core.first(s);\nvar G__10936 \x3d cljs.core.next(s);\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__10934,G__10935,G__10936) : cljs.core.reduce.call(null,G__10934,G__10935,G__10936));\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nvar val__$1 \x3d val;\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif(coll__$1){\nvar nval \x3d (function (){var G__10937 \x3d val__$1;\nvar G__10938 \x3d cljs.core.first(coll__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10937,G__10938) : f.call(null,G__10937,G__10938));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__13226 \x3d nval;\nvar G__13227 \x3d cljs.core.next(coll__$1);\nval__$1 \x3d G__13226;\ncoll__$1 \x3d G__13227;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.seq_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return a random permutation of coll\n */\ncljs.core.shuffle \x3d (function cljs$core$shuffle(coll){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.shuffle(a);\n\nreturn (cljs.core.vec.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vec.cljs$core$IFn$_invoke$arity$1(a) : cljs.core.vec.call(null,a));\n});\ncljs.core.iter_reduce \x3d (function cljs$core$iter_reduce(var_args){\nvar G__10940 \x3d arguments.length;\nswitch (G__10940) {\ncase 2:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nvar iter \x3d cljs.core._iterator(coll);\nif(cljs.core.truth_(iter.hasNext())){\nvar init \x3d iter.next();\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__10941 \x3d acc;\nvar G__10942 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10941,G__10942) : f.call(null,G__10941,G__10942));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__13236 \x3d nacc;\nacc \x3d G__13236;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,init){\nvar iter \x3d cljs.core._iterator(coll);\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__10943 \x3d acc;\nvar G__10944 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__10943,G__10944) : f.call(null,G__10943,G__10944));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__13237 \x3d nacc;\nacc \x3d G__13237;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.iter_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * f should be a function of 2 arguments. If val is not supplied,\n * returns the result of applying f to the first 2 items in coll, then\n * applying f to that result and the 3rd item, etc. If coll contains no\n * items, f must accept no arguments as well, and reduce returns the\n * result of calling f with no arguments. If coll has only 1 item, it\n * is returned and f is not called. If val is supplied, returns the\n * result of applying f to val and the first item in coll, then\n * applying f to that result and the 2nd item, etc. If coll contains no\n * items, returns val and f is not called.\n */\ncljs.core.reduce \x3d (function cljs$core$reduce(var_args){\nvar G__10946 \x3d arguments.length;\nswitch (G__10946) {\ncase 2:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(null,f);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(null,f,val);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f,val);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,val,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reduces an associative collection. f should be a function of 3\n * arguments. Returns the result of applying f to init, the first key\n * and the first value in coll, then applying f to that result and the\n * 2nd key and value, etc. If coll contains no entries, returns init\n * and f is not called. Note that reduce-kv is supported on vectors,\n * where the keys will be the ordinals.\n */\ncljs.core.reduce_kv \x3d (function cljs$core$reduce_kv(f,init,coll){\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._kv_reduce(coll,f,init);\n} else {\nreturn init;\n}\n});\n/**\n * Returns its argument.\n */\ncljs.core.identity \x3d (function cljs$core$identity(x){\nreturn x;\n});\n/**\n * Takes a reducing function f of 2 args and returns a fn suitable for\n * transduce by adding an arity-1 signature that calls cf (default -\n * identity) on the result argument.\n */\ncljs.core.completing \x3d (function cljs$core$completing(var_args){\nvar G__10950 \x3d arguments.length;\nswitch (G__10950) {\ncase 1:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2(f,cljs.core.identity);\n}));\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,cf){\nreturn (function() {\nvar G__13247 \x3d null;\nvar G__13247__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n});\nvar G__13247__1 \x3d (function (x){\nreturn (cf.cljs$core$IFn$_invoke$arity$1 ? cf.cljs$core$IFn$_invoke$arity$1(x) : cf.call(null,x));\n});\nvar G__13247__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\n});\nG__13247 \x3d function(x,y){\nswitch(arguments.length){\ncase 0:\nreturn G__13247__0.call(this);\ncase 1:\nreturn G__13247__1.call(this,x);\ncase 2:\nreturn G__13247__2.call(this,x,y);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13247.cljs$core$IFn$_invoke$arity$0 \x3d G__13247__0;\nG__13247.cljs$core$IFn$_invoke$arity$1 \x3d G__13247__1;\nG__13247.cljs$core$IFn$_invoke$arity$2 \x3d G__13247__2;\nreturn G__13247;\n})()\n}));\n\n(cljs.core.completing.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * reduce with a transformation of f (xf). If init is not\n * supplied, (f) will be called to produce it. f should be a reducing\n * step function that accepts both 1 and 2 arguments, if it accepts\n * only 2 you can add the arity-1 with \x27completing\x27. Returns the result\n * of applying (the transformed) xf to init and the first item in coll,\n * then applying xf to that result and the 2nd item, etc. If coll\n * contains no items, returns init and f is not called. Note that\n * certain transforms may inject or skip items.\n */\ncljs.core.transduce \x3d (function cljs$core$transduce(var_args){\nvar G__10952 \x3d arguments.length;\nswitch (G__10952) {\ncase 3:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (xform,f,coll){\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,f,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),coll);\n}));\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (xform,f,init,coll){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar ret \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(f__$1,init,coll);\nreturn (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(ret) : f__$1.call(null,ret));\n}));\n\n(cljs.core.transduce.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core._PLUS_ \x3d (function cljs$core$_PLUS_(var_args){\nvar G__10957 \x3d arguments.length;\nswitch (G__10957) {\ncase 0:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13257 \x3d arguments.length;\nvar i__5770__auto___13258 \x3d (0);\nwhile(true){\nif((i__5770__auto___13258 \x3c len__5769__auto___13257)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13258]));\n\nvar G__13259 \x3d (i__5770__auto___13258 + (1));\ni__5770__auto___13258 \x3d G__13259;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._PLUS_,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._PLUS_.cljs$lang$applyTo \x3d (function (seq10954){\nvar G__10955 \x3d cljs.core.first(seq10954);\nvar seq10954__$1 \x3d cljs.core.next(seq10954);\nvar G__10956 \x3d cljs.core.first(seq10954__$1);\nvar seq10954__$2 \x3d cljs.core.next(seq10954__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10955,G__10956,seq10954__$2);\n}));\n\n(cljs.core._PLUS_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core._ \x3d (function cljs$core$_(var_args){\nvar G__10962 \x3d arguments.length;\nswitch (G__10962) {\ncase 1:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13272 \x3d arguments.length;\nvar i__5770__auto___13273 \x3d (0);\nwhile(true){\nif((i__5770__auto___13273 \x3c len__5769__auto___13272)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13273]));\n\nvar G__13274 \x3d (i__5770__auto___13273 + (1));\ni__5770__auto___13273 \x3d G__13274;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._.cljs$lang$applyTo \x3d (function (seq10959){\nvar G__10960 \x3d cljs.core.first(seq10959);\nvar seq10959__$1 \x3d cljs.core.next(seq10959);\nvar G__10961 \x3d cljs.core.first(seq10959__$1);\nvar seq10959__$2 \x3d cljs.core.next(seq10959__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10960,G__10961,seq10959__$2);\n}));\n\n(cljs.core._.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core._STAR_ \x3d (function cljs$core$_STAR_(var_args){\nvar G__10967 \x3d arguments.length;\nswitch (G__10967) {\ncase 0:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13280 \x3d arguments.length;\nvar i__5770__auto___13281 \x3d (0);\nwhile(true){\nif((i__5770__auto___13281 \x3c len__5769__auto___13280)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13281]));\n\nvar G__13282 \x3d (i__5770__auto___13281 + (1));\ni__5770__auto___13281 \x3d G__13282;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._STAR_,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._STAR_.cljs$lang$applyTo \x3d (function (seq10964){\nvar G__10965 \x3d cljs.core.first(seq10964);\nvar seq10964__$1 \x3d cljs.core.next(seq10964);\nvar G__10966 \x3d cljs.core.first(seq10964__$1);\nvar seq10964__$2 \x3d cljs.core.next(seq10964__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10965,G__10966,seq10964__$2);\n}));\n\n(cljs.core._STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no denominators are supplied, returns 1/numerator,\n * else returns numerator divided by all of the denominators.\n */\ncljs.core._SLASH_ \x3d (function cljs$core$_SLASH_(var_args){\nvar G__10972 \x3d arguments.length;\nswitch (G__10972) {\ncase 1:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13284 \x3d arguments.length;\nvar i__5770__auto___13285 \x3d (0);\nwhile(true){\nif((i__5770__auto___13285 \x3c len__5769__auto___13284)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13285]));\n\nvar G__13286 \x3d (i__5770__auto___13285 + (1));\ni__5770__auto___13285 \x3d G__13286;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._SLASH_,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._SLASH_.cljs$lang$applyTo \x3d (function (seq10969){\nvar G__10970 \x3d cljs.core.first(seq10969);\nvar seq10969__$1 \x3d cljs.core.next(seq10969);\nvar G__10971 \x3d cljs.core.first(seq10969__$1);\nvar seq10969__$2 \x3d cljs.core.next(seq10969__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10970,G__10971,seq10969__$2);\n}));\n\n(cljs.core._SLASH_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically increasing order,\n * otherwise false.\n */\ncljs.core._LT_ \x3d (function cljs$core$_LT_(var_args){\nvar G__10977 \x3d arguments.length;\nswitch (G__10977) {\ncase 1:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13288 \x3d arguments.length;\nvar i__5770__auto___13289 \x3d (0);\nwhile(true){\nif((i__5770__auto___13289 \x3c len__5769__auto___13288)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13289]));\n\nvar G__13290 \x3d (i__5770__auto___13289 + (1));\ni__5770__auto___13289 \x3d G__13290;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c y);\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c y)){\nif(cljs.core.next(more)){\nvar G__13291 \x3d y;\nvar G__13292 \x3d cljs.core.first(more);\nvar G__13293 \x3d cljs.core.next(more);\nx \x3d G__13291;\ny \x3d G__13292;\nmore \x3d G__13293;\ncontinue;\n} else {\nreturn (y \x3c cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT_.cljs$lang$applyTo \x3d (function (seq10974){\nvar G__10975 \x3d cljs.core.first(seq10974);\nvar seq10974__$1 \x3d cljs.core.next(seq10974);\nvar G__10976 \x3d cljs.core.first(seq10974__$1);\nvar seq10974__$2 \x3d cljs.core.next(seq10974__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10975,G__10976,seq10974__$2);\n}));\n\n(cljs.core._LT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-decreasing order,\n * otherwise false.\n */\ncljs.core._LT__EQ_ \x3d (function cljs$core$_LT__EQ_(var_args){\nvar G__10982 \x3d arguments.length;\nswitch (G__10982) {\ncase 1:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13295 \x3d arguments.length;\nvar i__5770__auto___13296 \x3d (0);\nwhile(true){\nif((i__5770__auto___13296 \x3c len__5769__auto___13295)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13296]));\n\nvar G__13297 \x3d (i__5770__auto___13296 + (1));\ni__5770__auto___13296 \x3d G__13297;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c\x3d y);\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c\x3d y)){\nif(cljs.core.next(more)){\nvar G__13307 \x3d y;\nvar G__13308 \x3d cljs.core.first(more);\nvar G__13309 \x3d cljs.core.next(more);\nx \x3d G__13307;\ny \x3d G__13308;\nmore \x3d G__13309;\ncontinue;\n} else {\nreturn (y \x3c\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT__EQ_.cljs$lang$applyTo \x3d (function (seq10979){\nvar G__10980 \x3d cljs.core.first(seq10979);\nvar seq10979__$1 \x3d cljs.core.next(seq10979);\nvar G__10981 \x3d cljs.core.first(seq10979__$1);\nvar seq10979__$2 \x3d cljs.core.next(seq10979__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10980,G__10981,seq10979__$2);\n}));\n\n(cljs.core._LT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically decreasing order,\n * otherwise false.\n */\ncljs.core._GT_ \x3d (function cljs$core$_GT_(var_args){\nvar G__10987 \x3d arguments.length;\nswitch (G__10987) {\ncase 1:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13319 \x3d arguments.length;\nvar i__5770__auto___13320 \x3d (0);\nwhile(true){\nif((i__5770__auto___13320 \x3c len__5769__auto___13319)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13320]));\n\nvar G__13321 \x3d (i__5770__auto___13320 + (1));\ni__5770__auto___13320 \x3d G__13321;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e y);\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e y)){\nif(cljs.core.next(more)){\nvar G__13322 \x3d y;\nvar G__13323 \x3d cljs.core.first(more);\nvar G__13324 \x3d cljs.core.next(more);\nx \x3d G__13322;\ny \x3d G__13323;\nmore \x3d G__13324;\ncontinue;\n} else {\nreturn (y \x3e cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT_.cljs$lang$applyTo \x3d (function (seq10984){\nvar G__10985 \x3d cljs.core.first(seq10984);\nvar seq10984__$1 \x3d cljs.core.next(seq10984);\nvar G__10986 \x3d cljs.core.first(seq10984__$1);\nvar seq10984__$2 \x3d cljs.core.next(seq10984__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10985,G__10986,seq10984__$2);\n}));\n\n(cljs.core._GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-increasing order,\n * otherwise false.\n */\ncljs.core._GT__EQ_ \x3d (function cljs$core$_GT__EQ_(var_args){\nvar G__10992 \x3d arguments.length;\nswitch (G__10992) {\ncase 1:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13326 \x3d arguments.length;\nvar i__5770__auto___13327 \x3d (0);\nwhile(true){\nif((i__5770__auto___13327 \x3c len__5769__auto___13326)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13327]));\n\nvar G__13328 \x3d (i__5770__auto___13327 + (1));\ni__5770__auto___13327 \x3d G__13328;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e\x3d y);\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e\x3d y)){\nif(cljs.core.next(more)){\nvar G__13334 \x3d y;\nvar G__13335 \x3d cljs.core.first(more);\nvar G__13336 \x3d cljs.core.next(more);\nx \x3d G__13334;\ny \x3d G__13335;\nmore \x3d G__13336;\ncontinue;\n} else {\nreturn (y \x3e\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT__EQ_.cljs$lang$applyTo \x3d (function (seq10989){\nvar G__10990 \x3d cljs.core.first(seq10989);\nvar seq10989__$1 \x3d cljs.core.next(seq10989);\nvar G__10991 \x3d cljs.core.first(seq10989__$1);\nvar seq10989__$2 \x3d cljs.core.next(seq10989__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10990,G__10991,seq10989__$2);\n}));\n\n(cljs.core._GT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than num.\n */\ncljs.core.dec \x3d (function cljs$core$dec(x){\nreturn (x - (1));\n});\n/**\n * Returns the absolute value of a.\n */\ncljs.core.abs \x3d (function cljs$core$abs(a){\nreturn Math.abs(a);\n});\n/**\n * Returns the greatest of the nums.\n */\ncljs.core.max \x3d (function cljs$core$max(var_args){\nvar G__10997 \x3d arguments.length;\nswitch (G__10997) {\ncase 1:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13338 \x3d arguments.length;\nvar i__5770__auto___13339 \x3d (0);\nwhile(true){\nif((i__5770__auto___13339 \x3c len__5769__auto___13338)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13339]));\n\nvar G__13340 \x3d (i__5770__auto___13339 + (1));\ni__5770__auto___13339 \x3d G__13340;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5130__auto__ \x3d x;\nvar y__5131__auto__ \x3d y;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(function (){var x__5130__auto__ \x3d x;\nvar y__5131__auto__ \x3d y;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max.cljs$lang$applyTo \x3d (function (seq10994){\nvar G__10995 \x3d cljs.core.first(seq10994);\nvar seq10994__$1 \x3d cljs.core.next(seq10994);\nvar G__10996 \x3d cljs.core.first(seq10994__$1);\nvar seq10994__$2 \x3d cljs.core.next(seq10994__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__10995,G__10996,seq10994__$2);\n}));\n\n(cljs.core.max.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the least of the nums.\n */\ncljs.core.min \x3d (function cljs$core$min(var_args){\nvar G__11002 \x3d arguments.length;\nswitch (G__11002) {\ncase 1:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13342 \x3d arguments.length;\nvar i__5770__auto___13343 \x3d (0);\nwhile(true){\nif((i__5770__auto___13343 \x3c len__5769__auto___13342)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13343]));\n\nvar G__13344 \x3d (i__5770__auto___13343 + (1));\ni__5770__auto___13343 \x3d G__13344;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5133__auto__ \x3d x;\nvar y__5134__auto__ \x3d y;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.min,(function (){var x__5133__auto__ \x3d x;\nvar y__5134__auto__ \x3d y;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min.cljs$lang$applyTo \x3d (function (seq10999){\nvar G__11000 \x3d cljs.core.first(seq10999);\nvar seq10999__$1 \x3d cljs.core.next(seq10999);\nvar G__11001 \x3d cljs.core.first(seq10999__$1);\nvar seq10999__$2 \x3d cljs.core.next(seq10999__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11000,G__11001,seq10999__$2);\n}));\n\n(cljs.core.min.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.byte$ \x3d (function cljs$core$byte(x){\nreturn x;\n});\n/**\n * Coerce to char\n */\ncljs.core.char$ \x3d (function cljs$core$char(x){\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn String.fromCharCode(x);\n} else {\nif(((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 ((x.length \x3d\x3d\x3d (1))))){\nreturn x;\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.core.short$ \x3d (function cljs$core$short(x){\nreturn x;\n});\ncljs.core.float$ \x3d (function cljs$core$float(x){\nreturn x;\n});\ncljs.core.double$ \x3d (function cljs$core$double(x){\nreturn x;\n});\ncljs.core.unchecked_byte \x3d (function cljs$core$unchecked_byte(x){\nreturn x;\n});\ncljs.core.unchecked_char \x3d (function cljs$core$unchecked_char(x){\nreturn x;\n});\ncljs.core.unchecked_short \x3d (function cljs$core$unchecked_short(x){\nreturn x;\n});\ncljs.core.unchecked_float \x3d (function cljs$core$unchecked_float(x){\nreturn x;\n});\ncljs.core.unchecked_double \x3d (function cljs$core$unchecked_double(x){\nreturn x;\n});\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add \x3d (function cljs$core$unchecked_add(var_args){\nvar G__11007 \x3d arguments.length;\nswitch (G__11007) {\ncase 0:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13372 \x3d arguments.length;\nvar i__5770__auto___13373 \x3d (0);\nwhile(true){\nif((i__5770__auto___13373 \x3c len__5769__auto___13372)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13373]));\n\nvar G__13374 \x3d (i__5770__auto___13373 + (1));\ni__5770__auto___13373 \x3d G__13374;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add.cljs$lang$applyTo \x3d (function (seq11004){\nvar G__11005 \x3d cljs.core.first(seq11004);\nvar seq11004__$1 \x3d cljs.core.next(seq11004);\nvar G__11006 \x3d cljs.core.first(seq11004__$1);\nvar seq11004__$2 \x3d cljs.core.next(seq11004__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11005,G__11006,seq11004__$2);\n}));\n\n(cljs.core.unchecked_add.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add_int \x3d (function cljs$core$unchecked_add_int(var_args){\nvar G__11012 \x3d arguments.length;\nswitch (G__11012) {\ncase 0:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13376 \x3d arguments.length;\nvar i__5770__auto___13377 \x3d (0);\nwhile(true){\nif((i__5770__auto___13377 \x3c len__5769__auto___13376)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13377]));\n\nvar G__13378 \x3d (i__5770__auto___13377 + (1));\ni__5770__auto___13377 \x3d G__13378;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add_int,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add_int.cljs$lang$applyTo \x3d (function (seq11009){\nvar G__11010 \x3d cljs.core.first(seq11009);\nvar seq11009__$1 \x3d cljs.core.next(seq11009);\nvar G__11011 \x3d cljs.core.first(seq11009__$1);\nvar seq11009__$2 \x3d cljs.core.next(seq11009__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11010,G__11011,seq11009__$2);\n}));\n\n(cljs.core.unchecked_add_int.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec \x3d (function cljs$core$unchecked_dec(x){\nreturn (x - (1));\n});\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec_int \x3d (function cljs$core$unchecked_dec_int(x){\nreturn (x - (1));\n});\n/**\n * If no denominators are supplied, returns 1/numerator,\n * else returns numerator divided by all of the denominators.\n */\ncljs.core.unchecked_divide_int \x3d (function cljs$core$unchecked_divide_int(var_args){\nvar G__11017 \x3d arguments.length;\nswitch (G__11017) {\ncase 1:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13380 \x3d arguments.length;\nvar i__5770__auto___13381 \x3d (0);\nwhile(true){\nif((i__5770__auto___13381 \x3c len__5769__auto___13380)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13381]));\n\nvar G__13382 \x3d (i__5770__auto___13381 + (1));\ni__5770__auto___13381 \x3d G__13382;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_divide_int,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_divide_int.cljs$lang$applyTo \x3d (function (seq11014){\nvar G__11015 \x3d cljs.core.first(seq11014);\nvar seq11014__$1 \x3d cljs.core.next(seq11014);\nvar G__11016 \x3d cljs.core.first(seq11014__$1);\nvar seq11014__$2 \x3d cljs.core.next(seq11014__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11015,G__11016,seq11014__$2);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_inc \x3d (function cljs$core$unchecked_inc(x){\nreturn (x + (1));\n});\ncljs.core.unchecked_inc_int \x3d (function cljs$core$unchecked_inc_int(x){\nreturn (x + (1));\n});\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply \x3d (function cljs$core$unchecked_multiply(var_args){\nvar G__11022 \x3d arguments.length;\nswitch (G__11022) {\ncase 0:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13411 \x3d arguments.length;\nvar i__5770__auto___13412 \x3d (0);\nwhile(true){\nif((i__5770__auto___13412 \x3c len__5769__auto___13411)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13412]));\n\nvar G__13413 \x3d (i__5770__auto___13412 + (1));\ni__5770__auto___13412 \x3d G__13413;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply.cljs$lang$applyTo \x3d (function (seq11019){\nvar G__11020 \x3d cljs.core.first(seq11019);\nvar seq11019__$1 \x3d cljs.core.next(seq11019);\nvar G__11021 \x3d cljs.core.first(seq11019__$1);\nvar seq11019__$2 \x3d cljs.core.next(seq11019__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11020,G__11021,seq11019__$2);\n}));\n\n(cljs.core.unchecked_multiply.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply_int \x3d (function cljs$core$unchecked_multiply_int(var_args){\nvar G__11027 \x3d arguments.length;\nswitch (G__11027) {\ncase 0:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13415 \x3d arguments.length;\nvar i__5770__auto___13416 \x3d (0);\nwhile(true){\nif((i__5770__auto___13416 \x3c len__5769__auto___13415)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13416]));\n\nvar G__13417 \x3d (i__5770__auto___13416 + (1));\ni__5770__auto___13416 \x3d G__13417;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply_int,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply_int.cljs$lang$applyTo \x3d (function (seq11024){\nvar G__11025 \x3d cljs.core.first(seq11024);\nvar seq11024__$1 \x3d cljs.core.next(seq11024);\nvar G__11026 \x3d cljs.core.first(seq11024__$1);\nvar seq11024__$2 \x3d cljs.core.next(seq11024__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11025,G__11026,seq11024__$2);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_negate \x3d (function cljs$core$unchecked_negate(x){\nreturn (- x);\n});\ncljs.core.unchecked_negate_int \x3d (function cljs$core$unchecked_negate_int(x){\nreturn (- x);\n});\ncljs.core.unchecked_remainder_int \x3d (function cljs$core$unchecked_remainder_int(x,n){\nreturn (cljs.core.mod.cljs$core$IFn$_invoke$arity$2 ? cljs.core.mod.cljs$core$IFn$_invoke$arity$2(x,n) : cljs.core.mod.call(null,x,n));\n});\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract \x3d (function cljs$core$unchecked_subtract(var_args){\nvar G__11032 \x3d arguments.length;\nswitch (G__11032) {\ncase 1:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13432 \x3d arguments.length;\nvar i__5770__auto___13433 \x3d (0);\nwhile(true){\nif((i__5770__auto___13433 \x3c len__5769__auto___13432)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13433]));\n\nvar G__13434 \x3d (i__5770__auto___13433 + (1));\ni__5770__auto___13433 \x3d G__13434;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract.cljs$lang$applyTo \x3d (function (seq11029){\nvar G__11030 \x3d cljs.core.first(seq11029);\nvar seq11029__$1 \x3d cljs.core.next(seq11029);\nvar G__11031 \x3d cljs.core.first(seq11029__$1);\nvar seq11029__$2 \x3d cljs.core.next(seq11029__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11030,G__11031,seq11029__$2);\n}));\n\n(cljs.core.unchecked_subtract.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract_int \x3d (function cljs$core$unchecked_subtract_int(var_args){\nvar G__11037 \x3d arguments.length;\nswitch (G__11037) {\ncase 1:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13436 \x3d arguments.length;\nvar i__5770__auto___13437 \x3d (0);\nwhile(true){\nif((i__5770__auto___13437 \x3c len__5769__auto___13436)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13437]));\n\nvar G__13438 \x3d (i__5770__auto___13437 + (1));\ni__5770__auto___13437 \x3d G__13438;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract_int,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract_int.cljs$lang$applyTo \x3d (function (seq11034){\nvar G__11035 \x3d cljs.core.first(seq11034);\nvar seq11034__$1 \x3d cljs.core.next(seq11034);\nvar G__11036 \x3d cljs.core.first(seq11034__$1);\nvar seq11034__$2 \x3d cljs.core.next(seq11034__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11035,G__11036,seq11034__$2);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.fix \x3d (function cljs$core$fix(q){\nif((q \x3e\x3d (0))){\nreturn Math.floor(q);\n} else {\nreturn Math.ceil(q);\n}\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.int$ \x3d (function cljs$core$int(x){\nreturn (x | (0));\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.unchecked_int \x3d (function cljs$core$unchecked_int(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.long$ \x3d (function cljs$core$long(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.unchecked_long \x3d (function cljs$core$unchecked_long(x){\nreturn cljs.core.fix(x);\n});\ncljs.core.booleans \x3d (function cljs$core$booleans(x){\nreturn x;\n});\ncljs.core.bytes \x3d (function cljs$core$bytes(x){\nreturn x;\n});\ncljs.core.chars \x3d (function cljs$core$chars(x){\nreturn x;\n});\ncljs.core.shorts \x3d (function cljs$core$shorts(x){\nreturn x;\n});\ncljs.core.ints \x3d (function cljs$core$ints(x){\nreturn x;\n});\ncljs.core.floats \x3d (function cljs$core$floats(x){\nreturn x;\n});\ncljs.core.doubles \x3d (function cljs$core$doubles(x){\nreturn x;\n});\ncljs.core.longs \x3d (function cljs$core$longs(x){\nreturn x;\n});\n/**\n * Modulus of num and div with original javascript behavior. i.e. bug for negative numbers\n */\ncljs.core.js_mod \x3d (function cljs$core$js_mod(n,d){\nreturn (n % d);\n});\n/**\n * Modulus of num and div. Truncates toward negative infinity.\n */\ncljs.core.mod \x3d (function cljs$core$mod(n,d){\nreturn (((n % d) + d) % d);\n});\n/**\n * quot[ient] of dividing numerator by denominator.\n */\ncljs.core.quot \x3d (function cljs$core$quot(n,d){\nvar rem \x3d (n % d);\nreturn cljs.core.fix(((n - rem) / d));\n});\n/**\n * remainder of dividing numerator by denominator.\n */\ncljs.core.rem \x3d (function cljs$core$rem(n,d){\nvar q \x3d cljs.core.quot(n,d);\nreturn (n - (d * q));\n});\n/**\n * Bitwise exclusive or\n */\ncljs.core.bit_xor \x3d (function cljs$core$bit_xor(var_args){\nvar G__11042 \x3d arguments.length;\nswitch (G__11042) {\ncase 2:\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13440 \x3d arguments.length;\nvar i__5770__auto___13441 \x3d (0);\nwhile(true){\nif((i__5770__auto___13441 \x3c len__5769__auto___13440)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13441]));\n\nvar G__13442 \x3d (i__5770__auto___13441 + (1));\ni__5770__auto___13441 \x3d G__13442;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x ^ y);\n}));\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_xor,(x ^ y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_xor.cljs$lang$applyTo \x3d (function (seq11039){\nvar G__11040 \x3d cljs.core.first(seq11039);\nvar seq11039__$1 \x3d cljs.core.next(seq11039);\nvar G__11041 \x3d cljs.core.first(seq11039__$1);\nvar seq11039__$2 \x3d cljs.core.next(seq11039__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11040,G__11041,seq11039__$2);\n}));\n\n(cljs.core.bit_xor.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and\n */\ncljs.core.bit_and \x3d (function cljs$core$bit_and(var_args){\nvar G__11047 \x3d arguments.length;\nswitch (G__11047) {\ncase 2:\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13444 \x3d arguments.length;\nvar i__5770__auto___13445 \x3d (0);\nwhile(true){\nif((i__5770__auto___13445 \x3c len__5769__auto___13444)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13445]));\n\nvar G__13446 \x3d (i__5770__auto___13445 + (1));\ni__5770__auto___13445 \x3d G__13446;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 y);\n}));\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and,(x \x26 y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and.cljs$lang$applyTo \x3d (function (seq11044){\nvar G__11045 \x3d cljs.core.first(seq11044);\nvar seq11044__$1 \x3d cljs.core.next(seq11044);\nvar G__11046 \x3d cljs.core.first(seq11044__$1);\nvar seq11044__$2 \x3d cljs.core.next(seq11044__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11045,G__11046,seq11044__$2);\n}));\n\n(cljs.core.bit_and.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise or\n */\ncljs.core.bit_or \x3d (function cljs$core$bit_or(var_args){\nvar G__11052 \x3d arguments.length;\nswitch (G__11052) {\ncase 2:\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13474 \x3d arguments.length;\nvar i__5770__auto___13475 \x3d (0);\nwhile(true){\nif((i__5770__auto___13475 \x3c len__5769__auto___13474)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13475]));\n\nvar G__13476 \x3d (i__5770__auto___13475 + (1));\ni__5770__auto___13475 \x3d G__13476;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x | y);\n}));\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_or,(x | y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_or.cljs$lang$applyTo \x3d (function (seq11049){\nvar G__11050 \x3d cljs.core.first(seq11049);\nvar seq11049__$1 \x3d cljs.core.next(seq11049);\nvar G__11051 \x3d cljs.core.first(seq11049__$1);\nvar seq11049__$2 \x3d cljs.core.next(seq11049__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11050,G__11051,seq11049__$2);\n}));\n\n(cljs.core.bit_or.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and with complement\n */\ncljs.core.bit_and_not \x3d (function cljs$core$bit_and_not(var_args){\nvar G__11057 \x3d arguments.length;\nswitch (G__11057) {\ncase 2:\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13478 \x3d arguments.length;\nvar i__5770__auto___13479 \x3d (0);\nwhile(true){\nif((i__5770__auto___13479 \x3c len__5769__auto___13478)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13479]));\n\nvar G__13480 \x3d (i__5770__auto___13479 + (1));\ni__5770__auto___13479 \x3d G__13480;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 ~y);\n}));\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and_not,(x \x26 ~y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and_not.cljs$lang$applyTo \x3d (function (seq11054){\nvar G__11055 \x3d cljs.core.first(seq11054);\nvar seq11054__$1 \x3d cljs.core.next(seq11054);\nvar G__11056 \x3d cljs.core.first(seq11054__$1);\nvar seq11054__$2 \x3d cljs.core.next(seq11054__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11055,G__11056,seq11054__$2);\n}));\n\n(cljs.core.bit_and_not.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Clear bit at index n\n */\ncljs.core.bit_clear \x3d (function cljs$core$bit_clear(x,n){\nreturn (x \x26 ~(1 \x3c\x3c n));\n});\n/**\n * Flip bit at index n\n */\ncljs.core.bit_flip \x3d (function cljs$core$bit_flip(x,n){\nreturn (x ^ (1 \x3c\x3c n));\n});\n/**\n * Bitwise complement\n */\ncljs.core.bit_not \x3d (function cljs$core$bit_not(x){\nreturn (~ x);\n});\n/**\n * Set bit at index n\n */\ncljs.core.bit_set \x3d (function cljs$core$bit_set(x,n){\nreturn (x | (1 \x3c\x3c n));\n});\n/**\n * Test bit at index n\n */\ncljs.core.bit_test \x3d (function cljs$core$bit_test(x,n){\nreturn ((x \x26 (1 \x3c\x3c n)) !\x3d 0);\n});\n/**\n * Bitwise shift left\n */\ncljs.core.bit_shift_left \x3d (function cljs$core$bit_shift_left(x,n){\nreturn (x \x3c\x3c n);\n});\n/**\n * Bitwise shift right\n */\ncljs.core.bit_shift_right \x3d (function cljs$core$bit_shift_right(x,n){\nreturn (x \x3e\x3e n);\n});\n/**\n * DEPRECATED: Bitwise shift right with zero fill\n */\ncljs.core.bit_shift_right_zero_fill \x3d (function cljs$core$bit_shift_right_zero_fill(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Bitwise shift right with zero fill\n */\ncljs.core.unsigned_bit_shift_right \x3d (function cljs$core$unsigned_bit_shift_right(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Counts the number of bits set in n\n */\ncljs.core.bit_count \x3d (function cljs$core$bit_count(v){\nvar v__$1 \x3d (v - ((v \x3e\x3e (1)) \x26 (1431655765)));\nvar v__$2 \x3d ((v__$1 \x26 (858993459)) + ((v__$1 \x3e\x3e (2)) \x26 (858993459)));\nreturn ((((v__$2 + (v__$2 \x3e\x3e (4))) \x26 (252645135)) * (16843009)) \x3e\x3e (24));\n});\n/**\n * Returns non-nil if nums all have the equivalent\n * value, otherwise false. Behavior on non nums is\n * undefined.\n */\ncljs.core._EQ__EQ_ \x3d (function cljs$core$_EQ__EQ_(var_args){\nvar G__11062 \x3d arguments.length;\nswitch (G__11062) {\ncase 1:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13482 \x3d arguments.length;\nvar i__5770__auto___13483 \x3d (0);\nwhile(true){\nif((i__5770__auto___13483 \x3c len__5769__auto___13482)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13483]));\n\nvar G__13484 \x3d (i__5770__auto___13483 + (1));\ni__5770__auto___13483 \x3d G__13484;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn cljs.core._equiv(x,y);\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3d\x3d\x3d y)){\nif(cljs.core.next(more)){\nvar G__13485 \x3d y;\nvar G__13486 \x3d cljs.core.first(more);\nvar G__13487 \x3d cljs.core.next(more);\nx \x3d G__13485;\ny \x3d G__13486;\nmore \x3d G__13487;\ncontinue;\n} else {\nreturn (y \x3d\x3d\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ__EQ_.cljs$lang$applyTo \x3d (function (seq11059){\nvar G__11060 \x3d cljs.core.first(seq11059);\nvar seq11059__$1 \x3d cljs.core.next(seq11059);\nvar G__11061 \x3d cljs.core.first(seq11059__$1);\nvar seq11059__$2 \x3d cljs.core.next(seq11059__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11060,G__11061,seq11059__$2);\n}));\n\n(cljs.core._EQ__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if num is greater than zero, else false\n */\ncljs.core.pos_QMARK_ \x3d (function cljs$core$pos_QMARK_(x){\nreturn (x \x3e (0));\n});\n/**\n * Returns true if num is zero, else false\n */\ncljs.core.zero_QMARK_ \x3d (function cljs$core$zero_QMARK_(x){\nreturn (x \x3d\x3d\x3d (0));\n});\n/**\n * Returns true if num is less than zero, else false\n */\ncljs.core.neg_QMARK_ \x3d (function cljs$core$neg_QMARK_(x){\nreturn (x \x3c (0));\n});\n/**\n * Returns the nth next of coll, (seq coll) when n is 0.\n */\ncljs.core.nthnext \x3d (function cljs$core$nthnext(coll,n){\nvar n__$1 \x3d n;\nvar xs \x3d cljs.core.seq(coll);\nwhile(true){\nif(((xs) \x26\x26 ((n__$1 \x3e (0))))){\nvar G__13535 \x3d (n__$1 - (1));\nvar G__13536 \x3d cljs.core.next(xs);\nn__$1 \x3d G__13535;\nxs \x3d G__13536;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n});\n/**\n * With no args, returns the empty string. With one arg x, returns\n * x.toString(). (str nil) returns the empty string. With more than\n * one arg, returns the concatenation of the str values of the args.\n */\ncljs.core.str \x3d (function cljs$core$str(var_args){\nvar G__11066 \x3d arguments.length;\nswitch (G__11066) {\ncase 0:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___13538 \x3d arguments.length;\nvar i__5770__auto___13539 \x3d (0);\nwhile(true){\nif((i__5770__auto___13539 \x3c len__5769__auto___13538)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___13539]));\n\nvar G__13540 \x3d (i__5770__auto___13539 + (1));\ni__5770__auto___13539 \x3d G__13540;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn \x22\x22;\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nif((x \x3d\x3d null)){\nreturn \x22\x22;\n} else {\nreturn [x].join(\x22\x22);\n}\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,ys){\nvar sb \x3d (new goog.string.StringBuffer(cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)));\nvar more \x3d ys;\nwhile(true){\nif(cljs.core.truth_(more)){\nvar G__13541 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(more)));\nvar G__13542 \x3d cljs.core.next(more);\nsb \x3d G__13541;\nmore \x3d G__13542;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.str.cljs$lang$applyTo \x3d (function (seq11064){\nvar G__11065 \x3d cljs.core.first(seq11064);\nvar seq11064__$1 \x3d cljs.core.next(seq11064);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11065,seq11064__$1);\n}));\n\n(cljs.core.str.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns the substring of s beginning at start inclusive, and ending\n * at end (defaults to length of string), exclusive.\n */\ncljs.core.subs \x3d (function cljs$core$subs(var_args){\nvar G__11068 \x3d arguments.length;\nswitch (G__11068) {\ncase 2:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,start){\nreturn s.substring(start);\n}));\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,start,end){\nreturn s.substring(start,end);\n}));\n\n(cljs.core.subs.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n * Assumes x is sequential. Returns true if x equals y, otherwise\n * returns false.\n */\ncljs.core.equiv_sequential \x3d (function cljs$core$equiv_sequential(x,y){\nreturn cljs.core.boolean$(((cljs.core.sequential_QMARK_(y))?((((cljs.core.counted_QMARK_(x)) \x26\x26 (((cljs.core.counted_QMARK_(y)) \x26\x26 ((!((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))))))))?false:(function (){var xs \x3d cljs.core.seq(x);\nvar ys \x3d cljs.core.seq(y);\nwhile(true){\nif((xs \x3d\x3d null)){\nreturn (ys \x3d\x3d null);\n} else {\nif((ys \x3d\x3d null)){\nreturn false;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(xs),cljs.core.first(ys))){\nvar G__13544 \x3d cljs.core.next(xs);\nvar G__13545 \x3d cljs.core.next(ys);\nxs \x3d G__13544;\nys \x3d G__13545;\ncontinue;\n} else {\nreturn false;\n\n}\n}\n}\nbreak;\n}\n})()):null));\n});\ncljs.core.hash_coll \x3d (function cljs$core$hash_coll(coll){\nif(cljs.core.seq(coll)){\nvar res \x3d cljs.core.hash(cljs.core.first(coll));\nvar s \x3d cljs.core.next(coll);\nwhile(true){\nif((s \x3d\x3d null)){\nreturn res;\n} else {\nvar G__13630 \x3d cljs.core.hash_combine(res,cljs.core.hash(cljs.core.first(s)));\nvar G__13631 \x3d cljs.core.next(s);\nres \x3d G__13630;\ns \x3d G__13631;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n});\n\ncljs.core.hash_imap \x3d (function cljs$core$hash_imap(m){\nvar h \x3d (0);\nvar s \x3d cljs.core.seq(m);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__13632 \x3d ((h + (cljs.core.hash((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e))) ^ cljs.core.hash((cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e))))) % (4503599627370496));\nvar G__13633 \x3d cljs.core.next(s);\nh \x3d G__13632;\ns \x3d G__13633;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\ncljs.core.hash_iset \x3d (function cljs$core$hash_iset(s){\nvar h \x3d (0);\nvar s__$1 \x3d cljs.core.seq(s);\nwhile(true){\nif(s__$1){\nvar e \x3d cljs.core.first(s__$1);\nvar G__13634 \x3d ((h + cljs.core.hash(e)) % (4503599627370496));\nvar G__13635 \x3d cljs.core.next(s__$1);\nh \x3d G__13634;\ns__$1 \x3d G__13635;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\n\n\n/**\n * Takes a JavaScript object and a map of names to functions and\n * attaches said functions as methods on the object. Any references to\n * JavaScript\x27s implicit this (via the this-as macro) will resolve to the\n * object that the function is attached.\n */\ncljs.core.extend_object_BANG_ \x3d (function cljs$core$extend_object_BANG_(obj,fn_map){\nvar seq__11069_13636 \x3d cljs.core.seq(fn_map);\nvar chunk__11070_13637 \x3d null;\nvar count__11071_13638 \x3d (0);\nvar i__11072_13639 \x3d (0);\nwhile(true){\nif((i__11072_13639 \x3c count__11071_13638)){\nvar vec__11079_13640 \x3d chunk__11070_13637.cljs$core$IIndexed$_nth$arity$2(null,i__11072_13639);\nvar key_name_13641 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11079_13640,(0),null);\nvar f_13642 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11079_13640,(1),null);\nvar str_name_13643 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_13641) : cljs.core.name.call(null,key_name_13641));\ncljs.core.goog$module$goog$object.set(obj,str_name_13643,f_13642);\n\n\nvar G__13644 \x3d seq__11069_13636;\nvar G__13645 \x3d chunk__11070_13637;\nvar G__13646 \x3d count__11071_13638;\nvar G__13647 \x3d (i__11072_13639 + (1));\nseq__11069_13636 \x3d G__13644;\nchunk__11070_13637 \x3d G__13645;\ncount__11071_13638 \x3d G__13646;\ni__11072_13639 \x3d G__13647;\ncontinue;\n} else {\nvar temp__5804__auto___13648 \x3d cljs.core.seq(seq__11069_13636);\nif(temp__5804__auto___13648){\nvar seq__11069_13649__$1 \x3d temp__5804__auto___13648;\nif(cljs.core.chunked_seq_QMARK_(seq__11069_13649__$1)){\nvar c__5568__auto___13650 \x3d (cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1(seq__11069_13649__$1) : cljs.core.chunk_first.call(null,seq__11069_13649__$1));\nvar G__13651 \x3d (cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1(seq__11069_13649__$1) : cljs.core.chunk_rest.call(null,seq__11069_13649__$1));\nvar G__13652 \x3d c__5568__auto___13650;\nvar G__13653 \x3d cljs.core.count(c__5568__auto___13650);\nvar G__13654 \x3d (0);\nseq__11069_13636 \x3d G__13651;\nchunk__11070_13637 \x3d G__13652;\ncount__11071_13638 \x3d G__13653;\ni__11072_13639 \x3d G__13654;\ncontinue;\n} else {\nvar vec__11082_13655 \x3d cljs.core.first(seq__11069_13649__$1);\nvar key_name_13656 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11082_13655,(0),null);\nvar f_13657 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11082_13655,(1),null);\nvar str_name_13658 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_13656) : cljs.core.name.call(null,key_name_13656));\ncljs.core.goog$module$goog$object.set(obj,str_name_13658,f_13657);\n\n\nvar G__13659 \x3d cljs.core.next(seq__11069_13649__$1);\nvar G__13660 \x3d null;\nvar G__13661 \x3d (0);\nvar G__13662 \x3d (0);\nseq__11069_13636 \x3d G__13659;\nchunk__11070_13637 \x3d G__13660;\ncount__11071_13638 \x3d G__13661;\ni__11072_13639 \x3d G__13662;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.List \x3d (function (meta,first,rest,count,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.count \x3d count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937646;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.List.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.List.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.List.prototype.indexOf \x3d (function() {\nvar G__13663 \x3d null;\nvar G__13663__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13663__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13663 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13663__1.call(this,x);\ncase 2:\nreturn G__13663__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13663.cljs$core$IFn$_invoke$arity$1 \x3d G__13663__1;\nG__13663.cljs$core$IFn$_invoke$arity$2 \x3d G__13663__2;\nreturn G__13663;\n})()\n);\n\n(cljs.core.List.prototype.lastIndexOf \x3d (function() {\nvar G__13680 \x3d null;\nvar G__13680__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__13680__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13680 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13680__1.call(this,x);\ncase 2:\nreturn G__13680__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13680.cljs$core$IFn$_invoke$arity$1 \x3d G__13680__1;\nG__13680.cljs$core$IFn$_invoke$arity$2 \x3d G__13680__2;\nreturn G__13680;\n})()\n);\n\n(cljs.core.List.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.List.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,self__.first,self__.rest,self__.count,self__.__hash));\n}));\n\n(cljs.core.List.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.List.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.List.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.List.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.List(new_meta,self__.first,self__.rest,self__.count,self__.__hash));\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,coll__$1,(self__.count + (1)),null));\n}));\n\n(cljs.core.List.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.List.cljs$lang$type \x3d true);\n\n(cljs.core.List.cljs$lang$ctorStr \x3d \x22cljs.core/List\x22);\n\n(cljs.core.List.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/List\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/List.\n */\ncljs.core.__GT_List \x3d (function cljs$core$__GT_List(meta,first,rest,count,__hash){\nreturn (new cljs.core.List(meta,first,rest,count,__hash));\n});\n\n/**\n * Returns true if x implements IList\n */\ncljs.core.list_QMARK_ \x3d (function cljs$core$list_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (33554432))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IList$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n}\n});\n(cljs.core.List.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.EmptyList \x3d (function (meta){\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937614;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.EmptyList.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.EmptyList.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.EmptyList.prototype.indexOf \x3d (function() {\nvar G__13716 \x3d null;\nvar G__13716__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13716__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13716 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13716__1.call(this,x);\ncase 2:\nreturn G__13716__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13716.cljs$core$IFn$_invoke$arity$1 \x3d G__13716__1;\nG__13716.cljs$core$IFn$_invoke$arity$2 \x3d G__13716__2;\nreturn G__13716;\n})()\n);\n\n(cljs.core.EmptyList.prototype.lastIndexOf \x3d (function() {\nvar G__13717 \x3d null;\nvar G__13717__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13717__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13717 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13717__1.call(this,x);\ncase 2:\nreturn G__13717__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13717.cljs$core$IFn$_invoke$arity$1 \x3d G__13717__1;\nG__13717.cljs$core$IFn$_invoke$arity$2 \x3d G__13717__2;\nreturn G__13717;\n})()\n);\n\n(cljs.core.EmptyList.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.EmptyList(self__.meta));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (0);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nthrow (new Error(\x22Can\x27t pop empty list\x22));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.empty_ordered_hash;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.list_QMARK_(other)) || (cljs.core.sequential_QMARK_(other)))){\nreturn (cljs.core.seq(other) \x3d\x3d null);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.EmptyList(new_meta));\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,null,(1),null));\n}));\n\n(cljs.core.EmptyList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.EmptyList.cljs$lang$type \x3d true);\n\n(cljs.core.EmptyList.cljs$lang$ctorStr \x3d \x22cljs.core/EmptyList\x22);\n\n(cljs.core.EmptyList.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/EmptyList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/EmptyList.\n */\ncljs.core.__GT_EmptyList \x3d (function cljs$core$__GT_EmptyList(meta){\nreturn (new cljs.core.EmptyList(meta));\n});\n\n(cljs.core.List.EMPTY \x3d (new cljs.core.EmptyList(null)));\n(cljs.core.EmptyList.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns true if coll satisfies? IReversible.\n */\ncljs.core.reversible_QMARK_ \x3d (function cljs$core$reversible_QMARK_(coll){\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (134217728))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReversible$)))){\nreturn true;\n} else {\nif((!coll.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n}\n});\n/**\n * Returns, in constant time, a seq of the items in rev (which\n * can be a vector or sorted-map), in reverse order. If rev is empty returns nil\n */\ncljs.core.rseq \x3d (function cljs$core$rseq(rev){\nreturn cljs.core._rseq(rev);\n});\n/**\n * Returns a seq of the items in coll in reverse order. Not lazy.\n */\ncljs.core.reverse \x3d (function cljs$core$reverse(coll){\nif(cljs.core.reversible_QMARK_(coll)){\nvar or__5045__auto__ \x3d cljs.core.rseq(coll);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n}\n});\n/**\n * Creates a new list containing the items.\n */\ncljs.core.list \x3d (function cljs$core$list(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___13799 \x3d arguments.length;\nvar i__5770__auto___13800 \x3d (0);\nwhile(true){\nif((i__5770__auto___13800 \x3c len__5769__auto___13799)){\nargs__5775__auto__.push((arguments[i__5770__auto___13800]));\n\nvar G__13801 \x3d (i__5770__auto___13800 + (1));\ni__5770__auto___13800 \x3d G__13801;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xs){\nvar arr \x3d (((((xs instanceof cljs.core.IndexedSeq)) \x26\x26 ((xs.i \x3d\x3d\x3d (0)))))?xs.arr:(function (){var arr \x3d [];\nvar xs__$1 \x3d xs;\nwhile(true){\nif((!((xs__$1 \x3d\x3d null)))){\narr.push(cljs.core._first(xs__$1));\n\nvar G__13802 \x3d cljs.core._next(xs__$1);\nxs__$1 \x3d G__13802;\ncontinue;\n} else {\nreturn arr;\n}\nbreak;\n}\n})());\nvar i \x3d arr.length;\nvar r \x3d cljs.core.List.EMPTY;\nwhile(true){\nif((i \x3e (0))){\nvar G__13803 \x3d (i - (1));\nvar G__13804 \x3d cljs.core._conj(r,(arr[(i - (1))]));\ni \x3d G__13803;\nr \x3d G__13804;\ncontinue;\n} else {\nreturn r;\n}\nbreak;\n}\n}));\n\n(cljs.core.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.list.cljs$lang$applyTo \x3d (function (seq11087){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11087));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cons \x3d (function (meta,first,rest,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65929452;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.Cons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Cons.prototype.indexOf \x3d (function() {\nvar G__13805 \x3d null;\nvar G__13805__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13805__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13805 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13805__1.call(this,x);\ncase 2:\nreturn G__13805__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13805.cljs$core$IFn$_invoke$arity$1 \x3d G__13805__1;\nG__13805.cljs$core$IFn$_invoke$arity$2 \x3d G__13805__2;\nreturn G__13805;\n})()\n);\n\n(cljs.core.Cons.prototype.lastIndexOf \x3d (function() {\nvar G__13806 \x3d null;\nvar G__13806__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13806__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13806 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13806__1.call(this,x);\ncase 2:\nreturn G__13806__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13806.cljs$core$IFn$_invoke$arity$1 \x3d G__13806__1;\nG__13806.cljs$core$IFn$_invoke$arity$2 \x3d G__13806__2;\nreturn G__13806;\n})()\n);\n\n(cljs.core.Cons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Cons(self__.meta,self__.first,self__.rest,self__.__hash));\n}));\n\n(cljs.core.Cons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.seq(self__.rest);\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cons(new_meta,self__.first,self__.rest,self__.__hash));\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.Cons(null,o,coll__$1,null));\n}));\n\n(cljs.core.Cons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cons.cljs$lang$type \x3d true);\n\n(cljs.core.Cons.cljs$lang$ctorStr \x3d \x22cljs.core/Cons\x22);\n\n(cljs.core.Cons.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Cons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cons.\n */\ncljs.core.__GT_Cons \x3d (function cljs$core$__GT_Cons(meta,first,rest,__hash){\nreturn (new cljs.core.Cons(meta,first,rest,__hash));\n});\n\n(cljs.core.Cons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a new seq where x is the first element and coll is the rest.\n */\ncljs.core.cons \x3d (function cljs$core$cons(x,coll){\nif((coll \x3d\x3d null)){\nreturn (new cljs.core.List(null,x,null,(1),null));\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn (new cljs.core.Cons(null,x,coll,null));\n} else {\nreturn (new cljs.core.Cons(null,x,cljs.core.seq(coll),null));\n\n}\n}\n});\ncljs.core.hash_keyword \x3d (function cljs$core$hash_keyword(k){\nreturn ((cljs.core.hash_symbol(k) + (2654435769)) | (0));\n});\ncljs.core.compare_keywords \x3d (function cljs$core$compare_keywords(a,b){\nif((a.fqn \x3d\x3d\x3d b.fqn)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(a.ns);\nif(and__5043__auto__){\nreturn b.ns;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Keyword \x3d (function (ns,name,fqn,_hash){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.fqn \x3d fqn;\nthis._hash \x3d _hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775105;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Keyword.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27);\n}));\n\n(cljs.core.Keyword.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Keyword)){\nreturn (self__.fqn \x3d\x3d\x3d other.fqn);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Keyword.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11090 \x3d (arguments.length - (1));\nswitch (G__11090) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Keyword.prototype.apply \x3d (function (self__,args11089){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11089)));\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,kw);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,kw,not_found);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar h__5154__auto__ \x3d self__._hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_keyword(this$__$1);\n(self__._hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27));\n}));\n\n(cljs.core.Keyword.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22fqn\x22,\x22fqn\x22,-1749334463,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Keyword.cljs$lang$type \x3d true);\n\n(cljs.core.Keyword.cljs$lang$ctorStr \x3d \x22cljs.core/Keyword\x22);\n\n(cljs.core.Keyword.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Keyword\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Keyword.\n */\ncljs.core.__GT_Keyword \x3d (function cljs$core$__GT_Keyword(ns,name,fqn,_hash){\nreturn (new cljs.core.Keyword(ns,name,fqn,_hash));\n});\n\n/**\n * Return true if x is a Keyword\n */\ncljs.core.keyword_QMARK_ \x3d (function cljs$core$keyword_QMARK_(x){\nreturn (x instanceof cljs.core.Keyword);\n});\n/**\n * Efficient test to determine that two keywords are identical.\n */\ncljs.core.keyword_identical_QMARK_ \x3d (function cljs$core$keyword_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Keyword)) \x26\x26 ((y instanceof cljs.core.Keyword)))){\nreturn (x.fqn \x3d\x3d\x3d y.fqn);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Efficient test to determine that two symbols are identical.\n */\ncljs.core.symbol_identical_QMARK_ \x3d (function cljs$core$symbol_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Symbol)) \x26\x26 ((y instanceof cljs.core.Symbol)))){\nreturn (x.str \x3d\x3d\x3d y.str);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Returns the namespace String of a symbol or keyword, or nil if not present.\n */\ncljs.core.namespace \x3d (function cljs$core$namespace(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_namespace$arity$1(null);\n} else {\nthrow (new Error([\x22Doesn\x27t support namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n});\n/**\n * Return true if x is a symbol or keyword\n */\ncljs.core.ident_QMARK_ \x3d (function cljs$core$ident_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) || ((x instanceof cljs.core.Symbol)));\n});\n/**\n * Return true if x is a symbol or keyword without a namespace\n */\ncljs.core.simple_ident_QMARK_ \x3d (function cljs$core$simple_ident_QMARK_(x){\nreturn ((cljs.core.ident_QMARK_(x)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol or keyword with a namespace\n */\ncljs.core.qualified_ident_QMARK_ \x3d (function cljs$core$qualified_ident_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs.core.ident_QMARK_(x);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn true;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\n/**\n * Return true if x is a symbol without a namespace\n */\ncljs.core.simple_symbol_QMARK_ \x3d (function cljs$core$simple_symbol_QMARK_(x){\nreturn (((x instanceof cljs.core.Symbol)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol with a namespace\n */\ncljs.core.qualified_symbol_QMARK_ \x3d (function cljs$core$qualified_symbol_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (x instanceof cljs.core.Symbol);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn true;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\n/**\n * Return true if x is a keyword without a namespace\n */\ncljs.core.simple_keyword_QMARK_ \x3d (function cljs$core$simple_keyword_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a keyword with a namespace\n */\ncljs.core.qualified_keyword_QMARK_ \x3d (function cljs$core$qualified_keyword_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (x instanceof cljs.core.Keyword);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn true;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\n/**\n * Returns a Keyword with the given namespace and name. Do not use :\n * in the keyword strings, it will be added automatically.\n */\ncljs.core.keyword \x3d (function cljs$core$keyword(var_args){\nvar G__11093 \x3d arguments.length;\nswitch (G__11093) {\ncase 1:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nif((name instanceof cljs.core.Keyword)){\nreturn name;\n} else {\nif((name instanceof cljs.core.Symbol)){\nreturn (new cljs.core.Keyword(cljs.core.namespace(name),(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)),name.str,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22/\x22,name)){\nreturn (new cljs.core.Keyword(null,name,name,null));\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar parts \x3d name.split(\x22/\x22);\nif((parts.length \x3d\x3d\x3d (2))){\nreturn (new cljs.core.Keyword((parts[(0)]),(parts[(1)]),name,null));\n} else {\nreturn (new cljs.core.Keyword(null,(parts[(0)]),name,null));\n}\n} else {\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar ns__$1 \x3d (((ns instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):(((ns instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):ns\n));\nvar name__$1 \x3d (((name instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):(((name instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):name\n));\nreturn (new cljs.core.Keyword(ns__$1,name__$1,[(cljs.core.truth_(ns__$1)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),\x22/\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__$1)].join(\x27\x27),null));\n}));\n\n(cljs.core.keyword.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.LazySeq \x3d (function (meta,fn,s,__hash){\nthis.meta \x3d meta;\nthis.fn \x3d fn;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.LazySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.LazySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.LazySeq.prototype.sval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.fn \x3d\x3d null)){\nreturn self__.s;\n} else {\n(self__.s \x3d (self__.fn.cljs$core$IFn$_invoke$arity$0 ? self__.fn.cljs$core$IFn$_invoke$arity$0() : self__.fn.call(null)));\n\n(self__.fn \x3d null);\n\nreturn self__.s;\n}\n}));\n\n(cljs.core.LazySeq.prototype.indexOf \x3d (function() {\nvar G__13917 \x3d null;\nvar G__13917__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__13917__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13917 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13917__1.call(this,x);\ncase 2:\nreturn G__13917__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13917.cljs$core$IFn$_invoke$arity$1 \x3d G__13917__1;\nG__13917.cljs$core$IFn$_invoke$arity$2 \x3d G__13917__2;\nreturn G__13917;\n})()\n);\n\n(cljs.core.LazySeq.prototype.lastIndexOf \x3d (function() {\nvar G__13991 \x3d null;\nvar G__13991__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__13991__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__13991 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__13991__1.call(this,x);\ncase 2:\nreturn G__13991__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__13991.cljs$core$IFn$_invoke$arity$1 \x3d G__13991__1;\nG__13991.cljs$core$IFn$_invoke$arity$2 \x3d G__13991__2;\nreturn G__13991;\n})()\n);\n\n(cljs.core.LazySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.next(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.not(self__.fn);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((!((self__.s \x3d\x3d null)))){\nreturn cljs.core.rest(self__.s);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.sval();\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nvar ls \x3d self__.s;\nwhile(true){\nif((ls instanceof cljs.core.LazySeq)){\nvar G__13992 \x3d ls.sval();\nls \x3d G__13992;\ncontinue;\n} else {\n(self__.s \x3d ls);\n\nreturn cljs.core.seq(self__.s);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.LazySeq(new_meta,(function (){\nreturn coll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n}),null,self__.__hash));\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.LazySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.LazySeq.cljs$lang$type \x3d true);\n\n(cljs.core.LazySeq.cljs$lang$ctorStr \x3d \x22cljs.core/LazySeq\x22);\n\n(cljs.core.LazySeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/LazySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/LazySeq.\n */\ncljs.core.__GT_LazySeq \x3d (function cljs$core$__GT_LazySeq(meta,fn,s,__hash){\nreturn (new cljs.core.LazySeq(meta,fn,s,__hash));\n});\n\n(cljs.core.LazySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n*/\ncljs.core.ChunkBuffer \x3d (function (buf,end){\nthis.buf \x3d buf;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ChunkBuffer.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.buf[self__.end] \x3d o);\n\nreturn (self__.end \x3d (self__.end + (1)));\n}));\n\n(cljs.core.ChunkBuffer.prototype.chunk \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.ArrayChunk(self__.buf,(0),self__.end));\n(self__.buf \x3d null);\n\nreturn ret;\n}));\n\n(cljs.core.ChunkBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.end;\n}));\n\n(cljs.core.ChunkBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkBuffer\x22);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ChunkBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkBuffer.\n */\ncljs.core.__GT_ChunkBuffer \x3d (function cljs$core$__GT_ChunkBuffer(buf,end){\nreturn (new cljs.core.ChunkBuffer(buf,end));\n});\n\ncljs.core.chunk_buffer \x3d (function cljs$core$chunk_buffer(capacity){\nreturn (new cljs.core.ChunkBuffer((new Array(capacity)),(0)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.IChunk}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayChunk \x3d (function (arr,off,end){\nthis.arr \x3d arr;\nthis.off \x3d off;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 524306;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.end - self__.off);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.arr[(self__.off + i)]);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c (self__.end - self__.off))))){\nreturn (self__.arr[(self__.off + i)]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.off \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.ArrayChunk(self__.arr,(self__.off + (1)),self__.end));\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.off]),(self__.off + (1)));\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.off);\n}));\n\n(cljs.core.ArrayChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.ArrayChunk.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayChunk\x22);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayChunk.\n */\ncljs.core.__GT_ArrayChunk \x3d (function cljs$core$__GT_ArrayChunk(arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n});\n\ncljs.core.array_chunk \x3d (function cljs$core$array_chunk(var_args){\nvar G__11095 \x3d arguments.length;\nswitch (G__11095) {\ncase 1:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1 \x3d (function (arr){\nreturn (new cljs.core.ArrayChunk(arr,(0),arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,off){\nreturn (new cljs.core.ArrayChunk(arr,off,arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n}));\n\n(cljs.core.array_chunk.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.ChunkedCons \x3d (function (chunk,more,meta,__hash){\nthis.chunk \x3d chunk;\nthis.more \x3d more;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850732;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1536;\n});\n(cljs.core.ChunkedCons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedCons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.indexOf \x3d (function() {\nvar G__14037 \x3d null;\nvar G__14037__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__14037__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__14037 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__14037__1.call(this,x);\ncase 2:\nreturn G__14037__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14037.cljs$core$IFn$_invoke$arity$1 \x3d G__14037__1;\nG__14037.cljs$core$IFn$_invoke$arity$2 \x3d G__14037__2;\nreturn G__14037;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.lastIndexOf \x3d (function() {\nvar G__14038 \x3d null;\nvar G__14038__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__14038__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__14038 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__14038__1.call(this,x);\ncase 2:\nreturn G__14038__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14038.cljs$core$IFn$_invoke$arity$1 \x3d G__14038__1;\nG__14038.cljs$core$IFn$_invoke$arity$2 \x3d G__14038__2;\nreturn G__14038;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._seq(self__.more);\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.chunk,(0));\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.chunk;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ChunkedCons(self__.chunk,self__.more,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this$,o){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.cons(o,this$__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.Symbol(null,\x22more\x22,\x22more\x22,-418290273,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedCons.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedCons\x22);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ChunkedCons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedCons.\n */\ncljs.core.__GT_ChunkedCons \x3d (function cljs$core$__GT_ChunkedCons(chunk,more,meta,__hash){\nreturn (new cljs.core.ChunkedCons(chunk,more,meta,__hash));\n});\n\n(cljs.core.ChunkedCons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.chunk_cons \x3d (function cljs$core$chunk_cons(chunk,rest){\nif((cljs.core._count(chunk) \x3d\x3d\x3d (0))){\nreturn rest;\n} else {\nreturn (new cljs.core.ChunkedCons(chunk,rest,null,null));\n}\n});\ncljs.core.chunk_append \x3d (function cljs$core$chunk_append(b,x){\nreturn b.add(x);\n});\ncljs.core.chunk \x3d (function cljs$core$chunk(b){\nreturn b.chunk();\n});\ncljs.core.chunk_first \x3d (function cljs$core$chunk_first(s){\nreturn cljs.core._chunked_first(s);\n});\ncljs.core.chunk_rest \x3d (function cljs$core$chunk_rest(s){\nreturn cljs.core._chunked_rest(s);\n});\ncljs.core.chunk_next \x3d (function cljs$core$chunk_next(s){\nif((((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition1$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$IChunkedNext$))))?true:false):false)){\nreturn s.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core._chunked_rest(s));\n}\n});\n/**\n * Returns an array containing the contents of coll.\n */\ncljs.core.to_array \x3d (function cljs$core$to_array(coll){\nvar ary \x3d [];\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((s \x3d\x3d null)))){\nary.push(cljs.core.first(s));\n\nvar G__14073 \x3d cljs.core.next(s);\ns \x3d G__14073;\ncontinue;\n} else {\nreturn ary;\n}\nbreak;\n}\n});\n/**\n * Returns a (potentially-ragged) 2-dimensional array\n * containing the contents of coll.\n */\ncljs.core.to_array_2d \x3d (function cljs$core$to_array_2d(coll){\nvar ret \x3d (new Array(cljs.core.count(coll)));\nvar i_14074 \x3d (0);\nvar xs_14075 \x3d cljs.core.seq(coll);\nwhile(true){\nif((xs_14075 \x3d\x3d null)){\n} else {\n(ret[i_14074] \x3d cljs.core.to_array(cljs.core.first(xs_14075)));\n\nvar G__14076 \x3d (i_14074 + (1));\nvar G__14077 \x3d cljs.core.next(xs_14075);\ni_14074 \x3d G__14076;\nxs_14075 \x3d G__14077;\ncontinue;\n}\nbreak;\n}\n\nreturn ret;\n});\n/**\n * Creates an array of ints. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.int_array \x3d (function cljs$core$int_array(var_args){\nvar G__11098 \x3d arguments.length;\nswitch (G__11098) {\ncase 1:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__14079 \x3d (i + (1));\nvar G__14080 \x3d cljs.core.next(s__$1);\ni \x3d G__14079;\ns__$1 \x3d G__14080;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___14081 \x3d size;\nvar i_14082 \x3d (0);\nwhile(true){\nif((i_14082 \x3c n__5636__auto___14081)){\n(a[i_14082] \x3d init_val_or_seq);\n\nvar G__14083 \x3d (i_14082 + (1));\ni_14082 \x3d G__14083;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.int_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of longs. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.long_array \x3d (function cljs$core$long_array(var_args){\nvar G__11100 \x3d arguments.length;\nswitch (G__11100) {\ncase 1:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__14085 \x3d (i + (1));\nvar G__14086 \x3d cljs.core.next(s__$1);\ni \x3d G__14085;\ns__$1 \x3d G__14086;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___14087 \x3d size;\nvar i_14141 \x3d (0);\nwhile(true){\nif((i_14141 \x3c n__5636__auto___14087)){\n(a[i_14141] \x3d init_val_or_seq);\n\nvar G__14142 \x3d (i_14141 + (1));\ni_14141 \x3d G__14142;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.long_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of doubles. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.double_array \x3d (function cljs$core$double_array(var_args){\nvar G__11102 \x3d arguments.length;\nswitch (G__11102) {\ncase 1:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__14147 \x3d (i + (1));\nvar G__14148 \x3d cljs.core.next(s__$1);\ni \x3d G__14147;\ns__$1 \x3d G__14148;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___14149 \x3d size;\nvar i_14150 \x3d (0);\nwhile(true){\nif((i_14150 \x3c n__5636__auto___14149)){\n(a[i_14150] \x3d init_val_or_seq);\n\nvar G__14151 \x3d (i_14150 + (1));\ni_14150 \x3d G__14151;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.double_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of objects. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.object_array \x3d (function cljs$core$object_array(var_args){\nvar G__11104 \x3d arguments.length;\nswitch (G__11104) {\ncase 1:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__14171 \x3d (i + (1));\nvar G__14172 \x3d cljs.core.next(s__$1);\ni \x3d G__14171;\ns__$1 \x3d G__14172;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5636__auto___14173 \x3d size;\nvar i_14174 \x3d (0);\nwhile(true){\nif((i_14174 \x3c n__5636__auto___14173)){\n(a[i_14174] \x3d init_val_or_seq);\n\nvar G__14175 \x3d (i_14174 + (1));\ni_14174 \x3d G__14175;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.object_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * If coll is counted? returns its count, else will count at most the first n\n * elements of coll using its seq\n */\ncljs.core.bounded_count \x3d (function cljs$core$bounded_count(n,coll){\nif(cljs.core.counted_QMARK_(coll)){\nreturn cljs.core.count(coll);\n} else {\nvar i \x3d (0);\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((((!((s \x3d\x3d null)))) \x26\x26 ((i \x3c n)))){\nvar G__14176 \x3d (i + (1));\nvar G__14177 \x3d cljs.core.next(s);\ni \x3d G__14176;\ns \x3d G__14177;\ncontinue;\n} else {\nreturn i;\n}\nbreak;\n}\n}\n});\ncljs.core.spread \x3d (function cljs$core$spread(arglist){\nif((arglist \x3d\x3d null)){\nreturn null;\n} else {\nvar n \x3d cljs.core.next(arglist);\nif((n \x3d\x3d null)){\nreturn cljs.core.seq(cljs.core.first(arglist));\n} else {\nreturn cljs.core.cons(cljs.core.first(arglist),(cljs.core.spread.cljs$core$IFn$_invoke$arity$1 ? cljs.core.spread.cljs$core$IFn$_invoke$arity$1(n) : cljs.core.spread.call(null,n)));\n}\n}\n});\n/**\n * Returns a lazy seq representing the concatenation of the elements in the supplied colls.\n */\ncljs.core.concat \x3d (function cljs$core$concat(var_args){\nvar G__11109 \x3d arguments.length;\nswitch (G__11109) {\ncase 0:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14179 \x3d arguments.length;\nvar i__5770__auto___14180 \x3d (0);\nwhile(true){\nif((i__5770__auto___14180 \x3c len__5769__auto___14179)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14180]));\n\nvar G__14181 \x3d (i__5770__auto___14180 + (1));\ni__5770__auto___14180 \x3d G__14181;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn null;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn x;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s \x3d cljs.core.seq(x);\nif(s){\nif(cljs.core.chunked_seq_QMARK_(s)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.chunk_rest(s),y));\n} else {\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s),y));\n}\n} else {\nreturn y;\n}\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,zs){\nvar cat \x3d (function cljs$core$cat(xys,zs__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar xys__$1 \x3d cljs.core.seq(xys);\nif(xys__$1){\nif(cljs.core.chunked_seq_QMARK_(xys__$1)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(xys__$1),cljs$core$cat(cljs.core.chunk_rest(xys__$1),zs__$1));\n} else {\nreturn cljs.core.cons(cljs.core.first(xys__$1),cljs$core$cat(cljs.core.rest(xys__$1),zs__$1));\n}\n} else {\nif(cljs.core.truth_(zs__$1)){\nreturn cljs$core$cat(cljs.core.first(zs__$1),cljs.core.next(zs__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,y),zs);\n}));\n\n/** @this {Function} */\n(cljs.core.concat.cljs$lang$applyTo \x3d (function (seq11106){\nvar G__11107 \x3d cljs.core.first(seq11106);\nvar seq11106__$1 \x3d cljs.core.next(seq11106);\nvar G__11108 \x3d cljs.core.first(seq11106__$1);\nvar seq11106__$2 \x3d cljs.core.next(seq11106__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11107,G__11108,seq11106__$2);\n}));\n\n(cljs.core.concat.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Creates a new list containing the items prepended to the rest, the\n * last of which will be treated as a sequence.\n */\ncljs.core.list_STAR_ \x3d (function cljs$core$list_STAR_(var_args){\nvar G__11116 \x3d arguments.length;\nswitch (G__11116) {\ncase 1:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14183 \x3d arguments.length;\nvar i__5770__auto___14184 \x3d (0);\nwhile(true){\nif((i__5770__auto___14184 \x3c len__5769__auto___14183)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14184]));\n\nvar G__14211 \x3d (i__5770__auto___14184 + (1));\ni__5770__auto___14184 \x3d G__14211;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (args){\nreturn cljs.core.seq(args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,args){\nreturn cljs.core.cons(a,args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,args));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,args)));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,b,c,d,more){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.spread(more)))));\n}));\n\n/** @this {Function} */\n(cljs.core.list_STAR_.cljs$lang$applyTo \x3d (function (seq11111){\nvar G__11112 \x3d cljs.core.first(seq11111);\nvar seq11111__$1 \x3d cljs.core.next(seq11111);\nvar G__11113 \x3d cljs.core.first(seq11111__$1);\nvar seq11111__$2 \x3d cljs.core.next(seq11111__$1);\nvar G__11114 \x3d cljs.core.first(seq11111__$2);\nvar seq11111__$3 \x3d cljs.core.next(seq11111__$2);\nvar G__11115 \x3d cljs.core.first(seq11111__$3);\nvar seq11111__$4 \x3d cljs.core.next(seq11111__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11112,G__11113,G__11114,G__11115,seq11111__$4);\n}));\n\n(cljs.core.list_STAR_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core.transient$ \x3d (function cljs$core$transient(coll){\nreturn cljs.core._as_transient(coll);\n});\n/**\n * Returns a new, persistent version of the transient collection, in\n * constant time. The transient collection cannot be used after this\n * call, any such use will throw an exception.\n */\ncljs.core.persistent_BANG_ \x3d (function cljs$core$persistent_BANG_(tcoll){\nreturn cljs.core._persistent_BANG_(tcoll);\n});\n/**\n * Adds val to the transient collection, and return tcoll. The \x27addition\x27\n * may happen at different \x27places\x27 depending on the concrete type.\n */\ncljs.core.conj_BANG_ \x3d (function cljs$core$conj_BANG_(var_args){\nvar G__11121 \x3d arguments.length;\nswitch (G__11121) {\ncase 0:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14235 \x3d arguments.length;\nvar i__5770__auto___14236 \x3d (0);\nwhile(true){\nif((i__5770__auto___14236 \x3c len__5769__auto___14235)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14236]));\n\nvar G__14239 \x3d (i__5770__auto___14236 + (1));\ni__5770__auto___14236 \x3d G__14239;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tcoll){\nreturn tcoll;\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._conj_BANG_(tcoll,val);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._conj_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__14249 \x3d ntcoll;\nvar G__14250 \x3d cljs.core.first(vals);\nvar G__14251 \x3d cljs.core.next(vals);\ntcoll \x3d G__14249;\nval \x3d G__14250;\nvals \x3d G__14251;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj_BANG_.cljs$lang$applyTo \x3d (function (seq11118){\nvar G__11119 \x3d cljs.core.first(seq11118);\nvar seq11118__$1 \x3d cljs.core.next(seq11118);\nvar G__11120 \x3d cljs.core.first(seq11118__$1);\nvar seq11118__$2 \x3d cljs.core.next(seq11118__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11119,G__11120,seq11118__$2);\n}));\n\n(cljs.core.conj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * When applied to a transient map, adds mapping of key(s) to\n * val(s). When applied to a transient vector, sets the val at index.\n * Note - index must be \x3c\x3d (count vector). Returns coll.\n */\ncljs.core.assoc_BANG_ \x3d (function cljs$core$assoc_BANG_(var_args){\nvar G__11127 \x3d arguments.length;\nswitch (G__11127) {\ncase 3:\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14258 \x3d arguments.length;\nvar i__5770__auto___14259 \x3d (0);\nwhile(true){\nif((i__5770__auto___14259 \x3c len__5769__auto___14258)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14259]));\n\nvar G__14264 \x3d (i__5770__auto___14259 + (1));\ni__5770__auto___14259 \x3d G__14264;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (tcoll,key,val){\nreturn cljs.core._assoc_BANG_(tcoll,key,val);\n}));\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,val,kvs){\nwhile(true){\nvar ntcoll \x3d cljs.core._assoc_BANG_(tcoll,key,val);\nif(cljs.core.truth_(kvs)){\nvar G__14268 \x3d ntcoll;\nvar G__14269 \x3d cljs.core.first(kvs);\nvar G__14270 \x3d cljs.core.second(kvs);\nvar G__14271 \x3d cljs.core.nnext(kvs);\ntcoll \x3d G__14268;\nkey \x3d G__14269;\nval \x3d G__14270;\nkvs \x3d G__14271;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc_BANG_.cljs$lang$applyTo \x3d (function (seq11123){\nvar G__11124 \x3d cljs.core.first(seq11123);\nvar seq11123__$1 \x3d cljs.core.next(seq11123);\nvar G__11125 \x3d cljs.core.first(seq11123__$1);\nvar seq11123__$2 \x3d cljs.core.next(seq11123__$1);\nvar G__11126 \x3d cljs.core.first(seq11123__$2);\nvar seq11123__$3 \x3d cljs.core.next(seq11123__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11124,G__11125,G__11126,seq11123__$3);\n}));\n\n(cljs.core.assoc_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a transient map that doesn\x27t contain a mapping for key(s).\n */\ncljs.core.dissoc_BANG_ \x3d (function cljs$core$dissoc_BANG_(var_args){\nvar G__11132 \x3d arguments.length;\nswitch (G__11132) {\ncase 2:\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14274 \x3d arguments.length;\nvar i__5770__auto___14275 \x3d (0);\nwhile(true){\nif((i__5770__auto___14275 \x3c len__5769__auto___14274)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14275]));\n\nvar G__14276 \x3d (i__5770__auto___14275 + (1));\ni__5770__auto___14275 \x3d G__14276;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,key){\nreturn cljs.core._dissoc_BANG_(tcoll,key);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,ks){\nwhile(true){\nvar ntcoll \x3d cljs.core._dissoc_BANG_(tcoll,key);\nif(cljs.core.truth_(ks)){\nvar G__14277 \x3d ntcoll;\nvar G__14278 \x3d cljs.core.first(ks);\nvar G__14279 \x3d cljs.core.next(ks);\ntcoll \x3d G__14277;\nkey \x3d G__14278;\nks \x3d G__14279;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc_BANG_.cljs$lang$applyTo \x3d (function (seq11129){\nvar G__11130 \x3d cljs.core.first(seq11129);\nvar seq11129__$1 \x3d cljs.core.next(seq11129);\nvar G__11131 \x3d cljs.core.first(seq11129__$1);\nvar seq11129__$2 \x3d cljs.core.next(seq11129__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11130,G__11131,seq11129__$2);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Removes the last item from a transient vector. If\n * the collection is empty, throws an exception. Returns tcoll\n */\ncljs.core.pop_BANG_ \x3d (function cljs$core$pop_BANG_(tcoll){\nreturn cljs.core._pop_BANG_(tcoll);\n});\n/**\n * disj[oin]. Returns a transient set of the same (hashed/sorted) type, that\n * does not contain key(s).\n */\ncljs.core.disj_BANG_ \x3d (function cljs$core$disj_BANG_(var_args){\nvar G__11137 \x3d arguments.length;\nswitch (G__11137) {\ncase 2:\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14294 \x3d arguments.length;\nvar i__5770__auto___14296 \x3d (0);\nwhile(true){\nif((i__5770__auto___14296 \x3c len__5769__auto___14294)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14296]));\n\nvar G__14297 \x3d (i__5770__auto___14296 + (1));\ni__5770__auto___14296 \x3d G__14297;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._disjoin_BANG_(tcoll,val);\n}));\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._disjoin_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__14298 \x3d ntcoll;\nvar G__14299 \x3d cljs.core.first(vals);\nvar G__14300 \x3d cljs.core.next(vals);\ntcoll \x3d G__14298;\nval \x3d G__14299;\nvals \x3d G__14300;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj_BANG_.cljs$lang$applyTo \x3d (function (seq11134){\nvar G__11135 \x3d cljs.core.first(seq11134);\nvar seq11134__$1 \x3d cljs.core.next(seq11134);\nvar G__11136 \x3d cljs.core.first(seq11134__$1);\nvar seq11134__$2 \x3d cljs.core.next(seq11134__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11135,G__11136,seq11134__$2);\n}));\n\n(cljs.core.disj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n\ncljs.core.apply_to \x3d (function cljs$core$apply_to(f,argc,args){\nvar args__$1 \x3d cljs.core.seq(args);\nif((argc \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar a1 \x3d cljs.core._first(args__$1);\nvar args__$2 \x3d cljs.core._rest(args__$1);\nif((argc \x3d\x3d\x3d (1))){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(a1) : f.call(null,a1));\n} else {\nvar b2 \x3d cljs.core._first(args__$2);\nvar args__$3 \x3d cljs.core._rest(args__$2);\nif((argc \x3d\x3d\x3d (2))){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(a1,b2) : f.call(null,a1,b2));\n} else {\nvar c3 \x3d cljs.core._first(args__$3);\nvar args__$4 \x3d cljs.core._rest(args__$3);\nif((argc \x3d\x3d\x3d (3))){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(a1,b2,c3) : f.call(null,a1,b2,c3));\n} else {\nvar d4 \x3d cljs.core._first(args__$4);\nvar args__$5 \x3d cljs.core._rest(args__$4);\nif((argc \x3d\x3d\x3d (4))){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(a1,b2,c3,d4) : f.call(null,a1,b2,c3,d4));\n} else {\nvar e5 \x3d cljs.core._first(args__$5);\nvar args__$6 \x3d cljs.core._rest(args__$5);\nif((argc \x3d\x3d\x3d (5))){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(a1,b2,c3,d4,e5) : f.call(null,a1,b2,c3,d4,e5));\n} else {\nvar f6 \x3d cljs.core._first(args__$6);\nvar args__$7 \x3d cljs.core._rest(args__$6);\nif((argc \x3d\x3d\x3d (6))){\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(a1,b2,c3,d4,e5,f6) : f.call(null,a1,b2,c3,d4,e5,f6));\n} else {\nvar g7 \x3d cljs.core._first(args__$7);\nvar args__$8 \x3d cljs.core._rest(args__$7);\nif((argc \x3d\x3d\x3d (7))){\nreturn (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(a1,b2,c3,d4,e5,f6,g7) : f.call(null,a1,b2,c3,d4,e5,f6,g7));\n} else {\nvar h8 \x3d cljs.core._first(args__$8);\nvar args__$9 \x3d cljs.core._rest(args__$8);\nif((argc \x3d\x3d\x3d (8))){\nreturn (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(a1,b2,c3,d4,e5,f6,g7,h8) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8));\n} else {\nvar i9 \x3d cljs.core._first(args__$9);\nvar args__$10 \x3d cljs.core._rest(args__$9);\nif((argc \x3d\x3d\x3d (9))){\nreturn (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(a1,b2,c3,d4,e5,f6,g7,h8,i9) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9));\n} else {\nvar j10 \x3d cljs.core._first(args__$10);\nvar args__$11 \x3d cljs.core._rest(args__$10);\nif((argc \x3d\x3d\x3d (10))){\nreturn (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10));\n} else {\nvar k11 \x3d cljs.core._first(args__$11);\nvar args__$12 \x3d cljs.core._rest(args__$11);\nif((argc \x3d\x3d\x3d (11))){\nreturn (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11));\n} else {\nvar l12 \x3d cljs.core._first(args__$12);\nvar args__$13 \x3d cljs.core._rest(args__$12);\nif((argc \x3d\x3d\x3d (12))){\nreturn (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12));\n} else {\nvar m13 \x3d cljs.core._first(args__$13);\nvar args__$14 \x3d cljs.core._rest(args__$13);\nif((argc \x3d\x3d\x3d (13))){\nreturn (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13));\n} else {\nvar n14 \x3d cljs.core._first(args__$14);\nvar args__$15 \x3d cljs.core._rest(args__$14);\nif((argc \x3d\x3d\x3d (14))){\nreturn (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14));\n} else {\nvar o15 \x3d cljs.core._first(args__$15);\nvar args__$16 \x3d cljs.core._rest(args__$15);\nif((argc \x3d\x3d\x3d (15))){\nreturn (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15));\n} else {\nvar p16 \x3d cljs.core._first(args__$16);\nvar args__$17 \x3d cljs.core._rest(args__$16);\nif((argc \x3d\x3d\x3d (16))){\nreturn (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16));\n} else {\nvar q17 \x3d cljs.core._first(args__$17);\nvar args__$18 \x3d cljs.core._rest(args__$17);\nif((argc \x3d\x3d\x3d (17))){\nreturn (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17));\n} else {\nvar r18 \x3d cljs.core._first(args__$18);\nvar args__$19 \x3d cljs.core._rest(args__$18);\nif((argc \x3d\x3d\x3d (18))){\nreturn (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18));\n} else {\nvar s19 \x3d cljs.core._first(args__$19);\nvar args__$20 \x3d cljs.core._rest(args__$19);\nif((argc \x3d\x3d\x3d (19))){\nreturn (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19));\n} else {\nvar t20 \x3d cljs.core._first(args__$20);\nvar args__$21 \x3d cljs.core._rest(args__$20);\nif((argc \x3d\x3d\x3d (20))){\nreturn (f.cljs$core$IFn$_invoke$arity$20 ? f.cljs$core$IFn$_invoke$arity$20(a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19,t20) : f.call(null,a1,b2,c3,d4,e5,f6,g7,h8,i9,j10,k11,l12,m13,n14,o15,p16,q17,r18,s19,t20));\n} else {\nthrow (new Error(\x22Only up to 20 arguments supported on functions\x22));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\n\n/**\n * Internal. DO NOT USE! Next without the nil? check.\n */\ncljs.core.next_STAR_ \x3d (function cljs$core$next_STAR_(coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n});\n/**\n * Internal. DO NOT USE!\n * Assumes args was already called with seq beforehand!\n */\ncljs.core.apply_to_simple \x3d (function cljs$core$apply_to_simple(var_args){\nvar G__11140 \x3d arguments.length;\nswitch (G__11140) {\ncase 2:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$0){\nreturn f.cljs$core$IFn$_invoke$arity$0();\n} else {\nreturn f.call(f);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,a0,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$1){\nreturn f.cljs$core$IFn$_invoke$arity$1(a0);\n} else {\nreturn f.call(f,a0);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,a0,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,a0,a1,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$2){\nreturn f.cljs$core$IFn$_invoke$arity$2(a0,a1);\n} else {\nreturn f.call(f,a0,a1);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,a0,a1,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,a0,a1,a2,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$3){\nreturn f.cljs$core$IFn$_invoke$arity$3(a0,a1,a2);\n} else {\nreturn f.call(f,a0,a1,a2);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a0,a1,a2,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6 \x3d (function (f,a0,a1,a2,a3,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$4){\nreturn f.cljs$core$IFn$_invoke$arity$4(a0,a1,a2,a3);\n} else {\nreturn f.call(f,a0,a1,a2,a3);\n}\n} else {\nvar a4 \x3d cljs.core._first(args);\nvar next_4 \x3d cljs.core.next(args);\nif((next_4 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$5){\nreturn f.cljs$core$IFn$_invoke$arity$5(a0,a1,a2,a3,a4);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4);\n}\n} else {\nvar a5 \x3d cljs.core._first(next_4);\nvar next_5 \x3d cljs.core.next(next_4);\nif((next_5 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$6){\nreturn f.cljs$core$IFn$_invoke$arity$6(a0,a1,a2,a3,a4,a5);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5);\n}\n} else {\nvar a6 \x3d cljs.core._first(next_5);\nvar next_6 \x3d cljs.core.next(next_5);\nif((next_6 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$7){\nreturn f.cljs$core$IFn$_invoke$arity$7(a0,a1,a2,a3,a4,a5,a6);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6);\n}\n} else {\nvar a7 \x3d cljs.core._first(next_6);\nvar next_7 \x3d cljs.core.next(next_6);\nif((next_7 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$8){\nreturn f.cljs$core$IFn$_invoke$arity$8(a0,a1,a2,a3,a4,a5,a6,a7);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7);\n}\n} else {\nvar a8 \x3d cljs.core._first(next_7);\nvar next_8 \x3d cljs.core.next(next_7);\nif((next_8 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$9){\nreturn f.cljs$core$IFn$_invoke$arity$9(a0,a1,a2,a3,a4,a5,a6,a7,a8);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8);\n}\n} else {\nvar a9 \x3d cljs.core._first(next_8);\nvar next_9 \x3d cljs.core.next(next_8);\nif((next_9 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$10){\nreturn f.cljs$core$IFn$_invoke$arity$10(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n}\n} else {\nvar a10 \x3d cljs.core._first(next_9);\nvar next_10 \x3d cljs.core.next(next_9);\nif((next_10 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$11){\nreturn f.cljs$core$IFn$_invoke$arity$11(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n}\n} else {\nvar a11 \x3d cljs.core._first(next_10);\nvar next_11 \x3d cljs.core.next(next_10);\nif((next_11 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$12){\nreturn f.cljs$core$IFn$_invoke$arity$12(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n}\n} else {\nvar a12 \x3d cljs.core._first(next_11);\nvar next_12 \x3d cljs.core.next(next_11);\nif((next_12 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$13){\nreturn f.cljs$core$IFn$_invoke$arity$13(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n}\n} else {\nvar a13 \x3d cljs.core._first(next_12);\nvar next_13 \x3d cljs.core.next(next_12);\nif((next_13 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$14){\nreturn f.cljs$core$IFn$_invoke$arity$14(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n}\n} else {\nvar a14 \x3d cljs.core._first(next_13);\nvar next_14 \x3d cljs.core.next(next_13);\nif((next_14 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$15){\nreturn f.cljs$core$IFn$_invoke$arity$15(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n}\n} else {\nvar a15 \x3d cljs.core._first(next_14);\nvar next_15 \x3d cljs.core.next(next_14);\nif((next_15 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$16){\nreturn f.cljs$core$IFn$_invoke$arity$16(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n}\n} else {\nvar a16 \x3d cljs.core._first(next_15);\nvar next_16 \x3d cljs.core.next(next_15);\nif((next_16 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$17){\nreturn f.cljs$core$IFn$_invoke$arity$17(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n}\n} else {\nvar a17 \x3d cljs.core._first(next_16);\nvar next_17 \x3d cljs.core.next(next_16);\nif((next_17 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$18){\nreturn f.cljs$core$IFn$_invoke$arity$18(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);\n}\n} else {\nvar a18 \x3d cljs.core._first(next_17);\nvar next_18 \x3d cljs.core.next(next_17);\nif((next_18 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$19){\nreturn f.cljs$core$IFn$_invoke$arity$19(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);\n}\n} else {\nvar a19 \x3d cljs.core._first(next_18);\nvar next_19 \x3d cljs.core.next(next_18);\nif((next_19 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$20){\nreturn f.cljs$core$IFn$_invoke$arity$20(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);\n}\n} else {\nvar arr__5684__auto__ \x3d [a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19];\nvar s__5685__auto___14373 \x3d next_19;\nwhile(true){\nif(s__5685__auto___14373){\narr__5684__auto__.push(cljs.core._first(s__5685__auto___14373));\n\nvar G__14374 \x3d cljs.core.next(s__5685__auto___14373);\ns__5685__auto___14373 \x3d G__14374;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn f.apply(f,arr__5684__auto__);\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Applies fn f to the argument list formed by prepending intervening arguments to args.\n */\ncljs.core.apply \x3d (function cljs$core$apply(var_args){\nvar G__11148 \x3d arguments.length;\nswitch (G__11148) {\ncase 2:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14376 \x3d arguments.length;\nvar i__5770__auto___14377 \x3d (0);\nwhile(true){\nif((i__5770__auto___14377 \x3c len__5769__auto___14376)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14377]));\n\nvar G__14378 \x3d (i__5770__auto___14377 + (1));\ni__5770__auto___14377 \x3d G__14378;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((5)),(0),null));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif(f.cljs$lang$applyTo){\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d cljs.core.bounded_count((fixed_arity + (1)),args);\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,args);\n} else {\nreturn f.cljs$lang$applyTo(args);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2(f,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(x,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d (cljs.core.bounded_count(fixed_arity,args) + (1));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,x,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(x,y,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((2) + cljs.core.bounded_count((fixed_arity - (1)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,x,y,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,x,y,z,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(x,y,z,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((3) + cljs.core.bounded_count((fixed_arity - (2)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,x,y,z,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,a,b,c,d,args){\nif(f.cljs$lang$applyTo){\nvar spread_args \x3d cljs.core.spread(args);\nvar arglist \x3d cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,spread_args))));\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((4) + cljs.core.bounded_count((fixed_arity - (3)),spread_args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a,b,c,d,cljs.core.spread(args));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.apply.cljs$lang$applyTo \x3d (function (seq11142){\nvar G__11143 \x3d cljs.core.first(seq11142);\nvar seq11142__$1 \x3d cljs.core.next(seq11142);\nvar G__11144 \x3d cljs.core.first(seq11142__$1);\nvar seq11142__$2 \x3d cljs.core.next(seq11142__$1);\nvar G__11145 \x3d cljs.core.first(seq11142__$2);\nvar seq11142__$3 \x3d cljs.core.next(seq11142__$2);\nvar G__11146 \x3d cljs.core.first(seq11142__$3);\nvar seq11142__$4 \x3d cljs.core.next(seq11142__$3);\nvar G__11147 \x3d cljs.core.first(seq11142__$4);\nvar seq11142__$5 \x3d cljs.core.next(seq11142__$4);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11143,G__11144,G__11145,G__11146,G__11147,seq11142__$5);\n}));\n\n(cljs.core.apply.cljs$lang$maxFixedArity \x3d (5));\n\ncljs.core.__destructure_map \x3d (function cljs$core$__destructure_map(gmap){\nif((((!((gmap \x3d\x3d null))))?(((((gmap.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d gmap.cljs$core$ISeq$))))?true:false):false)){\nif(cljs.core.next(gmap)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(gmap));\n} else {\nif(cljs.core.seq(gmap)){\nreturn cljs.core.first(gmap);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n} else {\nreturn gmap;\n}\n});\n/**\n * Returns an object of the same type and value as obj, with\n * (apply f (meta obj) args) as its metadata.\n */\ncljs.core.vary_meta \x3d (function cljs$core$vary_meta(var_args){\nvar G__11158 \x3d arguments.length;\nswitch (G__11158) {\ncase 2:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14383 \x3d arguments.length;\nvar i__5770__auto___14384 \x3d (0);\nwhile(true){\nif((i__5770__auto___14384 \x3c len__5769__auto___14383)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14384]));\n\nvar G__14385 \x3d (i__5770__auto___14384 + (1));\ni__5770__auto___14384 \x3d G__14385;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,f){\nreturn cljs.core.with_meta(obj,(function (){var G__11159 \x3d cljs.core.meta(obj);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11159) : f.call(null,G__11159));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3 \x3d (function (obj,f,a){\nreturn cljs.core.with_meta(obj,(function (){var G__11160 \x3d cljs.core.meta(obj);\nvar G__11161 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11160,G__11161) : f.call(null,G__11160,G__11161));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4 \x3d (function (obj,f,a,b){\nreturn cljs.core.with_meta(obj,(function (){var G__11162 \x3d cljs.core.meta(obj);\nvar G__11163 \x3d a;\nvar G__11164 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11162,G__11163,G__11164) : f.call(null,G__11162,G__11163,G__11164));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5 \x3d (function (obj,f,a,b,c){\nreturn cljs.core.with_meta(obj,(function (){var G__11165 \x3d cljs.core.meta(obj);\nvar G__11166 \x3d a;\nvar G__11167 \x3d b;\nvar G__11168 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__11165,G__11166,G__11167,G__11168) : f.call(null,G__11165,G__11166,G__11167,G__11168));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6 \x3d (function (obj,f,a,b,c,d){\nreturn cljs.core.with_meta(obj,(function (){var G__11169 \x3d cljs.core.meta(obj);\nvar G__11170 \x3d a;\nvar G__11171 \x3d b;\nvar G__11172 \x3d c;\nvar G__11173 \x3d d;\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(G__11169,G__11170,G__11171,G__11172,G__11173) : f.call(null,G__11169,G__11170,G__11171,G__11172,G__11173));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,f,a,b,c,d,args){\nreturn cljs.core.with_meta(obj,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.meta(obj),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([d,args], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.vary_meta.cljs$lang$applyTo \x3d (function (seq11151){\nvar G__11152 \x3d cljs.core.first(seq11151);\nvar seq11151__$1 \x3d cljs.core.next(seq11151);\nvar G__11153 \x3d cljs.core.first(seq11151__$1);\nvar seq11151__$2 \x3d cljs.core.next(seq11151__$1);\nvar G__11154 \x3d cljs.core.first(seq11151__$2);\nvar seq11151__$3 \x3d cljs.core.next(seq11151__$2);\nvar G__11155 \x3d cljs.core.first(seq11151__$3);\nvar seq11151__$4 \x3d cljs.core.next(seq11151__$3);\nvar G__11156 \x3d cljs.core.first(seq11151__$4);\nvar seq11151__$5 \x3d cljs.core.next(seq11151__$4);\nvar G__11157 \x3d cljs.core.first(seq11151__$5);\nvar seq11151__$6 \x3d cljs.core.next(seq11151__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11152,G__11153,G__11154,G__11155,G__11156,G__11157,seq11151__$6);\n}));\n\n(cljs.core.vary_meta.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * Same as (not (\x3d obj1 obj2))\n */\ncljs.core.not_EQ_ \x3d (function cljs$core$not_EQ_(var_args){\nvar G__11178 \x3d arguments.length;\nswitch (G__11178) {\ncase 1:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14387 \x3d arguments.length;\nvar i__5770__auto___14388 \x3d (0);\nwhile(true){\nif((i__5770__auto___14388 \x3c len__5769__auto___14387)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14388]));\n\nvar G__14389 \x3d (i__5770__auto___14388 + (1));\ni__5770__auto___14388 \x3d G__14389;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn false;\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core._EQ_,x,y,more));\n}));\n\n/** @this {Function} */\n(cljs.core.not_EQ_.cljs$lang$applyTo \x3d (function (seq11175){\nvar G__11176 \x3d cljs.core.first(seq11175);\nvar seq11175__$1 \x3d cljs.core.next(seq11175);\nvar G__11177 \x3d cljs.core.first(seq11175__$1);\nvar seq11175__$2 \x3d cljs.core.next(seq11175__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11176,G__11177,seq11175__$2);\n}));\n\n(cljs.core.not_EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If coll is empty, returns nil, else coll\n */\ncljs.core.not_empty \x3d (function cljs$core$not_empty(coll){\nif(cljs.core.seq(coll)){\nreturn coll;\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.t_cljs$core11179 \x3d (function (meta11180){\nthis.meta11180 \x3d meta11180;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core11179.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_11181,meta11180__$1){\nvar self__ \x3d this;\nvar _11181__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core11179(meta11180__$1));\n}));\n\n(cljs.core.t_cljs$core11179.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_11181){\nvar self__ \x3d this;\nvar _11181__$1 \x3d this;\nreturn self__.meta11180;\n}));\n\n(cljs.core.t_cljs$core11179.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn false;\n}));\n\n(cljs.core.t_cljs$core11179.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22No such element\x22));\n}));\n\n(cljs.core.t_cljs$core11179.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.t_cljs$core11179.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta11180\x22,\x22meta11180\x22,2142569640,null)], null);\n}));\n\n(cljs.core.t_cljs$core11179.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core11179.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core11179\x22);\n\n(cljs.core.t_cljs$core11179.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/t_cljs$core11179\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core11179.\n */\ncljs.core.__GT_t_cljs$core11179 \x3d (function cljs$core$__GT_t_cljs$core11179(meta11180){\nreturn (new cljs.core.t_cljs$core11179(meta11180));\n});\n\n\ncljs.core.nil_iter \x3d (function cljs$core$nil_iter(){\nreturn (new cljs.core.t_cljs$core11179(cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.StringIter \x3d (function (s,i){\nthis.s \x3d s;\nthis.i \x3d i;\n});\n(cljs.core.StringIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.s.length);\n}));\n\n(cljs.core.StringIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.s.charAt(self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.StringIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.StringIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.StringIter.cljs$lang$type \x3d true);\n\n(cljs.core.StringIter.cljs$lang$ctorStr \x3d \x22cljs.core/StringIter\x22);\n\n(cljs.core.StringIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/StringIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringIter.\n */\ncljs.core.__GT_StringIter \x3d (function cljs$core$__GT_StringIter(s,i){\nreturn (new cljs.core.StringIter(s,i));\n});\n\ncljs.core.string_iter \x3d (function cljs$core$string_iter(x){\nreturn (new cljs.core.StringIter(x,(0)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayIter \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.ArrayIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.ArrayIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.ArrayIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayIter.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayIter.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayIter\x22);\n\n(cljs.core.ArrayIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayIter.\n */\ncljs.core.__GT_ArrayIter \x3d (function cljs$core$__GT_ArrayIter(arr,i){\nreturn (new cljs.core.ArrayIter(arr,i));\n});\n\ncljs.core.array_iter \x3d (function cljs$core$array_iter(x){\nreturn (new cljs.core.ArrayIter(x,(0)));\n});\ncljs.core.INIT \x3d ({});\ncljs.core.START \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.SeqIter \x3d (function (_seq,_next){\nthis._seq \x3d _seq;\nthis._next \x3d _next;\n});\n(cljs.core.SeqIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__._seq \x3d\x3d\x3d cljs.core.INIT)){\n(self__._seq \x3d cljs.core.START);\n\n(self__._next \x3d cljs.core.seq(self__._next));\n} else {\nif((self__._seq \x3d\x3d\x3d self__._next)){\n(self__._next \x3d cljs.core.next(self__._seq));\n} else {\n}\n}\n\nreturn (!((self__._next \x3d\x3d null)));\n}));\n\n(cljs.core.SeqIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!(this$.hasNext()))){\nthrow (new Error(\x22No such element\x22));\n} else {\n(self__._seq \x3d self__._next);\n\nreturn cljs.core.first(self__._next);\n}\n}));\n\n(cljs.core.SeqIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.SeqIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22_seq\x22,\x22_seq\x22,-449557847,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.SeqIter.cljs$lang$type \x3d true);\n\n(cljs.core.SeqIter.cljs$lang$ctorStr \x3d \x22cljs.core/SeqIter\x22);\n\n(cljs.core.SeqIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/SeqIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/SeqIter.\n */\ncljs.core.__GT_SeqIter \x3d (function cljs$core$__GT_SeqIter(_seq,_next){\nreturn (new cljs.core.SeqIter(_seq,_next));\n});\n\ncljs.core.seq_iter \x3d (function cljs$core$seq_iter(coll){\nreturn (new cljs.core.SeqIter(cljs.core.INIT,coll));\n});\ncljs.core.iter \x3d (function cljs$core$iter(coll){\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core._iterator(coll);\n} else {\nif((coll \x3d\x3d null)){\nreturn cljs.core.nil_iter();\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.string_iter(coll);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_iter(coll);\n} else {\nif(cljs.core.seqable_QMARK_(coll)){\nreturn cljs.core.seq_iter(coll);\n} else {\nthrow (new Error([\x22Cannot create iterator from \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Many \x3d (function (vals){\nthis.vals \x3d vals;\n});\n(cljs.core.Many.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nself__.vals.push(o);\n\nreturn this$;\n}));\n\n(cljs.core.Many.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.vals.shift();\n}));\n\n(cljs.core.Many.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.vals.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.Many.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Many: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.vals)].join(\x27\x27);\n}));\n\n(cljs.core.Many.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vals\x22,\x22vals\x22,-1886377036,null)], null);\n}));\n\n(cljs.core.Many.cljs$lang$type \x3d true);\n\n(cljs.core.Many.cljs$lang$ctorStr \x3d \x22cljs.core/Many\x22);\n\n(cljs.core.Many.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Many\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Many.\n */\ncljs.core.__GT_Many \x3d (function cljs$core$__GT_Many(vals){\nreturn (new cljs.core.Many(vals));\n});\n\ncljs.core.NONE \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.Single \x3d (function (val){\nthis.val \x3d val;\n});\n(cljs.core.Single.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\n(self__.val \x3d o);\n\nreturn this$;\n} else {\nreturn (new cljs.core.Many([self__.val,o]));\n}\n}));\n\n(cljs.core.Single.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\nthrow (new Error(\x22Removing object from empty buffer\x22));\n} else {\nvar ret \x3d self__.val;\n(self__.val \x3d cljs.core.NONE);\n\nreturn ret;\n}\n}));\n\n(cljs.core.Single.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.val \x3d\x3d\x3d cljs.core.NONE);\n}));\n\n(cljs.core.Single.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Single: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.val)].join(\x27\x27);\n}));\n\n(cljs.core.Single.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Single.cljs$lang$type \x3d true);\n\n(cljs.core.Single.cljs$lang$ctorStr \x3d \x22cljs.core/Single\x22);\n\n(cljs.core.Single.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Single\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Single.\n */\ncljs.core.__GT_Single \x3d (function cljs$core$__GT_Single(val){\nreturn (new cljs.core.Single(val));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.Empty \x3d (function (){\n});\n(cljs.core.Empty.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (new cljs.core.Single(o));\n}));\n\n(cljs.core.Empty.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nthrow (new Error(\x22Removing object from empty buffer\x22));\n}));\n\n(cljs.core.Empty.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(cljs.core.Empty.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn \x22Empty\x22;\n}));\n\n(cljs.core.Empty.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.Empty.cljs$lang$type \x3d true);\n\n(cljs.core.Empty.cljs$lang$ctorStr \x3d \x22cljs.core/Empty\x22);\n\n(cljs.core.Empty.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Empty\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Empty.\n */\ncljs.core.__GT_Empty \x3d (function cljs$core$__GT_Empty(){\nreturn (new cljs.core.Empty());\n});\n\ncljs.core.EMPTY \x3d (new cljs.core.Empty());\n\n/**\n* @constructor\n*/\ncljs.core.MultiIterator \x3d (function (iters){\nthis.iters \x3d iters;\n});\n(cljs.core.MultiIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar iters__$1 \x3d cljs.core.seq(self__.iters);\nwhile(true){\nif((!((iters__$1 \x3d\x3d null)))){\nvar iter \x3d cljs.core.first(iters__$1);\nif((!(iter.hasNext()))){\nreturn false;\n} else {\nvar G__14410 \x3d cljs.core.next(iters__$1);\niters__$1 \x3d G__14410;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.MultiIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar nexts \x3d [];\nvar n__5636__auto___14411 \x3d self__.iters.length;\nvar i_14412 \x3d (0);\nwhile(true){\nif((i_14412 \x3c n__5636__auto___14411)){\n(nexts[i_14412] \x3d (self__.iters[i_14412]).next());\n\nvar G__14413 \x3d (i_14412 + (1));\ni_14412 \x3d G__14413;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(nexts,(0));\n}));\n\n(cljs.core.MultiIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iters\x22,\x22iters\x22,719353031,null)], null);\n}));\n\n(cljs.core.MultiIterator.cljs$lang$type \x3d true);\n\n(cljs.core.MultiIterator.cljs$lang$ctorStr \x3d \x22cljs.core/MultiIterator\x22);\n\n(cljs.core.MultiIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MultiIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiIterator.\n */\ncljs.core.__GT_MultiIterator \x3d (function cljs$core$__GT_MultiIterator(iters){\nreturn (new cljs.core.MultiIterator(iters));\n});\n\ncljs.core.chunkIteratorSeq \x3d (function cljs$core$chunkIteratorSeq(iter){\nreturn (new cljs.core.LazySeq(null,(function (){\nif(iter.hasNext()){\nvar arr \x3d [];\nvar n \x3d (0);\nwhile(true){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d iter.hasNext();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (n \x3c (32));\n} else {\nreturn and__5043__auto__;\n}\n})())){\n(arr[n] \x3d iter.next());\n\nvar G__14414 \x3d (n + (1));\nn \x3d G__14414;\ncontinue;\n} else {\nreturn cljs.core.chunk_cons(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n),(cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1(iter) : cljs.core.chunkIteratorSeq.call(null,iter)));\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\n\n/**\n* @constructor\n*/\ncljs.core.TransformerIterator \x3d (function (buffer,_next,completed,xf,sourceIter,multi){\nthis.buffer \x3d buffer;\nthis._next \x3d _next;\nthis.completed \x3d completed;\nthis.xf \x3d xf;\nthis.sourceIter \x3d sourceIter;\nthis.multi \x3d multi;\n});\n(cljs.core.TransformerIterator.prototype.step \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__._next \x3d\x3d\x3d cljs.core.NONE)))){\nreturn true;\n} else {\nwhile(true){\nif((self__._next \x3d\x3d\x3d cljs.core.NONE)){\nif(self__.buffer.isEmpty()){\nif(self__.completed){\nreturn false;\n} else {\nif(self__.sourceIter.hasNext()){\nvar iter \x3d ((self__.multi)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.xf,cljs.core.cons(null,self__.sourceIter.next())):(function (){var G__11182 \x3d null;\nvar G__11183 \x3d self__.sourceIter.next();\nreturn (self__.xf.cljs$core$IFn$_invoke$arity$2 ? self__.xf.cljs$core$IFn$_invoke$arity$2(G__11182,G__11183) : self__.xf.call(null,G__11182,G__11183));\n})());\nif(cljs.core.reduced_QMARK_(iter)){\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n} else {\n}\n\ncontinue;\n} else {\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n\ncontinue;\n}\n}\n} else {\n(self__._next \x3d self__.buffer.remove());\n\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.step();\n}));\n\n(cljs.core.TransformerIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nvar ret \x3d self__._next;\n(self__._next \x3d cljs.core.NONE);\n\nreturn ret;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.TransformerIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buffer\x22,\x22buffer\x22,-2037140571,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22completed\x22,\x22completed\x22,1154475024,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22xf\x22,\x22xf\x22,2042434515,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22sourceIter\x22,\x22sourceIter\x22,1068220306,null),new cljs.core.Symbol(null,\x22multi\x22,\x22multi\x22,1450238522,null)], null);\n}));\n\n(cljs.core.TransformerIterator.cljs$lang$type \x3d true);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorStr \x3d \x22cljs.core/TransformerIterator\x22);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransformerIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransformerIterator.\n */\ncljs.core.__GT_TransformerIterator \x3d (function cljs$core$__GT_TransformerIterator(buffer,_next,completed,xf,sourceIter,multi){\nreturn (new cljs.core.TransformerIterator(buffer,_next,completed,xf,sourceIter,multi));\n});\n\n(cljs.core.TransformerIterator.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.transformer_iterator \x3d (function cljs$core$transformer_iterator(xform,sourceIter,multi){\nvar iterator \x3d (new cljs.core.TransformerIterator(cljs.core.EMPTY,cljs.core.NONE,false,null,sourceIter,multi));\n(iterator.xf \x3d (function (){var G__11184 \x3d (function() {\nvar G__14450 \x3d null;\nvar G__14450__0 \x3d (function (){\nreturn null;\n});\nvar G__14450__1 \x3d (function (acc){\nreturn acc;\n});\nvar G__14450__2 \x3d (function (acc,o){\n(iterator.buffer \x3d iterator.buffer.add(o));\n\nreturn acc;\n});\nG__14450 \x3d function(acc,o){\nswitch(arguments.length){\ncase 0:\nreturn G__14450__0.call(this);\ncase 1:\nreturn G__14450__1.call(this,acc);\ncase 2:\nreturn G__14450__2.call(this,acc,o);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14450.cljs$core$IFn$_invoke$arity$0 \x3d G__14450__0;\nG__14450.cljs$core$IFn$_invoke$arity$1 \x3d G__14450__1;\nG__14450.cljs$core$IFn$_invoke$arity$2 \x3d G__14450__2;\nreturn G__14450;\n})()\n;\nreturn (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(G__11184) : xform.call(null,G__11184));\n})());\n\nreturn iterator;\n});\n(cljs.core.TransformerIterator.create \x3d (function (xform,source){\nreturn cljs.core.transformer_iterator(xform,source,false);\n}));\n(cljs.core.TransformerIterator.createMulti \x3d (function (xform,sources){\nreturn cljs.core.transformer_iterator(xform,(new cljs.core.MultiIterator(cljs.core.to_array(sources))),true);\n}));\n/**\n * Coerces coll to a (possibly empty) sequence, if it is not already\n * one. Will not force a lazy seq. (sequence nil) yields (), When a\n * transducer is supplied, returns a lazy sequence of applications of\n * the transform to the items in coll(s), i.e. to the set of first\n * items of each coll, followed by the set of second\n * items in each coll, until any one of the colls is exhausted. Any\n * remaining items in other colls are ignored. The transform should accept\n * number-of-colls arguments\n */\ncljs.core.sequence \x3d (function cljs$core$sequence(var_args){\nvar G__11189 \x3d arguments.length;\nswitch (G__11189) {\ncase 1:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14452 \x3d arguments.length;\nvar i__5770__auto___14453 \x3d (0);\nwhile(true){\nif((i__5770__auto___14453 \x3c len__5769__auto___14452)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14453]));\n\nvar G__14454 \x3d (i__5770__auto___14453 + (1));\ni__5770__auto___14453 \x3d G__14454;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nif(cljs.core.seq_QMARK_(coll)){\nreturn coll;\n} else {\nvar or__5045__auto__ \x3d cljs.core.seq(coll);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,coll){\nvar or__5045__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.create(xform,cljs.core.iter(coll)));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xform,coll,colls){\nvar or__5045__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.createMulti(xform,(function (){var G__11190 \x3d cljs.core.iter;\nvar G__11191 \x3d cljs.core.cons(coll,colls);\nreturn (cljs.core.map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.map.cljs$core$IFn$_invoke$arity$2(G__11190,G__11191) : cljs.core.map.call(null,G__11190,G__11191));\n})()));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.sequence.cljs$lang$applyTo \x3d (function (seq11186){\nvar G__11187 \x3d cljs.core.first(seq11186);\nvar seq11186__$1 \x3d cljs.core.next(seq11186);\nvar G__11188 \x3d cljs.core.first(seq11186__$1);\nvar seq11186__$2 \x3d cljs.core.next(seq11186__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11187,G__11188,seq11186__$2);\n}));\n\n(cljs.core.sequence.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if (pred x) is logical true for every x in coll, else\n * false.\n */\ncljs.core.every_QMARK_ \x3d (function cljs$core$every_QMARK_(pred,coll){\nwhile(true){\nif((cljs.core.seq(coll) \x3d\x3d null)){\nreturn true;\n} else {\nif(cljs.core.truth_((function (){var G__11192 \x3d cljs.core.first(coll);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__11192) : pred.call(null,G__11192));\n})())){\nvar G__14455 \x3d pred;\nvar G__14456 \x3d cljs.core.next(coll);\npred \x3d G__14455;\ncoll \x3d G__14456;\ncontinue;\n} else {\nreturn false;\n\n}\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for every x in\n * coll, else true.\n */\ncljs.core.not_every_QMARK_ \x3d (function cljs$core$not_every_QMARK_(pred,coll){\nreturn (!(cljs.core.every_QMARK_(pred,coll)));\n});\n/**\n * Returns the first logical true value of (pred x) for any x in coll,\n * else nil. One common idiom is to use a set as pred, for example\n * this will return :fred if :fred is in the sequence, otherwise nil:\n * (some #{:fred} coll)\n */\ncljs.core.some \x3d (function cljs$core$some(pred,coll){\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar or__5045__auto__ \x3d (function (){var G__11193 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__11193) : pred.call(null,G__11193));\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar G__14472 \x3d pred;\nvar G__14473 \x3d cljs.core.next(s);\npred \x3d G__14472;\ncoll \x3d G__14473;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for any x in coll,\n * else true.\n */\ncljs.core.not_any_QMARK_ \x3d (function cljs$core$not_any_QMARK_(pred,coll){\nreturn cljs.core.not(cljs.core.some(pred,coll));\n});\n/**\n * Returns true if n is even, throws an exception if n is not an integer\n */\ncljs.core.even_QMARK_ \x3d (function cljs$core$even_QMARK_(n){\nif(cljs.core.integer_QMARK_(n)){\nreturn ((n \x26 (1)) \x3d\x3d\x3d (0));\n} else {\nthrow (new Error([\x22Argument must be an integer: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)));\n}\n});\n/**\n * Returns true if n is odd, throws an exception if n is not an integer\n */\ncljs.core.odd_QMARK_ \x3d (function cljs$core$odd_QMARK_(n){\nreturn (!(cljs.core.even_QMARK_(n)));\n});\n/**\n * Takes a fn f and returns a fn that takes the same arguments as f,\n * has the same effects, if any, and returns the opposite truth value.\n */\ncljs.core.complement \x3d (function cljs$core$complement(f){\nreturn (function() {\nvar G__14481 \x3d null;\nvar G__14481__0 \x3d (function (){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)));\n});\nvar G__14481__1 \x3d (function (x){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)));\n});\nvar G__14481__2 \x3d (function (x,y){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)));\n});\nvar G__14481__3 \x3d (function() { \nvar G__14482__delegate \x3d function (x,y,zs){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f,x,y,zs));\n};\nvar G__14482 \x3d function (x,y,var_args){\nvar zs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__14483__i \x3d 0, G__14483__a \x3d new Array(arguments.length - 2);\nwhile (G__14483__i \x3c G__14483__a.length) {G__14483__a[G__14483__i] \x3d arguments[G__14483__i + 2]; ++G__14483__i;}\n zs \x3d new cljs.core.IndexedSeq(G__14483__a,0,null);\n} \nreturn G__14482__delegate.call(this,x,y,zs);};\nG__14482.cljs$lang$maxFixedArity \x3d 2;\nG__14482.cljs$lang$applyTo \x3d (function (arglist__14484){\nvar x \x3d cljs.core.first(arglist__14484);\narglist__14484 \x3d cljs.core.next(arglist__14484);\nvar y \x3d cljs.core.first(arglist__14484);\nvar zs \x3d cljs.core.rest(arglist__14484);\nreturn G__14482__delegate(x,y,zs);\n});\nG__14482.cljs$core$IFn$_invoke$arity$variadic \x3d G__14482__delegate;\nreturn G__14482;\n})()\n;\nG__14481 \x3d function(x,y,var_args){\nvar zs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__14481__0.call(this);\ncase 1:\nreturn G__14481__1.call(this,x);\ncase 2:\nreturn G__14481__2.call(this,x,y);\ndefault:\nvar G__14485 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__14486__i \x3d 0, G__14486__a \x3d new Array(arguments.length - 2);\nwhile (G__14486__i \x3c G__14486__a.length) {G__14486__a[G__14486__i] \x3d arguments[G__14486__i + 2]; ++G__14486__i;}\nG__14485 \x3d new cljs.core.IndexedSeq(G__14486__a,0,null);\n}\nreturn G__14481__3.cljs$core$IFn$_invoke$arity$variadic(x,y, G__14485);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14481.cljs$lang$maxFixedArity \x3d 2;\nG__14481.cljs$lang$applyTo \x3d G__14481__3.cljs$lang$applyTo;\nG__14481.cljs$core$IFn$_invoke$arity$0 \x3d G__14481__0;\nG__14481.cljs$core$IFn$_invoke$arity$1 \x3d G__14481__1;\nG__14481.cljs$core$IFn$_invoke$arity$2 \x3d G__14481__2;\nG__14481.cljs$core$IFn$_invoke$arity$variadic \x3d G__14481__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14481;\n})()\n});\n/**\n * Returns a function that takes any number of arguments and returns x.\n */\ncljs.core.constantly \x3d (function cljs$core$constantly(x){\nreturn (function() { \nvar G__14487__delegate \x3d function (args){\nreturn x;\n};\nvar G__14487 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__14488__i \x3d 0, G__14488__a \x3d new Array(arguments.length - 0);\nwhile (G__14488__i \x3c G__14488__a.length) {G__14488__a[G__14488__i] \x3d arguments[G__14488__i + 0]; ++G__14488__i;}\n args \x3d new cljs.core.IndexedSeq(G__14488__a,0,null);\n} \nreturn G__14487__delegate.call(this,args);};\nG__14487.cljs$lang$maxFixedArity \x3d 0;\nG__14487.cljs$lang$applyTo \x3d (function (arglist__14489){\nvar args \x3d cljs.core.seq(arglist__14489);\nreturn G__14487__delegate(args);\n});\nG__14487.cljs$core$IFn$_invoke$arity$variadic \x3d G__14487__delegate;\nreturn G__14487;\n})()\n;\n});\n/**\n * Takes a set of functions and returns a fn that is the composition\n * of those fns. The returned fn takes a variable number of args,\n * applies the rightmost of fns to the args, the next\n * fn (right-to-left) to the result, etc.\n */\ncljs.core.comp \x3d (function cljs$core$comp(var_args){\nvar G__11199 \x3d arguments.length;\nswitch (G__11199) {\ncase 0:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14491 \x3d arguments.length;\nvar i__5770__auto___14492 \x3d (0);\nwhile(true){\nif((i__5770__auto___14492 \x3c len__5769__auto___14491)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14492]));\n\nvar G__14493 \x3d (i__5770__auto___14492 + (1));\ni__5770__auto___14492 \x3d G__14493;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.identity;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__14495 \x3d null;\nvar G__14495__0 \x3d (function (){\nvar G__11200 \x3d (g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11200) : f.call(null,G__11200));\n});\nvar G__14495__1 \x3d (function (x){\nvar G__11201 \x3d (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11201) : f.call(null,G__11201));\n});\nvar G__14495__2 \x3d (function (x,y){\nvar G__11202 \x3d (g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11202) : f.call(null,G__11202));\n});\nvar G__14495__3 \x3d (function (x,y,z){\nvar G__11203 \x3d (g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11203) : f.call(null,G__11203));\n});\nvar G__14495__4 \x3d (function() { \nvar G__14497__delegate \x3d function (x,y,z,args){\nvar G__11204 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11204) : f.call(null,G__11204));\n};\nvar G__14497 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14501__i \x3d 0, G__14501__a \x3d new Array(arguments.length - 3);\nwhile (G__14501__i \x3c G__14501__a.length) {G__14501__a[G__14501__i] \x3d arguments[G__14501__i + 3]; ++G__14501__i;}\n args \x3d new cljs.core.IndexedSeq(G__14501__a,0,null);\n} \nreturn G__14497__delegate.call(this,x,y,z,args);};\nG__14497.cljs$lang$maxFixedArity \x3d 3;\nG__14497.cljs$lang$applyTo \x3d (function (arglist__14502){\nvar x \x3d cljs.core.first(arglist__14502);\narglist__14502 \x3d cljs.core.next(arglist__14502);\nvar y \x3d cljs.core.first(arglist__14502);\narglist__14502 \x3d cljs.core.next(arglist__14502);\nvar z \x3d cljs.core.first(arglist__14502);\nvar args \x3d cljs.core.rest(arglist__14502);\nreturn G__14497__delegate(x,y,z,args);\n});\nG__14497.cljs$core$IFn$_invoke$arity$variadic \x3d G__14497__delegate;\nreturn G__14497;\n})()\n;\nG__14495 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__14495__0.call(this);\ncase 1:\nreturn G__14495__1.call(this,x);\ncase 2:\nreturn G__14495__2.call(this,x,y);\ncase 3:\nreturn G__14495__3.call(this,x,y,z);\ndefault:\nvar G__14503 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14504__i \x3d 0, G__14504__a \x3d new Array(arguments.length - 3);\nwhile (G__14504__i \x3c G__14504__a.length) {G__14504__a[G__14504__i] \x3d arguments[G__14504__i + 3]; ++G__14504__i;}\nG__14503 \x3d new cljs.core.IndexedSeq(G__14504__a,0,null);\n}\nreturn G__14495__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14503);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14495.cljs$lang$maxFixedArity \x3d 3;\nG__14495.cljs$lang$applyTo \x3d G__14495__4.cljs$lang$applyTo;\nG__14495.cljs$core$IFn$_invoke$arity$0 \x3d G__14495__0;\nG__14495.cljs$core$IFn$_invoke$arity$1 \x3d G__14495__1;\nG__14495.cljs$core$IFn$_invoke$arity$2 \x3d G__14495__2;\nG__14495.cljs$core$IFn$_invoke$arity$3 \x3d G__14495__3;\nG__14495.cljs$core$IFn$_invoke$arity$variadic \x3d G__14495__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14495;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__14505 \x3d null;\nvar G__14505__0 \x3d (function (){\nvar G__11205 \x3d (function (){var G__11206 \x3d (h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__11206) : g.call(null,G__11206));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11205) : f.call(null,G__11205));\n});\nvar G__14505__1 \x3d (function (x){\nvar G__11207 \x3d (function (){var G__11208 \x3d (h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__11208) : g.call(null,G__11208));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11207) : f.call(null,G__11207));\n});\nvar G__14505__2 \x3d (function (x,y){\nvar G__11209 \x3d (function (){var G__11210 \x3d (h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__11210) : g.call(null,G__11210));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11209) : f.call(null,G__11209));\n});\nvar G__14505__3 \x3d (function (x,y,z){\nvar G__11211 \x3d (function (){var G__11212 \x3d (h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__11212) : g.call(null,G__11212));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11211) : f.call(null,G__11211));\n});\nvar G__14505__4 \x3d (function() { \nvar G__14506__delegate \x3d function (x,y,z,args){\nvar G__11213 \x3d (function (){var G__11214 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args);\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__11214) : g.call(null,G__11214));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11213) : f.call(null,G__11213));\n};\nvar G__14506 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14507__i \x3d 0, G__14507__a \x3d new Array(arguments.length - 3);\nwhile (G__14507__i \x3c G__14507__a.length) {G__14507__a[G__14507__i] \x3d arguments[G__14507__i + 3]; ++G__14507__i;}\n args \x3d new cljs.core.IndexedSeq(G__14507__a,0,null);\n} \nreturn G__14506__delegate.call(this,x,y,z,args);};\nG__14506.cljs$lang$maxFixedArity \x3d 3;\nG__14506.cljs$lang$applyTo \x3d (function (arglist__14508){\nvar x \x3d cljs.core.first(arglist__14508);\narglist__14508 \x3d cljs.core.next(arglist__14508);\nvar y \x3d cljs.core.first(arglist__14508);\narglist__14508 \x3d cljs.core.next(arglist__14508);\nvar z \x3d cljs.core.first(arglist__14508);\nvar args \x3d cljs.core.rest(arglist__14508);\nreturn G__14506__delegate(x,y,z,args);\n});\nG__14506.cljs$core$IFn$_invoke$arity$variadic \x3d G__14506__delegate;\nreturn G__14506;\n})()\n;\nG__14505 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__14505__0.call(this);\ncase 1:\nreturn G__14505__1.call(this,x);\ncase 2:\nreturn G__14505__2.call(this,x,y);\ncase 3:\nreturn G__14505__3.call(this,x,y,z);\ndefault:\nvar G__14509 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14510__i \x3d 0, G__14510__a \x3d new Array(arguments.length - 3);\nwhile (G__14510__i \x3c G__14510__a.length) {G__14510__a[G__14510__i] \x3d arguments[G__14510__i + 3]; ++G__14510__i;}\nG__14509 \x3d new cljs.core.IndexedSeq(G__14510__a,0,null);\n}\nreturn G__14505__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14509);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14505.cljs$lang$maxFixedArity \x3d 3;\nG__14505.cljs$lang$applyTo \x3d G__14505__4.cljs$lang$applyTo;\nG__14505.cljs$core$IFn$_invoke$arity$0 \x3d G__14505__0;\nG__14505.cljs$core$IFn$_invoke$arity$1 \x3d G__14505__1;\nG__14505.cljs$core$IFn$_invoke$arity$2 \x3d G__14505__2;\nG__14505.cljs$core$IFn$_invoke$arity$3 \x3d G__14505__3;\nG__14505.cljs$core$IFn$_invoke$arity$variadic \x3d G__14505__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14505;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f1,f2,f3,fs){\nvar fs__$1 \x3d cljs.core.reverse(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f1,f2,f3,fs));\nreturn (function() { \nvar G__14511__delegate \x3d function (args){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fs__$1),args);\nvar fs__$2 \x3d cljs.core.next(fs__$1);\nwhile(true){\nif(fs__$2){\nvar G__14512 \x3d (function (){var fexpr__11215 \x3d cljs.core.first(fs__$2);\nreturn (fexpr__11215.cljs$core$IFn$_invoke$arity$1 ? fexpr__11215.cljs$core$IFn$_invoke$arity$1(ret) : fexpr__11215.call(null,ret));\n})();\nvar G__14513 \x3d cljs.core.next(fs__$2);\nret \x3d G__14512;\nfs__$2 \x3d G__14513;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n};\nvar G__14511 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__14514__i \x3d 0, G__14514__a \x3d new Array(arguments.length - 0);\nwhile (G__14514__i \x3c G__14514__a.length) {G__14514__a[G__14514__i] \x3d arguments[G__14514__i + 0]; ++G__14514__i;}\n args \x3d new cljs.core.IndexedSeq(G__14514__a,0,null);\n} \nreturn G__14511__delegate.call(this,args);};\nG__14511.cljs$lang$maxFixedArity \x3d 0;\nG__14511.cljs$lang$applyTo \x3d (function (arglist__14515){\nvar args \x3d cljs.core.seq(arglist__14515);\nreturn G__14511__delegate(args);\n});\nG__14511.cljs$core$IFn$_invoke$arity$variadic \x3d G__14511__delegate;\nreturn G__14511;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.comp.cljs$lang$applyTo \x3d (function (seq11195){\nvar G__11196 \x3d cljs.core.first(seq11195);\nvar seq11195__$1 \x3d cljs.core.next(seq11195);\nvar G__11197 \x3d cljs.core.first(seq11195__$1);\nvar seq11195__$2 \x3d cljs.core.next(seq11195__$1);\nvar G__11198 \x3d cljs.core.first(seq11195__$2);\nvar seq11195__$3 \x3d cljs.core.next(seq11195__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11196,G__11197,G__11198,seq11195__$3);\n}));\n\n(cljs.core.comp.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a function f and fewer than the normal arguments to f, and\n * returns a fn that takes a variable number of additional args. When\n * called, the returned function calls f with args + additional args.\n */\ncljs.core.partial \x3d (function cljs$core$partial(var_args){\nvar G__11222 \x3d arguments.length;\nswitch (G__11222) {\ncase 1:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14517 \x3d arguments.length;\nvar i__5770__auto___14518 \x3d (0);\nwhile(true){\nif((i__5770__auto___14518 \x3c len__5769__auto___14517)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14518]));\n\nvar G__14519 \x3d (i__5770__auto___14518 + (1));\ni__5770__auto___14518 \x3d G__14519;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,arg1){\nreturn (function() {\nvar G__14520 \x3d null;\nvar G__14520__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg1) : f.call(null,arg1));\n});\nvar G__14520__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,x) : f.call(null,arg1,x));\n});\nvar G__14520__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,x,y) : f.call(null,arg1,x,y));\n});\nvar G__14520__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,x,y,z) : f.call(null,arg1,x,y,z));\n});\nvar G__14520__4 \x3d (function() { \nvar G__14521__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));\n};\nvar G__14521 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14522__i \x3d 0, G__14522__a \x3d new Array(arguments.length - 3);\nwhile (G__14522__i \x3c G__14522__a.length) {G__14522__a[G__14522__i] \x3d arguments[G__14522__i + 3]; ++G__14522__i;}\n args \x3d new cljs.core.IndexedSeq(G__14522__a,0,null);\n} \nreturn G__14521__delegate.call(this,x,y,z,args);};\nG__14521.cljs$lang$maxFixedArity \x3d 3;\nG__14521.cljs$lang$applyTo \x3d (function (arglist__14523){\nvar x \x3d cljs.core.first(arglist__14523);\narglist__14523 \x3d cljs.core.next(arglist__14523);\nvar y \x3d cljs.core.first(arglist__14523);\narglist__14523 \x3d cljs.core.next(arglist__14523);\nvar z \x3d cljs.core.first(arglist__14523);\nvar args \x3d cljs.core.rest(arglist__14523);\nreturn G__14521__delegate(x,y,z,args);\n});\nG__14521.cljs$core$IFn$_invoke$arity$variadic \x3d G__14521__delegate;\nreturn G__14521;\n})()\n;\nG__14520 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__14520__0.call(this);\ncase 1:\nreturn G__14520__1.call(this,x);\ncase 2:\nreturn G__14520__2.call(this,x,y);\ncase 3:\nreturn G__14520__3.call(this,x,y,z);\ndefault:\nvar G__14524 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14525__i \x3d 0, G__14525__a \x3d new Array(arguments.length - 3);\nwhile (G__14525__i \x3c G__14525__a.length) {G__14525__a[G__14525__i] \x3d arguments[G__14525__i + 3]; ++G__14525__i;}\nG__14524 \x3d new cljs.core.IndexedSeq(G__14525__a,0,null);\n}\nreturn G__14520__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14524);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14520.cljs$lang$maxFixedArity \x3d 3;\nG__14520.cljs$lang$applyTo \x3d G__14520__4.cljs$lang$applyTo;\nG__14520.cljs$core$IFn$_invoke$arity$0 \x3d G__14520__0;\nG__14520.cljs$core$IFn$_invoke$arity$1 \x3d G__14520__1;\nG__14520.cljs$core$IFn$_invoke$arity$2 \x3d G__14520__2;\nG__14520.cljs$core$IFn$_invoke$arity$3 \x3d G__14520__3;\nG__14520.cljs$core$IFn$_invoke$arity$variadic \x3d G__14520__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14520;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,arg1,arg2){\nreturn (function() {\nvar G__14526 \x3d null;\nvar G__14526__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,arg2) : f.call(null,arg1,arg2));\n});\nvar G__14526__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,x) : f.call(null,arg1,arg2,x));\n});\nvar G__14526__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,x,y) : f.call(null,arg1,arg2,x,y));\n});\nvar G__14526__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,x,y,z) : f.call(null,arg1,arg2,x,y,z));\n});\nvar G__14526__4 \x3d (function() { \nvar G__14527__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,x,y,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([z,args], 0));\n};\nvar G__14527 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14528__i \x3d 0, G__14528__a \x3d new Array(arguments.length - 3);\nwhile (G__14528__i \x3c G__14528__a.length) {G__14528__a[G__14528__i] \x3d arguments[G__14528__i + 3]; ++G__14528__i;}\n args \x3d new cljs.core.IndexedSeq(G__14528__a,0,null);\n} \nreturn G__14527__delegate.call(this,x,y,z,args);};\nG__14527.cljs$lang$maxFixedArity \x3d 3;\nG__14527.cljs$lang$applyTo \x3d (function (arglist__14529){\nvar x \x3d cljs.core.first(arglist__14529);\narglist__14529 \x3d cljs.core.next(arglist__14529);\nvar y \x3d cljs.core.first(arglist__14529);\narglist__14529 \x3d cljs.core.next(arglist__14529);\nvar z \x3d cljs.core.first(arglist__14529);\nvar args \x3d cljs.core.rest(arglist__14529);\nreturn G__14527__delegate(x,y,z,args);\n});\nG__14527.cljs$core$IFn$_invoke$arity$variadic \x3d G__14527__delegate;\nreturn G__14527;\n})()\n;\nG__14526 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__14526__0.call(this);\ncase 1:\nreturn G__14526__1.call(this,x);\ncase 2:\nreturn G__14526__2.call(this,x,y);\ncase 3:\nreturn G__14526__3.call(this,x,y,z);\ndefault:\nvar G__14530 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14531__i \x3d 0, G__14531__a \x3d new Array(arguments.length - 3);\nwhile (G__14531__i \x3c G__14531__a.length) {G__14531__a[G__14531__i] \x3d arguments[G__14531__i + 3]; ++G__14531__i;}\nG__14530 \x3d new cljs.core.IndexedSeq(G__14531__a,0,null);\n}\nreturn G__14526__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14530);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14526.cljs$lang$maxFixedArity \x3d 3;\nG__14526.cljs$lang$applyTo \x3d G__14526__4.cljs$lang$applyTo;\nG__14526.cljs$core$IFn$_invoke$arity$0 \x3d G__14526__0;\nG__14526.cljs$core$IFn$_invoke$arity$1 \x3d G__14526__1;\nG__14526.cljs$core$IFn$_invoke$arity$2 \x3d G__14526__2;\nG__14526.cljs$core$IFn$_invoke$arity$3 \x3d G__14526__3;\nG__14526.cljs$core$IFn$_invoke$arity$variadic \x3d G__14526__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14526;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,arg1,arg2,arg3){\nreturn (function() {\nvar G__14532 \x3d null;\nvar G__14532__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,arg3) : f.call(null,arg1,arg2,arg3));\n});\nvar G__14532__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,arg3,x) : f.call(null,arg1,arg2,arg3,x));\n});\nvar G__14532__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,arg3,x,y) : f.call(null,arg1,arg2,arg3,x,y));\n});\nvar G__14532__3 \x3d (function (x,y,z){\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(arg1,arg2,arg3,x,y,z) : f.call(null,arg1,arg2,arg3,x,y,z));\n});\nvar G__14532__4 \x3d (function() { \nvar G__14533__delegate \x3d function (x,y,z,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,arg3,x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([y,z,args], 0));\n};\nvar G__14533 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14534__i \x3d 0, G__14534__a \x3d new Array(arguments.length - 3);\nwhile (G__14534__i \x3c G__14534__a.length) {G__14534__a[G__14534__i] \x3d arguments[G__14534__i + 3]; ++G__14534__i;}\n args \x3d new cljs.core.IndexedSeq(G__14534__a,0,null);\n} \nreturn G__14533__delegate.call(this,x,y,z,args);};\nG__14533.cljs$lang$maxFixedArity \x3d 3;\nG__14533.cljs$lang$applyTo \x3d (function (arglist__14535){\nvar x \x3d cljs.core.first(arglist__14535);\narglist__14535 \x3d cljs.core.next(arglist__14535);\nvar y \x3d cljs.core.first(arglist__14535);\narglist__14535 \x3d cljs.core.next(arglist__14535);\nvar z \x3d cljs.core.first(arglist__14535);\nvar args \x3d cljs.core.rest(arglist__14535);\nreturn G__14533__delegate(x,y,z,args);\n});\nG__14533.cljs$core$IFn$_invoke$arity$variadic \x3d G__14533__delegate;\nreturn G__14533;\n})()\n;\nG__14532 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__14532__0.call(this);\ncase 1:\nreturn G__14532__1.call(this,x);\ncase 2:\nreturn G__14532__2.call(this,x,y);\ncase 3:\nreturn G__14532__3.call(this,x,y,z);\ndefault:\nvar G__14536 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14537__i \x3d 0, G__14537__a \x3d new Array(arguments.length - 3);\nwhile (G__14537__i \x3c G__14537__a.length) {G__14537__a[G__14537__i] \x3d arguments[G__14537__i + 3]; ++G__14537__i;}\nG__14536 \x3d new cljs.core.IndexedSeq(G__14537__a,0,null);\n}\nreturn G__14532__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14536);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14532.cljs$lang$maxFixedArity \x3d 3;\nG__14532.cljs$lang$applyTo \x3d G__14532__4.cljs$lang$applyTo;\nG__14532.cljs$core$IFn$_invoke$arity$0 \x3d G__14532__0;\nG__14532.cljs$core$IFn$_invoke$arity$1 \x3d G__14532__1;\nG__14532.cljs$core$IFn$_invoke$arity$2 \x3d G__14532__2;\nG__14532.cljs$core$IFn$_invoke$arity$3 \x3d G__14532__3;\nG__14532.cljs$core$IFn$_invoke$arity$variadic \x3d G__14532__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14532;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,arg1,arg2,arg3,more){\nreturn (function() { \nvar G__14541__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,arg1,arg2,arg3,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(more,args));\n};\nvar G__14541 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__14542__i \x3d 0, G__14542__a \x3d new Array(arguments.length - 0);\nwhile (G__14542__i \x3c G__14542__a.length) {G__14542__a[G__14542__i] \x3d arguments[G__14542__i + 0]; ++G__14542__i;}\n args \x3d new cljs.core.IndexedSeq(G__14542__a,0,null);\n} \nreturn G__14541__delegate.call(this,args);};\nG__14541.cljs$lang$maxFixedArity \x3d 0;\nG__14541.cljs$lang$applyTo \x3d (function (arglist__14543){\nvar args \x3d cljs.core.seq(arglist__14543);\nreturn G__14541__delegate(args);\n});\nG__14541.cljs$core$IFn$_invoke$arity$variadic \x3d G__14541__delegate;\nreturn G__14541;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.partial.cljs$lang$applyTo \x3d (function (seq11217){\nvar G__11218 \x3d cljs.core.first(seq11217);\nvar seq11217__$1 \x3d cljs.core.next(seq11217);\nvar G__11219 \x3d cljs.core.first(seq11217__$1);\nvar seq11217__$2 \x3d cljs.core.next(seq11217__$1);\nvar G__11220 \x3d cljs.core.first(seq11217__$2);\nvar seq11217__$3 \x3d cljs.core.next(seq11217__$2);\nvar G__11221 \x3d cljs.core.first(seq11217__$3);\nvar seq11217__$4 \x3d cljs.core.next(seq11217__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11218,G__11219,G__11220,G__11221,seq11217__$4);\n}));\n\n(cljs.core.partial.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Takes a function f, and returns a function that calls f, replacing\n * a nil first argument to f with the supplied value x. Higher arity\n * versions can replace arguments in the second and third\n * positions (y, z). Note that the function f can take any number of\n * arguments, not just the one(s) being nil-patched.\n */\ncljs.core.fnil \x3d (function cljs$core$fnil(var_args){\nvar G__11224 \x3d arguments.length;\nswitch (G__11224) {\ncase 2:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,x){\nreturn (function() {\nvar G__14545 \x3d null;\nvar G__14545__1 \x3d (function (a){\nvar G__11225 \x3d (((a \x3d\x3d null))?x:a);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11225) : f.call(null,G__11225));\n});\nvar G__14545__2 \x3d (function (a,b){\nvar G__11226 \x3d (((a \x3d\x3d null))?x:a);\nvar G__11227 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11226,G__11227) : f.call(null,G__11226,G__11227));\n});\nvar G__14545__3 \x3d (function (a,b,c){\nvar G__11228 \x3d (((a \x3d\x3d null))?x:a);\nvar G__11229 \x3d b;\nvar G__11230 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11228,G__11229,G__11230) : f.call(null,G__11228,G__11229,G__11230));\n});\nvar G__14545__4 \x3d (function() { \nvar G__14546__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),b,c,ds);\n};\nvar G__14546 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14547__i \x3d 0, G__14547__a \x3d new Array(arguments.length - 3);\nwhile (G__14547__i \x3c G__14547__a.length) {G__14547__a[G__14547__i] \x3d arguments[G__14547__i + 3]; ++G__14547__i;}\n ds \x3d new cljs.core.IndexedSeq(G__14547__a,0,null);\n} \nreturn G__14546__delegate.call(this,a,b,c,ds);};\nG__14546.cljs$lang$maxFixedArity \x3d 3;\nG__14546.cljs$lang$applyTo \x3d (function (arglist__14548){\nvar a \x3d cljs.core.first(arglist__14548);\narglist__14548 \x3d cljs.core.next(arglist__14548);\nvar b \x3d cljs.core.first(arglist__14548);\narglist__14548 \x3d cljs.core.next(arglist__14548);\nvar c \x3d cljs.core.first(arglist__14548);\nvar ds \x3d cljs.core.rest(arglist__14548);\nreturn G__14546__delegate(a,b,c,ds);\n});\nG__14546.cljs$core$IFn$_invoke$arity$variadic \x3d G__14546__delegate;\nreturn G__14546;\n})()\n;\nG__14545 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 1:\nreturn G__14545__1.call(this,a);\ncase 2:\nreturn G__14545__2.call(this,a,b);\ncase 3:\nreturn G__14545__3.call(this,a,b,c);\ndefault:\nvar G__14549 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14550__i \x3d 0, G__14550__a \x3d new Array(arguments.length - 3);\nwhile (G__14550__i \x3c G__14550__a.length) {G__14550__a[G__14550__i] \x3d arguments[G__14550__i + 3]; ++G__14550__i;}\nG__14549 \x3d new cljs.core.IndexedSeq(G__14550__a,0,null);\n}\nreturn G__14545__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__14549);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14545.cljs$lang$maxFixedArity \x3d 3;\nG__14545.cljs$lang$applyTo \x3d G__14545__4.cljs$lang$applyTo;\nG__14545.cljs$core$IFn$_invoke$arity$1 \x3d G__14545__1;\nG__14545.cljs$core$IFn$_invoke$arity$2 \x3d G__14545__2;\nG__14545.cljs$core$IFn$_invoke$arity$3 \x3d G__14545__3;\nG__14545.cljs$core$IFn$_invoke$arity$variadic \x3d G__14545__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14545;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,y){\nreturn (function() {\nvar G__14551 \x3d null;\nvar G__14551__2 \x3d (function (a,b){\nvar G__11231 \x3d (((a \x3d\x3d null))?x:a);\nvar G__11232 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11231,G__11232) : f.call(null,G__11231,G__11232));\n});\nvar G__14551__3 \x3d (function (a,b,c){\nvar G__11233 \x3d (((a \x3d\x3d null))?x:a);\nvar G__11234 \x3d (((b \x3d\x3d null))?y:b);\nvar G__11235 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11233,G__11234,G__11235) : f.call(null,G__11233,G__11234,G__11235));\n});\nvar G__14551__4 \x3d (function() { \nvar G__14552__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),c,ds);\n};\nvar G__14552 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14562__i \x3d 0, G__14562__a \x3d new Array(arguments.length - 3);\nwhile (G__14562__i \x3c G__14562__a.length) {G__14562__a[G__14562__i] \x3d arguments[G__14562__i + 3]; ++G__14562__i;}\n ds \x3d new cljs.core.IndexedSeq(G__14562__a,0,null);\n} \nreturn G__14552__delegate.call(this,a,b,c,ds);};\nG__14552.cljs$lang$maxFixedArity \x3d 3;\nG__14552.cljs$lang$applyTo \x3d (function (arglist__14563){\nvar a \x3d cljs.core.first(arglist__14563);\narglist__14563 \x3d cljs.core.next(arglist__14563);\nvar b \x3d cljs.core.first(arglist__14563);\narglist__14563 \x3d cljs.core.next(arglist__14563);\nvar c \x3d cljs.core.first(arglist__14563);\nvar ds \x3d cljs.core.rest(arglist__14563);\nreturn G__14552__delegate(a,b,c,ds);\n});\nG__14552.cljs$core$IFn$_invoke$arity$variadic \x3d G__14552__delegate;\nreturn G__14552;\n})()\n;\nG__14551 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__14551__2.call(this,a,b);\ncase 3:\nreturn G__14551__3.call(this,a,b,c);\ndefault:\nvar G__14564 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14565__i \x3d 0, G__14565__a \x3d new Array(arguments.length - 3);\nwhile (G__14565__i \x3c G__14565__a.length) {G__14565__a[G__14565__i] \x3d arguments[G__14565__i + 3]; ++G__14565__i;}\nG__14564 \x3d new cljs.core.IndexedSeq(G__14565__a,0,null);\n}\nreturn G__14551__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__14564);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14551.cljs$lang$maxFixedArity \x3d 3;\nG__14551.cljs$lang$applyTo \x3d G__14551__4.cljs$lang$applyTo;\nG__14551.cljs$core$IFn$_invoke$arity$2 \x3d G__14551__2;\nG__14551.cljs$core$IFn$_invoke$arity$3 \x3d G__14551__3;\nG__14551.cljs$core$IFn$_invoke$arity$variadic \x3d G__14551__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14551;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,z){\nreturn (function() {\nvar G__14566 \x3d null;\nvar G__14566__2 \x3d (function (a,b){\nvar G__11236 \x3d (((a \x3d\x3d null))?x:a);\nvar G__11237 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11236,G__11237) : f.call(null,G__11236,G__11237));\n});\nvar G__14566__3 \x3d (function (a,b,c){\nvar G__11238 \x3d (((a \x3d\x3d null))?x:a);\nvar G__11239 \x3d (((b \x3d\x3d null))?y:b);\nvar G__11240 \x3d (((c \x3d\x3d null))?z:c);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11238,G__11239,G__11240) : f.call(null,G__11238,G__11239,G__11240));\n});\nvar G__14566__4 \x3d (function() { \nvar G__14567__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),(((c \x3d\x3d null))?z:c),ds);\n};\nvar G__14567 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14568__i \x3d 0, G__14568__a \x3d new Array(arguments.length - 3);\nwhile (G__14568__i \x3c G__14568__a.length) {G__14568__a[G__14568__i] \x3d arguments[G__14568__i + 3]; ++G__14568__i;}\n ds \x3d new cljs.core.IndexedSeq(G__14568__a,0,null);\n} \nreturn G__14567__delegate.call(this,a,b,c,ds);};\nG__14567.cljs$lang$maxFixedArity \x3d 3;\nG__14567.cljs$lang$applyTo \x3d (function (arglist__14569){\nvar a \x3d cljs.core.first(arglist__14569);\narglist__14569 \x3d cljs.core.next(arglist__14569);\nvar b \x3d cljs.core.first(arglist__14569);\narglist__14569 \x3d cljs.core.next(arglist__14569);\nvar c \x3d cljs.core.first(arglist__14569);\nvar ds \x3d cljs.core.rest(arglist__14569);\nreturn G__14567__delegate(a,b,c,ds);\n});\nG__14567.cljs$core$IFn$_invoke$arity$variadic \x3d G__14567__delegate;\nreturn G__14567;\n})()\n;\nG__14566 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__14566__2.call(this,a,b);\ncase 3:\nreturn G__14566__3.call(this,a,b,c);\ndefault:\nvar G__14570 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14571__i \x3d 0, G__14571__a \x3d new Array(arguments.length - 3);\nwhile (G__14571__i \x3c G__14571__a.length) {G__14571__a[G__14571__i] \x3d arguments[G__14571__i + 3]; ++G__14571__i;}\nG__14570 \x3d new cljs.core.IndexedSeq(G__14571__a,0,null);\n}\nreturn G__14566__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__14570);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14566.cljs$lang$maxFixedArity \x3d 3;\nG__14566.cljs$lang$applyTo \x3d G__14566__4.cljs$lang$applyTo;\nG__14566.cljs$core$IFn$_invoke$arity$2 \x3d G__14566__2;\nG__14566.cljs$core$IFn$_invoke$arity$3 \x3d G__14566__3;\nG__14566.cljs$core$IFn$_invoke$arity$variadic \x3d G__14566__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14566;\n})()\n}));\n\n(cljs.core.fnil.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to 0\n * and the first item of coll, followed by applying f to 1 and the second\n * item in coll, etc, until coll is exhausted. Thus function f should\n * accept 2 arguments, index and item. Returns a stateful transducer when\n * no collection is provided.\n */\ncljs.core.map_indexed \x3d (function cljs$core$map_indexed(var_args){\nvar G__11242 \x3d arguments.length;\nswitch (G__11242) {\ncase 1:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar i \x3d (cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1((-1)) : cljs.core.volatile_BANG_.call(null,(-1)));\nreturn (function() {\nvar G__14573 \x3d null;\nvar G__14573__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__14573__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__14573__2 \x3d (function (result,input){\nvar G__11243 \x3d result;\nvar G__11244 \x3d (function (){var G__11245 \x3d cljs.core._vreset_BANG_(i,(cljs.core._deref(i) + (1)));\nvar G__11246 \x3d input;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11245,G__11246) : f.call(null,G__11245,G__11246));\n})();\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__11243,G__11244) : rf.call(null,G__11243,G__11244));\n});\nG__14573 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__14573__0.call(this);\ncase 1:\nreturn G__14573__1.call(this,result);\ncase 2:\nreturn G__14573__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14573.cljs$core$IFn$_invoke$arity$0 \x3d G__14573__0;\nG__14573.cljs$core$IFn$_invoke$arity$1 \x3d G__14573__1;\nG__14573.cljs$core$IFn$_invoke$arity$2 \x3d G__14573__2;\nreturn G__14573;\n})()\n});\n}));\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar mapi \x3d (function cljs$core$mapi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___14574 \x3d size;\nvar i_14575 \x3d (0);\nwhile(true){\nif((i_14575 \x3c n__5636__auto___14574)){\ncljs.core.chunk_append(b,(function (){var G__11251 \x3d (idx + i_14575);\nvar G__11252 \x3d cljs.core._nth(c,i_14575);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11251,G__11252) : f.call(null,G__11251,G__11252));\n})());\n\nvar G__14576 \x3d (i_14575 + (1));\ni_14575 \x3d G__14576;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$mapi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__11253 \x3d idx;\nvar G__11254 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11253,G__11254) : f.call(null,G__11253,G__11254));\n})(),cljs$core$mapi((idx + (1)),cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn mapi((0),coll);\n}));\n\n(cljs.core.map_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the non-nil results of (f item). Note,\n * this means false return values will be included. f must be free of\n * side-effects. Returns a transducer when no collection is provided.\n */\ncljs.core.keep \x3d (function cljs$core$keep(var_args){\nvar G__11256 \x3d arguments.length;\nswitch (G__11256) {\ncase 1:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__14582 \x3d null;\nvar G__14582__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__14582__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__14582__2 \x3d (function (result,input){\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__14582 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__14582__0.call(this);\ncase 1:\nreturn G__14582__1.call(this,result);\ncase 2:\nreturn G__14582__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14582.cljs$core$IFn$_invoke$arity$0 \x3d G__14582__0;\nG__14582.cljs$core$IFn$_invoke$arity$1 \x3d G__14582__1;\nG__14582.cljs$core$IFn$_invoke$arity$2 \x3d G__14582__2;\nreturn G__14582;\n})()\n});\n}));\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___14583 \x3d size;\nvar i_14584 \x3d (0);\nwhile(true){\nif((i_14584 \x3c n__5636__auto___14583)){\nvar x_14585 \x3d (function (){var G__11257 \x3d cljs.core._nth(c,i_14584);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11257) : f.call(null,G__11257));\n})();\nif((x_14585 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_14585);\n}\n\nvar G__14586 \x3d (i_14584 + (1));\ni_14584 \x3d G__14586;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__11258 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11258) : f.call(null,G__11258));\n})();\nif((x \x3d\x3d null)){\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.keep.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Atom \x3d (function (state,meta,validator,watches){\nthis.state \x3d state;\nthis.meta \x3d meta;\nthis.validator \x3d validator;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 16386;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6455296;\n});\n(cljs.core.Atom.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn (o__$1 \x3d\x3d\x3d other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar seq__11259 \x3d cljs.core.seq(self__.watches);\nvar chunk__11260 \x3d null;\nvar count__11261 \x3d (0);\nvar i__11262 \x3d (0);\nwhile(true){\nif((i__11262 \x3c count__11261)){\nvar vec__11269 \x3d chunk__11260.cljs$core$IIndexed$_nth$arity$2(null,i__11262);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11269,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11269,(1),null);\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));\n\n\nvar G__14587 \x3d seq__11259;\nvar G__14588 \x3d chunk__11260;\nvar G__14589 \x3d count__11261;\nvar G__14590 \x3d (i__11262 + (1));\nseq__11259 \x3d G__14587;\nchunk__11260 \x3d G__14588;\ncount__11261 \x3d G__14589;\ni__11262 \x3d G__14590;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__11259);\nif(temp__5804__auto__){\nvar seq__11259__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__11259__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__11259__$1);\nvar G__14591 \x3d cljs.core.chunk_rest(seq__11259__$1);\nvar G__14592 \x3d c__5568__auto__;\nvar G__14593 \x3d cljs.core.count(c__5568__auto__);\nvar G__14594 \x3d (0);\nseq__11259 \x3d G__14591;\nchunk__11260 \x3d G__14592;\ncount__11261 \x3d G__14593;\ni__11262 \x3d G__14594;\ncontinue;\n} else {\nvar vec__11272 \x3d cljs.core.first(seq__11259__$1);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11272,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11272,(1),null);\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));\n\n\nvar G__14595 \x3d cljs.core.next(seq__11259__$1);\nvar G__14596 \x3d null;\nvar G__14597 \x3d (0);\nvar G__14598 \x3d (0);\nseq__11259 \x3d G__14595;\nchunk__11260 \x3d G__14596;\ncount__11261 \x3d G__14597;\ni__11262 \x3d G__14598;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\n(this$__$1.watches \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.watches,key,f));\n\nreturn this$__$1;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (this$__$1.watches \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.watches,key));\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.Atom.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22validator\x22,\x22validator\x22,-325659154,null),new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null)], null);\n}));\n\n(cljs.core.Atom.cljs$lang$type \x3d true);\n\n(cljs.core.Atom.cljs$lang$ctorStr \x3d \x22cljs.core/Atom\x22);\n\n(cljs.core.Atom.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Atom\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Atom.\n */\ncljs.core.__GT_Atom \x3d (function cljs$core$__GT_Atom(state,meta,validator,watches){\nreturn (new cljs.core.Atom(state,meta,validator,watches));\n});\n\n/**\n * Creates and returns an Atom with an initial value of x and zero or\n * more options (in any order):\n * \n * :meta metadata-map\n * \n * :validator validate-fn\n * \n * If metadata-map is supplied, it will become the metadata on the\n * atom. validate-fn must be nil or a side-effect-free fn of one\n * argument, which will be passed the intended new state on any state\n * change. If the new state is unacceptable, the validate-fn should\n * return false or throw an Error. If either of these error conditions\n * occur, then the value of the atom will not change.\n */\ncljs.core.atom \x3d (function cljs$core$atom(var_args){\nvar G__11278 \x3d arguments.length;\nswitch (G__11278) {\ncase 1:\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14602 \x3d arguments.length;\nvar i__5770__auto___14603 \x3d (0);\nwhile(true){\nif((i__5770__auto___14603 \x3c len__5769__auto___14602)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14603]));\n\nvar G__14604 \x3d (i__5770__auto___14603 + (1));\ni__5770__auto___14603 \x3d G__14604;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Atom(x,null,null,null));\n}));\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__11279){\nvar map__11280 \x3d p__11279;\nvar map__11280__$1 \x3d cljs.core.__destructure_map(map__11280);\nvar meta \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__11280__$1,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964));\nvar validator \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__11280__$1,new cljs.core.Keyword(null,\x22validator\x22,\x22validator\x22,-1966190681));\nreturn (new cljs.core.Atom(x,meta,validator,null));\n}));\n\n/** @this {Function} */\n(cljs.core.atom.cljs$lang$applyTo \x3d (function (seq11276){\nvar G__11277 \x3d cljs.core.first(seq11276);\nvar seq11276__$1 \x3d cljs.core.next(seq11276);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11277,seq11276__$1);\n}));\n\n(cljs.core.atom.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Sets the value of atom to newval without regard for the\n * current value. Returns new-value.\n */\ncljs.core.reset_BANG_ \x3d (function cljs$core$reset_BANG_(a,new_value){\nif((a instanceof cljs.core.Atom)){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\na.cljs$core$IWatchable$_notify_watches$arity$3(null,old_value,new_value);\n}\n\nreturn new_value;\n} else {\nreturn cljs.core._reset_BANG_(a,new_value);\n}\n});\n/**\n * Sets the value of atom to newval. Returns [old new], the value of the\n * atom before and after the reset.\n */\ncljs.core.reset_vals_BANG_ \x3d (function cljs$core$reset_vals_BANG_(a,new_value){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\ncljs.core._notify_watches(a,old_value,new_value);\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [old_value,new_value], null);\n});\n/**\n * Atomically swaps the value of atom to be:\n * (apply f current-value-of-atom args). Note that f may be called\n * multiple times, and thus should be free of side effects. Returns\n * the value that was swapped in.\n */\ncljs.core.swap_BANG_ \x3d (function cljs$core$swap_BANG_(var_args){\nvar G__11287 \x3d arguments.length;\nswitch (G__11287) {\ncase 2:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14606 \x3d arguments.length;\nvar i__5770__auto___14607 \x3d (0);\nwhile(true){\nif((i__5770__auto___14607 \x3c len__5769__auto___14606)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14607]));\n\nvar G__14608 \x3d (i__5770__auto___14607 + (1));\ni__5770__auto___14607 \x3d G__14608;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__11288 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11288) : f.call(null,G__11288));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__11289 \x3d a.state;\nvar G__11290 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11289,G__11290) : f.call(null,G__11289,G__11290));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__11291 \x3d a.state;\nvar G__11292 \x3d x;\nvar G__11293 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11291,G__11292,G__11293) : f.call(null,G__11291,G__11292,G__11293));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y,more);\n}\n}));\n\n/** @this {Function} */\n(cljs.core.swap_BANG_.cljs$lang$applyTo \x3d (function (seq11282){\nvar G__11283 \x3d cljs.core.first(seq11282);\nvar seq11282__$1 \x3d cljs.core.next(seq11282);\nvar G__11284 \x3d cljs.core.first(seq11282__$1);\nvar seq11282__$2 \x3d cljs.core.next(seq11282__$1);\nvar G__11285 \x3d cljs.core.first(seq11282__$2);\nvar seq11282__$3 \x3d cljs.core.next(seq11282__$2);\nvar G__11286 \x3d cljs.core.first(seq11282__$3);\nvar seq11282__$4 \x3d cljs.core.next(seq11282__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11283,G__11284,G__11285,G__11286,seq11282__$4);\n}));\n\n(cljs.core.swap_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically swaps the value of atom to be:\n * (apply f current-value-of-atom args). Note that f may be called\n * multiple times, and thus should be free of side effects.\n * Returns [old new], the value of the atom before and after the swap.\n */\ncljs.core.swap_vals_BANG_ \x3d (function cljs$core$swap_vals_BANG_(var_args){\nvar G__11300 \x3d arguments.length;\nswitch (G__11300) {\ncase 2:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14616 \x3d arguments.length;\nvar i__5770__auto___14617 \x3d (0);\nwhile(true){\nif((i__5770__auto___14617 \x3c len__5769__auto___14616)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14617]));\n\nvar G__14618 \x3d (i__5770__auto___14617 + (1));\ni__5770__auto___14617 \x3d G__14618;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__11301 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11301) : f.call(null,G__11301));\n})());\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__11302 \x3d a.state;\nvar G__11303 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11302,G__11303) : f.call(null,G__11302,G__11303));\n})());\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__11304 \x3d a.state;\nvar G__11305 \x3d x;\nvar G__11306 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11304,G__11305,G__11306) : f.call(null,G__11304,G__11305,G__11306));\n})());\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nreturn cljs.core.reset_vals_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n}));\n\n/** @this {Function} */\n(cljs.core.swap_vals_BANG_.cljs$lang$applyTo \x3d (function (seq11295){\nvar G__11296 \x3d cljs.core.first(seq11295);\nvar seq11295__$1 \x3d cljs.core.next(seq11295);\nvar G__11297 \x3d cljs.core.first(seq11295__$1);\nvar seq11295__$2 \x3d cljs.core.next(seq11295__$1);\nvar G__11298 \x3d cljs.core.first(seq11295__$2);\nvar seq11295__$3 \x3d cljs.core.next(seq11295__$2);\nvar G__11299 \x3d cljs.core.first(seq11295__$3);\nvar seq11295__$4 \x3d cljs.core.next(seq11295__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11296,G__11297,G__11298,G__11299,seq11295__$4);\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically sets the value of atom to newval if and only if the\n * current value of the atom is equal to oldval. Returns true if\n * set happened, else false.\n */\ncljs.core.compare_and_set_BANG_ \x3d (function cljs$core$compare_and_set_BANG_(a,oldval,newval){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a.cljs$core$IDeref$_deref$arity$1(null),oldval)){\ncljs.core.reset_BANG_(a,newval);\n\nreturn true;\n} else {\nreturn false;\n}\n});\n/**\n * Sets the validator-fn for an atom. validator-fn must be nil or a\n * side-effect-free fn of one argument, which will be passed the intended\n * new state on any state change. If the new state is unacceptable, the\n * validator-fn should return false or throw an Error. If the current state\n * is not acceptable to the new validator, an Error will be thrown and the\n * validator will not be changed.\n */\ncljs.core.set_validator_BANG_ \x3d (function cljs$core$set_validator_BANG_(iref,val){\nif((((!((val \x3d\x3d null)))) \x26\x26 (cljs.core.not((function (){var G__11307 \x3d cljs.core._deref(iref);\nreturn (val.cljs$core$IFn$_invoke$arity$1 ? val.cljs$core$IFn$_invoke$arity$1(G__11307) : val.call(null,G__11307));\n})())))){\nthrow (new Error(\x22Validator rejected reference state\x22));\n} else {\n}\n\nreturn (iref.validator \x3d val);\n});\n/**\n * Gets the validator-fn for a var/ref/agent/atom.\n */\ncljs.core.get_validator \x3d (function cljs$core$get_validator(iref){\nreturn iref.validator;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IVolatile}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Volatile \x3d (function (state){\nthis.state \x3d state;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d (function (_,new_state){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.state \x3d new_state);\n}));\n\n(cljs.core.Volatile.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Volatile.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Volatile.cljs$lang$type \x3d true);\n\n(cljs.core.Volatile.cljs$lang$ctorStr \x3d \x22cljs.core/Volatile\x22);\n\n(cljs.core.Volatile.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Volatile\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Volatile.\n */\ncljs.core.__GT_Volatile \x3d (function cljs$core$__GT_Volatile(state){\nreturn (new cljs.core.Volatile(state));\n});\n\n/**\n * Creates and returns a Volatile with an initial value of val.\n */\ncljs.core.volatile_BANG_ \x3d (function cljs$core$volatile_BANG_(val){\nreturn (new cljs.core.Volatile(val));\n});\n/**\n * Returns true if x is a volatile.\n */\ncljs.core.volatile_QMARK_ \x3d (function cljs$core$volatile_QMARK_(x){\nreturn (x instanceof cljs.core.Volatile);\n});\n/**\n * Sets the value of volatile to newval without regard for the\n * current value. Returns newval.\n */\ncljs.core.vreset_BANG_ \x3d (function cljs$core$vreset_BANG_(vol,newval){\nreturn cljs.core._vreset_BANG_(vol,newval);\n});\n/**\n * Returns a lazy sequence of the non-nil results of (f index item). Note,\n * this means false return values will be included. f must be free of\n * side-effects. Returns a stateful transducer when no collection is\n * provided.\n */\ncljs.core.keep_indexed \x3d (function cljs$core$keep_indexed(var_args){\nvar G__11309 \x3d arguments.length;\nswitch (G__11309) {\ncase 1:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__14626 \x3d null;\nvar G__14626__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__14626__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__14626__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(i,input) : f.call(null,i,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__14626 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__14626__0.call(this);\ncase 1:\nreturn G__14626__1.call(this,result);\ncase 2:\nreturn G__14626__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14626.cljs$core$IFn$_invoke$arity$0 \x3d G__14626__0;\nG__14626.cljs$core$IFn$_invoke$arity$1 \x3d G__14626__1;\nG__14626.cljs$core$IFn$_invoke$arity$2 \x3d G__14626__2;\nreturn G__14626;\n})()\n});\n}));\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar keepi \x3d (function cljs$core$keepi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___14627 \x3d size;\nvar i_14628 \x3d (0);\nwhile(true){\nif((i_14628 \x3c n__5636__auto___14627)){\nvar x_14629 \x3d (function (){var G__11314 \x3d (idx + i_14628);\nvar G__11315 \x3d cljs.core._nth(c,i_14628);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11314,G__11315) : f.call(null,G__11314,G__11315));\n})();\nif((x_14629 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_14629);\n}\n\nvar G__14630 \x3d (i_14628 + (1));\ni_14628 \x3d G__14630;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$keepi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__11316 \x3d idx;\nvar G__11317 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11316,G__11317) : f.call(null,G__11316,G__11317));\n})();\nif((x \x3d\x3d null)){\nreturn cljs$core$keepi((idx + (1)),cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs$core$keepi((idx + (1)),cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn keepi((0),coll);\n}));\n\n(cljs.core.keep_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a set of predicates and returns a function f that returns true if all of its\n * composing predicates return a logical true value against all of its arguments, else it returns\n * false. Note that f is short-circuiting in that it will stop execution on the first\n * argument that triggers a logical false result against the original predicates.\n */\ncljs.core.every_pred \x3d (function cljs$core$every_pred(var_args){\nvar G__11329 \x3d arguments.length;\nswitch (G__11329) {\ncase 1:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14632 \x3d arguments.length;\nvar i__5770__auto___14633 \x3d (0);\nwhile(true){\nif((i__5770__auto___14633 \x3c len__5769__auto___14632)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14633]));\n\nvar G__14634 \x3d (i__5770__auto___14633 + (1));\ni__5770__auto___14633 \x3d G__14634;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$ep1 \x3d null;\nvar cljs$core$ep1__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep1__1 \x3d (function (x){\nreturn cljs.core.boolean$((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x)));\n});\nvar cljs$core$ep1__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep1__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep1__4 \x3d (function() { \nvar G__14635__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$ep1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_(p,args);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__14635 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14636__i \x3d 0, G__14636__a \x3d new Array(arguments.length - 3);\nwhile (G__14636__i \x3c G__14636__a.length) {G__14636__a[G__14636__i] \x3d arguments[G__14636__i + 3]; ++G__14636__i;}\n args \x3d new cljs.core.IndexedSeq(G__14636__a,0,null);\n} \nreturn G__14635__delegate.call(this,x,y,z,args);};\nG__14635.cljs$lang$maxFixedArity \x3d 3;\nG__14635.cljs$lang$applyTo \x3d (function (arglist__14637){\nvar x \x3d cljs.core.first(arglist__14637);\narglist__14637 \x3d cljs.core.next(arglist__14637);\nvar y \x3d cljs.core.first(arglist__14637);\narglist__14637 \x3d cljs.core.next(arglist__14637);\nvar z \x3d cljs.core.first(arglist__14637);\nvar args \x3d cljs.core.rest(arglist__14637);\nreturn G__14635__delegate(x,y,z,args);\n});\nG__14635.cljs$core$IFn$_invoke$arity$variadic \x3d G__14635__delegate;\nreturn G__14635;\n})()\n;\ncljs$core$ep1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep1__0.call(this);\ncase 1:\nreturn cljs$core$ep1__1.call(this,x);\ncase 2:\nreturn cljs$core$ep1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep1__3.call(this,x,y,z);\ndefault:\nvar G__14638 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14639__i \x3d 0, G__14639__a \x3d new Array(arguments.length - 3);\nwhile (G__14639__i \x3c G__14639__a.length) {G__14639__a[G__14639__i] \x3d arguments[G__14639__i + 3]; ++G__14639__i;}\nG__14638 \x3d new cljs.core.IndexedSeq(G__14639__a,0,null);\n}\nreturn cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14638);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep1.cljs$lang$applyTo \x3d cljs$core$ep1__4.cljs$lang$applyTo;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep1__0;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep1__1;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep1__2;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep1__3;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep1;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$ep2 \x3d null;\nvar cljs$core$ep2__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep2__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep2__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep2__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5043__auto____$2)){\nvar and__5043__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$3)){\nvar and__5043__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$4)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n} else {\nreturn and__5043__auto____$4;\n}\n} else {\nreturn and__5043__auto____$3;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep2__4 \x3d (function() { \nvar G__14644__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$ep2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__11318_SHARP_){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__11318_SHARP_) : p1.call(null,p1__11318_SHARP_));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__11318_SHARP_) : p2.call(null,p1__11318_SHARP_));\n} else {\nreturn and__5043__auto____$1;\n}\n}),args);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__14644 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14645__i \x3d 0, G__14645__a \x3d new Array(arguments.length - 3);\nwhile (G__14645__i \x3c G__14645__a.length) {G__14645__a[G__14645__i] \x3d arguments[G__14645__i + 3]; ++G__14645__i;}\n args \x3d new cljs.core.IndexedSeq(G__14645__a,0,null);\n} \nreturn G__14644__delegate.call(this,x,y,z,args);};\nG__14644.cljs$lang$maxFixedArity \x3d 3;\nG__14644.cljs$lang$applyTo \x3d (function (arglist__14646){\nvar x \x3d cljs.core.first(arglist__14646);\narglist__14646 \x3d cljs.core.next(arglist__14646);\nvar y \x3d cljs.core.first(arglist__14646);\narglist__14646 \x3d cljs.core.next(arglist__14646);\nvar z \x3d cljs.core.first(arglist__14646);\nvar args \x3d cljs.core.rest(arglist__14646);\nreturn G__14644__delegate(x,y,z,args);\n});\nG__14644.cljs$core$IFn$_invoke$arity$variadic \x3d G__14644__delegate;\nreturn G__14644;\n})()\n;\ncljs$core$ep2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep2__0.call(this);\ncase 1:\nreturn cljs$core$ep2__1.call(this,x);\ncase 2:\nreturn cljs$core$ep2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep2__3.call(this,x,y,z);\ndefault:\nvar G__14647 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14648__i \x3d 0, G__14648__a \x3d new Array(arguments.length - 3);\nwhile (G__14648__i \x3c G__14648__a.length) {G__14648__a[G__14648__i] \x3d arguments[G__14648__i + 3]; ++G__14648__i;}\nG__14647 \x3d new cljs.core.IndexedSeq(G__14648__a,0,null);\n}\nreturn cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14647);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep2.cljs$lang$applyTo \x3d cljs$core$ep2__4.cljs$lang$applyTo;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep2__0;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep2__1;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep2__2;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep2__3;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep2;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$ep3 \x3d null;\nvar cljs$core$ep3__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep3__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep3__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$2)){\nvar and__5043__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$3)){\nvar and__5043__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$4)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n} else {\nreturn and__5043__auto____$4;\n}\n} else {\nreturn and__5043__auto____$3;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep3__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5043__auto____$2)){\nvar and__5043__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$3)){\nvar and__5043__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$4)){\nvar and__5043__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(and__5043__auto____$5)){\nvar and__5043__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5043__auto____$6)){\nvar and__5043__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$7)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n} else {\nreturn and__5043__auto____$7;\n}\n} else {\nreturn and__5043__auto____$6;\n}\n} else {\nreturn and__5043__auto____$5;\n}\n} else {\nreturn and__5043__auto____$4;\n}\n} else {\nreturn and__5043__auto____$3;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})());\n});\nvar cljs$core$ep3__4 \x3d (function() { \nvar G__14651__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$ep3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__11319_SHARP_){\nvar and__5043__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__11319_SHARP_) : p1.call(null,p1__11319_SHARP_));\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__11319_SHARP_) : p2.call(null,p1__11319_SHARP_));\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__11319_SHARP_) : p3.call(null,p1__11319_SHARP_));\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n}),args);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__14651 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14653__i \x3d 0, G__14653__a \x3d new Array(arguments.length - 3);\nwhile (G__14653__i \x3c G__14653__a.length) {G__14653__a[G__14653__i] \x3d arguments[G__14653__i + 3]; ++G__14653__i;}\n args \x3d new cljs.core.IndexedSeq(G__14653__a,0,null);\n} \nreturn G__14651__delegate.call(this,x,y,z,args);};\nG__14651.cljs$lang$maxFixedArity \x3d 3;\nG__14651.cljs$lang$applyTo \x3d (function (arglist__14654){\nvar x \x3d cljs.core.first(arglist__14654);\narglist__14654 \x3d cljs.core.next(arglist__14654);\nvar y \x3d cljs.core.first(arglist__14654);\narglist__14654 \x3d cljs.core.next(arglist__14654);\nvar z \x3d cljs.core.first(arglist__14654);\nvar args \x3d cljs.core.rest(arglist__14654);\nreturn G__14651__delegate(x,y,z,args);\n});\nG__14651.cljs$core$IFn$_invoke$arity$variadic \x3d G__14651__delegate;\nreturn G__14651;\n})()\n;\ncljs$core$ep3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep3__0.call(this);\ncase 1:\nreturn cljs$core$ep3__1.call(this,x);\ncase 2:\nreturn cljs$core$ep3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep3__3.call(this,x,y,z);\ndefault:\nvar G__14655 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14656__i \x3d 0, G__14656__a \x3d new Array(arguments.length - 3);\nwhile (G__14656__i \x3c G__14656__a.length) {G__14656__a[G__14656__i] \x3d arguments[G__14656__i + 3]; ++G__14656__i;}\nG__14655 \x3d new cljs.core.IndexedSeq(G__14656__a,0,null);\n}\nreturn cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14655);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep3.cljs$lang$applyTo \x3d cljs$core$ep3__4.cljs$lang$applyTo;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep3__0;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep3__1;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep3__2;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep3__3;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep3;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$epn \x3d null;\nvar cljs$core$epn__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$epn__1 \x3d (function (x){\nreturn cljs.core.every_QMARK_((function (p1__11320_SHARP_){\nreturn (p1__11320_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11320_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__11320_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$epn__2 \x3d (function (x,y){\nreturn cljs.core.every_QMARK_((function (p1__11321_SHARP_){\nvar and__5043__auto__ \x3d (p1__11321_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11321_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__11321_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (p1__11321_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11321_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__11321_SHARP_.call(null,y));\n} else {\nreturn and__5043__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__3 \x3d (function (x,y,z){\nreturn cljs.core.every_QMARK_((function (p1__11322_SHARP_){\nvar and__5043__auto__ \x3d (p1__11322_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11322_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__11322_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d (p1__11322_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11322_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__11322_SHARP_.call(null,y));\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (p1__11322_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11322_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__11322_SHARP_.call(null,z));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__4 \x3d (function() { \nvar G__14659__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5043__auto__ \x3d cljs$core$epn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__11323_SHARP_){\nreturn cljs.core.every_QMARK_(p1__11323_SHARP_,args);\n}),ps__$1);\n} else {\nreturn and__5043__auto__;\n}\n})());\n};\nvar G__14659 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14660__i \x3d 0, G__14660__a \x3d new Array(arguments.length - 3);\nwhile (G__14660__i \x3c G__14660__a.length) {G__14660__a[G__14660__i] \x3d arguments[G__14660__i + 3]; ++G__14660__i;}\n args \x3d new cljs.core.IndexedSeq(G__14660__a,0,null);\n} \nreturn G__14659__delegate.call(this,x,y,z,args);};\nG__14659.cljs$lang$maxFixedArity \x3d 3;\nG__14659.cljs$lang$applyTo \x3d (function (arglist__14661){\nvar x \x3d cljs.core.first(arglist__14661);\narglist__14661 \x3d cljs.core.next(arglist__14661);\nvar y \x3d cljs.core.first(arglist__14661);\narglist__14661 \x3d cljs.core.next(arglist__14661);\nvar z \x3d cljs.core.first(arglist__14661);\nvar args \x3d cljs.core.rest(arglist__14661);\nreturn G__14659__delegate(x,y,z,args);\n});\nG__14659.cljs$core$IFn$_invoke$arity$variadic \x3d G__14659__delegate;\nreturn G__14659;\n})()\n;\ncljs$core$epn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$epn__0.call(this);\ncase 1:\nreturn cljs$core$epn__1.call(this,x);\ncase 2:\nreturn cljs$core$epn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$epn__3.call(this,x,y,z);\ndefault:\nvar G__14662 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14663__i \x3d 0, G__14663__a \x3d new Array(arguments.length - 3);\nwhile (G__14663__i \x3c G__14663__a.length) {G__14663__a[G__14663__i] \x3d arguments[G__14663__i + 3]; ++G__14663__i;}\nG__14662 \x3d new cljs.core.IndexedSeq(G__14663__a,0,null);\n}\nreturn cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14662);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$epn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$epn.cljs$lang$applyTo \x3d cljs$core$epn__4.cljs$lang$applyTo;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$epn__0;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$epn__1;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$epn__2;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$epn__3;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$epn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.every_pred.cljs$lang$applyTo \x3d (function (seq11325){\nvar G__11326 \x3d cljs.core.first(seq11325);\nvar seq11325__$1 \x3d cljs.core.next(seq11325);\nvar G__11327 \x3d cljs.core.first(seq11325__$1);\nvar seq11325__$2 \x3d cljs.core.next(seq11325__$1);\nvar G__11328 \x3d cljs.core.first(seq11325__$2);\nvar seq11325__$3 \x3d cljs.core.next(seq11325__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11326,G__11327,G__11328,seq11325__$3);\n}));\n\n(cljs.core.every_pred.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a set of predicates and returns a function f that returns the first logical true value\n * returned by one of its composing predicates against any of its arguments, else it returns\n * logical false. Note that f is short-circuiting in that it will stop execution on the first\n * argument that triggers a logical true result against the original predicates.\n */\ncljs.core.some_fn \x3d (function cljs$core$some_fn(var_args){\nvar G__11341 \x3d arguments.length;\nswitch (G__11341) {\ncase 1:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14665 \x3d arguments.length;\nvar i__5770__auto___14666 \x3d (0);\nwhile(true){\nif((i__5770__auto___14666 \x3c len__5769__auto___14665)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14666]));\n\nvar G__14667 \x3d (i__5770__auto___14666 + (1));\ni__5770__auto___14666 \x3d G__14667;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$sp1 \x3d null;\nvar cljs$core$sp1__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp1__1 \x3d (function (x){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\n});\nvar cljs$core$sp1__2 \x3d (function (x,y){\nvar or__5045__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n}\n});\nvar cljs$core$sp1__3 \x3d (function (x,y,z){\nvar or__5045__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n}\n}\n});\nvar cljs$core$sp1__4 \x3d (function() { \nvar G__14672__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$sp1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some(p,args);\n}\n};\nvar G__14672 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14673__i \x3d 0, G__14673__a \x3d new Array(arguments.length - 3);\nwhile (G__14673__i \x3c G__14673__a.length) {G__14673__a[G__14673__i] \x3d arguments[G__14673__i + 3]; ++G__14673__i;}\n args \x3d new cljs.core.IndexedSeq(G__14673__a,0,null);\n} \nreturn G__14672__delegate.call(this,x,y,z,args);};\nG__14672.cljs$lang$maxFixedArity \x3d 3;\nG__14672.cljs$lang$applyTo \x3d (function (arglist__14674){\nvar x \x3d cljs.core.first(arglist__14674);\narglist__14674 \x3d cljs.core.next(arglist__14674);\nvar y \x3d cljs.core.first(arglist__14674);\narglist__14674 \x3d cljs.core.next(arglist__14674);\nvar z \x3d cljs.core.first(arglist__14674);\nvar args \x3d cljs.core.rest(arglist__14674);\nreturn G__14672__delegate(x,y,z,args);\n});\nG__14672.cljs$core$IFn$_invoke$arity$variadic \x3d G__14672__delegate;\nreturn G__14672;\n})()\n;\ncljs$core$sp1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp1__0.call(this);\ncase 1:\nreturn cljs$core$sp1__1.call(this,x);\ncase 2:\nreturn cljs$core$sp1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp1__3.call(this,x,y,z);\ndefault:\nvar G__14675 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14676__i \x3d 0, G__14676__a \x3d new Array(arguments.length - 3);\nwhile (G__14676__i \x3c G__14676__a.length) {G__14676__a[G__14676__i] \x3d arguments[G__14676__i + 3]; ++G__14676__i;}\nG__14675 \x3d new cljs.core.IndexedSeq(G__14676__a,0,null);\n}\nreturn cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14675);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp1.cljs$lang$applyTo \x3d cljs$core$sp1__4.cljs$lang$applyTo;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp1__0;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp1__1;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp1__2;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp1__3;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp1;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$sp2 \x3d null;\nvar cljs$core$sp2__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp2__1 \x3d (function (x){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n}\n});\nvar cljs$core$sp2__2 \x3d (function (x,y){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n}\n}\n}\n});\nvar cljs$core$sp2__3 \x3d (function (x,y,z){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nvar or__5045__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$4)){\nreturn or__5045__auto____$4;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp2__4 \x3d (function() { \nvar G__14677__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$sp2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some((function (p1__11330_SHARP_){\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__11330_SHARP_) : p1.call(null,p1__11330_SHARP_));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__11330_SHARP_) : p2.call(null,p1__11330_SHARP_));\n}\n}),args);\n}\n};\nvar G__14677 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14678__i \x3d 0, G__14678__a \x3d new Array(arguments.length - 3);\nwhile (G__14678__i \x3c G__14678__a.length) {G__14678__a[G__14678__i] \x3d arguments[G__14678__i + 3]; ++G__14678__i;}\n args \x3d new cljs.core.IndexedSeq(G__14678__a,0,null);\n} \nreturn G__14677__delegate.call(this,x,y,z,args);};\nG__14677.cljs$lang$maxFixedArity \x3d 3;\nG__14677.cljs$lang$applyTo \x3d (function (arglist__14679){\nvar x \x3d cljs.core.first(arglist__14679);\narglist__14679 \x3d cljs.core.next(arglist__14679);\nvar y \x3d cljs.core.first(arglist__14679);\narglist__14679 \x3d cljs.core.next(arglist__14679);\nvar z \x3d cljs.core.first(arglist__14679);\nvar args \x3d cljs.core.rest(arglist__14679);\nreturn G__14677__delegate(x,y,z,args);\n});\nG__14677.cljs$core$IFn$_invoke$arity$variadic \x3d G__14677__delegate;\nreturn G__14677;\n})()\n;\ncljs$core$sp2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp2__0.call(this);\ncase 1:\nreturn cljs$core$sp2__1.call(this,x);\ncase 2:\nreturn cljs$core$sp2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp2__3.call(this,x,y,z);\ndefault:\nvar G__14680 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14681__i \x3d 0, G__14681__a \x3d new Array(arguments.length - 3);\nwhile (G__14681__i \x3c G__14681__a.length) {G__14681__a[G__14681__i] \x3d arguments[G__14681__i + 3]; ++G__14681__i;}\nG__14680 \x3d new cljs.core.IndexedSeq(G__14681__a,0,null);\n}\nreturn cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14680);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp2.cljs$lang$applyTo \x3d cljs$core$sp2__4.cljs$lang$applyTo;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp2__0;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp2__1;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp2__2;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp2__3;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp2;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$sp3 \x3d null;\nvar cljs$core$sp3__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp3__1 \x3d (function (x){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n}\n}\n});\nvar cljs$core$sp3__2 \x3d (function (x,y){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nvar or__5045__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$4)){\nreturn or__5045__auto____$4;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__3 \x3d (function (x,y,z){\nvar or__5045__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nvar or__5045__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$3)){\nreturn or__5045__auto____$3;\n} else {\nvar or__5045__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$4)){\nreturn or__5045__auto____$4;\n} else {\nvar or__5045__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(or__5045__auto____$5)){\nreturn or__5045__auto____$5;\n} else {\nvar or__5045__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5045__auto____$6)){\nreturn or__5045__auto____$6;\n} else {\nvar or__5045__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$7)){\nreturn or__5045__auto____$7;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n}\n}\n}\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__4 \x3d (function() { \nvar G__14683__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$sp3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some((function (p1__11331_SHARP_){\nvar or__5045__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__11331_SHARP_) : p1.call(null,p1__11331_SHARP_));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__11331_SHARP_) : p2.call(null,p1__11331_SHARP_));\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__11331_SHARP_) : p3.call(null,p1__11331_SHARP_));\n}\n}\n}),args);\n}\n};\nvar G__14683 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14684__i \x3d 0, G__14684__a \x3d new Array(arguments.length - 3);\nwhile (G__14684__i \x3c G__14684__a.length) {G__14684__a[G__14684__i] \x3d arguments[G__14684__i + 3]; ++G__14684__i;}\n args \x3d new cljs.core.IndexedSeq(G__14684__a,0,null);\n} \nreturn G__14683__delegate.call(this,x,y,z,args);};\nG__14683.cljs$lang$maxFixedArity \x3d 3;\nG__14683.cljs$lang$applyTo \x3d (function (arglist__14685){\nvar x \x3d cljs.core.first(arglist__14685);\narglist__14685 \x3d cljs.core.next(arglist__14685);\nvar y \x3d cljs.core.first(arglist__14685);\narglist__14685 \x3d cljs.core.next(arglist__14685);\nvar z \x3d cljs.core.first(arglist__14685);\nvar args \x3d cljs.core.rest(arglist__14685);\nreturn G__14683__delegate(x,y,z,args);\n});\nG__14683.cljs$core$IFn$_invoke$arity$variadic \x3d G__14683__delegate;\nreturn G__14683;\n})()\n;\ncljs$core$sp3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp3__0.call(this);\ncase 1:\nreturn cljs$core$sp3__1.call(this,x);\ncase 2:\nreturn cljs$core$sp3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp3__3.call(this,x,y,z);\ndefault:\nvar G__14686 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14687__i \x3d 0, G__14687__a \x3d new Array(arguments.length - 3);\nwhile (G__14687__i \x3c G__14687__a.length) {G__14687__a[G__14687__i] \x3d arguments[G__14687__i + 3]; ++G__14687__i;}\nG__14686 \x3d new cljs.core.IndexedSeq(G__14687__a,0,null);\n}\nreturn cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14686);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp3.cljs$lang$applyTo \x3d cljs$core$sp3__4.cljs$lang$applyTo;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp3__0;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp3__1;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp3__2;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp3__3;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp3;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$spn \x3d null;\nvar cljs$core$spn__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$spn__1 \x3d (function (x){\nreturn cljs.core.some((function (p1__11332_SHARP_){\nreturn (p1__11332_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11332_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__11332_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$spn__2 \x3d (function (x,y){\nreturn cljs.core.some((function (p1__11333_SHARP_){\nvar or__5045__auto__ \x3d (p1__11333_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11333_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__11333_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (p1__11333_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11333_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__11333_SHARP_.call(null,y));\n}\n}),ps__$1);\n});\nvar cljs$core$spn__3 \x3d (function (x,y,z){\nreturn cljs.core.some((function (p1__11334_SHARP_){\nvar or__5045__auto__ \x3d (p1__11334_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11334_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__11334_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (p1__11334_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11334_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__11334_SHARP_.call(null,y));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (p1__11334_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__11334_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__11334_SHARP_.call(null,z));\n}\n}\n}),ps__$1);\n});\nvar cljs$core$spn__4 \x3d (function() { \nvar G__14688__delegate \x3d function (x,y,z,args){\nvar or__5045__auto__ \x3d cljs$core$spn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.some((function (p1__11335_SHARP_){\nreturn cljs.core.some(p1__11335_SHARP_,args);\n}),ps__$1);\n}\n};\nvar G__14688 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14689__i \x3d 0, G__14689__a \x3d new Array(arguments.length - 3);\nwhile (G__14689__i \x3c G__14689__a.length) {G__14689__a[G__14689__i] \x3d arguments[G__14689__i + 3]; ++G__14689__i;}\n args \x3d new cljs.core.IndexedSeq(G__14689__a,0,null);\n} \nreturn G__14688__delegate.call(this,x,y,z,args);};\nG__14688.cljs$lang$maxFixedArity \x3d 3;\nG__14688.cljs$lang$applyTo \x3d (function (arglist__14690){\nvar x \x3d cljs.core.first(arglist__14690);\narglist__14690 \x3d cljs.core.next(arglist__14690);\nvar y \x3d cljs.core.first(arglist__14690);\narglist__14690 \x3d cljs.core.next(arglist__14690);\nvar z \x3d cljs.core.first(arglist__14690);\nvar args \x3d cljs.core.rest(arglist__14690);\nreturn G__14688__delegate(x,y,z,args);\n});\nG__14688.cljs$core$IFn$_invoke$arity$variadic \x3d G__14688__delegate;\nreturn G__14688;\n})()\n;\ncljs$core$spn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$spn__0.call(this);\ncase 1:\nreturn cljs$core$spn__1.call(this,x);\ncase 2:\nreturn cljs$core$spn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$spn__3.call(this,x,y,z);\ndefault:\nvar G__14691 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__14692__i \x3d 0, G__14692__a \x3d new Array(arguments.length - 3);\nwhile (G__14692__i \x3c G__14692__a.length) {G__14692__a[G__14692__i] \x3d arguments[G__14692__i + 3]; ++G__14692__i;}\nG__14691 \x3d new cljs.core.IndexedSeq(G__14692__a,0,null);\n}\nreturn cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__14691);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$spn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$spn.cljs$lang$applyTo \x3d cljs$core$spn__4.cljs$lang$applyTo;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$spn__0;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$spn__1;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$spn__2;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$spn__3;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$spn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.some_fn.cljs$lang$applyTo \x3d (function (seq11337){\nvar G__11338 \x3d cljs.core.first(seq11337);\nvar seq11337__$1 \x3d cljs.core.next(seq11337);\nvar G__11339 \x3d cljs.core.first(seq11337__$1);\nvar seq11337__$2 \x3d cljs.core.next(seq11337__$1);\nvar G__11340 \x3d cljs.core.first(seq11337__$2);\nvar seq11337__$3 \x3d cljs.core.next(seq11337__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11338,G__11339,G__11340,seq11337__$3);\n}));\n\n(cljs.core.some_fn.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to\n * the set of first items of each coll, followed by applying f to the\n * set of second items in each coll, until any one of the colls is\n * exhausted. Any remaining items in other colls are ignored. Function\n * f should accept number-of-colls arguments. Returns a transducer when\n * no collection is provided.\n */\ncljs.core.map \x3d (function cljs$core$map(var_args){\nvar G__11349 \x3d arguments.length;\nswitch (G__11349) {\ncase 1:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14694 \x3d arguments.length;\nvar i__5770__auto___14695 \x3d (0);\nwhile(true){\nif((i__5770__auto___14695 \x3c len__5769__auto___14694)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14695]));\n\nvar G__14696 \x3d (i__5770__auto___14695 + (1));\ni__5770__auto___14695 \x3d G__14696;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__14708 \x3d null;\nvar G__14708__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__14708__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__14708__2 \x3d (function (result,input){\nvar G__11350 \x3d result;\nvar G__11351 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__11350,G__11351) : rf.call(null,G__11350,G__11351));\n});\nvar G__14708__3 \x3d (function() { \nvar G__14709__delegate \x3d function (result,input,inputs){\nvar G__11352 \x3d result;\nvar G__11353 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,input,inputs);\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__11352,G__11353) : rf.call(null,G__11352,G__11353));\n};\nvar G__14709 \x3d function (result,input,var_args){\nvar inputs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__14710__i \x3d 0, G__14710__a \x3d new Array(arguments.length - 2);\nwhile (G__14710__i \x3c G__14710__a.length) {G__14710__a[G__14710__i] \x3d arguments[G__14710__i + 2]; ++G__14710__i;}\n inputs \x3d new cljs.core.IndexedSeq(G__14710__a,0,null);\n} \nreturn G__14709__delegate.call(this,result,input,inputs);};\nG__14709.cljs$lang$maxFixedArity \x3d 2;\nG__14709.cljs$lang$applyTo \x3d (function (arglist__14711){\nvar result \x3d cljs.core.first(arglist__14711);\narglist__14711 \x3d cljs.core.next(arglist__14711);\nvar input \x3d cljs.core.first(arglist__14711);\nvar inputs \x3d cljs.core.rest(arglist__14711);\nreturn G__14709__delegate(result,input,inputs);\n});\nG__14709.cljs$core$IFn$_invoke$arity$variadic \x3d G__14709__delegate;\nreturn G__14709;\n})()\n;\nG__14708 \x3d function(result,input,var_args){\nvar inputs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__14708__0.call(this);\ncase 1:\nreturn G__14708__1.call(this,result);\ncase 2:\nreturn G__14708__2.call(this,result,input);\ndefault:\nvar G__14712 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__14713__i \x3d 0, G__14713__a \x3d new Array(arguments.length - 2);\nwhile (G__14713__i \x3c G__14713__a.length) {G__14713__a[G__14713__i] \x3d arguments[G__14713__i + 2]; ++G__14713__i;}\nG__14712 \x3d new cljs.core.IndexedSeq(G__14713__a,0,null);\n}\nreturn G__14708__3.cljs$core$IFn$_invoke$arity$variadic(result,input, G__14712);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14708.cljs$lang$maxFixedArity \x3d 2;\nG__14708.cljs$lang$applyTo \x3d G__14708__3.cljs$lang$applyTo;\nG__14708.cljs$core$IFn$_invoke$arity$0 \x3d G__14708__0;\nG__14708.cljs$core$IFn$_invoke$arity$1 \x3d G__14708__1;\nG__14708.cljs$core$IFn$_invoke$arity$2 \x3d G__14708__2;\nG__14708.cljs$core$IFn$_invoke$arity$variadic \x3d G__14708__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__14708;\n})()\n});\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___14714 \x3d size;\nvar i_14715 \x3d (0);\nwhile(true){\nif((i_14715 \x3c n__5636__auto___14714)){\ncljs.core.chunk_append(b,(function (){var G__11354 \x3d cljs.core._nth(c,i_14715);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11354) : f.call(null,G__11354));\n})());\n\nvar G__14716 \x3d (i_14715 + (1));\ni_14715 \x3d G__14716;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__11355 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11355) : f.call(null,G__11355));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn cljs.core.cons((function (){var G__11356 \x3d cljs.core.first(s1);\nvar G__11357 \x3d cljs.core.first(s2);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11356,G__11357) : f.call(null,G__11356,G__11357));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,cljs.core.rest(s1),cljs.core.rest(s2)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nvar s3 \x3d cljs.core.seq(c3);\nif(((s1) \x26\x26 (((s2) \x26\x26 (s3))))){\nreturn cljs.core.cons((function (){var G__11358 \x3d cljs.core.first(s1);\nvar G__11359 \x3d cljs.core.first(s2);\nvar G__11360 \x3d cljs.core.first(s3);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11358,G__11359,G__11360) : f.call(null,G__11358,G__11359,G__11360));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,cljs.core.rest(s1),cljs.core.rest(s2),cljs.core.rest(s3)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nvar step \x3d (function cljs$core$step(cs){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cs);\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn cljs.core.cons(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs$core$step(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__11342_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,p1__11342_SHARP_);\n}),step(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c2,c1], 0))));\n}));\n\n/** @this {Function} */\n(cljs.core.map.cljs$lang$applyTo \x3d (function (seq11344){\nvar G__11345 \x3d cljs.core.first(seq11344);\nvar seq11344__$1 \x3d cljs.core.next(seq11344);\nvar G__11346 \x3d cljs.core.first(seq11344__$1);\nvar seq11344__$2 \x3d cljs.core.next(seq11344__$1);\nvar G__11347 \x3d cljs.core.first(seq11344__$2);\nvar seq11344__$3 \x3d cljs.core.next(seq11344__$2);\nvar G__11348 \x3d cljs.core.first(seq11344__$3);\nvar seq11344__$4 \x3d cljs.core.next(seq11344__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11345,G__11346,G__11347,G__11348,seq11344__$4);\n}));\n\n(cljs.core.map.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a lazy sequence of the first n items in coll, or all items if\n * there are fewer than n. Returns a stateful transducer when\n * no collection is provided.\n */\ncljs.core.take \x3d (function cljs$core$take(var_args){\nvar G__11362 \x3d arguments.length;\nswitch (G__11362) {\ncase 1:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__14730 \x3d null;\nvar G__14730__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__14730__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__14730__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nvar nn \x3d na.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\nvar result__$1 \x3d (((n__$1 \x3e (0)))?(rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input)):result);\nif((!((nn \x3e (0))))){\nreturn cljs.core.ensure_reduced(result__$1);\n} else {\nreturn result__$1;\n}\n});\nG__14730 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__14730__0.call(this);\ncase 1:\nreturn G__14730__1.call(this,result);\ncase 2:\nreturn G__14730__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14730.cljs$core$IFn$_invoke$arity$0 \x3d G__14730__0;\nG__14730.cljs$core$IFn$_invoke$arity$1 \x3d G__14730__1;\nG__14730.cljs$core$IFn$_invoke$arity$2 \x3d G__14730__2;\nreturn G__14730;\n})()\n});\n}));\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nif((n \x3e (0))){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take.cljs$core$IFn$_invoke$arity$2((n - (1)),cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of all but the first n items in coll.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.drop \x3d (function cljs$core$drop(var_args){\nvar G__11364 \x3d arguments.length;\nswitch (G__11364) {\ncase 1:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__14739 \x3d null;\nvar G__14739__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__14739__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__14739__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nna.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\n\nif((n__$1 \x3e (0))){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__14739 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__14739__0.call(this);\ncase 1:\nreturn G__14739__1.call(this,result);\ncase 2:\nreturn G__14739__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14739.cljs$core$IFn$_invoke$arity$0 \x3d G__14739__0;\nG__14739.cljs$core$IFn$_invoke$arity$1 \x3d G__14739__1;\nG__14739.cljs$core$IFn$_invoke$arity$2 \x3d G__14739__2;\nreturn G__14739;\n})()\n});\n}));\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nvar step \x3d (function (n__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif((((n__$1 \x3e (0))) \x26\x26 (s))){\nvar G__14740 \x3d (n__$1 - (1));\nvar G__14741 \x3d cljs.core.rest(s);\nn__$1 \x3d G__14740;\ncoll__$1 \x3d G__14741;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(n,coll);\n}),null,null));\n}));\n\n(cljs.core.drop.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Return a lazy sequence of all but the last n (default 1) items in coll\n */\ncljs.core.drop_last \x3d (function cljs$core$drop_last(var_args){\nvar G__11366 \x3d arguments.length;\nswitch (G__11366) {\ncase 1:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((1),s);\n}));\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,s){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (x,_){\nreturn x;\n}),s,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s));\n}));\n\n(cljs.core.drop_last.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a seq of the last n items in coll. Depending on the type\n * of coll may be no better than linear time. For vectors, see also subvec.\n */\ncljs.core.take_last \x3d (function cljs$core$take_last(n,coll){\nvar s \x3d cljs.core.seq(coll);\nvar lead \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll));\nwhile(true){\nif(lead){\nvar G__14743 \x3d cljs.core.next(s);\nvar G__14744 \x3d cljs.core.next(lead);\ns \x3d G__14743;\nlead \x3d G__14744;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\n/**\n * Returns a lazy sequence of the items in coll starting from the\n * first item for which (pred item) returns logical false. Returns a\n * stateful transducer when no collection is provided.\n */\ncljs.core.drop_while \x3d (function cljs$core$drop_while(var_args){\nvar G__11368 \x3d arguments.length;\nswitch (G__11368) {\ncase 1:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nvar da \x3d cljs.core.volatile_BANG_(true);\nreturn (function() {\nvar G__14746 \x3d null;\nvar G__14746__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__14746__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__14746__2 \x3d (function (result,input){\nvar drop_QMARK_ \x3d cljs.core.deref(da);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d drop_QMARK_;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn result;\n} else {\ncljs.core.vreset_BANG_(da,null);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__14746 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__14746__0.call(this);\ncase 1:\nreturn G__14746__1.call(this,result);\ncase 2:\nreturn G__14746__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14746.cljs$core$IFn$_invoke$arity$0 \x3d G__14746__0;\nG__14746.cljs$core$IFn$_invoke$arity$1 \x3d G__14746__1;\nG__14746.cljs$core$IFn$_invoke$arity$2 \x3d G__14746__2;\nreturn G__14746;\n})()\n});\n}));\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nvar step \x3d (function (pred__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d s;\nif(and__5043__auto__){\nvar G__11369 \x3d cljs.core.first(s);\nreturn (pred__$1.cljs$core$IFn$_invoke$arity$1 ? pred__$1.cljs$core$IFn$_invoke$arity$1(G__11369) : pred__$1.call(null,G__11369));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar G__14747 \x3d pred__$1;\nvar G__14748 \x3d cljs.core.rest(s);\npred__$1 \x3d G__14747;\ncoll__$1 \x3d G__14748;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(pred,coll);\n}),null,null));\n}));\n\n(cljs.core.drop_while.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cycle \x3d (function (meta,all,prev,current,_next){\nthis.meta \x3d meta;\nthis.all \x3d all;\nthis.prev \x3d prev;\nthis.current \x3d current;\nthis._next \x3d _next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Cycle.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cycle.prototype.currentval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(self__.current){\n} else {\nvar temp__5802__auto___14749 \x3d cljs.core.next(self__.prev);\nif(temp__5802__auto___14749){\nvar c_14750 \x3d temp__5802__auto___14749;\n(self__.current \x3d c_14750);\n} else {\n(self__.current \x3d self__.all);\n}\n}\n\nreturn self__.current;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.current \x3d\x3d null)));\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d cljs.core.first(s);\nwhile(true){\nvar s__$1 \x3d (function (){var or__5045__auto__ \x3d cljs.core.next(s);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar ret__$1 \x3d (function (){var G__11372 \x3d ret;\nvar G__11373 \x3d cljs.core.first(s__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11372,G__11373) : f.call(null,G__11372,G__11373));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__14751 \x3d s__$1;\nvar G__14752 \x3d ret__$1;\ns \x3d G__14751;\nret \x3d G__14752;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d start;\nwhile(true){\nvar ret__$1 \x3d (function (){var G__11374 \x3d ret;\nvar G__11375 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11374,G__11375) : f.call(null,G__11374,G__11375));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__14753 \x3d (function (){var or__5045__auto__ \x3d cljs.core.next(s);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar G__14754 \x3d ret__$1;\ns \x3d G__14753;\nret \x3d G__14754;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(coll__$1.currentval());\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__._next \x3d\x3d null)){\n(self__._next \x3d (new cljs.core.Cycle(null,self__.all,coll__$1.currentval(),null,null)));\n} else {\n}\n\nreturn self__._next;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cycle(new_meta,self__.all,self__.prev,self__.current,self__._next));\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Cycle.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22all\x22,\x22all\x22,-1762306027,null),new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22current\x22,\x22current\x22,552492924,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cycle.cljs$lang$type \x3d true);\n\n(cljs.core.Cycle.cljs$lang$ctorStr \x3d \x22cljs.core/Cycle\x22);\n\n(cljs.core.Cycle.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Cycle\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cycle.\n */\ncljs.core.__GT_Cycle \x3d (function cljs$core$__GT_Cycle(meta,all,prev,current,_next){\nreturn (new cljs.core.Cycle(meta,all,prev,current,_next));\n});\n\n/**\n * Returns a lazy (infinite!) sequence of repetitions of the items in coll.\n */\ncljs.core.cycle \x3d (function cljs$core$cycle(coll){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar vals \x3d temp__5802__auto__;\nreturn (new cljs.core.Cycle(null,vals,null,vals,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a vector of [(take n coll) (drop n coll)]\n */\ncljs.core.split_at \x3d (function cljs$core$split_at(n,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,coll),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll)], null);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Repeat \x3d (function (meta,count,val,next,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.val \x3d val;\nthis.next \x3d next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Repeat.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Repeat.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Repeat.prototype.indexOf \x3d (function() {\nvar G__14769 \x3d null;\nvar G__14769__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__14769__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__14769 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__14769__1.call(this,x);\ncase 2:\nreturn G__14769__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14769.cljs$core$IFn$_invoke$arity$1 \x3d G__14769__1;\nG__14769.cljs$core$IFn$_invoke$arity$2 \x3d G__14769__2;\nreturn G__14769;\n})()\n);\n\n(cljs.core.Repeat.prototype.lastIndexOf \x3d (function() {\nvar G__14770 \x3d null;\nvar G__14770__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__14770__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__14770 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__14770__1.call(this,x);\ncase 2:\nreturn G__14770__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14770.cljs$core$IFn$_invoke$arity$1 \x3d G__14770__1;\nG__14770.cljs$core$IFn$_invoke$arity$2 \x3d G__14770__2;\nreturn G__14770;\n})()\n);\n\n(cljs.core.Repeat.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn null;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(self__.val,self__.val) : f.call(null,self__.val,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__14790 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__14790;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (1);\nvar ret \x3d self__.val;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__14792 \x3d (i + (1));\nvar G__14793 \x3d ret__$1;\ni \x3d G__14792;\nret \x3d G__14793;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(start,self__.val) : f.call(null,start,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__14794 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__14794;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar ret \x3d start;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__14799 \x3d (i + (1));\nvar G__14800 \x3d ret__$1;\ni \x3d G__14799;\nret \x3d G__14800;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Repeat(new_meta,self__.count,self__.val,self__.next,null));\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Repeat.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Repeat.cljs$lang$type \x3d true);\n\n(cljs.core.Repeat.cljs$lang$ctorStr \x3d \x22cljs.core/Repeat\x22);\n\n(cljs.core.Repeat.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Repeat\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Repeat.\n */\ncljs.core.__GT_Repeat \x3d (function cljs$core$__GT_Repeat(meta,count,val,next,__hash){\nreturn (new cljs.core.Repeat(meta,count,val,next,__hash));\n});\n\n/**\n * Returns a lazy (infinite!, or length n if supplied) sequence of xs.\n */\ncljs.core.repeat \x3d (function cljs$core$repeat(var_args){\nvar G__11377 \x3d arguments.length;\nswitch (G__11377) {\ncase 1:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Repeat(null,(-1),x,null,null));\n}));\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,x){\nif((n \x3e (0))){\nreturn (new cljs.core.Repeat(null,n,x,null,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.repeat.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * DEPRECATED: Use \x27repeat\x27 instead.\n * Returns a lazy seq of n xs.\n */\ncljs.core.replicate \x3d (function cljs$core$replicate(n,x){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(x));\n});\n/**\n * Takes a function of no args, presumably with side effects, and\n * returns an infinite (or length n if supplied) lazy sequence of calls\n * to it\n */\ncljs.core.repeatedly \x3d (function cljs$core$repeatedly(var_args){\nvar G__11379 \x3d arguments.length;\nswitch (G__11379) {\ncase 1:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));\n}),null,null));\n}));\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,f){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));\n}));\n\n(cljs.core.repeatedly.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.UNREALIZED_SEED \x3d ({});\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Iterate \x3d (function (meta,f,prev_seed,seed,next){\nthis.meta \x3d meta;\nthis.f \x3d f;\nthis.prev_seed \x3d prev_seed;\nthis.seed \x3d seed;\nthis.next \x3d next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Iterate.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.seed \x3d\x3d\x3d cljs.core.UNREALIZED_SEED)));\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,rf){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar first \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar v \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(first) : self__.f.call(null,first));\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(first,v) : rf.call(null,first,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__14827 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__14828 \x3d v__$2;\nret \x3d G__14827;\nv__$1 \x3d G__14828;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,rf,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(start,v) : rf.call(null,start,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__14829 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__14830 \x3d v__$2;\nret \x3d G__14829;\nv__$1 \x3d G__14830;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.UNREALIZED_SEED \x3d\x3d\x3d self__.seed)){\n(self__.seed \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(self__.prev_seed) : self__.f.call(null,self__.prev_seed)));\n} else {\n}\n\nreturn self__.seed;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\n(self__.next \x3d (new cljs.core.Iterate(null,self__.f,coll__$1.cljs$core$ISeq$_first$arity$1(null),cljs.core.UNREALIZED_SEED,null)));\n} else {\n}\n\nreturn self__.next;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Iterate(new_meta,self__.f,self__.prev_seed,self__.seed,self__.next));\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Iterate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22prev-seed\x22,\x22prev-seed\x22,2126381367,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seed\x22,\x22seed\x22,1709144854,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Iterate.cljs$lang$type \x3d true);\n\n(cljs.core.Iterate.cljs$lang$ctorStr \x3d \x22cljs.core/Iterate\x22);\n\n(cljs.core.Iterate.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Iterate\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Iterate.\n */\ncljs.core.__GT_Iterate \x3d (function cljs$core$__GT_Iterate(meta,f,prev_seed,seed,next){\nreturn (new cljs.core.Iterate(meta,f,prev_seed,seed,next));\n});\n\n/**\n * Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects\n */\ncljs.core.iterate \x3d (function cljs$core$iterate(f,x){\nreturn (new cljs.core.Iterate(null,f,null,x,null));\n});\n/**\n * Returns a lazy seq of the first item in each coll, then the second etc.\n */\ncljs.core.interleave \x3d (function cljs$core$interleave(var_args){\nvar G__11384 \x3d arguments.length;\nswitch (G__11384) {\ncase 0:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14863 \x3d arguments.length;\nvar i__5770__auto___14864 \x3d (0);\nwhile(true){\nif((i__5770__auto___14864 \x3c len__5769__auto___14863)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14864]));\n\nvar G__14865 \x3d (i__5770__auto___14864 + (1));\ni__5770__auto___14864 \x3d G__14865;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$1 \x3d (function (c1){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn c1;\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2 \x3d (function (c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn cljs.core.cons(cljs.core.first(s1),cljs.core.cons(cljs.core.first(s2),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s1),cljs.core.rest(s2))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic \x3d (function (c1,c2,colls){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c1], 0)));\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.interleave,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n/** @this {Function} */\n(cljs.core.interleave.cljs$lang$applyTo \x3d (function (seq11381){\nvar G__11382 \x3d cljs.core.first(seq11381);\nvar seq11381__$1 \x3d cljs.core.next(seq11381);\nvar G__11383 \x3d cljs.core.first(seq11381__$1);\nvar seq11381__$2 \x3d cljs.core.next(seq11381__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11382,G__11383,seq11381__$2);\n}));\n\n(cljs.core.interleave.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a lazy seq of the elements of coll separated by sep.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.interpose \x3d (function cljs$core$interpose(var_args){\nvar G__11386 \x3d arguments.length;\nswitch (G__11386) {\ncase 1:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$1 \x3d (function (sep){\nreturn (function (rf){\nvar started \x3d cljs.core.volatile_BANG_(false);\nreturn (function() {\nvar G__14867 \x3d null;\nvar G__14867__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__14867__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__14867__2 \x3d (function (result,input){\nif(cljs.core.truth_(cljs.core.deref(started))){\nvar sepr \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,sep) : rf.call(null,result,sep));\nif(cljs.core.reduced_QMARK_(sepr)){\nreturn sepr;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(sepr,input) : rf.call(null,sepr,input));\n}\n} else {\ncljs.core.vreset_BANG_(started,true);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__14867 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__14867__0.call(this);\ncase 1:\nreturn G__14867__1.call(this,result);\ncase 2:\nreturn G__14867__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14867.cljs$core$IFn$_invoke$arity$0 \x3d G__14867__0;\nG__14867.cljs$core$IFn$_invoke$arity$1 \x3d G__14867__1;\nG__14867.cljs$core$IFn$_invoke$arity$2 \x3d G__14867__2;\nreturn G__14867;\n})()\n});\n}));\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$2 \x3d (function (sep,coll){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((1),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(sep),coll));\n}));\n\n(cljs.core.interpose.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Take a collection of collections, and return a lazy seq\n * of items from the inner collection\n */\ncljs.core.flatten1 \x3d (function cljs$core$flatten1(colls){\nvar cat \x3d (function cljs$core$flatten1_$_cat(coll,colls__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar coll__$1 \x3d temp__5802__auto__;\nreturn cljs.core.cons(cljs.core.first(coll__$1),cljs$core$flatten1_$_cat(cljs.core.rest(coll__$1),colls__$1));\n} else {\nif(cljs.core.seq(colls__$1)){\nreturn cljs$core$flatten1_$_cat(cljs.core.first(colls__$1),cljs.core.rest(colls__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(null,colls);\n});\n/**\n * Returns the result of applying concat to the result of applying map\n * to f and colls. Thus function f should return a collection. Returns\n * a transducer when no collections are provided\n */\ncljs.core.mapcat \x3d (function cljs$core$mapcat(var_args){\nvar G__11390 \x3d arguments.length;\nswitch (G__11390) {\ncase 1:\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14869 \x3d arguments.length;\nvar i__5770__auto___14870 \x3d (0);\nwhile(true){\nif((i__5770__auto___14870 \x3c len__5769__auto___14869)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14870]));\n\nvar G__14871 \x3d (i__5770__auto___14870 + (1));\ni__5770__auto___14870 \x3d G__14871;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$1(f),cljs.core.cat);\n}));\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,colls){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,f,colls));\n}));\n\n/** @this {Function} */\n(cljs.core.mapcat.cljs$lang$applyTo \x3d (function (seq11388){\nvar G__11389 \x3d cljs.core.first(seq11388);\nvar seq11388__$1 \x3d cljs.core.next(seq11388);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11389,seq11388__$1);\n}));\n\n(cljs.core.mapcat.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a lazy sequence of the items in coll for which\n * (pred item) returns logical true. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.filter \x3d (function cljs$core$filter(var_args){\nvar G__11392 \x3d arguments.length;\nswitch (G__11392) {\ncase 1:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__14873 \x3d null;\nvar G__14873__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__14873__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__14873__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__14873 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__14873__0.call(this);\ncase 1:\nreturn G__14873__1.call(this,result);\ncase 2:\nreturn G__14873__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14873.cljs$core$IFn$_invoke$arity$0 \x3d G__14873__0;\nG__14873.cljs$core$IFn$_invoke$arity$1 \x3d G__14873__1;\nG__14873.cljs$core$IFn$_invoke$arity$2 \x3d G__14873__2;\nreturn G__14873;\n})()\n});\n}));\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5636__auto___14874 \x3d size;\nvar i_14875 \x3d (0);\nwhile(true){\nif((i_14875 \x3c n__5636__auto___14874)){\nif(cljs.core.truth_((function (){var G__11393 \x3d cljs.core._nth(c,i_14875);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__11393) : pred.call(null,G__11393));\n})())){\ncljs.core.chunk_append(b,cljs.core._nth(c,i_14875));\n} else {\n}\n\nvar G__14876 \x3d (i_14875 + (1));\ni_14875 \x3d G__14876;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.chunk_rest(s)));\n} else {\nvar f \x3d cljs.core.first(s);\nvar r \x3d cljs.core.rest(s);\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(f) : pred.call(null,f)))){\nreturn cljs.core.cons(f,cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r));\n} else {\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r);\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.filter.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the items in coll for which\n * (pred item) returns logical false. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.remove \x3d (function cljs$core$remove(var_args){\nvar G__11395 \x3d arguments.length;\nswitch (G__11395) {\ncase 1:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1(cljs.core.complement(pred));\n}));\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(pred),coll);\n}));\n\n(cljs.core.remove.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the nodes in a tree, via a depth-first walk.\n * branch? must be a fn of one arg that returns true if passed a node\n * that can have children (but may not). children must be a fn of one\n * arg that returns a sequence of the children. Will only be called on\n * nodes for which branch? returns true. Root is the root node of the\n * tree.\n */\ncljs.core.tree_seq \x3d (function cljs$core$tree_seq(branch_QMARK_,children,root){\nvar walk \x3d (function cljs$core$tree_seq_$_walk(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons(node,(cljs.core.truth_((branch_QMARK_.cljs$core$IFn$_invoke$arity$1 ? branch_QMARK_.cljs$core$IFn$_invoke$arity$1(node) : branch_QMARK_.call(null,node)))?cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs$core$tree_seq_$_walk,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(children.cljs$core$IFn$_invoke$arity$1 ? children.cljs$core$IFn$_invoke$arity$1(node) : children.call(null,node))], 0)):null));\n}),null,null));\n});\nreturn walk(root);\n});\n/**\n * Takes any nested combination of sequential things (lists, vectors,\n * etc.) and returns their contents as a single, flat sequence.\n * (flatten nil) returns nil.\n */\ncljs.core.flatten \x3d (function cljs$core$flatten(x){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__11396_SHARP_){\nreturn (!(cljs.core.sequential_QMARK_(p1__11396_SHARP_)));\n}),cljs.core.rest(cljs.core.tree_seq(cljs.core.sequential_QMARK_,cljs.core.seq,x)));\n});\n/**\n * Returns a new coll consisting of to-coll with all of the items of\n * from-coll conjoined. A transducer may be supplied.\n */\ncljs.core.into \x3d (function cljs$core$into(var_args){\nvar G__11398 \x3d arguments.length;\nswitch (G__11398) {\ncase 0:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$1 \x3d (function (to){\nreturn to;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$2 \x3d (function (to,from){\nif((!((to \x3d\x3d null)))){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core.transient$(to),from)),cljs.core.meta(to));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,to,from);\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$3 \x3d (function (to,xform,from){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nvar tm \x3d cljs.core.meta(to);\nvar rf \x3d (function() {\nvar G__14907 \x3d null;\nvar G__14907__1 \x3d (function (coll){\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(coll),tm);\n});\nvar G__14907__2 \x3d (function (coll,v){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(coll,v);\n});\nG__14907 \x3d function(coll,v){\nswitch(arguments.length){\ncase 1:\nreturn G__14907__1.call(this,coll);\ncase 2:\nreturn G__14907__2.call(this,coll,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__14907.cljs$core$IFn$_invoke$arity$1 \x3d G__14907__1;\nG__14907.cljs$core$IFn$_invoke$arity$2 \x3d G__14907__2;\nreturn G__14907;\n})()\n;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,rf,cljs.core.transient$(to),from);\n} else {\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a vector consisting of the result of applying f to the\n * set of first items of each coll, followed by applying f to the set\n * of second items in each coll, until any one of the colls is\n * exhausted. Any remaining items in other colls are ignored. Function\n * f should accept number-of-colls arguments.\n */\ncljs.core.mapv \x3d (function cljs$core$mapv(var_args){\nvar G__11407 \x3d arguments.length;\nswitch (G__11407) {\ncase 2:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14909 \x3d arguments.length;\nvar i__5770__auto___14910 \x3d (0);\nwhile(true){\nif((i__5770__auto___14910 \x3c len__5769__auto___14909)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14910]));\n\nvar G__14911 \x3d (i__5770__auto___14910 + (1));\ni__5770__auto___14910 \x3d G__14911;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((4)),(0),null));\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(o) : f.call(null,o)));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,c1,c2));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,c1,c2,c3));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.map,f,c1,c2,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([colls], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.mapv.cljs$lang$applyTo \x3d (function (seq11402){\nvar G__11403 \x3d cljs.core.first(seq11402);\nvar seq11402__$1 \x3d cljs.core.next(seq11402);\nvar G__11404 \x3d cljs.core.first(seq11402__$1);\nvar seq11402__$2 \x3d cljs.core.next(seq11402__$1);\nvar G__11405 \x3d cljs.core.first(seq11402__$2);\nvar seq11402__$3 \x3d cljs.core.next(seq11402__$2);\nvar G__11406 \x3d cljs.core.first(seq11402__$3);\nvar seq11402__$4 \x3d cljs.core.next(seq11402__$3);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11403,G__11404,G__11405,G__11406,seq11402__$4);\n}));\n\n(cljs.core.mapv.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a vector of the items in coll for which\n * (pred item) returns logical true. pred must be free of side-effects.\n */\ncljs.core.filterv \x3d (function cljs$core$filterv(pred,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(o) : pred.call(null,o)))){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,o);\n} else {\nreturn v;\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n});\n/**\n * Returns a lazy sequence of lists of n items each, at offsets step\n * apart. If step is not supplied, defaults to n, i.e. the partitions\n * do not overlap. If a pad collection is supplied, use its elements as\n * necessary to complete last partition up to n items. In case there are\n * not enough padding elements, return a partition with less than n items.\n */\ncljs.core.partition \x3d (function cljs$core$partition(var_args){\nvar G__11409 \x3d arguments.length;\nswitch (G__11409) {\ncase 2:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,step,pad,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$4(n,step,pad,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn (new cljs.core.List(null,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(p,pad)),null,(1),null));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the value in a nested associative structure,\n * where ks is a sequence of keys. Returns nil if the key is not present,\n * or the not-found value if supplied.\n */\ncljs.core.get_in \x3d (function cljs$core$get_in(var_args){\nvar G__11411 \x3d arguments.length;\nswitch (G__11411) {\ncase 2:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2 \x3d (function (m,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.get,m,ks);\n}));\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,ks,not_found){\nvar sentinel \x3d cljs.core.lookup_sentinel;\nvar m__$1 \x3d m;\nvar ks__$1 \x3d cljs.core.seq(ks);\nwhile(true){\nif((!((ks__$1 \x3d\x3d null)))){\nvar m__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(m__$1,cljs.core.first(ks__$1),sentinel);\nif((sentinel \x3d\x3d\x3d m__$2)){\nreturn not_found;\n} else {\nvar G__14942 \x3d sentinel;\nvar G__14943 \x3d m__$2;\nvar G__14944 \x3d cljs.core.next(ks__$1);\nsentinel \x3d G__14942;\nm__$1 \x3d G__14943;\nks__$1 \x3d G__14944;\ncontinue;\n}\n} else {\nreturn m__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.get_in.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Associates a value in a nested associative structure, where ks is a\n * sequence of keys and v is the new value and returns a new nested structure.\n * If any levels do not exist, hash-maps will be created.\n */\ncljs.core.assoc_in \x3d (function cljs$core$assoc_in(m,p__11412,v){\nvar vec__11413 \x3d p__11412;\nvar seq__11414 \x3d cljs.core.seq(vec__11413);\nvar first__11415 \x3d cljs.core.first(seq__11414);\nvar seq__11414__$1 \x3d cljs.core.next(seq__11414);\nvar k \x3d first__11415;\nvar ks \x3d seq__11414__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11416 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__11417 \x3d ks;\nvar G__11418 \x3d v;\nreturn (cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3 ? cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3(G__11416,G__11417,G__11418) : cljs.core.assoc_in.call(null,G__11416,G__11417,G__11418));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\n/**\n * \x27Updates\x27 a value in a nested associative structure, where ks is a\n * sequence of keys and f is a function that will take the old value\n * and any supplied args and return the new value, and returns a new\n * nested structure. If any levels do not exist, hash-maps will be\n * created.\n */\ncljs.core.update_in \x3d (function cljs$core$update_in(var_args){\nvar G__11427 \x3d arguments.length;\nswitch (G__11427) {\ncase 3:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14946 \x3d arguments.length;\nvar i__5770__auto___14947 \x3d (0);\nwhile(true){\nif((i__5770__auto___14947 \x3c len__5769__auto___14946)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14947]));\n\nvar G__14948 \x3d (i__5770__auto___14947 + (1));\ni__5770__auto___14947 \x3d G__14948;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,p__11428,f){\nvar vec__11429 \x3d p__11428;\nvar seq__11430 \x3d cljs.core.seq(vec__11429);\nvar first__11431 \x3d cljs.core.first(seq__11430);\nvar seq__11430__$1 \x3d cljs.core.next(seq__11430);\nvar k \x3d first__11431;\nvar ks \x3d seq__11430__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11432 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11432) : f.call(null,G__11432));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,p__11433,f,a){\nvar vec__11434 \x3d p__11433;\nvar seq__11435 \x3d cljs.core.seq(vec__11434);\nvar first__11436 \x3d cljs.core.first(seq__11435);\nvar seq__11435__$1 \x3d cljs.core.next(seq__11435);\nvar k \x3d first__11436;\nvar ks \x3d seq__11435__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11437 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__11438 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11437,G__11438) : f.call(null,G__11437,G__11438));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,p__11439,f,a,b){\nvar vec__11440 \x3d p__11439;\nvar seq__11441 \x3d cljs.core.seq(vec__11440);\nvar first__11442 \x3d cljs.core.first(seq__11441);\nvar seq__11441__$1 \x3d cljs.core.next(seq__11441);\nvar k \x3d first__11442;\nvar ks \x3d seq__11441__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11443 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__11444 \x3d a;\nvar G__11445 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11443,G__11444,G__11445) : f.call(null,G__11443,G__11444,G__11445));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,p__11446,f,a,b,c){\nvar vec__11447 \x3d p__11446;\nvar seq__11448 \x3d cljs.core.seq(vec__11447);\nvar first__11449 \x3d cljs.core.first(seq__11448);\nvar seq__11448__$1 \x3d cljs.core.next(seq__11448);\nvar k \x3d first__11449;\nvar ks \x3d seq__11448__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$6(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b,c));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11450 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__11451 \x3d a;\nvar G__11452 \x3d b;\nvar G__11453 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__11450,G__11451,G__11452,G__11453) : f.call(null,G__11450,G__11451,G__11452,G__11453));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,p__11454,f,a,b,c,args){\nvar vec__11455 \x3d p__11454;\nvar seq__11456 \x3d cljs.core.seq(vec__11455);\nvar first__11457 \x3d cljs.core.first(seq__11456);\nvar seq__11456__$1 \x3d cljs.core.next(seq__11456);\nvar k \x3d first__11457;\nvar ks \x3d seq__11456__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update_in,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b,c,args], 0)));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0)));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.update_in.cljs$lang$applyTo \x3d (function (seq11420){\nvar G__11421 \x3d cljs.core.first(seq11420);\nvar seq11420__$1 \x3d cljs.core.next(seq11420);\nvar G__11422 \x3d cljs.core.first(seq11420__$1);\nvar seq11420__$2 \x3d cljs.core.next(seq11420__$1);\nvar G__11423 \x3d cljs.core.first(seq11420__$2);\nvar seq11420__$3 \x3d cljs.core.next(seq11420__$2);\nvar G__11424 \x3d cljs.core.first(seq11420__$3);\nvar seq11420__$4 \x3d cljs.core.next(seq11420__$3);\nvar G__11425 \x3d cljs.core.first(seq11420__$4);\nvar seq11420__$5 \x3d cljs.core.next(seq11420__$4);\nvar G__11426 \x3d cljs.core.first(seq11420__$5);\nvar seq11420__$6 \x3d cljs.core.next(seq11420__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11421,G__11422,G__11423,G__11424,G__11425,G__11426,seq11420__$6);\n}));\n\n(cljs.core.update_in.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * \x27Updates\x27 a value in an associative structure, where k is a\n * key and f is a function that will take the old value\n * and any supplied args and return the new value, and returns a new\n * structure. If the key does not exist, nil is passed as the old value.\n */\ncljs.core.update \x3d (function cljs$core$update(var_args){\nvar G__11466 \x3d arguments.length;\nswitch (G__11466) {\ncase 3:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14989 \x3d arguments.length;\nvar i__5770__auto___14990 \x3d (0);\nwhile(true){\nif((i__5770__auto___14990 \x3c len__5769__auto___14989)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14990]));\n\nvar G__14991 \x3d (i__5770__auto___14990 + (1));\ni__5770__auto___14990 \x3d G__14991;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,k,f){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11467 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__11467) : f.call(null,G__11467));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,k,f,x){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11468 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__11469 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11468,G__11469) : f.call(null,G__11468,G__11469));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,k,f,x,y){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11470 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__11471 \x3d x;\nvar G__11472 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11470,G__11471,G__11472) : f.call(null,G__11470,G__11471,G__11472));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,k,f,x,y,z){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11473 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__11474 \x3d x;\nvar G__11475 \x3d y;\nvar G__11476 \x3d z;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__11473,G__11474,G__11475,G__11476) : f.call(null,G__11473,G__11474,G__11475,G__11476));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,k,f,x,y,z,more){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));\n}));\n\n/** @this {Function} */\n(cljs.core.update.cljs$lang$applyTo \x3d (function (seq11459){\nvar G__11460 \x3d cljs.core.first(seq11459);\nvar seq11459__$1 \x3d cljs.core.next(seq11459);\nvar G__11461 \x3d cljs.core.first(seq11459__$1);\nvar seq11459__$2 \x3d cljs.core.next(seq11459__$1);\nvar G__11462 \x3d cljs.core.first(seq11459__$2);\nvar seq11459__$3 \x3d cljs.core.next(seq11459__$2);\nvar G__11463 \x3d cljs.core.first(seq11459__$3);\nvar seq11459__$4 \x3d cljs.core.next(seq11459__$3);\nvar G__11464 \x3d cljs.core.first(seq11459__$4);\nvar seq11459__$5 \x3d cljs.core.next(seq11459__$4);\nvar G__11465 \x3d cljs.core.first(seq11459__$5);\nvar seq11459__$6 \x3d cljs.core.next(seq11459__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11460,G__11461,G__11462,G__11463,G__11464,G__11465,seq11459__$6);\n}));\n\n(cljs.core.update.cljs$lang$maxFixedArity \x3d (6));\n\n\n/**\n* @constructor\n*/\ncljs.core.VectorNode \x3d (function (edit,arr){\nthis.edit \x3d edit;\nthis.arr \x3d arr;\n});\n\n(cljs.core.VectorNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.VectorNode.cljs$lang$type \x3d true);\n\n(cljs.core.VectorNode.cljs$lang$ctorStr \x3d \x22cljs.core/VectorNode\x22);\n\n(cljs.core.VectorNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/VectorNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/VectorNode.\n */\ncljs.core.__GT_VectorNode \x3d (function cljs$core$__GT_VectorNode(edit,arr){\nreturn (new cljs.core.VectorNode(edit,arr));\n});\n\ncljs.core.pv_fresh_node \x3d (function cljs$core$pv_fresh_node(edit){\nreturn (new cljs.core.VectorNode(edit,[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]));\n});\ncljs.core.pv_aget \x3d (function cljs$core$pv_aget(node,idx){\nreturn (node.arr[idx]);\n});\ncljs.core.pv_aset \x3d (function cljs$core$pv_aset(node,idx,val){\nreturn (node.arr[idx] \x3d val);\n});\ncljs.core.pv_clone_node \x3d (function cljs$core$pv_clone_node(node){\nreturn (new cljs.core.VectorNode(node.edit,cljs.core.aclone(node.arr)));\n});\ncljs.core.tail_off \x3d (function cljs$core$tail_off(pv){\nvar cnt \x3d pv.cnt;\nif((cnt \x3c (32))){\nreturn (0);\n} else {\nreturn (((cnt - (1)) \x3e\x3e\x3e (5)) \x3c\x3c (5));\n}\n});\ncljs.core.new_path \x3d (function cljs$core$new_path(edit,level,node){\nvar ll \x3d level;\nvar ret \x3d node;\nwhile(true){\nif((ll \x3d\x3d\x3d (0))){\nreturn ret;\n} else {\nvar embed \x3d ret;\nvar r \x3d cljs.core.pv_fresh_node(edit);\nvar _ \x3d cljs.core.pv_aset(r,(0),embed);\nvar G__15009 \x3d (ll - (5));\nvar G__15010 \x3d r;\nll \x3d G__15009;\nret \x3d G__15010;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.push_tail \x3d (function cljs$core$push_tail(pv,level,parent,tailnode){\nvar ret \x3d cljs.core.pv_clone_node(parent);\nvar subidx \x3d (((pv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\nif(((5) \x3d\x3d\x3d level)){\ncljs.core.pv_aset(ret,subidx,tailnode);\n\nreturn ret;\n} else {\nvar child \x3d cljs.core.pv_aget(parent,subidx);\nif((!((child \x3d\x3d null)))){\nvar node_to_insert \x3d (function (){var G__11477 \x3d pv;\nvar G__11478 \x3d (level - (5));\nvar G__11479 \x3d child;\nvar G__11480 \x3d tailnode;\nreturn (cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4(G__11477,G__11478,G__11479,G__11480) : cljs.core.push_tail.call(null,G__11477,G__11478,G__11479,G__11480));\n})();\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n} else {\nvar node_to_insert \x3d cljs.core.new_path(null,(level - (5)),tailnode);\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n}\n}\n});\ncljs.core.vector_index_out_of_bounds \x3d (function cljs$core$vector_index_out_of_bounds(i,cnt){\nthrow (new Error([\x22No item \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(i),\x22 in vector of length \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnt)].join(\x27\x27)));\n});\ncljs.core.first_array_for_longvec \x3d (function cljs$core$first_array_for_longvec(pv){\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__15016 \x3d cljs.core.pv_aget(node,(0));\nvar G__15017 \x3d (level - (5));\nnode \x3d G__15016;\nlevel \x3d G__15017;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n});\ncljs.core.unchecked_array_for \x3d (function cljs$core$unchecked_array_for(pv,i){\nif((i \x3e\x3d cljs.core.tail_off(pv))){\nreturn pv.tail;\n} else {\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__15037 \x3d cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31)));\nvar G__15038 \x3d (level - (5));\nnode \x3d G__15037;\nlevel \x3d G__15038;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\ncljs.core.array_for \x3d (function cljs$core$array_for(pv,i){\nif(((((0) \x3c\x3d i)) \x26\x26 ((i \x3c pv.cnt)))){\nreturn cljs.core.unchecked_array_for(pv,i);\n} else {\nreturn cljs.core.vector_index_out_of_bounds(i,pv.cnt);\n}\n});\ncljs.core.do_assoc \x3d (function cljs$core$do_assoc(pv,level,node,i,val){\nvar ret \x3d cljs.core.pv_clone_node(node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(ret,(i \x26 (31)),val);\n\nreturn ret;\n} else {\nvar subidx \x3d ((i \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(function (){var G__11481 \x3d pv;\nvar G__11482 \x3d (level - (5));\nvar G__11483 \x3d cljs.core.pv_aget(node,subidx);\nvar G__11484 \x3d i;\nvar G__11485 \x3d val;\nreturn (cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5 ? cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5(G__11481,G__11482,G__11483,G__11484,G__11485) : cljs.core.do_assoc.call(null,G__11481,G__11482,G__11483,G__11484,G__11485));\n})());\n\nreturn ret;\n}\n});\ncljs.core.pop_tail \x3d (function cljs$core$pop_tail(pv,level,node){\nvar subidx \x3d (((pv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__11486 \x3d pv;\nvar G__11487 \x3d (level - (5));\nvar G__11488 \x3d cljs.core.pv_aget(node,subidx);\nreturn (cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3(G__11486,G__11487,G__11488) : cljs.core.pop_tail.call(null,G__11486,G__11487,G__11488));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,new_child);\n\nreturn ret;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,null);\n\nreturn ret;\n\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.RangedIterator \x3d (function (i,base,arr,v,start,end){\nthis.i \x3d i;\nthis.base \x3d base;\nthis.arr \x3d arr;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\n});\n(cljs.core.RangedIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.i \x3c self__.end);\n}));\n\n(cljs.core.RangedIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.i - self__.base) \x3d\x3d\x3d (32))){\n(self__.arr \x3d cljs.core.unchecked_array_for(self__.v,self__.i));\n\n(self__.base \x3d (self__.base + (32)));\n} else {\n}\n\nvar ret \x3d (self__.arr[(self__.i \x26 (31))]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.RangedIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22base\x22,\x22base\x22,1825810849,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.RangedIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangedIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangedIterator\x22);\n\n(cljs.core.RangedIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RangedIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangedIterator.\n */\ncljs.core.__GT_RangedIterator \x3d (function cljs$core$__GT_RangedIterator(i,base,arr,v,start,end){\nreturn (new cljs.core.RangedIterator(i,base,arr,v,start,end));\n});\n\ncljs.core.ranged_iterator \x3d (function cljs$core$ranged_iterator(v,start,end){\nvar i \x3d start;\nreturn (new cljs.core.RangedIterator(i,(i - (i % (32))),(((start \x3c cljs.core.count(v)))?cljs.core.unchecked_array_for(v,i):null),v,start,end));\n});\ncljs.core.pv_reduce \x3d (function cljs$core$pv_reduce(var_args){\nvar G__11490 \x3d arguments.length;\nswitch (G__11490) {\ncase 4:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (pv,f,start,end){\nif((start \x3c end)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(pv,f,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(pv,start),(start + (1)),end);\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5 \x3d (function (pv,f,init,start,end){\nvar acc \x3d init;\nvar i \x3d start;\nvar arr \x3d cljs.core.unchecked_array_for(pv,start);\nwhile(true){\nif((i \x3c end)){\nvar j \x3d (i \x26 (31));\nvar arr__$1 \x3d (((j \x3d\x3d\x3d (0)))?cljs.core.unchecked_array_for(pv,i):arr);\nvar nacc \x3d (function (){var G__11491 \x3d acc;\nvar G__11492 \x3d (arr__$1[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11491,G__11492) : f.call(null,G__11491,G__11492));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__15075 \x3d nacc;\nvar G__15076 \x3d (i + (1));\nvar G__15077 \x3d arr__$1;\nacc \x3d G__15075;\ni \x3d G__15076;\narr \x3d G__15077;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.pv_reduce.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n\n\n\n\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.APersistentVector \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.APersistentVector}\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentVector \x3d (function (meta,cnt,shift,root,tail,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (new cljs.core.MapEntry(n,(cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentVector.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentVector.prototype.indexOf \x3d (function() {\nvar G__15078 \x3d null;\nvar G__15078__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15078__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15078 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15078__1.call(this,x);\ncase 2:\nreturn G__15078__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15078.cljs$core$IFn$_invoke$arity$1 \x3d G__15078__1;\nG__15078.cljs$core$IFn$_invoke$arity$2 \x3d G__15078__2;\nreturn G__15078;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.lastIndexOf \x3d (function() {\nvar G__15079 \x3d null;\nvar G__15079__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15079__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15079 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15079__1.call(this,x);\ncase 2:\nreturn G__15079__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15079.cljs$core$IFn$_invoke$arity$1 \x3d G__15079__1;\nG__15079.cljs$core$IFn$_invoke$arity$2 \x3d G__15079__2;\nreturn G__15079;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__11494 \x3d init__$2;\nvar G__11495 \x3d (j + i);\nvar G__11496 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11494,G__11495,G__11496) : f.call(null,G__11494,G__11495,G__11496));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__15081 \x3d (j + (1));\nvar G__15082 \x3d init__$3;\nj \x3d G__15081;\ninit__$2 \x3d G__15082;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__15083 \x3d (i + len);\nvar G__15084 \x3d init__$2;\ni \x3d G__15083;\ninit__$1 \x3d G__15084;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$APersistentVector$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(coll__$1) \x3c\x3d n)){\nvar new_tail \x3d cljs.core.aclone(self__.tail);\n(new_tail[(n \x26 (31))] \x3d val);\n\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,new_tail,null));\n} else {\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,cljs.core.do_assoc(coll__$1,self__.shift,self__.root,n,val),self__.tail,null));\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn coll__$1.cljs$core$ICollection$_conj$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt),\x22]\x22].join(\x27\x27)));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.ranged_iterator(this$__$1,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,(self__.cnt - (1)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n} else {\nif(((1) \x3c (self__.cnt - cljs.core.tail_off(coll__$1)))){\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt - (1)),self__.shift,self__.root,self__.tail.slice((0),(-1)),null));\n} else {\nvar new_tail \x3d cljs.core.unchecked_array_for(coll__$1,(self__.cnt - (2)));\nvar nr \x3d cljs.core.pop_tail(coll__$1,self__.shift,self__.root);\nvar new_root \x3d (((nr \x3d\x3d null))?cljs.core.PersistentVector.EMPTY_NODE:nr);\nvar cnt_1 \x3d (self__.cnt - (1));\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,(self__.shift - (5)),cljs.core.pv_aget(new_root,(0)),new_tail,null));\n} else {\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,self__.shift,new_root,new_tail,null));\n}\n\n}\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(self__.cnt - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((other instanceof cljs.core.PersistentVector)){\nif((self__.cnt \x3d\x3d\x3d cljs.core.count(other))){\nvar me_iter \x3d coll__$1.cljs$core$IIterable$_iterator$arity$1(null);\nvar you_iter \x3d other.cljs$core$IIterable$_iterator$arity$1(null);\nwhile(true){\nif(me_iter.hasNext()){\nvar x \x3d me_iter.next();\nvar y \x3d you_iter.next();\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientVector(self__.cnt,self__.shift,(cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1(self__.root) : cljs.core.tv_editable_root.call(null,self__.root)),(cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1(self__.tail) : cljs.core.tv_editable_tail.call(null,self__.tail))));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (v,f){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(v__$1,f,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__11497 \x3d init__$2;\nvar G__11498 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11497,G__11498) : f.call(null,G__11497,G__11498));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__15113 \x3d (j + (1));\nvar G__15114 \x3d init__$3;\nj \x3d G__15113;\ninit__$2 \x3d G__15114;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__15115 \x3d (i + len);\nvar G__15116 \x3d init__$2;\ni \x3d G__15115;\ninit__$1 \x3d G__15116;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,k,v);\n} else {\nthrow (new Error(\x22Vector\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(k)){\nreturn ((((0) \x3c\x3d k)) \x26\x26 ((k \x3c self__.cnt)));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nif((self__.cnt \x3c\x3d (32))){\nreturn (new cljs.core.IndexedSeq(self__.tail,(0),null));\n} else {\nvar G__11499 \x3d coll__$1;\nvar G__11500 \x3d cljs.core.first_array_for_longvec(coll__$1);\nvar G__11501 \x3d (0);\nvar G__11502 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__11499,G__11500,G__11501,G__11502) : cljs.core.chunked_seq.call(null,G__11499,G__11500,G__11501,G__11502));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentVector(new_meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.cnt - cljs.core.tail_off(coll__$1)) \x3c (32))){\nvar len \x3d self__.tail.length;\nvar new_tail \x3d (new Array((len + (1))));\nvar n__5636__auto___15120 \x3d len;\nvar i_15122 \x3d (0);\nwhile(true){\nif((i_15122 \x3c n__5636__auto___15120)){\n(new_tail[i_15122] \x3d (self__.tail[i_15122]));\n\nvar G__15124 \x3d (i_15122 + (1));\ni_15122 \x3d G__15124;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(new_tail[len] \x3d o);\n\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),self__.shift,self__.root,new_tail,null));\n} else {\nvar root_overflow_QMARK_ \x3d ((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift));\nvar new_shift \x3d ((root_overflow_QMARK_)?(self__.shift + (5)):self__.shift);\nvar new_root \x3d ((root_overflow_QMARK_)?(function (){var n_r \x3d cljs.core.pv_fresh_node(null);\ncljs.core.pv_aset(n_r,(0),self__.root);\n\ncljs.core.pv_aset(n_r,(1),cljs.core.new_path(null,self__.shift,(new cljs.core.VectorNode(null,self__.tail))));\n\nreturn n_r;\n})():cljs.core.push_tail(coll__$1,self__.shift,self__.root,(new cljs.core.VectorNode(null,self__.tail))));\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),new_shift,new_root,[o],null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11503 \x3d (arguments.length - (1));\nswitch (G__11503) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentVector.prototype.apply \x3d (function (self__,args11493){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11493)));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n} else {\nthrow (new Error(\x22Key must be integer\x22));\n}\n}));\n\n(cljs.core.PersistentVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentVector.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentVector.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentVector\x22);\n\n(cljs.core.PersistentVector.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentVector.\n */\ncljs.core.__GT_PersistentVector \x3d (function cljs$core$__GT_PersistentVector(meta,cnt,shift,root,tail,__hash){\nreturn (new cljs.core.PersistentVector(meta,cnt,shift,root,tail,__hash));\n});\n\n(cljs.core.PersistentVector.EMPTY_NODE \x3d (new cljs.core.VectorNode(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])));\n(cljs.core.PersistentVector.EMPTY \x3d (new cljs.core.PersistentVector(null,(0),(5),cljs.core.PersistentVector.EMPTY_NODE,[],cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentVector.fromArray \x3d (function (xs,no_clone){\nvar l \x3d xs.length;\nvar xs__$1 \x3d ((no_clone)?xs:cljs.core.aclone(xs));\nif((l \x3c (32))){\nreturn (new cljs.core.PersistentVector(null,l,(5),cljs.core.PersistentVector.EMPTY_NODE,xs__$1,null));\n} else {\nvar node \x3d xs__$1.slice((0),(32));\nvar v \x3d (new cljs.core.PersistentVector(null,(32),(5),cljs.core.PersistentVector.EMPTY_NODE,node,null));\nvar i \x3d (32);\nvar out \x3d v.cljs$core$IEditableCollection$_as_transient$arity$1(null);\nwhile(true){\nif((i \x3c l)){\nvar G__15131 \x3d (i + (1));\nvar G__15132 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(out,(xs__$1[i]));\ni \x3d G__15131;\nout \x3d G__15132;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentVector.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Creates a new vector containing the contents of coll. JavaScript arrays\n * will be aliased and should not be modified.\n */\ncljs.core.vec \x3d (function cljs$core$vec(coll){\nif(cljs.core.truth_((cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.map_entry_QMARK_.call(null,coll)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.key.call(null,coll)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.val.call(null,coll))], null);\n} else {\nif(cljs.core.vector_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.PersistentVector.fromArray(coll,true);\n} else {\nreturn cljs.core._persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core._as_transient(cljs.core.PersistentVector.EMPTY),coll));\n\n}\n}\n}\n});\n/**\n * Creates a new vector containing the args.\n */\ncljs.core.vector \x3d (function cljs$core$vector(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15135 \x3d arguments.length;\nvar i__5770__auto___15137 \x3d (0);\nwhile(true){\nif((i__5770__auto___15137 \x3c len__5769__auto___15135)){\nargs__5775__auto__.push((arguments[i__5770__auto___15137]));\n\nvar G__15138 \x3d (i__5770__auto___15137 + (1));\ni__5770__auto___15137 \x3d G__15138;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nif((((args instanceof cljs.core.IndexedSeq)) \x26\x26 ((args.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentVector.fromArray(args.arr,(!(cljs.core.array_QMARK_(args.arr))));\n} else {\nreturn cljs.core.vec(args);\n}\n}));\n\n(cljs.core.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.vector.cljs$lang$applyTo \x3d (function (seq11504){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11504));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ChunkedSeq \x3d (function (vec,node,i,off,meta,__hash){\nthis.vec \x3d vec;\nthis.node \x3d node;\nthis.i \x3d i;\nthis.off \x3d off;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375020;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1536;\n});\n(cljs.core.ChunkedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.indexOf \x3d (function() {\nvar G__15142 \x3d null;\nvar G__15142__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15142__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15142 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15142__1.call(this,x);\ncase 2:\nreturn G__15142__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15142.cljs$core$IFn$_invoke$arity$1 \x3d G__15142__1;\nG__15142.cljs$core$IFn$_invoke$arity$2 \x3d G__15142__2;\nreturn G__15142;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__15144 \x3d null;\nvar G__15144__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15144__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15144 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15144__1.call(this,x);\ncase 2:\nreturn G__15144__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15144.cljs$core$IFn$_invoke$arity$1 \x3d G__15144__1;\nG__15144.cljs$core$IFn$_invoke$arity$2 \x3d G__15144__2;\nreturn G__15144;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__11505 \x3d self__.vec;\nvar G__11506 \x3d self__.node;\nvar G__11507 \x3d self__.i;\nvar G__11508 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__11505,G__11506,G__11507,G__11508) : cljs.core.chunked_seq.call(null,G__11505,G__11506,G__11507,G__11508));\n})();\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.vec,f,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.vec,f,start,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.node[self__.off]);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__11509 \x3d self__.vec;\nvar G__11510 \x3d self__.node;\nvar G__11511 \x3d self__.i;\nvar G__11512 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__11509,G__11510,G__11511,G__11512) : cljs.core.chunked_seq.call(null,G__11509,G__11510,G__11511,G__11512));\n})();\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(self__.node,self__.off);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__11513 \x3d self__.vec;\nvar G__11514 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__11515 \x3d end;\nvar G__11516 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__11513,G__11514,G__11515,G__11516) : cljs.core.chunked_seq.call(null,G__11513,G__11514,G__11515,G__11516));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(self__.vec,self__.node,self__.i,self__.off,new_meta) : cljs.core.chunked_seq.call(null,self__.vec,self__.node,self__.i,self__.off,new_meta));\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__11517 \x3d self__.vec;\nvar G__11518 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__11519 \x3d end;\nvar G__11520 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__11517,G__11518,G__11519,G__11520) : cljs.core.chunked_seq.call(null,G__11517,G__11518,G__11519,G__11520));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ChunkedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vec\x22,\x22vec\x22,982683596,null),new cljs.core.Symbol(null,\x22node\x22,\x22node\x22,-2073234571,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedSeq\x22);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ChunkedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedSeq.\n */\ncljs.core.__GT_ChunkedSeq \x3d (function cljs$core$__GT_ChunkedSeq(vec,node,i,off,meta,__hash){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,__hash));\n});\n\n(cljs.core.ChunkedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.chunked_seq \x3d (function cljs$core$chunked_seq(var_args){\nvar G__11522 \x3d arguments.length;\nswitch (G__11522) {\ncase 3:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (vec,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,cljs.core.array_for(vec,i),i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 \x3d (function (vec,node,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 \x3d (function (vec,node,i,off,meta){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,null));\n}));\n\n(cljs.core.chunked_seq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Subvec \x3d (function (meta,v,start,end,__hash){\nthis.meta \x3d meta;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.core.Subvec.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3c (0))){\nreturn null;\n} else {\nvar idx \x3d (self__.start + n);\nif((idx \x3c self__.end)){\nreturn (new cljs.core.MapEntry(n,cljs.core._lookup(self__.v,idx),null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Subvec.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Subvec.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Subvec.prototype.indexOf \x3d (function() {\nvar G__15173 \x3d null;\nvar G__15173__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15173__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__15173 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__15173__1.call(this,x);\ncase 2:\nreturn G__15173__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15173.cljs$core$IFn$_invoke$arity$1 \x3d G__15173__1;\nG__15173.cljs$core$IFn$_invoke$arity$2 \x3d G__15173__2;\nreturn G__15173;\n})()\n);\n\n(cljs.core.Subvec.prototype.lastIndexOf \x3d (function() {\nvar G__15174 \x3d null;\nvar G__15174__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15174__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__15174 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__15174__1.call(this,x);\ncase 2:\nreturn G__15174__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15174.cljs$core$IFn$_invoke$arity$1 \x3d G__15174__1;\nG__15174.cljs$core$IFn$_invoke$arity$2 \x3d G__15174__2;\nreturn G__15174;\n})()\n);\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i \x3d self__.start;\nvar j \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.end)){\nvar init__$2 \x3d (function (){var G__11524 \x3d init__$1;\nvar G__11525 \x3d j;\nvar G__11526 \x3d cljs.core._nth(self__.v,i);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11524,G__11525,G__11526) : f.call(null,G__11524,G__11525,G__11526));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__15178 \x3d (i + (1));\nvar G__15179 \x3d (j + (1));\nvar G__15180 \x3d init__$2;\ni \x3d G__15178;\nj \x3d G__15179;\ninit__$1 \x3d G__15180;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn cljs.core.vector_index_out_of_bounds(n,(self__.end - self__.start));\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn not_found;\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n),not_found);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v_pos \x3d (self__.start + n);\nif((((n \x3c (0))) || (((self__.end + (1)) \x3c\x3d v_pos)))){\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll__$1.cljs$core$ICounted$_count$arity$1(null)),\x22]\x22].join(\x27\x27)));\n} else {\nvar G__11527 \x3d self__.meta;\nvar G__11528 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.v,v_pos,val);\nvar G__11529 \x3d self__.start;\nvar G__11530 \x3d (function (){var x__5130__auto__ \x3d self__.end;\nvar y__5131__auto__ \x3d (v_pos + (1));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar G__11531 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__11527,G__11528,G__11529,G__11530,G__11531) : cljs.core.build_subvec.call(null,G__11527,G__11528,G__11529,G__11530,G__11531));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.ranged_iterator(self__.v,self__.start,self__.end);\n} else {\nreturn cljs.core.seq_iter(coll__$1);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Subvec(self__.meta,self__.v,self__.start,self__.end,self__.__hash));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.end - self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core._nth(self__.v,(self__.end - (1)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nvar G__11533 \x3d self__.meta;\nvar G__11534 \x3d self__.v;\nvar G__11535 \x3d self__.start;\nvar G__11536 \x3d (self__.end - (1));\nvar G__11537 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__11533,G__11534,G__11535,G__11536,G__11537) : cljs.core.build_subvec.call(null,G__11533,G__11534,G__11535,G__11536,G__11537));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.start \x3d\x3d\x3d self__.end)))){\nreturn (new cljs.core.RSeq(coll__$1,((self__.end - self__.start) - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.v,f,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.v,f,init,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,init);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,key,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22Subvec\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,key){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(key)){\nreturn ((((0) \x3c\x3d key)) \x26\x26 ((key \x3c (self__.end - self__.start))));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar subvec_seq \x3d (function cljs$core$subvec_seq(i){\nif((i \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core.cons(cljs.core._nth(self__.v,i),(new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$subvec_seq((i + (1)));\n}),null,null)));\n}\n});\nreturn subvec_seq(self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(new_meta,self__.v,self__.start,self__.end,self__.__hash) : cljs.core.build_subvec.call(null,new_meta,self__.v,self__.start,self__.end,self__.__hash));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__11540 \x3d self__.meta;\nvar G__11541 \x3d cljs.core._assoc_n(self__.v,self__.end,o);\nvar G__11542 \x3d self__.start;\nvar G__11543 \x3d (self__.end + (1));\nvar G__11544 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__11540,G__11541,G__11542,G__11543,G__11544) : cljs.core.build_subvec.call(null,G__11540,G__11541,G__11542,G__11543,G__11544));\n}));\n\n(cljs.core.Subvec.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11545 \x3d (arguments.length - (1));\nswitch (G__11545) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Subvec.prototype.apply \x3d (function (self__,args11523){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11523)));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.Subvec.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Subvec.cljs$lang$type \x3d true);\n\n(cljs.core.Subvec.cljs$lang$ctorStr \x3d \x22cljs.core/Subvec\x22);\n\n(cljs.core.Subvec.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Subvec\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Subvec.\n */\ncljs.core.__GT_Subvec \x3d (function cljs$core$__GT_Subvec(meta,v,start,end,__hash){\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n});\n\n(cljs.core.Subvec.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.build_subvec \x3d (function cljs$core$build_subvec(meta,v,start,end,__hash){\nwhile(true){\nif((v instanceof cljs.core.Subvec)){\nvar G__15198 \x3d meta;\nvar G__15199 \x3d v.v;\nvar G__15200 \x3d (v.start + start);\nvar G__15201 \x3d (v.start + end);\nvar G__15202 \x3d __hash;\nmeta \x3d G__15198;\nv \x3d G__15199;\nstart \x3d G__15200;\nend \x3d G__15201;\n__hash \x3d G__15202;\ncontinue;\n} else {\nif(cljs.core.vector_QMARK_(v)){\n} else {\nthrow (new Error(\x22v must satisfy IVector\x22));\n}\n\nif((((start \x3c (0))) || ((((end \x3c start)) || ((end \x3e cljs.core.count(v))))))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\n}\n\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n}\nbreak;\n}\n});\n/**\n * Returns a persistent vector of the items in vector from\n * start (inclusive) to end (exclusive). If end is not supplied,\n * defaults to (count vector). This operation is O(1) and very fast, as\n * the resulting vector shares structure with the original and no\n * trimming is done.\n */\ncljs.core.subvec \x3d (function cljs$core$subvec(var_args){\nvar G__11547 \x3d arguments.length;\nswitch (G__11547) {\ncase 2:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$2 \x3d (function (v,start){\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(v,start,cljs.core.count(v));\n}));\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3 \x3d (function (v,start,end){\nif((((!((start \x3d\x3d null)))) \x26\x26 ((!((end \x3d\x3d null)))))){\n} else {\nthrow (new Error(\x22Assert failed: (and (not (nil? start)) (not (nil? end)))\x22));\n}\n\nreturn cljs.core.build_subvec(null,v,(start | (0)),(end | (0)),null);\n}));\n\n(cljs.core.subvec.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.tv_ensure_editable \x3d (function cljs$core$tv_ensure_editable(edit,node){\nif((edit \x3d\x3d\x3d node.edit)){\nreturn node;\n} else {\nreturn (new cljs.core.VectorNode(edit,cljs.core.aclone(node.arr)));\n}\n});\ncljs.core.tv_editable_root \x3d (function cljs$core$tv_editable_root(node){\nreturn (new cljs.core.VectorNode(({}),cljs.core.aclone(node.arr)));\n});\ncljs.core.tv_editable_tail \x3d (function cljs$core$tv_editable_tail(tl){\nvar ret \x3d [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];\ncljs.core.array_copy(tl,(0),ret,(0),tl.length);\n\nreturn ret;\n});\ncljs.core.tv_push_tail \x3d (function cljs$core$tv_push_tail(tv,level,parent,tail_node){\nvar ret \x3d cljs.core.tv_ensure_editable(tv.root.edit,parent);\nvar subidx \x3d (((tv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(((level \x3d\x3d\x3d (5)))?tail_node:(function (){var child \x3d cljs.core.pv_aget(ret,subidx);\nif((!((child \x3d\x3d null)))){\nvar G__11550 \x3d tv;\nvar G__11551 \x3d (level - (5));\nvar G__11552 \x3d child;\nvar G__11553 \x3d tail_node;\nreturn (cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4(G__11550,G__11551,G__11552,G__11553) : cljs.core.tv_push_tail.call(null,G__11550,G__11551,G__11552,G__11553));\n} else {\nreturn cljs.core.new_path(tv.root.edit,(level - (5)),tail_node);\n}\n})()));\n\nreturn ret;\n});\ncljs.core.tv_pop_tail \x3d (function cljs$core$tv_pop_tail(tv,level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(tv.root.edit,node);\nvar subidx \x3d (((tv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__11554 \x3d tv;\nvar G__11555 \x3d (level - (5));\nvar G__11556 \x3d cljs.core.pv_aget(node__$1,subidx);\nreturn (cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3(G__11554,G__11555,G__11556) : cljs.core.tv_pop_tail.call(null,G__11554,G__11555,G__11556));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,new_child);\n\nreturn node__$1;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,null);\n\nreturn node__$1;\n\n}\n}\n});\ncljs.core.unchecked_editable_array_for \x3d (function cljs$core$unchecked_editable_array_for(tv,i){\nif((i \x3e\x3d cljs.core.tail_off(tv))){\nreturn tv.tail;\n} else {\nvar root \x3d tv.root;\nvar node \x3d root;\nvar level \x3d tv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__15211 \x3d cljs.core.tv_ensure_editable(root.edit,cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31))));\nvar G__15212 \x3d (level - (5));\nnode \x3d G__15211;\nlevel \x3d G__15212;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientVector}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientVector \x3d (function (cnt,shift,root,tail){\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 88;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 275;\n});\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((self__.cnt - cljs.core.tail_off(tcoll__$1)) \x3c (32))){\n(self__.tail[(self__.cnt \x26 (31))] \x3d o);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar tail_node \x3d (new cljs.core.VectorNode(self__.root.edit,self__.tail));\nvar new_tail \x3d [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];\n(new_tail[(0)] \x3d o);\n\n(self__.tail \x3d new_tail);\n\nif(((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift))){\nvar new_root_array \x3d [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];\nvar new_shift \x3d (self__.shift + (5));\n(new_root_array[(0)] \x3d self__.root);\n\n(new_root_array[(1)] \x3d cljs.core.new_path(self__.root.edit,self__.shift,tail_node));\n\n(self__.root \x3d (new cljs.core.VectorNode(self__.root.edit,new_root_array)));\n\n(self__.shift \x3d new_shift);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d cljs.core.tv_push_tail(tcoll__$1,self__.shift,self__.root,tail_node);\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\n(self__.root.edit \x3d null);\n\nvar len \x3d (self__.cnt - cljs.core.tail_off(tcoll__$1));\nvar trimmed_tail \x3d (new Array(len));\ncljs.core.array_copy(self__.tail,(0),trimmed_tail,(0),len);\n\nreturn (new cljs.core.PersistentVector(null,self__.cnt,self__.shift,self__.root,trimmed_tail,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn tcoll__$1.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22TransientVector\x27s key for assoc! must be a number.\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d (function (tcoll,n,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(tcoll__$1) \x3c\x3d n)){\n(self__.tail[(n \x26 (31))] \x3d val);\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d (function cljs$core$go(level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(node__$1,(n \x26 (31)),val);\n\nreturn node__$1;\n} else {\nvar subidx \x3d ((n \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(node__$1,subidx,cljs$core$go((level - (5)),cljs.core.pv_aget(node__$1,subidx)));\n\nreturn node__$1;\n}\n})(self__.shift,self__.root);\n(self__.root \x3d new_root);\n\nreturn tcoll__$1;\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn tcoll__$1.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds for TransientVector of length\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt)].join(\x27\x27)));\n\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\n(self__.cnt \x3d (0));\n\nreturn tcoll__$1;\n} else {\nif((((self__.cnt - (1)) \x26 (31)) \x3e (0))){\n(self__.cnt \x3d (self__.cnt - (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_tail \x3d cljs.core.unchecked_editable_array_for(tcoll__$1,(self__.cnt - (2)));\nvar new_root \x3d (function (){var nr \x3d cljs.core.tv_pop_tail(tcoll__$1,self__.shift,self__.root);\nif((!((nr \x3d\x3d null)))){\nreturn nr;\n} else {\nreturn (new cljs.core.VectorNode(self__.root.edit,[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]));\n}\n})();\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nvar new_root__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,cljs.core.pv_aget(new_root,(0)));\n(self__.root \x3d new_root__$1);\n\n(self__.shift \x3d (self__.shift - (5)));\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n} else {\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n}\n\n}\n}\n}\n} else {\nthrow (new Error(\x22pop! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn self__.cnt;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nthrow (new Error(\x22nth after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!(self__.root.edit))){\nthrow (new Error(\x22lookup after persistent!\x22));\n} else {\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.TransientVector.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11558 \x3d (arguments.length - (1));\nswitch (G__11558) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientVector.prototype.apply \x3d (function (self__,args11557){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11557)));\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.TransientVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientVector.cljs$lang$type \x3d true);\n\n(cljs.core.TransientVector.cljs$lang$ctorStr \x3d \x22cljs.core/TransientVector\x22);\n\n(cljs.core.TransientVector.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientVector.\n */\ncljs.core.__GT_TransientVector \x3d (function cljs$core$__GT_TransientVector(cnt,shift,root,tail){\nreturn (new cljs.core.TransientVector(cnt,shift,root,tail));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentQueueIter \x3d (function (fseq,riter){\nthis.fseq \x3d fseq;\nthis.riter \x3d riter;\n});\n(cljs.core.PersistentQueueIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5045__auto__ \x3d (((!((self__.fseq \x3d\x3d null)))) \x26\x26 (cljs.core.seq(self__.fseq)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d (!((self__.riter \x3d\x3d null)));\nif(and__5043__auto__){\nreturn self__.riter.hasNext();\n} else {\nreturn and__5043__auto__;\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.fseq \x3d\x3d null)))){\nvar ret \x3d cljs.core.first(self__.fseq);\n(self__.fseq \x3d cljs.core.next(self__.fseq));\n\nreturn ret;\n} else {\nif((((!((self__.riter \x3d\x3d null)))) \x26\x26 (self__.riter.hasNext()))){\nreturn self__.riter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.PersistentQueueIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22fseq\x22,\x22fseq\x22,-1466412450,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22riter\x22,\x22riter\x22,-237834262,null)], null);\n}));\n\n(cljs.core.PersistentQueueIter.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueIter\x22);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentQueueIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueIter.\n */\ncljs.core.__GT_PersistentQueueIter \x3d (function cljs$core$__GT_PersistentQueueIter(fseq,riter){\nreturn (new cljs.core.PersistentQueueIter(fseq,riter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueueSeq \x3d (function (meta,front,rear,__hash){\nthis.meta \x3d meta;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850700;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentQueueSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.indexOf \x3d (function() {\nvar G__15247 \x3d null;\nvar G__15247__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15247__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15247 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15247__1.call(this,x);\ncase 2:\nreturn G__15247__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15247.cljs$core$IFn$_invoke$arity$1 \x3d G__15247__1;\nG__15247.cljs$core$IFn$_invoke$arity$2 \x3d G__15247__2;\nreturn G__15247;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.lastIndexOf \x3d (function() {\nvar G__15248 \x3d null;\nvar G__15248__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15248__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15248 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15248__1.call(this,x);\ncase 2:\nreturn G__15248__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15248.cljs$core$IFn$_invoke$arity$1 \x3d G__15248__1;\nG__15248.cljs$core$IFn$_invoke$arity$2 \x3d G__15248__2;\nreturn G__15248;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((!((self__.rear \x3d\x3d null)))){\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((self__.rear \x3d\x3d null)){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueueSeq(new_meta,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueueSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueSeq\x22);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentQueueSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueSeq.\n */\ncljs.core.__GT_PersistentQueueSeq \x3d (function cljs$core$__GT_PersistentQueueSeq(meta,front,rear,__hash){\nreturn (new cljs.core.PersistentQueueSeq(meta,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueueSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueue \x3d (function (meta,count,front,rear,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31858766;\n});\n(cljs.core.PersistentQueue.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueue.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.indexOf \x3d (function() {\nvar G__15249 \x3d null;\nvar G__15249__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15249__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15249 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15249__1.call(this,x);\ncase 2:\nreturn G__15249__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15249.cljs$core$IFn$_invoke$arity$1 \x3d G__15249__1;\nG__15249.cljs$core$IFn$_invoke$arity$2 \x3d G__15249__2;\nreturn G__15249;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.lastIndexOf \x3d (function() {\nvar G__15250 \x3d null;\nvar G__15250__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(self__.count.cljs$core$IFn$_invoke$arity$1 ? self__.count.cljs$core$IFn$_invoke$arity$1(coll) : self__.count.call(null,coll)));\n});\nvar G__15250__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15250 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15250__1.call(this,x);\ncase 2:\nreturn G__15250__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15250.cljs$core$IFn$_invoke$arity$1 \x3d G__15250__1;\nG__15250.cljs$core$IFn$_invoke$arity$2 \x3d G__15250__2;\nreturn G__15250;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueueIter(self__.front,cljs.core._iterator(self__.rear)));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueue(self__.meta,self__.count,self__.front,self__.rear,self__.__hash));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nvar temp__5802__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5802__auto__){\nvar f1 \x3d temp__5802__auto__;\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),f1,self__.rear,null));\n} else {\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),cljs.core.seq(self__.rear),cljs.core.PersistentVector.EMPTY,null));\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentQueue.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.rest(cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar rear__$1 \x3d cljs.core.seq(self__.rear);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d self__.front;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn rear__$1;\n}\n})())){\nreturn (new cljs.core.PersistentQueueSeq(null,self__.front,cljs.core.seq(rear__$1),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueue(new_meta,self__.count,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),self__.front,cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5045__auto__ \x3d self__.rear;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),o),null));\n} else {\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.front,o),cljs.core.PersistentVector.EMPTY,null));\n}\n}));\n\n(cljs.core.PersistentQueue.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueue.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueue\x22);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentQueue\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueue.\n */\ncljs.core.__GT_PersistentQueue \x3d (function cljs$core$__GT_PersistentQueue(meta,count,front,rear,__hash){\nreturn (new cljs.core.PersistentQueue(meta,count,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueue.EMPTY \x3d (new cljs.core.PersistentQueue(null,(0),null,cljs.core.PersistentVector.EMPTY,cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentQueue.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n*/\ncljs.core.NeverEquiv \x3d (function (){\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2097152;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NeverEquiv.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NeverEquiv.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.NeverEquiv.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.NeverEquiv.cljs$lang$type \x3d true);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorStr \x3d \x22cljs.core/NeverEquiv\x22);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/NeverEquiv\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NeverEquiv.\n */\ncljs.core.__GT_NeverEquiv \x3d (function cljs$core$__GT_NeverEquiv(){\nreturn (new cljs.core.NeverEquiv());\n});\n\ncljs.core.never_equiv \x3d (new cljs.core.NeverEquiv());\n/**\n * Test map equivalence. Returns true if x equals y, otherwise returns false.\n */\ncljs.core.equiv_map \x3d (function cljs$core$equiv_map(x,y){\nreturn cljs.core.boolean$(((((cljs.core.map_QMARK_(y)) \x26\x26 ((!(cljs.core.record_QMARK_(y))))))?(((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))?(((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1048576))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IKVReduce$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x)))?cljs.core.reduce_kv((function (_,k,v){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,k,cljs.core.never_equiv),v)){\nreturn true;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,x):cljs.core.every_QMARK_((function (xkv){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,cljs.core.first(xkv),cljs.core.never_equiv),cljs.core.second(xkv));\n}),x)):null):null));\n});\ncljs.core.scan_array \x3d (function cljs$core$scan_array(incr,k,array){\nvar len \x3d array.length;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((k \x3d\x3d\x3d (array[i]))){\nreturn i;\n} else {\nvar G__15265 \x3d (i + incr);\ni \x3d G__15265;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.core.obj_map_compare_keys \x3d (function cljs$core$obj_map_compare_keys(a,b){\nvar a__$1 \x3d cljs.core.hash(a);\nvar b__$1 \x3d cljs.core.hash(b);\nif((a__$1 \x3c b__$1)){\nreturn (-1);\n} else {\nif((a__$1 \x3e b__$1)){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\ncljs.core.obj_map__GT_hash_map \x3d (function cljs$core$obj_map__GT_hash_map(m,k,v){\nvar ks \x3d m.keys;\nvar len \x3d ks.length;\nvar so \x3d m.strobj;\nvar mm \x3d cljs.core.meta(m);\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar k__$1 \x3d (ks[i]);\nvar G__15268 \x3d (i + (1));\nvar G__15269 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k__$1,cljs.core.goog$module$goog$object.get(so,k__$1));\ni \x3d G__15268;\nout \x3d G__15269;\ncontinue;\n} else {\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k,v)),mm);\n}\nbreak;\n}\n});\ncljs.core.obj_clone \x3d (function cljs$core$obj_clone(obj,ks){\nvar new_obj \x3d ({});\nvar l \x3d ks.length;\nvar i_15270 \x3d (0);\nwhile(true){\nif((i_15270 \x3c l)){\nvar k_15271 \x3d (ks[i_15270]);\ncljs.core.goog$module$goog$object.set(new_obj,k_15271,cljs.core.goog$module$goog$object.get(obj,k_15271));\n\nvar G__15272 \x3d (i_15270 + (1));\ni_15270 \x3d G__15272;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.ObjMap \x3d (function (meta,keys,strobj,update_count,__hash){\nthis.meta \x3d meta;\nthis.keys \x3d keys;\nthis.strobj \x3d strobj;\nthis.update_count \x3d update_count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4;\n});\n(cljs.core.ObjMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (new cljs.core.MapEntry(k,(self__.strobj[k]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ObjMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (self__.strobj[k]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.keys.length;\nvar keys__$1 \x3d self__.keys.sort(cljs.core.obj_map_compare_keys);\nvar init__$1 \x3d init;\nwhile(true){\nif(cljs.core.seq(keys__$1)){\nvar k \x3d cljs.core.first(keys__$1);\nvar init__$2 \x3d (function (){var G__11564 \x3d init__$1;\nvar G__11565 \x3d k;\nvar G__11566 \x3d (self__.strobj[k]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11564,G__11565,G__11566) : f.call(null,G__11564,G__11565,G__11566));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__15278 \x3d cljs.core.rest(keys__$1);\nvar G__15279 \x3d init__$2;\nkeys__$1 \x3d G__15278;\ninit__$1 \x3d G__15279;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.keys.length;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.transient$(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.ObjMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nvar new_keys \x3d cljs.core.aclone(self__.keys);\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nnew_keys.splice(cljs.core.scan_array((1),k,new_keys),(1));\n\ndelete new_strobj[k];\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nif((((self__.update_count \x3e cljs.core.ObjMap.HASHMAP_THRESHOLD)) || ((self__.keys.length \x3e\x3d cljs.core.ObjMap.HASHMAP_THRESHOLD)))){\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n} else {\nif((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))){\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nreturn (new cljs.core.ObjMap(self__.meta,self__.keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nvar new_keys \x3d cljs.core.aclone(self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nnew_keys.push(k);\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n}\n}\n} else {\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn true;\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.keys.length \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__11562_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__11562_SHARP_,(self__.strobj[p1__11562_SHARP_])],null));\n}),self__.keys.sort(cljs.core.obj_map_compare_keys));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ObjMap(new_meta,self__.keys,self__.strobj,self__.update_count,self__.__hash));\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,coll__$1,entry);\n}\n}));\n\n(cljs.core.ObjMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11567 \x3d (arguments.length - (1));\nswitch (G__11567) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.ObjMap.prototype.apply \x3d (function (self__,args11563){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11563)));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.ObjMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22strobj\x22,\x22strobj\x22,1088091283,null),new cljs.core.Symbol(null,\x22update-count\x22,\x22update-count\x22,-411982269,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ObjMap.cljs$lang$type \x3d true);\n\n(cljs.core.ObjMap.cljs$lang$ctorStr \x3d \x22cljs.core/ObjMap\x22);\n\n(cljs.core.ObjMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ObjMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ObjMap.\n */\ncljs.core.__GT_ObjMap \x3d (function cljs$core$__GT_ObjMap(meta,keys,strobj,update_count,__hash){\nreturn (new cljs.core.ObjMap(meta,keys,strobj,update_count,__hash));\n});\n\n(cljs.core.ObjMap.EMPTY \x3d (new cljs.core.ObjMap(null,[],({}),(0),cljs.core.empty_unordered_hash)));\n(cljs.core.ObjMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.ObjMap.fromObject \x3d (function (ks,obj){\nreturn (new cljs.core.ObjMap(null,ks,obj,(0),null));\n}));\n\n/**\n* @constructor\n*/\ncljs.core.RecordIter \x3d (function (i,record,base_count,fields,ext_map_iter){\nthis.i \x3d i;\nthis.record \x3d record;\nthis.base_count \x3d base_count;\nthis.fields \x3d fields;\nthis.ext_map_iter \x3d ext_map_iter;\n});\n(cljs.core.RecordIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5045__auto__ \x3d (self__.i \x3c self__.base_count);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn self__.ext_map_iter.hasNext();\n}\n}));\n\n(cljs.core.RecordIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.i \x3c self__.base_count)){\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(self__.fields,self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn (new cljs.core.MapEntry(k,cljs.core._lookup(self__.record,k),null));\n} else {\nreturn self__.ext_map_iter.next();\n}\n}));\n\n(cljs.core.RecordIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.RecordIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22record\x22,\x22record\x22,861424668,null),new cljs.core.Symbol(null,\x22base-count\x22,\x22base-count\x22,-1180647182,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22ext-map-iter\x22,\x22ext-map-iter\x22,-1215982757,null)], null);\n}));\n\n(cljs.core.RecordIter.cljs$lang$type \x3d true);\n\n(cljs.core.RecordIter.cljs$lang$ctorStr \x3d \x22cljs.core/RecordIter\x22);\n\n(cljs.core.RecordIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RecordIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RecordIter.\n */\ncljs.core.__GT_RecordIter \x3d (function cljs$core$__GT_RecordIter(i,record,base_count,fields,ext_map_iter){\nreturn (new cljs.core.RecordIter(i,record,base_count,fields,ext_map_iter));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6EntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6EntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar vec__11570 \x3d cljs.core.first(self__.s);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11570,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11570,(1),null);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [k,v], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6EntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6EntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6EntriesIterator\x22);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6EntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6EntriesIterator.\n */\ncljs.core.__GT_ES6EntriesIterator \x3d (function cljs$core$__GT_ES6EntriesIterator(s){\nreturn (new cljs.core.ES6EntriesIterator(s));\n});\n\ncljs.core.es6_entries_iterator \x3d (function cljs$core$es6_entries_iterator(coll){\nreturn (new cljs.core.ES6EntriesIterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ES6SetEntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6SetEntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [x,x], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6SetEntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6SetEntriesIterator\x22);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ES6SetEntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6SetEntriesIterator.\n */\ncljs.core.__GT_ES6SetEntriesIterator \x3d (function cljs$core$__GT_ES6SetEntriesIterator(s){\nreturn (new cljs.core.ES6SetEntriesIterator(s));\n});\n\ncljs.core.es6_set_entries_iterator \x3d (function cljs$core$es6_set_entries_iterator(coll){\nreturn (new cljs.core.ES6SetEntriesIterator(cljs.core.seq(coll)));\n});\ncljs.core.array_index_of_nil_QMARK_ \x3d (function cljs$core$array_index_of_nil_QMARK_(arr){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((arr[i]) \x3d\x3d null)){\nreturn i;\n} else {\nvar G__15283 \x3d (i + (2));\ni \x3d G__15283;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_keyword_QMARK_ \x3d (function cljs$core$array_index_of_keyword_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.fqn;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Keyword)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).fqn)))){\nreturn i;\n} else {\nvar G__15284 \x3d (i + (2));\ni \x3d G__15284;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_symbol_QMARK_ \x3d (function cljs$core$array_index_of_symbol_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.str;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Symbol)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).str)))){\nreturn i;\n} else {\nvar G__15285 \x3d (i + (2));\ni \x3d G__15285;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_identical_QMARK_ \x3d (function cljs$core$array_index_of_identical_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif((k \x3d\x3d\x3d (arr[i]))){\nreturn i;\n} else {\nvar G__15286 \x3d (i + (2));\ni \x3d G__15286;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_equiv_QMARK_ \x3d (function cljs$core$array_index_of_equiv_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(arr[i]))){\nreturn i;\n} else {\nvar G__15287 \x3d (i + (2));\ni \x3d G__15287;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of \x3d (function cljs$core$array_index_of(arr,k){\nif((k instanceof cljs.core.Keyword)){\nreturn cljs.core.array_index_of_keyword_QMARK_(arr,k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (typeof k \x3d\x3d\x3d \x27number\x27))){\nreturn cljs.core.array_index_of_identical_QMARK_(arr,k);\n} else {\nif((k instanceof cljs.core.Symbol)){\nreturn cljs.core.array_index_of_symbol_QMARK_(arr,k);\n} else {\nif((k \x3d\x3d null)){\nreturn cljs.core.array_index_of_nil_QMARK_(arr);\n} else {\nreturn cljs.core.array_index_of_equiv_QMARK_(arr,k);\n\n}\n}\n}\n}\n});\ncljs.core.array_map_index_of \x3d (function cljs$core$array_map_index_of(m,k){\nreturn cljs.core.array_index_of(m.arr,k);\n});\ncljs.core.array_extend_kv \x3d (function cljs$core$array_extend_kv(arr,k,v){\nvar l \x3d arr.length;\nvar narr \x3d (new Array((l + (2))));\nvar i_15288 \x3d (0);\nwhile(true){\nif((i_15288 \x3c l)){\n(narr[i_15288] \x3d (arr[i_15288]));\n\nvar G__15289 \x3d (i_15288 + (1));\ni_15288 \x3d G__15289;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(narr[l] \x3d k);\n\n(narr[(l + (1))] \x3d v);\n\nreturn narr;\n});\ncljs.core.array_map_extend_kv \x3d (function cljs$core$array_map_extend_kv(m,k,v){\nreturn cljs.core.array_extend_kv(m.arr,k,v);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.MapEntry \x3d (function (key,val,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MapEntry.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__11574 \x3d k;\nswitch (G__11574) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.indexOf \x3d (function() {\nvar G__15291 \x3d null;\nvar G__15291__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15291__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15291 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15291__1.call(this,x);\ncase 2:\nreturn G__15291__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15291.cljs$core$IFn$_invoke$arity$1 \x3d G__15291__1;\nG__15291.cljs$core$IFn$_invoke$arity$2 \x3d G__15291__2;\nreturn G__15291;\n})()\n);\n\n(cljs.core.MapEntry.prototype.lastIndexOf \x3d (function() {\nvar G__15292 \x3d null;\nvar G__15292__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15292__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15292 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15292__1.call(this,x);\ncase 2:\nreturn G__15292__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15292.cljs$core$IFn$_invoke$arity$1 \x3d G__15292__1;\nG__15292.cljs$core$IFn$_invoke$arity$2 \x3d G__15292__2;\nreturn G__15292;\n})()\n);\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.MapEntry.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11575 \x3d (arguments.length - (1));\nswitch (G__11575) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.apply \x3d (function (self__,args11573){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11573)));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.MapEntry.cljs$lang$type \x3d true);\n\n(cljs.core.MapEntry.cljs$lang$ctorStr \x3d \x22cljs.core/MapEntry\x22);\n\n(cljs.core.MapEntry.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MapEntry\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MapEntry.\n */\ncljs.core.__GT_MapEntry \x3d (function cljs$core$__GT_MapEntry(key,val,__hash){\nreturn (new cljs.core.MapEntry(key,val,__hash));\n});\n\n/**\n * Returns true if x satisfies IMapEntry\n */\ncljs.core.map_entry_QMARK_ \x3d (function cljs$core$map_entry_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMapEntry$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMapSeq \x3d (function (arr,i,_meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentArrayMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.indexOf \x3d (function() {\nvar G__15294 \x3d null;\nvar G__15294__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15294__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15294 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15294__1.call(this,x);\ncase 2:\nreturn G__15294__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15294.cljs$core$IFn$_invoke$arity$1 \x3d G__15294__1;\nG__15294.cljs$core$IFn$_invoke$arity$2 \x3d G__15294__2;\nreturn G__15294;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__15295 \x3d null;\nvar G__15295__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15295__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15295 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15295__1.call(this,x);\ncase 2:\nreturn G__15295__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15295.cljs$core$IFn$_invoke$arity$1 \x3d G__15295__1;\nG__15295.cljs$core$IFn$_invoke$arity$2 \x3d G__15295__2;\nreturn G__15295;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn ((self__.arr.length - self__.i) / (2));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapSeq\x22);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentArrayMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapSeq.\n */\ncljs.core.__GT_PersistentArrayMapSeq \x3d (function cljs$core$__GT_PersistentArrayMapSeq(arr,i,_meta){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n});\n\n(cljs.core.PersistentArrayMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.persistent_array_map_seq \x3d (function cljs$core$persistent_array_map_seq(arr,i,_meta){\nif((i \x3c\x3d (arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n} else {\nreturn null;\n}\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentArrayMapIterator \x3d (function (arr,i,cnt){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.cnt \x3d cnt;\n});\n(cljs.core.PersistentArrayMapIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.cnt);\n}));\n\n(cljs.core.PersistentArrayMapIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n(self__.i \x3d (self__.i + (2)));\n\nreturn ret;\n}));\n\n(cljs.core.PersistentArrayMapIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapIterator\x22);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentArrayMapIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapIterator.\n */\ncljs.core.__GT_PersistentArrayMapIterator \x3d (function cljs$core$__GT_PersistentArrayMapIterator(arr,i,cnt){\nreturn (new cljs.core.PersistentArrayMapIterator(arr,i,cnt));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMap \x3d (function (meta,cnt,arr,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16647951;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn null;\n} else {\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__11578 \x3d cljs.core.seq(coll);\nvar chunk__11579 \x3d null;\nvar count__11580 \x3d (0);\nvar i__11581 \x3d (0);\nwhile(true){\nif((i__11581 \x3c count__11580)){\nvar vec__11588 \x3d chunk__11579.cljs$core$IIndexed$_nth$arity$2(null,i__11581);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11588,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11588,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15299 \x3d seq__11578;\nvar G__15300 \x3d chunk__11579;\nvar G__15301 \x3d count__11580;\nvar G__15302 \x3d (i__11581 + (1));\nseq__11578 \x3d G__15299;\nchunk__11579 \x3d G__15300;\ncount__11580 \x3d G__15301;\ni__11581 \x3d G__15302;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__11578);\nif(temp__5804__auto__){\nvar seq__11578__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__11578__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__11578__$1);\nvar G__15303 \x3d cljs.core.chunk_rest(seq__11578__$1);\nvar G__15304 \x3d c__5568__auto__;\nvar G__15305 \x3d cljs.core.count(c__5568__auto__);\nvar G__15306 \x3d (0);\nseq__11578 \x3d G__15303;\nchunk__11579 \x3d G__15304;\ncount__11580 \x3d G__15305;\ni__11581 \x3d G__15306;\ncontinue;\n} else {\nvar vec__11591 \x3d cljs.core.first(seq__11578__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11591,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11591,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15307 \x3d cljs.core.next(seq__11578__$1);\nvar G__15308 \x3d null;\nvar G__15309 \x3d (0);\nvar G__15310 \x3d (0);\nseq__11578 \x3d G__15307;\nchunk__11579 \x3d G__15308;\ncount__11580 \x3d G__15309;\ni__11581 \x3d G__15310;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var G__11594 \x3d init__$1;\nvar G__11595 \x3d (self__.arr[i]);\nvar G__11596 \x3d (self__.arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11594,G__11595,G__11596) : f.call(null,G__11594,G__11595,G__11596));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__15311 \x3d (i + (2));\nvar G__15312 \x3d init__$2;\ni \x3d G__15311;\ninit__$1 \x3d G__15312;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMapIterator(self__.arr,(0),(self__.cnt * (2))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,self__.arr,self__.__hash));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.map_QMARK_(other)) \x26\x26 ((!(cljs.core.record_QMARK_(other)))))){\nvar alen \x3d self__.arr.length;\nvar other__$1 \x3d other;\nif((self__.cnt \x3d\x3d\x3d other__$1.cljs$core$ICounted$_count$arity$1(null))){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c alen)){\nvar v \x3d other__$1.cljs$core$ILookup$_lookup$arity$3(null,(self__.arr[i]),cljs.core.lookup_sentinel);\nif((!((v \x3d\x3d\x3d cljs.core.lookup_sentinel)))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(i + (1))]),v)){\nvar G__15313 \x3d (i + (2));\ni \x3d G__15313;\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientArrayMap(({}),self__.arr.length,cljs.core.aclone(self__.arr)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentArrayMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,start);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3e\x3d (0))){\nvar len \x3d self__.arr.length;\nvar new_len \x3d (len - (2));\nif((new_len \x3d\x3d\x3d (0))){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nvar new_arr \x3d (new Array(new_len));\nvar s \x3d (0);\nvar d \x3d (0);\nwhile(true){\nif((s \x3e\x3d len)){\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt - (1)),new_arr,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(self__.arr[s]))){\nvar G__15315 \x3d (s + (2));\nvar G__15316 \x3d d;\ns \x3d G__15315;\nd \x3d G__15316;\ncontinue;\n} else {\n(new_arr[d] \x3d (self__.arr[s]));\n\n(new_arr[(d + (1))] \x3d (self__.arr[(s + (1))]));\n\nvar G__15319 \x3d (s + (2));\nvar G__15320 \x3d (d + (2));\ns \x3d G__15319;\nd \x3d G__15320;\ncontinue;\n\n}\n}\nbreak;\n}\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.cnt \x3c cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr__$1 \x3d cljs.core.array_map_extend_kv(coll__$1,k,v);\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt + (1)),arr__$1,null));\n} else {\nreturn cljs.core._with_meta(cljs.core._assoc(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1),k,v),self__.meta);\n}\n} else {\nif((v \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn coll__$1;\n} else {\nvar arr__$1 \x3d (function (){var G__11599 \x3d cljs.core.aclone(self__.arr);\n(G__11599[(idx + (1))] \x3d v);\n\nreturn G__11599;\n})();\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,arr__$1,null));\n\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((cljs.core.array_map_index_of(coll__$1,k) \x3d\x3d\x3d (-1))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.persistent_array_map_seq(self__.arr,(0),null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMap(new_meta,self__.cnt,self__.arr,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__15357 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__15358 \x3d cljs.core.next(es);\nret \x3d G__15357;\nes \x3d G__15358;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11600 \x3d (arguments.length - (1));\nswitch (G__11600) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.apply \x3d (function (self__,args11577){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11577)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMap\x22);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMap.\n */\ncljs.core.__GT_PersistentArrayMap \x3d (function cljs$core$__GT_PersistentArrayMap(meta,cnt,arr,__hash){\nreturn (new cljs.core.PersistentArrayMap(meta,cnt,arr,__hash));\n});\n\n(cljs.core.PersistentArrayMap.EMPTY \x3d (new cljs.core.PersistentArrayMap(null,(0),[],cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.PersistentArrayMap.fromArray \x3d (function (arr,no_clone,no_check){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar arr__$2 \x3d ((no_check)?arr__$1:(function (){var ret \x3d [];\nvar i_15394 \x3d (0);\nwhile(true){\nif((i_15394 \x3c arr__$1.length)){\nvar k_15396 \x3d (arr__$1[i_15394]);\nvar v_15397 \x3d (arr__$1[(i_15394 + (1))]);\nvar idx_15398 \x3d cljs.core.array_index_of(ret,k_15396);\nif((idx_15398 \x3d\x3d\x3d (-1))){\nret.push(k_15396);\n\nret.push(v_15397);\n} else {\n}\n\nvar G__15406 \x3d (i_15394 + (2));\ni_15394 \x3d G__15406;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn ret;\n})());\nvar cnt \x3d (arr__$2.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr__$2,null));\n}));\n(cljs.core.PersistentArrayMap.createWithCheck \x3d (function (arr){\nvar ret \x3d [];\nvar i_15410 \x3d (0);\nwhile(true){\nif((i_15410 \x3c arr.length)){\nvar k_15414 \x3d (arr[i_15410]);\nvar v_15415 \x3d (arr[(i_15410 + (1))]);\nvar idx_15416 \x3d cljs.core.array_index_of(ret,k_15414);\nif((idx_15416 \x3d\x3d\x3d (-1))){\nvar G__11601_15422 \x3d ret;\nG__11601_15422.push(k_15414);\n\nG__11601_15422.push(v_15415);\n\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k_15414)].join(\x27\x27)));\n}\n\nvar G__15424 \x3d (i_15410 + (2));\ni_15410 \x3d G__15424;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar cnt \x3d (arr.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr,null));\n}));\ncljs.core.key_test \x3d (function cljs$core$key_test(key,other){\nif((key \x3d\x3d\x3d other)){\nreturn true;\n} else {\nif(cljs.core.keyword_identical_QMARK_(key,other)){\nreturn true;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,other);\n\n}\n}\n});\ncljs.core.pam_dupes_QMARK_ \x3d (function cljs$core$pam_dupes_QMARK_(arr){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5045__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__15437 \x3d ((2) + j);\nj \x3d G__15437;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar or__5045__auto__ \x3d dupe_QMARK_;\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__15444 \x3d ((2) + i);\ni \x3d G__15444;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n});\ncljs.core.pam_new_size \x3d (function cljs$core$pam_new_size(arr){\nvar i \x3d (0);\nvar n \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5045__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__15466 \x3d ((2) + j);\nj \x3d G__15466;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar G__15467 \x3d ((2) + i);\nvar G__15468 \x3d ((dupe_QMARK_)?n:(n + (2)));\ni \x3d G__15467;\nn \x3d G__15468;\ncontinue;\n} else {\nreturn n;\n}\nbreak;\n}\n});\ncljs.core.pam_grow_seed_array \x3d (function cljs$core$pam_grow_seed_array(seed,trailing){\nvar seed_cnt \x3d (seed.length - (1));\nvar extra_kvs \x3d cljs.core.seq(trailing);\nvar ret \x3d (new Array((seed_cnt + ((2) * cljs.core.count(extra_kvs)))));\nvar ret__$1 \x3d cljs.core.array_copy(seed,(0),ret,(0),seed_cnt);\nvar i \x3d seed_cnt;\nvar extra_kvs__$1 \x3d extra_kvs;\nwhile(true){\nif(extra_kvs__$1){\nvar kv \x3d cljs.core.first(extra_kvs__$1);\n(ret__$1[i] \x3d cljs.core._key(kv));\n\n(ret__$1[(i + (1))] \x3d cljs.core._val(kv));\n\nvar G__15484 \x3d ((2) + seed_cnt);\nvar G__15485 \x3d cljs.core.next(extra_kvs__$1);\ni \x3d G__15484;\nextra_kvs__$1 \x3d G__15485;\ncontinue;\n} else {\nreturn ret__$1;\n}\nbreak;\n}\n});\n(cljs.core.PersistentArrayMap.createAsIfByAssoc \x3d (function (init){\nvar len \x3d init.length;\nvar has_trailing_QMARK_ \x3d ((1) \x3d\x3d\x3d (len \x26 (1)));\nif((!(((has_trailing_QMARK_) || (cljs.core.pam_dupes_QMARK_(init)))))){\nreturn (new cljs.core.PersistentArrayMap(null,(len / (2)),init,null));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath(init,has_trailing_QMARK_);\n}\n}));\n(cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath \x3d (function (init,has_trailing_QMARK_){\nvar init__$1 \x3d ((has_trailing_QMARK_)?cljs.core.pam_grow_seed_array(init,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(init[(init.length - (1))]))):init);\nvar n \x3d cljs.core.pam_new_size(init__$1);\nvar len \x3d init__$1.length;\nif((n \x3c len)){\nvar nodups \x3d (new Array(n));\nvar i_15503 \x3d (0);\nvar m_15504 \x3d (0);\nwhile(true){\nif((i_15503 \x3c len)){\nvar dupe_QMARK__15505 \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c m_15504)){\nvar or__5045__auto__ \x3d cljs.core.key_test((init__$1[i_15503]),(init__$1[j]));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar G__15506 \x3d ((2) + j);\nj \x3d G__15506;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nif((!(dupe_QMARK__15505))){\nvar j_15507 \x3d (function (){var j_15507 \x3d (len - (2));\nwhile(true){\nif((j_15507 \x3e\x3d i_15503)){\nif(cljs.core.key_test((init__$1[i_15503]),(init__$1[j_15507]))){\nreturn j_15507;\n} else {\nvar G__15509 \x3d (j_15507 - (2));\nj_15507 \x3d G__15509;\ncontinue;\n}\n} else {\nreturn j_15507;\n}\nbreak;\n}\n})();\n(nodups[m_15504] \x3d (init__$1[i_15503]));\n\n(nodups[(m_15504 + (1))] \x3d (init__$1[(j_15507 + (1))]));\n\nvar G__15510 \x3d ((2) + i_15503);\nvar G__15511 \x3d ((2) + m_15504);\ni_15503 \x3d G__15510;\nm_15504 \x3d G__15511;\ncontinue;\n} else {\nvar G__15512 \x3d ((2) + i_15503);\nvar G__15513 \x3d m_15504;\ni_15503 \x3d G__15512;\nm_15504 \x3d G__15513;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.PersistentArrayMap(null,(nodups.length / (2)),nodups,null));\n} else {\nreturn (new cljs.core.PersistentArrayMap(null,(init__$1.length / (2)),init__$1,null));\n}\n}));\n(cljs.core.PersistentArrayMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientArrayMap \x3d (function (editable_QMARK_,len,arr){\nthis.editable_QMARK_ \x3d editable_QMARK_;\nthis.len \x3d len;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nreturn cljs.core.quot(self__.len,(2));\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n} else {\nthrow (new Error(\x22lookup after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$2 \x3d tcoll__$1;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nvar G__15518 \x3d cljs.core.next(es);\nvar G__15519 \x3d cljs.core._assoc_BANG_(tcoll__$2,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__15518;\ntcoll__$2 \x3d G__15519;\ncontinue;\n} else {\nreturn tcoll__$2;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\n(self__.editable_QMARK_ \x3d false);\n\nreturn (new cljs.core.PersistentArrayMap(null,cljs.core.quot(self__.len,(2)),self__.arr,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3d\x3d\x3d (-1))){\nif(((self__.len + (2)) \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD))){\n(self__.len \x3d (self__.len + (2)));\n\nself__.arr.push(key);\n\nself__.arr.push(val);\n\nreturn tcoll__$1;\n} else {\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2(self__.len,self__.arr) : cljs.core.array__GT_transient_hash_map.call(null,self__.len,self__.arr)),key,val);\n}\n} else {\nif((val \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn tcoll__$1;\n} else {\n(self__.arr[(idx + (1))] \x3d val);\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3e\x3d (0))){\n(self__.arr[idx] \x3d (self__.arr[(self__.len - (2))]));\n\n(self__.arr[(idx + (1))] \x3d (self__.arr[(self__.len - (1))]));\n\nvar G__11603_15522 \x3d self__.arr;\nG__11603_15522.pop();\n\nG__11603_15522.pop();\n\n\n(self__.len \x3d (self__.len - (2)));\n} else {\n}\n\nreturn tcoll__$1;\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11604 \x3d (arguments.length - (1));\nswitch (G__11604) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.apply \x3d (function (self__,args11602){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11602)));\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22editable?\x22,\x22editable?\x22,-164945806,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22len\x22,\x22len\x22,-1230778691,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.TransientArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientArrayMap\x22);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientArrayMap.\n */\ncljs.core.__GT_TransientArrayMap \x3d (function cljs$core$__GT_TransientArrayMap(editable_QMARK_,len,arr){\nreturn (new cljs.core.TransientArrayMap(editable_QMARK_,len,arr));\n});\n\ncljs.core.array__GT_transient_hash_map \x3d (function cljs$core$array__GT_transient_hash_map(len,arr){\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__15548 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,(arr[i]),(arr[(i + (1))]));\nvar G__15549 \x3d (i + (2));\nout \x3d G__15548;\ni \x3d G__15549;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Box \x3d (function (val){\nthis.val \x3d val;\n});\n\n(cljs.core.Box.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Box.cljs$lang$type \x3d true);\n\n(cljs.core.Box.cljs$lang$ctorStr \x3d \x22cljs.core/Box\x22);\n\n(cljs.core.Box.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Box\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Box.\n */\ncljs.core.__GT_Box \x3d (function cljs$core$__GT_Box(val){\nreturn (new cljs.core.Box(val));\n});\n\n\n\n\n\n\ncljs.core.mask \x3d (function cljs$core$mask(hash,shift){\nreturn ((hash \x3e\x3e\x3e shift) \x26 (31));\n});\ncljs.core.clone_and_set \x3d (function cljs$core$clone_and_set(var_args){\nvar G__11606 \x3d arguments.length;\nswitch (G__11606) {\ncase 3:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,i,a){\nvar G__11607 \x3d cljs.core.aclone(arr);\n(G__11607[i] \x3d a);\n\nreturn G__11607;\n}));\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5 \x3d (function (arr,i,a,j,b){\nvar G__11608 \x3d cljs.core.aclone(arr);\n(G__11608[i] \x3d a);\n\n(G__11608[j] \x3d b);\n\nreturn G__11608;\n}));\n\n(cljs.core.clone_and_set.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.core.remove_pair \x3d (function cljs$core$remove_pair(arr,i){\nvar new_arr \x3d (new Array((arr.length - (2))));\ncljs.core.array_copy(arr,(0),new_arr,(0),((2) * i));\n\ncljs.core.array_copy(arr,((2) * (i + (1))),new_arr,((2) * i),(new_arr.length - ((2) * i)));\n\nreturn new_arr;\n});\ncljs.core.bitmap_indexed_node_index \x3d (function cljs$core$bitmap_indexed_node_index(bitmap,bit){\nreturn cljs.core.bit_count((bitmap \x26 (bit - (1))));\n});\ncljs.core.bitpos \x3d (function cljs$core$bitpos(hash,shift){\nreturn ((1) \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\n});\ncljs.core.edit_and_set \x3d (function cljs$core$edit_and_set(var_args){\nvar G__11610 \x3d arguments.length;\nswitch (G__11610) {\ncase 4:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 6:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4 \x3d (function (inode,edit,i,a){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6 \x3d (function (inode,edit,i,a,j,b){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\n(editable.arr[j] \x3d b);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$lang$maxFixedArity \x3d 6);\n\ncljs.core.inode_kv_reduce \x3d (function cljs$core$inode_kv_reduce(arr,f,init){\nvar len \x3d arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var k \x3d (arr[i]);\nif((!((k \x3d\x3d null)))){\nvar G__11611 \x3d init__$1;\nvar G__11612 \x3d k;\nvar G__11613 \x3d (arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11611,G__11612,G__11613) : f.call(null,G__11611,G__11612,G__11613));\n} else {\nvar node \x3d (arr[(i + (1))]);\nif((!((node \x3d\x3d null)))){\nreturn node.kv_reduce(f,init__$1);\n} else {\nreturn init__$1;\n}\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__15552 \x3d (i + (2));\nvar G__15553 \x3d init__$2;\ni \x3d G__15552;\ninit__$1 \x3d G__15553;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.NodeIterator \x3d (function (arr,i,next_entry,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_entry \x3d next_entry;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.NodeIterator.prototype.advance \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((self__.i \x3c len)){\nvar key \x3d (self__.arr[self__.i]);\nvar node_or_val \x3d (self__.arr[(self__.i + (1))]);\nvar found \x3d (((!((key \x3d\x3d null))))?(self__.next_entry \x3d (new cljs.core.MapEntry(key,node_or_val,null))):(((!((node_or_val \x3d\x3d null))))?(function (){var new_iter \x3d cljs.core._iterator(node_or_val);\nif(new_iter.hasNext()){\nreturn (self__.next_iter \x3d new_iter);\n} else {\nreturn false;\n}\n})():false\n));\n(self__.i \x3d (self__.i + (2)));\n\nif(found){\nreturn true;\n} else {\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n(cljs.core.NodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar or__5045__auto__ \x3d (!((self__.next_entry \x3d\x3d null)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (!((self__.next_iter \x3d\x3d null)));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn this$.advance();\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__.next_entry \x3d\x3d null)))){\nvar ret \x3d self__.next_entry;\n(self__.next_entry \x3d null);\n\nreturn ret;\n} else {\nif((!((self__.next_iter \x3d\x3d null)))){\nvar ret \x3d self__.next_iter.next();\nif(self__.next_iter.hasNext()){\n} else {\n(self__.next_iter \x3d null);\n}\n\nreturn ret;\n} else {\nif(this$.advance()){\nreturn this$.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.NodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-entry\x22,\x22next-entry\x22,1091342476,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.NodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/NodeIterator\x22);\n\n(cljs.core.NodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/NodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeIterator.\n */\ncljs.core.__GT_NodeIterator \x3d (function cljs$core$__GT_NodeIterator(arr,i,next_entry,next_iter){\nreturn (new cljs.core.NodeIterator(arr,i,next_entry,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.BitmapIndexedNode \x3d (function (edit,bitmap,arr){\nthis.edit \x3d edit;\nthis.bitmap \x3d bitmap;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.BitmapIndexedNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nvar new_arr \x3d (new Array((((n \x3c (0)))?(4):((2) * (n + (1))))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * n));\n\nreturn (new cljs.core.BitmapIndexedNode(e,self__.bitmap,new_arr));\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\n(removed_leaf_QMARK_.val \x3d true);\n\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair \x3d (function (e,bit,i){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(e);\nvar earr \x3d editable.arr;\nvar len \x3d earr.length;\n(editable.bitmap \x3d (bit ^ editable.bitmap));\n\ncljs.core.array_copy(earr,((2) * (i + (1))),earr,((2) * i),(len - ((2) * (i + (1)))));\n\n(earr[(len - (2))] \x3d null);\n\n(earr[(len - (1))] \x3d null);\n\nreturn editable;\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn val_or_node;\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((((2) * n) \x3c self__.arr.length)){\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(added_leaf_QMARK_.val \x3d true);\n\ncljs.core.array_copy_downward(earr,((2) * idx),earr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(earr[((2) * idx)] \x3d key);\n\n(earr[(((2) * idx) + (1))] \x3d val);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n} else {\nif((n \x3e\x3d (16))){\nvar nodes \x3d [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];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_15570 \x3d (0);\nvar j_15571 \x3d (0);\nwhile(true){\nif((i_15570 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_15570) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__15572 \x3d (i_15570 + (1));\nvar G__15573 \x3d j_15571;\ni_15570 \x3d G__15572;\nj_15571 \x3d G__15573;\ncontinue;\n} else {\n(nodes[i_15570] \x3d (((!(((self__.arr[j_15571]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),cljs.core.hash((self__.arr[j_15571])),(self__.arr[j_15571]),(self__.arr[(j_15571 + (1))]),added_leaf_QMARK_):(self__.arr[(j_15571 + (1))])));\n\nvar G__15574 \x3d (i_15570 + (1));\nvar G__15575 \x3d (j_15571 + (2));\ni_15570 \x3d G__15574;\nj_15571 \x3d G__15575;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(edit__$1,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (4)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nvar editable \x3d inode.ensure_editable(edit__$1);\n(editable.arr \x3d new_arr);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n\n}\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),val);\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * idx),null,(((2) * idx) + (1)),(function (){var G__11614 \x3d edit__$1;\nvar G__11615 \x3d (shift + (5));\nvar G__11616 \x3d key_or_nil;\nvar G__11617 \x3d val_or_node;\nvar G__11618 \x3d hash;\nvar G__11619 \x3d key;\nvar G__11620 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(G__11614,G__11615,G__11616,G__11617,G__11618,G__11619,G__11620) : cljs.core.create_node.call(null,G__11614,G__11615,G__11616,G__11617,G__11618,G__11619,G__11620));\n})());\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((n \x3e\x3d (16))){\nvar nodes \x3d [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];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_15576 \x3d (0);\nvar j_15577 \x3d (0);\nwhile(true){\nif((i_15576 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_15576) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__15585 \x3d (i_15576 + (1));\nvar G__15586 \x3d j_15577;\ni_15576 \x3d G__15585;\nj_15577 \x3d G__15586;\ncontinue;\n} else {\n(nodes[i_15576] \x3d (((!(((self__.arr[j_15577]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),cljs.core.hash((self__.arr[j_15577])),(self__.arr[j_15577]),(self__.arr[(j_15577 + (1))]),added_leaf_QMARK_):(self__.arr[(j_15577 + (1))])));\n\nvar G__15587 \x3d (i_15576 + (1));\nvar G__15588 \x3d (j_15577 + (2));\ni_15576 \x3d G__15587;\nj_15577 \x3d G__15588;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(null,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap | bit),new_arr));\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),val)));\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(self__.arr,((2) * idx),null,(((2) * idx) + (1)),(function (){var G__11621 \x3d (shift + (5));\nvar G__11622 \x3d key_or_nil;\nvar G__11623 \x3d val_or_node;\nvar G__11624 \x3d hash;\nvar G__11625 \x3d key;\nvar G__11626 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(G__11621,G__11622,G__11623,G__11624,G__11625,G__11626) : cljs.core.create_node.call(null,G__11621,G__11622,G__11623,G__11624,G__11625,G__11626));\n})())));\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn (new cljs.core.MapEntry(key_or_nil,val_or_node,null));\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n}\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.BitmapIndexedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22bitmap\x22,\x22bitmap\x22,501334601,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BitmapIndexedNode.cljs$lang$type \x3d true);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorStr \x3d \x22cljs.core/BitmapIndexedNode\x22);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/BitmapIndexedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BitmapIndexedNode.\n */\ncljs.core.__GT_BitmapIndexedNode \x3d (function cljs$core$__GT_BitmapIndexedNode(edit,bitmap,arr){\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,arr));\n});\n\n(cljs.core.BitmapIndexedNode.EMPTY \x3d (new cljs.core.BitmapIndexedNode(null,(0),[])));\ncljs.core.pack_array_node \x3d (function cljs$core$pack_array_node(array_node,edit,idx){\nvar arr \x3d array_node.arr;\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(((2) * (array_node.cnt - (1)))));\nvar i \x3d (0);\nvar j \x3d (1);\nvar bitmap \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((((!((i \x3d\x3d\x3d idx)))) \x26\x26 ((!(((arr[i]) \x3d\x3d null)))))){\n(new_arr[j] \x3d (arr[i]));\n\nvar G__15589 \x3d (i + (1));\nvar G__15590 \x3d (j + (2));\nvar G__15591 \x3d (bitmap | ((1) \x3c\x3c i));\ni \x3d G__15589;\nj \x3d G__15590;\nbitmap \x3d G__15591;\ncontinue;\n} else {\nvar G__15592 \x3d (i + (1));\nvar G__15593 \x3d j;\nvar G__15594 \x3d bitmap;\ni \x3d G__15592;\nj \x3d G__15593;\nbitmap \x3d G__15594;\ncontinue;\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,new_arr));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayNodeIterator \x3d (function (arr,i,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.ArrayNodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((!((((!((self__.next_iter \x3d\x3d null)))) \x26\x26 (self__.next_iter.hasNext()))))){\nif((self__.i \x3c len)){\nvar node \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nif((!((node \x3d\x3d null)))){\n(self__.next_iter \x3d cljs.core._iterator(node));\n} else {\n}\n\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nreturn self__.next_iter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayNodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeIterator\x22);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayNodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeIterator.\n */\ncljs.core.__GT_ArrayNodeIterator \x3d (function cljs$core$__GT_ArrayNodeIterator(arr,i,next_iter){\nreturn (new cljs.core.ArrayNodeIterator(arr,i,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.ArrayNode \x3d (function (edit,cnt,arr){\nthis.edit \x3d edit;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.ArrayNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(e,self__.cnt,cljs.core.aclone(self__.arr)));\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn inode;\n} else {\nvar n \x3d node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,edit__$1,idx);\n} else {\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n\n}\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_array_node_seq.call(null,self__.arr));\n}));\n\n(cljs.core.ArrayNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar node \x3d (self__.arr[i]);\nif((!((node \x3d\x3d null)))){\nvar init__$2 \x3d node.kv_reduce(f,init__$1);\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__15595 \x3d (i + (1));\nvar G__15596 \x3d init__$2;\ni \x3d G__15595;\ninit__$1 \x3d G__15596;\ncontinue;\n}\n} else {\nvar G__15597 \x3d (i + (1));\nvar G__15598 \x3d init__$1;\ni \x3d G__15597;\ninit__$1 \x3d G__15598;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar n \x3d node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn (new cljs.core.ArrayNode(null,(self__.cnt + (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_))));\n} else {\nvar n \x3d node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nvar n \x3d node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,null,idx);\n} else {\nreturn (new cljs.core.ArrayNode(null,(self__.cnt - (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n\n}\n}\n} else {\nreturn inode;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.ArrayNodeIterator(self__.arr,(0),null));\n}));\n\n(cljs.core.ArrayNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNode.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNode.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNode\x22);\n\n(cljs.core.ArrayNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNode.\n */\ncljs.core.__GT_ArrayNode \x3d (function cljs$core$__GT_ArrayNode(edit,cnt,arr){\nreturn (new cljs.core.ArrayNode(edit,cnt,arr));\n});\n\ncljs.core.hash_collision_node_find_index \x3d (function cljs$core$hash_collision_node_find_index(arr,cnt,key){\nvar lim \x3d ((2) * cnt);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c lim)){\nif(cljs.core.key_test(key,(arr[i]))){\nreturn i;\n} else {\nvar G__15599 \x3d (i + (2));\ni \x3d G__15599;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.HashCollisionNode \x3d (function (edit,collision_hash,cnt,arr){\nthis.edit \x3d edit;\nthis.collision_hash \x3d collision_hash;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.HashCollisionNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar new_arr \x3d (new Array(((2) * (self__.cnt + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * self__.cnt));\n\nreturn (new cljs.core.HashCollisionNode(e,self__.collision_hash,self__.cnt,new_arr));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\n(removed_leaf_QMARK_.val \x3d true);\n\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(earr[idx] \x3d (earr[(((2) * self__.cnt) - (2))]));\n\n(earr[(idx + (1))] \x3d (earr[(((2) * self__.cnt) - (1))]));\n\n(earr[(((2) * self__.cnt) - (1))] \x3d null);\n\n(earr[(((2) * self__.cnt) - (2))] \x3d null);\n\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.HashCollisionNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nif(cljs.core.key_test(key,(self__.arr[idx]))){\nreturn (self__.arr[(idx + (1))]);\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.arr.length \x3e ((2) * self__.cnt))){\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * self__.cnt),key,(((2) * self__.cnt) + (1)),val);\n(added_leaf_QMARK_.val \x3d true);\n\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar len \x3d self__.arr.length;\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn inode.ensure_editable_array(edit__$1,(self__.cnt + (1)),new_arr);\n}\n} else {\nif(((self__.arr[(idx + (1))]) \x3d\x3d\x3d val)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(idx + (1)),val);\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit__$1,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode,null,null])).inode_assoc_BANG_(edit__$1,shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nvar len \x3d ((2) * self__.cnt);\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt + (1)),new_arr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(idx + (1))]),val)){\nreturn inode;\n} else {\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(idx + (1)),val)));\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode])).inode_assoc(shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.ensure_editable_array \x3d (function (e,count,array){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\n(self__.arr \x3d array);\n\n(self__.cnt \x3d count);\n\nreturn inode;\n} else {\nreturn (new cljs.core.HashCollisionNode(self__.edit,self__.collision_hash,count,array));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nif(cljs.core.key_test(key,(self__.arr[idx]))){\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt - (1)),cljs.core.remove_pair(self__.arr,cljs.core.quot(idx,(2)))));\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.HashCollisionNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22collision-hash\x22,\x22collision-hash\x22,-35831342,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashCollisionNode.cljs$lang$type \x3d true);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorStr \x3d \x22cljs.core/HashCollisionNode\x22);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/HashCollisionNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashCollisionNode.\n */\ncljs.core.__GT_HashCollisionNode \x3d (function cljs$core$__GT_HashCollisionNode(edit,collision_hash,cnt,arr){\nreturn (new cljs.core.HashCollisionNode(edit,collision_hash,cnt,arr));\n});\n\ncljs.core.create_node \x3d (function cljs$core$create_node(var_args){\nvar G__11628 \x3d arguments.length;\nswitch (G__11628) {\ncase 6:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 \x3d (function (shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc(shift,key2hash,key2,val2,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 \x3d (function (edit,shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit,shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc_BANG_(edit,shift,key2hash,key2,val2,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.create_node.cljs$lang$maxFixedArity \x3d 7);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.NodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.NodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NodeSeq.prototype.indexOf \x3d (function() {\nvar G__15610 \x3d null;\nvar G__15610__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15610__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15610 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15610__1.call(this,x);\ncase 2:\nreturn G__15610__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15610.cljs$core$IFn$_invoke$arity$1 \x3d G__15610__1;\nG__15610.cljs$core$IFn$_invoke$arity$2 \x3d G__15610__2;\nreturn G__15610;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__15611 \x3d null;\nvar G__15611__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15611__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15611 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15611__1.call(this,x);\ncase 2:\nreturn G__15611__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15611.cljs$core$IFn$_invoke$arity$1 \x3d G__15611__1;\nG__15611.cljs$core$IFn$_invoke$arity$2 \x3d G__15611__2;\nreturn G__15611;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nvar G__11629 \x3d self__.nodes;\nvar G__11630 \x3d (self__.i + (2));\nvar G__11631 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__11629,G__11630,G__11631) : cljs.core.create_inode_seq.call(null,G__11629,G__11630,G__11631));\n} else {\nvar G__11632 \x3d self__.nodes;\nvar G__11633 \x3d self__.i;\nvar G__11634 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__11632,G__11633,G__11634) : cljs.core.create_inode_seq.call(null,G__11632,G__11633,G__11634));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nreturn (new cljs.core.MapEntry((self__.nodes[self__.i]),(self__.nodes[(self__.i + (1))]),null));\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (((self__.s \x3d\x3d null))?(function (){var G__11635 \x3d self__.nodes;\nvar G__11636 \x3d (self__.i + (2));\nvar G__11637 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__11635,G__11636,G__11637) : cljs.core.create_inode_seq.call(null,G__11635,G__11636,G__11637));\n})():(function (){var G__11638 \x3d self__.nodes;\nvar G__11639 \x3d self__.i;\nvar G__11640 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__11638,G__11639,G__11640) : cljs.core.create_inode_seq.call(null,G__11638,G__11639,G__11640));\n})());\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.NodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.NodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.NodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/NodeSeq\x22);\n\n(cljs.core.NodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/NodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeSeq.\n */\ncljs.core.__GT_NodeSeq \x3d (function cljs$core$__GT_NodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.NodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.NodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.create_inode_seq \x3d (function cljs$core$create_inode_seq(var_args){\nvar G__11642 \x3d arguments.length;\nswitch (G__11642) {\ncase 1:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nif((!(((nodes[j]) \x3d\x3d null)))){\nreturn (new cljs.core.NodeSeq(null,nodes,j,null,null));\n} else {\nvar temp__5802__auto__ \x3d (nodes[(j + (1))]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar node \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d node.inode_seq();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar node_seq \x3d temp__5802__auto____$1;\nreturn (new cljs.core.NodeSeq(null,nodes,(j + (2)),node_seq,null));\n} else {\nvar G__15613 \x3d (j + (2));\nj \x3d G__15613;\ncontinue;\n}\n} else {\nvar G__15614 \x3d (j + (2));\nj \x3d G__15614;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.NodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_inode_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayNodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayNodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.indexOf \x3d (function() {\nvar G__15618 \x3d null;\nvar G__15618__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15618__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15618 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15618__1.call(this,x);\ncase 2:\nreturn G__15618__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15618.cljs$core$IFn$_invoke$arity$1 \x3d G__15618__1;\nG__15618.cljs$core$IFn$_invoke$arity$2 \x3d G__15618__2;\nreturn G__15618;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__15619 \x3d null;\nvar G__15619__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15619__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15619 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15619__1.call(this,x);\ncase 2:\nreturn G__15619__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15619.cljs$core$IFn$_invoke$arity$1 \x3d G__15619__1;\nG__15619.cljs$core$IFn$_invoke$arity$2 \x3d G__15619__2;\nreturn G__15619;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__11643 \x3d self__.nodes;\nvar G__11644 \x3d self__.i;\nvar G__11645 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__11643,G__11644,G__11645) : cljs.core.create_array_node_seq.call(null,G__11643,G__11644,G__11645));\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.s);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (function (){var G__11646 \x3d self__.nodes;\nvar G__11647 \x3d self__.i;\nvar G__11648 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__11646,G__11647,G__11648) : cljs.core.create_array_node_seq.call(null,G__11646,G__11647,G__11648));\n})();\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ArrayNodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeSeq\x22);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayNodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeSeq.\n */\ncljs.core.__GT_ArrayNodeSeq \x3d (function cljs$core$__GT_ArrayNodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.ArrayNodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.ArrayNodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.create_array_node_seq \x3d (function cljs$core$create_array_node_seq(var_args){\nvar G__11650 \x3d arguments.length;\nswitch (G__11650) {\ncase 1:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nvar temp__5802__auto__ \x3d (nodes[j]);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar nj \x3d temp__5802__auto__;\nvar temp__5802__auto____$1 \x3d nj.inode_seq();\nif(cljs.core.truth_(temp__5802__auto____$1)){\nvar ns \x3d temp__5802__auto____$1;\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,(j + (1)),ns,null));\n} else {\nvar G__15621 \x3d (j + (1));\nj \x3d G__15621;\ncontinue;\n}\n} else {\nvar G__15622 \x3d (j + (1));\nj \x3d G__15622;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_array_node_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.HashMapIter \x3d (function (nil_val,root_iter,seen){\nthis.nil_val \x3d nil_val;\nthis.root_iter \x3d root_iter;\nthis.seen \x3d seen;\n});\n(cljs.core.HashMapIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (((!(self__.seen))) || (self__.root_iter.hasNext()));\n}));\n\n(cljs.core.HashMapIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!(self__.seen))){\n(self__.seen \x3d true);\n\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn self__.root_iter.next();\n}\n}));\n\n(cljs.core.HashMapIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashMapIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.Symbol(null,\x22root-iter\x22,\x22root-iter\x22,1974672108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seen\x22,\x22seen\x22,1121531738,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashMapIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashMapIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashMapIter\x22);\n\n(cljs.core.HashMapIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/HashMapIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashMapIter.\n */\ncljs.core.__GT_HashMapIter \x3d (function cljs$core$__GT_HashMapIter(nil_val,root_iter,seen){\nreturn (new cljs.core.HashMapIter(nil_val,root_iter,seen));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashMap \x3d (function (meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.root \x3d root;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_find((0),cljs.core.hash(k),k,null);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__11652 \x3d cljs.core.seq(coll);\nvar chunk__11653 \x3d null;\nvar count__11654 \x3d (0);\nvar i__11655 \x3d (0);\nwhile(true){\nif((i__11655 \x3c count__11654)){\nvar vec__11662 \x3d chunk__11653.cljs$core$IIndexed$_nth$arity$2(null,i__11655);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11662,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11662,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15623 \x3d seq__11652;\nvar G__15624 \x3d chunk__11653;\nvar G__15625 \x3d count__11654;\nvar G__15626 \x3d (i__11655 + (1));\nseq__11652 \x3d G__15623;\nchunk__11653 \x3d G__15624;\ncount__11654 \x3d G__15625;\ni__11655 \x3d G__15626;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__11652);\nif(temp__5804__auto__){\nvar seq__11652__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__11652__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__11652__$1);\nvar G__15627 \x3d cljs.core.chunk_rest(seq__11652__$1);\nvar G__15628 \x3d c__5568__auto__;\nvar G__15629 \x3d cljs.core.count(c__5568__auto__);\nvar G__15630 \x3d (0);\nseq__11652 \x3d G__15627;\nchunk__11653 \x3d G__15628;\ncount__11654 \x3d G__15629;\ni__11655 \x3d G__15630;\ncontinue;\n} else {\nvar vec__11665 \x3d cljs.core.first(seq__11652__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11665,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11665,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15631 \x3d cljs.core.next(seq__11652__$1);\nvar G__15632 \x3d null;\nvar G__15633 \x3d (0);\nvar G__15634 \x3d (0);\nseq__11652 \x3d G__15631;\nchunk__11653 \x3d G__15632;\ncount__11654 \x3d G__15633;\ni__11655 \x3d G__15634;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar init__$1 \x3d ((self__.has_nil_QMARK_)?(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(init,null,self__.nil_val) : f.call(null,init,null,self__.nil_val)):init);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn cljs.core.deref(init__$1);\n} else {\nif((!((self__.root \x3d\x3d null)))){\nreturn cljs.core.unreduced(self__.root.kv_reduce(f,init__$1));\n} else {\nreturn init__$1;\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar root_iter \x3d ((self__.root)?cljs.core._iterator(self__.root):cljs.core.nil_iter());\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.HashMapIter(self__.nil_val,root_iter,false));\n} else {\nreturn root_iter;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashMap(self__.meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashMap(({}),self__.root,self__.cnt,self__.has_nil_QMARK_,self__.nil_val));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),self__.root,false,null,null));\n} else {\nreturn coll__$1;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn coll__$1;\n} else {\nvar new_root \x3d self__.root.inode_without((0),cljs.core.hash(k),k);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),new_root,self__.has_nil_QMARK_,self__.nil_val,null));\n}\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(((self__.has_nil_QMARK_) \x26\x26 ((v \x3d\x3d\x3d self__.nil_val)))){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,((self__.has_nil_QMARK_)?self__.cnt:(self__.cnt + (1))),self__.root,true,v,null));\n}\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar new_root \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc((0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,((added_leaf_QMARK_.val)?(self__.cnt + (1)):self__.cnt),new_root,self__.has_nil_QMARK_,self__.nil_val,null));\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nreturn self__.has_nil_QMARK_;\n} else {\nif((self__.root \x3d\x3d null)){\nreturn false;\n} else {\nreturn (!((self__.root.inode_lookup((0),cljs.core.hash(k),k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)));\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar s \x3d (((!((self__.root \x3d\x3d null))))?self__.root.inode_seq():null);\nif(self__.has_nil_QMARK_){\nreturn cljs.core.cons((new cljs.core.MapEntry(null,self__.nil_val,null)),s);\n} else {\nreturn s;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(new_meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__15704 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__15705 \x3d cljs.core.next(es);\nret \x3d G__15704;\nes \x3d G__15705;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11670 \x3d (arguments.length - (1));\nswitch (G__11670) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.apply \x3d (function (self__,args11651){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11651)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashMap\x22);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashMap.\n */\ncljs.core.__GT_PersistentHashMap \x3d (function cljs$core$__GT_PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nreturn (new cljs.core.PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash));\n});\n\n(cljs.core.PersistentHashMap.EMPTY \x3d (new cljs.core.PersistentHashMap(null,(0),null,false,null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashMap.fromArray \x3d (function (arr,no_clone){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar len \x3d arr__$1.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__15707 \x3d (i + (2));\nvar G__15708 \x3d cljs.core._assoc_BANG_(ret,(arr__$1[i]),(arr__$1[(i + (1))]));\ni \x3d G__15707;\nret \x3d G__15708;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(ret);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.fromArrays \x3d (function (ks,vs){\nvar len \x3d ks.length;\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nif((vs.length \x3c\x3d i)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((ks[i]))].join(\x27\x27)));\n} else {\nvar G__15709 \x3d (i + (1));\nvar G__15710 \x3d cljs.core._assoc_BANG_(out,(ks[i]),(vs[i]));\ni \x3d G__15709;\nout \x3d G__15710;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.createWithCheck \x3d (function (arr){\nvar len \x3d arr.length;\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i_15711 \x3d (0);\nwhile(true){\nif((i_15711 \x3c len)){\ncljs.core._assoc_BANG_(ret,(arr[i_15711]),(arr[(i_15711 + (1))]));\n\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._count(ret),((i_15711 / (2)) + (1)))){\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arr[i_15711]))].join(\x27\x27)));\n} else {\nvar G__15712 \x3d (i_15711 + (2));\ni_15711 \x3d G__15712;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(ret);\n}));\n(cljs.core.PersistentHashMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashMap \x3d (function (edit,root,count,has_nil_QMARK_,nil_val){\nthis.edit \x3d edit;\nthis.root \x3d root;\nthis.count \x3d count;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientHashMap.prototype.conj_BANG_ \x3d (function (o){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll.assoc_BANG_((o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$1 \x3d tcoll;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nvar G__15713 \x3d cljs.core.next(es);\nvar G__15714 \x3d tcoll__$1.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__15713;\ntcoll__$1 \x3d G__15714;\ncontinue;\n} else {\nreturn tcoll__$1;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.assoc_BANG_ \x3d (function (k,v){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif((self__.nil_val \x3d\x3d\x3d v)){\n} else {\n(self__.nil_val \x3d v);\n}\n\nif(self__.has_nil_QMARK_){\n} else {\n(self__.count \x3d (self__.count + (1)));\n\n(self__.has_nil_QMARK_ \x3d true);\n}\n\nreturn tcoll;\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc_BANG_(self__.edit,(0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(added_leaf_QMARK_.val){\n(self__.count \x3d (self__.count + (1)));\n} else {\n}\n\nreturn tcoll;\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.without_BANG_ \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\n(self__.has_nil_QMARK_ \x3d false);\n\n(self__.nil_val \x3d null);\n\n(self__.count \x3d (self__.count - (1)));\n\nreturn tcoll;\n} else {\nreturn tcoll;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn tcoll;\n} else {\nvar removed_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d self__.root.inode_without_BANG_(self__.edit,(0),cljs.core.hash(k),k,removed_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(removed_leaf_QMARK_.val){\n(self__.count \x3d (self__.count - (1)));\n} else {\n}\n\nreturn tcoll;\n}\n}\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.persistent_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\n(self__.edit \x3d null);\n\nreturn (new cljs.core.PersistentHashMap(null,self__.count,self__.root,self__.has_nil_QMARK_,self__.nil_val,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.edit){\nreturn self__.count;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.conj_BANG_(val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.persistent_BANG_();\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.assoc_BANG_(key,val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.without_BANG_(key);\n}));\n\n(cljs.core.TransientHashMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11672 \x3d (arguments.length - (1));\nswitch (G__11672) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.apply \x3d (function (self__,args11671){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11671)));\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$2(null,key);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashMap\x22);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashMap.\n */\ncljs.core.__GT_TransientHashMap \x3d (function cljs$core$__GT_TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val){\nreturn (new cljs.core.TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val));\n});\n\ncljs.core.tree_map_seq_push \x3d (function cljs$core$tree_map_seq_push(node,stack,ascending_QMARK_){\nvar t \x3d node;\nvar stack__$1 \x3d stack;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar G__15735 \x3d ((ascending_QMARK_)?t.left:t.right);\nvar G__15736 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack__$1,t);\nt \x3d G__15735;\nstack__$1 \x3d G__15736;\ncontinue;\n} else {\nreturn stack__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentTreeMapSeq \x3d (function (meta,stack,ascending_QMARK_,cnt,__hash){\nthis.meta \x3d meta;\nthis.stack \x3d stack;\nthis.ascending_QMARK_ \x3d ascending_QMARK_;\nthis.cnt \x3d cnt;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentTreeMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.indexOf \x3d (function() {\nvar G__15737 \x3d null;\nvar G__15737__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15737__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15737 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15737__1.call(this,x);\ncase 2:\nreturn G__15737__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15737.cljs$core$IFn$_invoke$arity$1 \x3d G__15737__1;\nG__15737.cljs$core$IFn$_invoke$arity$2 \x3d G__15737__2;\nreturn G__15737;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__15738 \x3d null;\nvar G__15738__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15738__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15738 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15738__1.call(this,x);\ncase 2:\nreturn G__15738__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15738.cljs$core$IFn$_invoke$arity$1 \x3d G__15738__1;\nG__15738.cljs$core$IFn$_invoke$arity$2 \x3d G__15738__2;\nreturn G__15738;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((next_stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3c (0))){\nreturn (cljs.core.count(cljs.core.next(coll__$1)) + (1));\n} else {\nreturn self__.cnt;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.peek(self__.stack);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((!((next_stack \x3d\x3d null)))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(new_meta,self__.stack,self__.ascending_QMARK_,self__.cnt,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22stack\x22,\x22stack\x22,847125597,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22ascending?\x22,\x22ascending?\x22,-1938452653,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMapSeq\x22);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentTreeMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMapSeq.\n */\ncljs.core.__GT_PersistentTreeMapSeq \x3d (function cljs$core$__GT_PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash){\nreturn (new cljs.core.PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash));\n});\n\n(cljs.core.PersistentTreeMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.create_tree_map_seq \x3d (function cljs$core$create_tree_map_seq(tree,ascending_QMARK_,cnt){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.tree_map_seq_push(tree,null,ascending_QMARK_),ascending_QMARK_,cnt,null));\n});\n\ncljs.core.balance_left \x3d (function cljs$core$balance_left(key,val,ins,right){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,ins.left.blacken(),(new cljs.core.BlackNode(key,val,ins.right,right,null)),null));\n} else {\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.right.key,ins.right.val,(new cljs.core.BlackNode(ins.key,ins.val,ins.left,ins.right.left,null)),(new cljs.core.BlackNode(key,val,ins.right.right,right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n}\n});\ncljs.core.balance_right \x3d (function cljs$core$balance_right(key,val,left,ins){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,(new cljs.core.BlackNode(key,val,left,ins.left,null)),ins.right.blacken(),null));\n} else {\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.left.key,ins.left.val,(new cljs.core.BlackNode(key,val,left,ins.left.left,null)),(new cljs.core.BlackNode(ins.key,ins.val,ins.left.right,ins.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n}\n});\ncljs.core.balance_left_del \x3d (function cljs$core$balance_left_del(key,val,del,right){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,del.blacken(),right,null));\n} else {\nif((right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right(key,val,del,right.redden());\n} else {\nif((((right instanceof cljs.core.RedNode)) \x26\x26 ((right.left instanceof cljs.core.BlackNode)))){\nreturn (new cljs.core.RedNode(right.left.key,right.left.val,(new cljs.core.BlackNode(key,val,del,right.left.left,null)),cljs.core.balance_right(right.key,right.val,right.left.right,right.right.redden()),null));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.balance_right_del \x3d (function cljs$core$balance_right_del(key,val,left,del){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,left,del.blacken(),null));\n} else {\nif((left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left(key,val,left.redden(),del);\n} else {\nif((((left instanceof cljs.core.RedNode)) \x26\x26 ((left.right instanceof cljs.core.BlackNode)))){\nreturn (new cljs.core.RedNode(left.right.key,left.right.val,cljs.core.balance_left(left.key,left.val,left.left.redden(),left.right.left),(new cljs.core.BlackNode(key,val,left.right.right,del,null)),null));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.tree_map_kv_reduce \x3d (function cljs$core$tree_map_kv_reduce(node,f,init){\nvar init__$1 \x3d (((!((node.left \x3d\x3d null))))?(function (){var G__11673 \x3d node.left;\nvar G__11674 \x3d f;\nvar G__11675 \x3d init;\nreturn (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__11673,G__11674,G__11675) : cljs.core.tree_map_kv_reduce.call(null,G__11673,G__11674,G__11675));\n})():init);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn init__$1;\n} else {\nvar init__$2 \x3d (function (){var G__11676 \x3d init__$1;\nvar G__11677 \x3d node.key;\nvar G__11678 \x3d node.val;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__11676,G__11677,G__11678) : f.call(null,G__11676,G__11677,G__11678));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nif((!((node.right \x3d\x3d null)))){\nvar G__11679 \x3d node.right;\nvar G__11680 \x3d f;\nvar G__11681 \x3d init__$2;\nreturn (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__11679,G__11680,G__11681) : cljs.core.tree_map_kv_reduce.call(null,G__11679,G__11680,G__11681));\n} else {\nreturn init__$2;\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.BlackNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.BlackNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__11683 \x3d k;\nswitch (G__11683) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.lastIndexOf \x3d (function() {\nvar G__15751 \x3d null;\nvar G__15751__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15751__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15751 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15751__1.call(this,x);\ncase 2:\nreturn G__15751__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15751.cljs$core$IFn$_invoke$arity$1 \x3d G__15751__1;\nG__15751.cljs$core$IFn$_invoke$arity$2 \x3d G__15751__2;\nreturn G__15751;\n})()\n);\n\n(cljs.core.BlackNode.prototype.indexOf \x3d (function() {\nvar G__15752 \x3d null;\nvar G__15752__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15752__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15752 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15752__1.call(this,x);\ncase 2:\nreturn G__15752__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15752.cljs$core$IFn$_invoke$arity$1 \x3d G__15752__1;\nG__15752.cljs$core$IFn$_invoke$arity$2 \x3d G__15752__2;\nreturn G__15752;\n})()\n);\n\n(cljs.core.BlackNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_right(node);\n}));\n\n(cljs.core.BlackNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node;\n}));\n\n(cljs.core.BlackNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_left(node);\n}));\n\n(cljs.core.BlackNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n}));\n\n(cljs.core.BlackNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_left_del(self__.key,self__.val,del,self__.right);\n}));\n\n(cljs.core.BlackNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.BlackNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_right_del(self__.key,self__.val,self__.left,del);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.BlackNode.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11684 \x3d (arguments.length - (1));\nswitch (G__11684) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.apply \x3d (function (self__,args11682){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11682)));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BlackNode.cljs$lang$type \x3d true);\n\n(cljs.core.BlackNode.cljs$lang$ctorStr \x3d \x22cljs.core/BlackNode\x22);\n\n(cljs.core.BlackNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/BlackNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BlackNode.\n */\ncljs.core.__GT_BlackNode \x3d (function cljs$core$__GT_BlackNode(key,val,left,right,__hash){\nreturn (new cljs.core.BlackNode(key,val,left,right,__hash));\n});\n\n(cljs.core.BlackNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RedNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.RedNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__11686 \x3d k;\nswitch (G__11686) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.RedNode.prototype.lastIndexOf \x3d (function() {\nvar G__15755 \x3d null;\nvar G__15755__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15755__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15755 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15755__1.call(this,x);\ncase 2:\nreturn G__15755__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15755.cljs$core$IFn$_invoke$arity$1 \x3d G__15755__1;\nG__15755.cljs$core$IFn$_invoke$arity$2 \x3d G__15755__2;\nreturn G__15755;\n})()\n);\n\n(cljs.core.RedNode.prototype.indexOf \x3d (function() {\nvar G__15756 \x3d null;\nvar G__15756__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15756__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15756 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15756__1.call(this,x);\ncase 2:\nreturn G__15756__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15756.cljs$core$IFn$_invoke$arity$1 \x3d G__15756__1;\nG__15756.cljs$core$IFn$_invoke$arity$2 \x3d G__15756__2;\nreturn G__15756;\n})()\n);\n\n(cljs.core.RedNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,ins,null));\n}));\n\n(cljs.core.RedNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nthrow (new Error(\x22red-black tree invariant violation\x22));\n}));\n\n(cljs.core.RedNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,ins,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.RedNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left.blacken(),(new cljs.core.BlackNode(parent.key,parent.val,self__.right,parent.right,null)),null));\n} else {\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.right.key,self__.right.val,(new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right.left,null)),(new cljs.core.BlackNode(parent.key,parent.val,self__.right.right,parent.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.key,self__.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left,null)),self__.right.blacken(),null));\n} else {\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(self__.left.key,self__.left.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left.left,null)),(new cljs.core.BlackNode(self__.key,self__.val,self__.left.right,self__.right,null)),null));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,del,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.RedNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,del,null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.RedNode.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11687 \x3d (arguments.length - (1));\nswitch (G__11687) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.RedNode.prototype.apply \x3d (function (self__,args11685){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11685)));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.RedNode.cljs$lang$type \x3d true);\n\n(cljs.core.RedNode.cljs$lang$ctorStr \x3d \x22cljs.core/RedNode\x22);\n\n(cljs.core.RedNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RedNode.\n */\ncljs.core.__GT_RedNode \x3d (function cljs$core$__GT_RedNode(key,val,left,right,__hash){\nreturn (new cljs.core.RedNode(key,val,left,right,__hash));\n});\n\n(cljs.core.RedNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.tree_map_add \x3d (function cljs$core$tree_map_add(comp,tree,k,v,found){\nif((tree \x3d\x3d null)){\nreturn (new cljs.core.RedNode(k,v,null,null,null));\n} else {\nvar c \x3d (function (){var G__11688 \x3d k;\nvar G__11689 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__11688,G__11689) : comp.call(null,G__11688,G__11689));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn null;\n} else {\nif((c \x3c (0))){\nvar ins \x3d (function (){var G__11690 \x3d comp;\nvar G__11691 \x3d tree.left;\nvar G__11692 \x3d k;\nvar G__11693 \x3d v;\nvar G__11694 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__11690,G__11691,G__11692,G__11693,G__11694) : cljs.core.tree_map_add.call(null,G__11690,G__11691,G__11692,G__11693,G__11694));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_left(ins);\n} else {\nreturn null;\n}\n} else {\nvar ins \x3d (function (){var G__11695 \x3d comp;\nvar G__11696 \x3d tree.right;\nvar G__11697 \x3d k;\nvar G__11698 \x3d v;\nvar G__11699 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__11695,G__11696,G__11697,G__11698,G__11699) : cljs.core.tree_map_add.call(null,G__11695,G__11696,G__11697,G__11698,G__11699));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_right(ins);\n} else {\nreturn null;\n}\n\n}\n}\n}\n});\ncljs.core.tree_map_append \x3d (function cljs$core$tree_map_append(left,right){\nif((left \x3d\x3d null)){\nreturn right;\n} else {\nif((right \x3d\x3d null)){\nreturn left;\n} else {\nif((left instanceof cljs.core.RedNode)){\nif((right instanceof cljs.core.RedNode)){\nvar app \x3d (function (){var G__11700 \x3d left.right;\nvar G__11701 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__11700,G__11701) : cljs.core.tree_map_append.call(null,G__11700,G__11701));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(app.key,app.val,(new cljs.core.RedNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.RedNode(right.key,right.val,app.right,right.right,null)),null));\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(new cljs.core.RedNode(right.key,right.val,app,right.right,null)),null));\n}\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(function (){var G__11702 \x3d left.right;\nvar G__11703 \x3d right;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__11702,G__11703) : cljs.core.tree_map_append.call(null,G__11702,G__11703));\n})(),null));\n}\n} else {\nif((right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(right.key,right.val,(function (){var G__11704 \x3d left;\nvar G__11705 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__11704,G__11705) : cljs.core.tree_map_append.call(null,G__11704,G__11705));\n})(),right.right,null));\n} else {\nvar app \x3d (function (){var G__11706 \x3d left.right;\nvar G__11707 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__11706,G__11707) : cljs.core.tree_map_append.call(null,G__11706,G__11707));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(app.key,app.val,(new cljs.core.BlackNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.BlackNode(right.key,right.val,app.right,right.right,null)),null));\n} else {\nreturn cljs.core.balance_left_del(left.key,left.val,left.left,(new cljs.core.BlackNode(right.key,right.val,app,right.right,null)));\n}\n\n}\n}\n}\n}\n});\ncljs.core.tree_map_remove \x3d (function cljs$core$tree_map_remove(comp,tree,k,found){\nif((!((tree \x3d\x3d null)))){\nvar c \x3d (function (){var G__11708 \x3d k;\nvar G__11709 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__11708,G__11709) : comp.call(null,G__11708,G__11709));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn cljs.core.tree_map_append(tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nvar del \x3d (function (){var G__11710 \x3d comp;\nvar G__11711 \x3d tree.left;\nvar G__11712 \x3d k;\nvar G__11713 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__11710,G__11711,G__11712,G__11713) : cljs.core.tree_map_remove.call(null,G__11710,G__11711,G__11712,G__11713));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left_del(tree.key,tree.val,del,tree.right);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,del,tree.right,null));\n}\n} else {\nreturn null;\n}\n} else {\nvar del \x3d (function (){var G__11714 \x3d comp;\nvar G__11715 \x3d tree.right;\nvar G__11716 \x3d k;\nvar G__11717 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__11714,G__11715,G__11716,G__11717) : cljs.core.tree_map_remove.call(null,G__11714,G__11715,G__11716,G__11717));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right_del(tree.key,tree.val,tree.left,del);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,tree.left,del,null));\n}\n} else {\nreturn null;\n}\n\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.core.tree_map_replace \x3d (function cljs$core$tree_map_replace(comp,tree,k,v){\nvar tk \x3d tree.key;\nvar c \x3d (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(k,tk) : comp.call(null,k,tk));\nif((c \x3d\x3d\x3d (0))){\nreturn tree.replace(tk,v,tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nreturn tree.replace(tk,tree.val,(function (){var G__11718 \x3d comp;\nvar G__11719 \x3d tree.left;\nvar G__11720 \x3d k;\nvar G__11721 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__11718,G__11719,G__11720,G__11721) : cljs.core.tree_map_replace.call(null,G__11718,G__11719,G__11720,G__11721));\n})(),tree.right);\n} else {\nreturn tree.replace(tk,tree.val,tree.left,(function (){var G__11722 \x3d comp;\nvar G__11723 \x3d tree.right;\nvar G__11724 \x3d k;\nvar G__11725 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__11722,G__11723,G__11724,G__11725) : cljs.core.tree_map_replace.call(null,G__11722,G__11723,G__11724,G__11725));\n})());\n\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeMap \x3d (function (comp,tree,cnt,meta,__hash){\nthis.comp \x3d comp;\nthis.tree \x3d tree;\nthis.cnt \x3d cnt;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 418776847;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.entry_at(k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__11727 \x3d cljs.core.seq(coll);\nvar chunk__11728 \x3d null;\nvar count__11729 \x3d (0);\nvar i__11730 \x3d (0);\nwhile(true){\nif((i__11730 \x3c count__11729)){\nvar vec__11737 \x3d chunk__11728.cljs$core$IIndexed$_nth$arity$2(null,i__11730);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11737,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11737,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15773 \x3d seq__11727;\nvar G__15774 \x3d chunk__11728;\nvar G__15775 \x3d count__11729;\nvar G__15776 \x3d (i__11730 + (1));\nseq__11727 \x3d G__15773;\nchunk__11728 \x3d G__15774;\ncount__11729 \x3d G__15775;\ni__11730 \x3d G__15776;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__11727);\nif(temp__5804__auto__){\nvar seq__11727__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__11727__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__11727__$1);\nvar G__15777 \x3d cljs.core.chunk_rest(seq__11727__$1);\nvar G__15778 \x3d c__5568__auto__;\nvar G__15779 \x3d cljs.core.count(c__5568__auto__);\nvar G__15780 \x3d (0);\nseq__11727 \x3d G__15777;\nchunk__11728 \x3d G__15778;\ncount__11729 \x3d G__15779;\ni__11730 \x3d G__15780;\ncontinue;\n} else {\nvar vec__11740 \x3d cljs.core.first(seq__11727__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11740,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11740,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15781 \x3d cljs.core.next(seq__11727__$1);\nvar G__15782 \x3d null;\nvar G__15783 \x3d (0);\nvar G__15784 \x3d (0);\nseq__11727 \x3d G__15781;\nchunk__11728 \x3d G__15782;\ncount__11729 \x3d G__15783;\ni__11730 \x3d G__15784;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entry_at \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__11743 \x3d k;\nvar G__11744 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__11743,G__11744) : self__.comp.call(null,G__11743,G__11744));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn t;\n} else {\nif((c \x3c (0))){\nvar G__15788 \x3d t.left;\nt \x3d G__15788;\ncontinue;\n} else {\nvar G__15789 \x3d t.right;\nt \x3d G__15789;\ncontinue;\n\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d coll__$1.entry_at(k);\nif((!((n \x3d\x3d null)))){\nreturn n.val;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.tree \x3d\x3d null)))){\nreturn cljs.core.unreduced(cljs.core.tree_map_kv_reduce(self__.tree,f,init));\n} else {\nreturn init;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,self__.meta,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,false,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,(0)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_remove(self__.comp,self__.tree,k,found);\nif((t \x3d\x3d null)){\nif((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0)) \x3d\x3d null)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt - (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_add(self__.comp,self__.tree,k,v,found);\nif((t \x3d\x3d null)){\nvar found_node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(v,found_node.val)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,cljs.core.tree_map_replace(self__.comp,self__.tree,k,v),self__.cnt,self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt + (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((coll__$1.entry_at(k) \x3d\x3d null)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,true,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__15793 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__15794 \x3d cljs.core.next(es);\nret \x3d G__15793;\nes \x3d G__15794;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11745 \x3d (arguments.length - (1));\nswitch (G__11745) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.apply \x3d (function (self__,args11726){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11726)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,ascending_QMARK_,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar stack \x3d null;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__11748 \x3d k;\nvar G__11749 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__11748,G__11749) : self__.comp.call(null,G__11748,G__11749));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t),ascending_QMARK_,(-1),null));\n} else {\nif(cljs.core.truth_(ascending_QMARK_)){\nif((c \x3c (0))){\nvar G__15796 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__15797 \x3d t.left;\nstack \x3d G__15796;\nt \x3d G__15797;\ncontinue;\n} else {\nvar G__15798 \x3d stack;\nvar G__15799 \x3d t.right;\nstack \x3d G__15798;\nt \x3d G__15799;\ncontinue;\n}\n} else {\nif((c \x3e (0))){\nvar G__15800 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__15801 \x3d t.right;\nstack \x3d G__15800;\nt \x3d G__15801;\ncontinue;\n} else {\nvar G__15802 \x3d stack;\nvar G__15803 \x3d t.left;\nstack \x3d G__15802;\nt \x3d G__15803;\ncontinue;\n}\n\n}\n}\n} else {\nif((stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,stack,ascending_QMARK_,(-1),null));\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(entry) : cljs.core.key.call(null,entry));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.comp;\n}));\n\n(cljs.core.PersistentTreeMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22comp\x22,\x22comp\x22,-1462482139,null),new cljs.core.Symbol(null,\x22tree\x22,\x22tree\x22,1444219499,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMap\x22);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentTreeMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMap.\n */\ncljs.core.__GT_PersistentTreeMap \x3d (function cljs$core$__GT_PersistentTreeMap(comp,tree,cnt,meta,__hash){\nreturn (new cljs.core.PersistentTreeMap(comp,tree,cnt,meta,__hash));\n});\n\n(cljs.core.PersistentTreeMap.EMPTY \x3d (new cljs.core.PersistentTreeMap(cljs.core.compare,null,(0),null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * keyval \x3d\x3e key val\n * Returns a new hash map with supplied mappings.\n */\ncljs.core.hash_map \x3d (function cljs$core$hash_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15804 \x3d arguments.length;\nvar i__5770__auto___15805 \x3d (0);\nwhile(true){\nif((i__5770__auto___15805 \x3c len__5769__auto___15804)){\nargs__5775__auto__.push((arguments[i__5770__auto___15805]));\n\nvar G__15806 \x3d (i__5770__auto___15805 + (1));\ni__5770__auto___15805 \x3d G__15806;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif(in$){\nvar in_SINGLEQUOTE_ \x3d cljs.core.next(in$);\nif((in_SINGLEQUOTE_ \x3d\x3d null)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(in$))].join(\x27\x27)));\n} else {\nvar G__15833 \x3d cljs.core.next(in_SINGLEQUOTE_);\nvar G__15834 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.first(in_SINGLEQUOTE_));\nin$ \x3d G__15833;\nout \x3d G__15834;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n\n(cljs.core.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.hash_map.cljs$lang$applyTo \x3d (function (seq11750){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11750));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new array map with supplied mappings.\n */\ncljs.core.array_map \x3d (function cljs$core$array_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15835 \x3d arguments.length;\nvar i__5770__auto___15836 \x3d (0);\nwhile(true){\nif((i__5770__auto___15836 \x3c len__5769__auto___15835)){\nargs__5775__auto__.push((arguments[i__5770__auto___15836]));\n\nvar G__15837 \x3d (i__5770__auto___15836 + (1));\ni__5770__auto___15836 \x3d G__15837;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar arr \x3d (((((keyvals instanceof cljs.core.IndexedSeq)) \x26\x26 ((keyvals.i \x3d\x3d\x3d (0)))))?keyvals.arr:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(keyvals));\nif(cljs.core.odd_QMARK_(arr.length)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.last(arr))].join(\x27\x27)));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(arr);\n}\n}));\n\n(cljs.core.array_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.array_map.cljs$lang$applyTo \x3d (function (seq11751){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11751));\n}));\n\n/**\n * Builds a map from a seq as described in\n * https://clojure.org/reference/special_forms#keyword-arguments\n */\ncljs.core.seq_to_map_for_destructuring \x3d (function cljs$core$seq_to_map_for_destructuring(s){\nif(cljs.core.next(s)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(s));\n} else {\nif(cljs.core.seq(s)){\nreturn cljs.core.first(s);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n});\n/**\n * keyval \x3d\x3e key val\n * Returns a new object map with supplied mappings.\n */\ncljs.core.obj_map \x3d (function cljs$core$obj_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15841 \x3d arguments.length;\nvar i__5770__auto___15842 \x3d (0);\nwhile(true){\nif((i__5770__auto___15842 \x3c len__5769__auto___15841)){\nargs__5775__auto__.push((arguments[i__5770__auto___15842]));\n\nvar G__15843 \x3d (i__5770__auto___15842 + (1));\ni__5770__auto___15842 \x3d G__15843;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar ks \x3d [];\nvar obj \x3d ({});\nvar kvs \x3d cljs.core.seq(keyvals);\nwhile(true){\nif(kvs){\nks.push(cljs.core.first(kvs));\n\ncljs.core.goog$module$goog$object.set(obj,cljs.core.first(kvs),cljs.core.second(kvs));\n\nvar G__15844 \x3d cljs.core.nnext(kvs);\nkvs \x3d G__15844;\ncontinue;\n} else {\nreturn cljs.core.ObjMap.fromObject(ks,obj);\n}\nbreak;\n}\n}));\n\n(cljs.core.obj_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.obj_map.cljs$lang$applyTo \x3d (function (seq11752){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11752));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new sorted map with supplied mappings.\n */\ncljs.core.sorted_map \x3d (function cljs$core$sorted_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15845 \x3d arguments.length;\nvar i__5770__auto___15846 \x3d (0);\nwhile(true){\nif((i__5770__auto___15846 \x3c len__5769__auto___15845)){\nargs__5775__auto__.push((arguments[i__5770__auto___15846]));\n\nvar G__15905 \x3d (i__5770__auto___15846 + (1));\ni__5770__auto___15846 \x3d G__15905;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.PersistentTreeMap.EMPTY;\nwhile(true){\nif(in$){\nvar G__15906 \x3d cljs.core.nnext(in$);\nvar G__15907 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__15906;\nout \x3d G__15907;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_map.cljs$lang$applyTo \x3d (function (seq11755){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11755));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new sorted map with supplied mappings, using the supplied comparator.\n */\ncljs.core.sorted_map_by \x3d (function cljs$core$sorted_map_by(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15908 \x3d arguments.length;\nvar i__5770__auto___15909 \x3d (0);\nwhile(true){\nif((i__5770__auto___15909 \x3c len__5769__auto___15908)){\nargs__5775__auto__.push((arguments[i__5770__auto___15909]));\n\nvar G__15910 \x3d (i__5770__auto___15909 + (1));\ni__5770__auto___15909 \x3d G__15910;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d (new cljs.core.PersistentTreeMap(cljs.core.fn__GT_comparator(comparator),null,(0),null,(0)));\nwhile(true){\nif(in$){\nvar G__15911 \x3d cljs.core.nnext(in$);\nvar G__15912 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__15911;\nout \x3d G__15912;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_map_by.cljs$lang$applyTo \x3d (function (seq11756){\nvar G__11757 \x3d cljs.core.first(seq11756);\nvar seq11756__$1 \x3d cljs.core.next(seq11756);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11757,seq11756__$1);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.KeySeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.KeySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.KeySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.KeySeq.prototype.indexOf \x3d (function() {\nvar G__15913 \x3d null;\nvar G__15913__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15913__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15913 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15913__1.call(this,x);\ncase 2:\nreturn G__15913__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15913.cljs$core$IFn$_invoke$arity$1 \x3d G__15913__1;\nG__15913.cljs$core$IFn$_invoke$arity$2 \x3d G__15913__2;\nreturn G__15913;\n})()\n);\n\n(cljs.core.KeySeq.prototype.lastIndexOf \x3d (function() {\nvar G__15914 \x3d null;\nvar G__15914__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15914__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15914 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15914__1.call(this,x);\ncase 2:\nreturn G__15914__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15914.cljs$core$IFn$_invoke$arity$1 \x3d G__15914__1;\nG__15914.cljs$core$IFn$_invoke$arity$2 \x3d G__15914__2;\nreturn G__15914;\n})()\n);\n\n(cljs.core.KeySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.KeySeq(nseq,null));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_key$arity$1(null);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.KeySeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.KeySeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.KeySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.KeySeq.cljs$lang$type \x3d true);\n\n(cljs.core.KeySeq.cljs$lang$ctorStr \x3d \x22cljs.core/KeySeq\x22);\n\n(cljs.core.KeySeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/KeySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/KeySeq.\n */\ncljs.core.__GT_KeySeq \x3d (function cljs$core$__GT_KeySeq(mseq,_meta){\nreturn (new cljs.core.KeySeq(mseq,_meta));\n});\n\n(cljs.core.KeySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s keys, in the same order as (seq map).\n */\ncljs.core.keys \x3d (function cljs$core$keys(map){\nvar temp__5804__auto__ \x3d cljs.core.seq(map);\nif(temp__5804__auto__){\nvar mseq \x3d temp__5804__auto__;\nreturn (new cljs.core.KeySeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core.key \x3d (function cljs$core$key(map_entry){\nreturn cljs.core._key(map_entry);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ValSeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ValSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ValSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ValSeq.prototype.indexOf \x3d (function() {\nvar G__15915 \x3d null;\nvar G__15915__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__15915__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15915 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15915__1.call(this,x);\ncase 2:\nreturn G__15915__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15915.cljs$core$IFn$_invoke$arity$1 \x3d G__15915__1;\nG__15915.cljs$core$IFn$_invoke$arity$2 \x3d G__15915__2;\nreturn G__15915;\n})()\n);\n\n(cljs.core.ValSeq.prototype.lastIndexOf \x3d (function() {\nvar G__15916 \x3d null;\nvar G__15916__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__15916__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__15916 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__15916__1.call(this,x);\ncase 2:\nreturn G__15916__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__15916.cljs$core$IFn$_invoke$arity$1 \x3d G__15916__1;\nG__15916.cljs$core$IFn$_invoke$arity$2 \x3d G__15916__2;\nreturn G__15916;\n})()\n);\n\n(cljs.core.ValSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.ValSeq(nseq,null));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_val$arity$1(null);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.mseq.cljs$core$INext$))))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.ValSeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ValSeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ValSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.ValSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ValSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ValSeq\x22);\n\n(cljs.core.ValSeq.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ValSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ValSeq.\n */\ncljs.core.__GT_ValSeq \x3d (function cljs$core$__GT_ValSeq(mseq,_meta){\nreturn (new cljs.core.ValSeq(mseq,_meta));\n});\n\n(cljs.core.ValSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s values, in the same order as (seq map).\n */\ncljs.core.vals \x3d (function cljs$core$vals(map){\nvar temp__5804__auto__ \x3d cljs.core.seq(map);\nif(temp__5804__auto__){\nvar mseq \x3d temp__5804__auto__;\nreturn (new cljs.core.ValSeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the value in the map entry.\n */\ncljs.core.val \x3d (function cljs$core$val(map_entry){\nreturn cljs.core._val(map_entry);\n});\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n * the first. If a key occurs in more than one map, the mapping from\n * the latter (left-to-right) will be the mapping in the result.\n */\ncljs.core.merge \x3d (function cljs$core$merge(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15923 \x3d arguments.length;\nvar i__5770__auto___15924 \x3d (0);\nwhile(true){\nif((i__5770__auto___15924 \x3c len__5769__auto___15923)){\nargs__5775__auto__.push((arguments[i__5770__auto___15924]));\n\nvar G__15925 \x3d (i__5770__auto___15924 + (1));\ni__5770__auto___15924 \x3d G__15925;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic \x3d (function (maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((function (p1__11762_SHARP_,p2__11763_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5045__auto__ \x3d p1__11762_SHARP_;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),p2__11763_SHARP_);\n}),maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.merge.cljs$lang$applyTo \x3d (function (seq11764){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11764));\n}));\n\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n * the first. If a key occurs in more than one map, the mapping(s)\n * from the latter (left-to-right) will be combined with the mapping in\n * the result by calling (f val-in-result val-in-latter).\n */\ncljs.core.merge_with \x3d (function cljs$core$merge_with(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15927 \x3d arguments.length;\nvar i__5770__auto___15928 \x3d (0);\nwhile(true){\nif((i__5770__auto___15928 \x3c len__5769__auto___15927)){\nargs__5775__auto__.push((arguments[i__5770__auto___15928]));\n\nvar G__15929 \x3d (i__5770__auto___15928 + (1));\ni__5770__auto___15928 \x3d G__15929;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nvar merge_entry \x3d (function (m,e){\nvar k \x3d cljs.core.key(e);\nvar v \x3d cljs.core.val(e);\nif(cljs.core.contains_QMARK_(m,k)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__11767 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__11768 \x3d v;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11767,G__11768) : f.call(null,G__11767,G__11768));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\nvar merge2 \x3d (function (m1,m2){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(merge_entry,(function (){var or__5045__auto__ \x3d m1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),cljs.core.seq(m2));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(merge2,maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge_with.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.merge_with.cljs$lang$applyTo \x3d (function (seq11765){\nvar G__11766 \x3d cljs.core.first(seq11765);\nvar seq11765__$1 \x3d cljs.core.next(seq11765);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11766,seq11765__$1);\n}));\n\n/**\n * Returns a map containing only those entries in map whose key is in keys\n */\ncljs.core.select_keys \x3d (function cljs$core$select_keys(map,keyseq){\nvar ret \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar keys \x3d cljs.core.seq(keyseq);\nwhile(true){\nif(keys){\nvar key \x3d cljs.core.first(keys);\nvar entry \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map,key,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185));\nvar G__15930 \x3d ((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(entry,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,key,entry):ret);\nvar G__15931 \x3d cljs.core.next(keys);\nret \x3d G__15930;\nkeys \x3d G__15931;\ncontinue;\n} else {\nreturn cljs.core._with_meta(ret,cljs.core.meta(map));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.HashSetIter \x3d (function (iter){\nthis.iter \x3d iter;\n});\n(cljs.core.HashSetIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.iter.hasNext();\n}));\n\n(cljs.core.HashSetIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(self__.iter.hasNext()){\nreturn self__.iter.next().key;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.HashSetIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashSetIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null)], null);\n}));\n\n(cljs.core.HashSetIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashSetIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashSetIter\x22);\n\n(cljs.core.HashSetIter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/HashSetIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashSetIter.\n */\ncljs.core.__GT_HashSetIter \x3d (function cljs$core$__GT_HashSetIter(iter){\nreturn (new cljs.core.HashSetIter(iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashSet \x3d (function (meta,hash_map,__hash){\nthis.meta \x3d meta;\nthis.hash_map \x3d hash_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 15077647;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__11772 \x3d cljs.core.seq(coll);\nvar chunk__11773 \x3d null;\nvar count__11774 \x3d (0);\nvar i__11775 \x3d (0);\nwhile(true){\nif((i__11775 \x3c count__11774)){\nvar vec__11782 \x3d chunk__11773.cljs$core$IIndexed$_nth$arity$2(null,i__11775);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11782,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11782,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15932 \x3d seq__11772;\nvar G__15933 \x3d chunk__11773;\nvar G__15934 \x3d count__11774;\nvar G__15935 \x3d (i__11775 + (1));\nseq__11772 \x3d G__15932;\nchunk__11773 \x3d G__15933;\ncount__11774 \x3d G__15934;\ni__11775 \x3d G__15935;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__11772);\nif(temp__5804__auto__){\nvar seq__11772__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__11772__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__11772__$1);\nvar G__15936 \x3d cljs.core.chunk_rest(seq__11772__$1);\nvar G__15937 \x3d c__5568__auto__;\nvar G__15938 \x3d cljs.core.count(c__5568__auto__);\nvar G__15939 \x3d (0);\nseq__11772 \x3d G__15936;\nchunk__11773 \x3d G__15937;\ncount__11774 \x3d G__15938;\ni__11775 \x3d G__15939;\ncontinue;\n} else {\nvar vec__11785 \x3d cljs.core.first(seq__11772__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11785,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11785,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15940 \x3d cljs.core.next(seq__11772__$1);\nvar G__15941 \x3d null;\nvar G__15942 \x3d (0);\nvar G__15943 \x3d (0);\nseq__11772 \x3d G__15940;\nchunk__11773 \x3d G__15941;\ncount__11774 \x3d G__15942;\ni__11775 \x3d G__15943;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5802__auto__ \x3d cljs.core._find(self__.hash_map,v);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar entry \x3d temp__5802__auto__;\nreturn cljs.core.key(entry);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.HashSetIter(cljs.core._iterator(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,self__.hash_map,self__.__hash));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._count(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5043__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5043__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__11770_SHARP_,p2__11769_SHARP_){\nvar or__5045__auto__ \x3d cljs.core.contains_QMARK_(other,p2__11769_SHARP_);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.hash_map);\n}catch (e11788){if((e11788 instanceof Error)){\nvar ex \x3d e11788;\nreturn false;\n} else {\nthrow e11788;\n\n}\n}} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashSet(cljs.core._as_transient(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashSet.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core._dissoc(self__.hash_map,v),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashSet(new_meta,self__.hash_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.hash_map,o,null),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11789 \x3d (arguments.length - (1));\nswitch (G__11789) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.apply \x3d (function (self__,args11771){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11771)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22hash-map\x22,\x22hash-map\x22,-439030950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashSet\x22);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashSet.\n */\ncljs.core.__GT_PersistentHashSet \x3d (function cljs$core$__GT_PersistentHashSet(meta,hash_map,__hash){\nreturn (new cljs.core.PersistentHashSet(meta,hash_map,__hash));\n});\n\n(cljs.core.PersistentHashSet.EMPTY \x3d (new cljs.core.PersistentHashSet(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashSet.fromArray \x3d (function (items,no_clone){\nvar len \x3d items.length;\nif((len \x3c\x3d cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr \x3d ((no_clone)?items:cljs.core.aclone(items));\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__15946 \x3d (i + (1));\nvar G__15947 \x3d cljs.core._assoc_BANG_(out,(items[i]),null);\ni \x3d G__15946;\nout \x3d G__15947;\ncontinue;\n} else {\nreturn (new cljs.core.PersistentHashSet(null,cljs.core._persistent_BANG_(out),null));\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__15949 \x3d (i + (1));\nvar G__15950 \x3d cljs.core._conj_BANG_(out,(items[i]));\ni \x3d G__15949;\nout \x3d G__15950;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentHashSet.createWithCheck \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5636__auto___15953 \x3d len;\nvar i_15954 \x3d (0);\nwhile(true){\nif((i_15954 \x3c n__5636__auto___15953)){\ncljs.core._conj_BANG_(t,(items[i_15954]));\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(t),(i_15954 + (1)))){\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((items[i_15954]))].join(\x27\x27)));\n}\n\nvar G__15955 \x3d (i_15954 + (1));\ni_15954 \x3d G__15955;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.createAsIfByAssoc \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5636__auto___15957 \x3d len;\nvar i_15958 \x3d (0);\nwhile(true){\nif((i_15958 \x3c n__5636__auto___15957)){\ncljs.core._conj_BANG_(t,(items[i_15958]));\n\nvar G__15959 \x3d (i_15958 + (1));\ni_15958 \x3d G__15959;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ITransientSet}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashSet \x3d (function (transient_map){\nthis.transient_map \x3d transient_map;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 136;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\n});\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(self__.transient_map,o,null));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(null,cljs.core.persistent_BANG_(self__.transient_map),null));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(self__.transient_map,v));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn cljs.core.count(self__.transient_map);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,v,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((cljs.core._lookup(self__.transient_map,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn v;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11791 \x3d (arguments.length - (1));\nswitch (G__11791) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.apply \x3d (function (self__,args11790){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11790)));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn null;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22transient-map\x22,\x22transient-map\x22,351764893,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashSet\x22);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TransientHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashSet.\n */\ncljs.core.__GT_TransientHashSet \x3d (function cljs$core$__GT_TransientHashSet(transient_map){\nreturn (new cljs.core.TransientHashSet(transient_map));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeSet \x3d (function (meta,tree_map,__hash){\nthis.meta \x3d meta;\nthis.tree_map \x3d tree_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 417730831;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__11795 \x3d cljs.core.seq(coll);\nvar chunk__11796 \x3d null;\nvar count__11797 \x3d (0);\nvar i__11798 \x3d (0);\nwhile(true){\nif((i__11798 \x3c count__11797)){\nvar vec__11805 \x3d chunk__11796.cljs$core$IIndexed$_nth$arity$2(null,i__11798);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11805,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11805,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15971 \x3d seq__11795;\nvar G__15972 \x3d chunk__11796;\nvar G__15973 \x3d count__11797;\nvar G__15974 \x3d (i__11798 + (1));\nseq__11795 \x3d G__15971;\nchunk__11796 \x3d G__15972;\ncount__11797 \x3d G__15973;\ni__11798 \x3d G__15974;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__11795);\nif(temp__5804__auto__){\nvar seq__11795__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__11795__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__11795__$1);\nvar G__15975 \x3d cljs.core.chunk_rest(seq__11795__$1);\nvar G__15976 \x3d c__5568__auto__;\nvar G__15977 \x3d cljs.core.count(c__5568__auto__);\nvar G__15978 \x3d (0);\nseq__11795 \x3d G__15975;\nchunk__11796 \x3d G__15976;\ncount__11797 \x3d G__15977;\ni__11798 \x3d G__15978;\ncontinue;\n} else {\nvar vec__11808 \x3d cljs.core.first(seq__11795__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11808,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11808,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__15979 \x3d cljs.core.next(seq__11795__$1);\nvar G__15980 \x3d null;\nvar G__15981 \x3d (0);\nvar G__15982 \x3d (0);\nseq__11795 \x3d G__15979;\nchunk__11796 \x3d G__15980;\ncount__11797 \x3d G__15981;\ni__11798 \x3d G__15982;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d self__.tree_map.entry_at(v);\nif((!((n \x3d\x3d null)))){\nreturn n.key;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,self__.tree_map,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.count(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.count(self__.tree_map) \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core.rseq(self__.tree_map));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5043__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5043__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__11793_SHARP_,p2__11792_SHARP_){\nvar or__5045__auto__ \x3d cljs.core.contains_QMARK_(other,p2__11792_SHARP_);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.tree_map);\n}catch (e11811){if((e11811 instanceof Error)){\nvar ex \x3d e11811;\nreturn false;\n} else {\nthrow e11811;\n\n}\n}} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core._empty(self__.tree_map),(0)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.tree_map,v),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeSet(new_meta,self__.tree_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.tree_map,o,null),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__11812 \x3d (arguments.length - (1));\nswitch (G__11812) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.apply \x3d (function (self__,args11794){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11794)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq(self__.tree_map,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq_from(self__.tree_map,k,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn entry;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._comparator(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22tree-map\x22,\x22tree-map\x22,1373073049,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeSet\x22);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/PersistentTreeSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeSet.\n */\ncljs.core.__GT_PersistentTreeSet \x3d (function cljs$core$__GT_PersistentTreeSet(meta,tree_map,__hash){\nreturn (new cljs.core.PersistentTreeSet(meta,tree_map,__hash));\n});\n\n(cljs.core.PersistentTreeSet.EMPTY \x3d (new cljs.core.PersistentTreeSet(null,cljs.core.PersistentTreeMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\ncljs.core.set_from_indexed_seq \x3d (function cljs$core$set_from_indexed_seq(iseq){\nvar arr \x3d iseq.arr;\nvar ret \x3d (function (){var a__5633__auto__ \x3d arr;\nvar l__5634__auto__ \x3d a__5633__auto__.length;\nvar i \x3d (0);\nvar res \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c l__5634__auto__)){\nvar G__15984 \x3d (i + (1));\nvar G__15985 \x3d cljs.core._conj_BANG_(res,(arr[i]));\ni \x3d G__15984;\nres \x3d G__15985;\ncontinue;\n} else {\nreturn res;\n}\nbreak;\n}\n})();\nreturn ret.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(null);\n});\n/**\n * Returns a set of the distinct elements of coll.\n */\ncljs.core.set \x3d (function cljs$core$set(coll){\nif(cljs.core.set_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nvar in$ \x3d cljs.core.seq(coll);\nif((in$ \x3d\x3d null)){\nreturn cljs.core.PersistentHashSet.EMPTY;\n} else {\nif((((in$ instanceof cljs.core.IndexedSeq)) \x26\x26 ((in$.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentHashSet.createAsIfByAssoc(in$.arr);\n} else {\nvar in$__$1 \x3d in$;\nvar out \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((!((in$__$1 \x3d\x3d null)))){\nvar G__15986 \x3d cljs.core.next(in$__$1);\nvar G__15987 \x3d cljs.core._conj_BANG_(out,cljs.core._first(in$__$1));\nin$__$1 \x3d G__15986;\nout \x3d G__15987;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n\n}\n}\n}\n});\n/**\n * Returns a new hash set with supplied keys. Any equal keys are\n * handled as if by repeated uses of conj.\n */\ncljs.core.hash_set \x3d (function cljs$core$hash_set(var_args){\nvar G__11815 \x3d arguments.length;\nswitch (G__11815) {\ncase 0:\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___15990 \x3d arguments.length;\nvar i__5770__auto___15991 \x3d (0);\nwhile(true){\nif((i__5770__auto___15991 \x3c len__5769__auto___15990)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___15991]));\n\nvar G__15992 \x3d (i__5770__auto___15991 + (1));\ni__5770__auto___15991 \x3d G__15992;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((0)),(0),null));\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.set(keys);\n}));\n\n/** @this {Function} */\n(cljs.core.hash_set.cljs$lang$applyTo \x3d (function (seq11814){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11814));\n}));\n\n(cljs.core.hash_set.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Returns a new sorted set with supplied keys.\n */\ncljs.core.sorted_set \x3d (function cljs$core$sorted_set(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15995 \x3d arguments.length;\nvar i__5770__auto___15996 \x3d (0);\nwhile(true){\nif((i__5770__auto___15996 \x3c len__5769__auto___15995)){\nargs__5775__auto__.push((arguments[i__5770__auto___15996]));\n\nvar G__15997 \x3d (i__5770__auto___15996 + (1));\ni__5770__auto___15996 \x3d G__15997;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,cljs.core.PersistentTreeSet.EMPTY,keys);\n}));\n\n(cljs.core.sorted_set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_set.cljs$lang$applyTo \x3d (function (seq11816){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11816));\n}));\n\n/**\n * Returns a new sorted set with supplied keys, using the supplied comparator.\n */\ncljs.core.sorted_set_by \x3d (function cljs$core$sorted_set_by(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___15999 \x3d arguments.length;\nvar i__5770__auto___16000 \x3d (0);\nwhile(true){\nif((i__5770__auto___16000 \x3c len__5769__auto___15999)){\nargs__5775__auto__.push((arguments[i__5770__auto___16000]));\n\nvar G__16001 \x3d (i__5770__auto___16000 + (1));\ni__5770__auto___16000 \x3d G__16001;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,(new cljs.core.PersistentTreeSet(null,cljs.core.sorted_map_by(comparator),(0))),keys);\n}));\n\n(cljs.core.sorted_set_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_set_by.cljs$lang$applyTo \x3d (function (seq11817){\nvar G__11818 \x3d cljs.core.first(seq11817);\nvar seq11817__$1 \x3d cljs.core.next(seq11817);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11818,seq11817__$1);\n}));\n\n/**\n * Given a map of replacement pairs and a vector/collection, returns a\n * vector/seq with any elements \x3d a key in smap replaced with the\n * corresponding val in smap. Returns a transducer when no collection\n * is provided.\n */\ncljs.core.replace \x3d (function cljs$core$replace(var_args){\nvar G__11822 \x3d arguments.length;\nswitch (G__11822) {\ncase 1:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$1 \x3d (function (smap){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__11819_SHARP_){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,p1__11819_SHARP_);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.val(e);\n} else {\nreturn p1__11819_SHARP_;\n}\n}));\n}));\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$2 \x3d (function (smap,coll){\nif(cljs.core.vector_QMARK_(coll)){\nvar n \x3d cljs.core.count(coll);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,i){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,i));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(v,i,cljs.core.second(e));\n} else {\nreturn v;\n}\n}),coll,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.iterate(cljs.core.inc,(0))));\n} else {\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__11820_SHARP_){\nvar temp__5802__auto__ \x3d cljs.core.find(smap,p1__11820_SHARP_);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar e \x3d temp__5802__auto__;\nreturn cljs.core.second(e);\n} else {\nreturn p1__11820_SHARP_;\n}\n}),coll);\n}\n}));\n\n(cljs.core.replace.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the elements of coll with duplicates removed.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.distinct \x3d (function cljs$core$distinct(var_args){\nvar G__11824 \x3d arguments.length;\nswitch (G__11824) {\ncase 0:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar seen \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\nreturn (function() {\nvar G__16009 \x3d null;\nvar G__16009__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__16009__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__16009__2 \x3d (function (result,input){\nif(cljs.core.contains_QMARK_(cljs.core.deref(seen),input)){\nreturn result;\n} else {\nseen.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen.cljs$core$IDeref$_deref$arity$1(null),input));\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__16009 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__16009__0.call(this);\ncase 1:\nreturn G__16009__1.call(this,result);\ncase 2:\nreturn G__16009__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16009.cljs$core$IFn$_invoke$arity$0 \x3d G__16009__0;\nG__16009.cljs$core$IFn$_invoke$arity$1 \x3d G__16009__1;\nG__16009.cljs$core$IFn$_invoke$arity$2 \x3d G__16009__2;\nreturn G__16009;\n})()\n});\n}));\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar step \x3d (function cljs$core$step(xs,seen){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn (function (p__11825,seen__$1){\nwhile(true){\nvar vec__11826 \x3d p__11825;\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11826,(0),null);\nvar xs__$1 \x3d vec__11826;\nvar temp__5804__auto__ \x3d cljs.core.seq(xs__$1);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.contains_QMARK_(seen__$1,f)){\nvar G__16011 \x3d cljs.core.rest(s);\nvar G__16012 \x3d seen__$1;\np__11825 \x3d G__16011;\nseen__$1 \x3d G__16012;\ncontinue;\n} else {\nreturn cljs.core.cons(f,cljs$core$step(cljs.core.rest(s),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen__$1,f)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})(xs,seen);\n}),null,null));\n});\nreturn step(coll,cljs.core.PersistentHashSet.EMPTY);\n}));\n\n(cljs.core.distinct.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Return a seq of all but the last item in coll, in linear time\n */\ncljs.core.butlast \x3d (function cljs$core$butlast(s){\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nvar s__$1 \x3d s;\nwhile(true){\nif(cljs.core.next(s__$1)){\nvar G__16013 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.first(s__$1));\nvar G__16014 \x3d cljs.core.next(s__$1);\nret \x3d G__16013;\ns__$1 \x3d G__16014;\ncontinue;\n} else {\nreturn cljs.core.seq(ret);\n}\nbreak;\n}\n});\n/**\n * Returns the name String of a string, symbol or keyword.\n */\ncljs.core.name \x3d (function cljs$core$name(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_name$arity$1(null);\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nthrow (new Error([\x22Doesn\x27t support name: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n}\n});\n/**\n * Returns a map with the keys mapped to the corresponding vals.\n */\ncljs.core.zipmap \x3d (function cljs$core$zipmap(keys,vals){\nvar map \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nvar ks \x3d cljs.core.seq(keys);\nvar vs \x3d cljs.core.seq(vals);\nwhile(true){\nif(((ks) \x26\x26 (vs))){\nvar G__16015 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(map,cljs.core.first(ks),cljs.core.first(vs));\nvar G__16016 \x3d cljs.core.next(ks);\nvar G__16017 \x3d cljs.core.next(vs);\nmap \x3d G__16015;\nks \x3d G__16016;\nvs \x3d G__16017;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(map);\n}\nbreak;\n}\n});\n/**\n * Returns the x for which (k x), a number, is greatest.\n * \n * If there are multiple such xs, the last one is returned.\n */\ncljs.core.max_key \x3d (function cljs$core$max_key(var_args){\nvar G__11837 \x3d arguments.length;\nswitch (G__11837) {\ncase 2:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16019 \x3d arguments.length;\nvar i__5770__auto___16020 \x3d (0);\nwhile(true){\nif((i__5770__auto___16020 \x3c len__5769__auto___16019)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16020]));\n\nvar G__16021 \x3d (i__5770__auto___16020 + (1));\ni__5770__auto___16020 \x3d G__16021;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3e (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11830_SHARP_,p2__11831_SHARP_){\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,p1__11830_SHARP_,p2__11831_SHARP_);\n}),cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max_key.cljs$lang$applyTo \x3d (function (seq11833){\nvar G__11834 \x3d cljs.core.first(seq11833);\nvar seq11833__$1 \x3d cljs.core.next(seq11833);\nvar G__11835 \x3d cljs.core.first(seq11833__$1);\nvar seq11833__$2 \x3d cljs.core.next(seq11833__$1);\nvar G__11836 \x3d cljs.core.first(seq11833__$2);\nvar seq11833__$3 \x3d cljs.core.next(seq11833__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11834,G__11835,G__11836,seq11833__$3);\n}));\n\n(cljs.core.max_key.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the x for which (k x), a number, is least.\n * \n * If there are multiple such xs, the last one is returned.\n */\ncljs.core.min_key \x3d (function cljs$core$min_key(var_args){\nvar G__11845 \x3d arguments.length;\nswitch (G__11845) {\ncase 2:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16023 \x3d arguments.length;\nvar i__5770__auto___16024 \x3d (0);\nwhile(true){\nif((i__5770__auto___16024 \x3c len__5769__auto___16023)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16024]));\n\nvar G__16025 \x3d (i__5770__auto___16024 + (1));\ni__5770__auto___16024 \x3d G__16025;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3c (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11838_SHARP_,p2__11839_SHARP_){\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,p1__11838_SHARP_,p2__11839_SHARP_);\n}),cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min_key.cljs$lang$applyTo \x3d (function (seq11841){\nvar G__11842 \x3d cljs.core.first(seq11841);\nvar seq11841__$1 \x3d cljs.core.next(seq11841);\nvar G__11843 \x3d cljs.core.first(seq11841__$1);\nvar seq11841__$2 \x3d cljs.core.next(seq11841__$1);\nvar G__11844 \x3d cljs.core.first(seq11841__$2);\nvar seq11841__$3 \x3d cljs.core.next(seq11841__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11842,G__11843,G__11844,seq11841__$3);\n}));\n\n(cljs.core.min_key.cljs$lang$maxFixedArity \x3d (3));\n\n\n/**\n* @constructor\n*/\ncljs.core.ArrayList \x3d (function (arr){\nthis.arr \x3d arr;\n});\n(cljs.core.ArrayList.prototype.add \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.push(x);\n}));\n\n(cljs.core.ArrayList.prototype.size \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.length;\n}));\n\n(cljs.core.ArrayList.prototype.clear \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr \x3d []);\n}));\n\n(cljs.core.ArrayList.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.ArrayList.prototype.toArray \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr;\n}));\n\n(cljs.core.ArrayList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayList.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayList.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayList\x22);\n\n(cljs.core.ArrayList.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/ArrayList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayList.\n */\ncljs.core.__GT_ArrayList \x3d (function cljs$core$__GT_ArrayList(arr){\nreturn (new cljs.core.ArrayList(arr));\n});\n\ncljs.core.array_list \x3d (function cljs$core$array_list(){\nreturn (new cljs.core.ArrayList([]));\n});\n/**\n * Returns a lazy sequence of lists like partition, but may include\n * partitions with fewer than n items at the end. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.partition_all \x3d (function cljs$core$partition_all(var_args){\nvar G__11847 \x3d arguments.length;\nswitch (G__11847) {\ncase 1:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nreturn (function() {\nvar G__16027 \x3d null;\nvar G__16027__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__16027__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__16027__2 \x3d (function (result,input){\na.add(input);\n\nif((n \x3d\x3d\x3d a.size())){\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n} else {\nreturn result;\n}\n});\nG__16027 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__16027__0.call(this);\ncase 1:\nreturn G__16027__1.call(this,result);\ncase 2:\nreturn G__16027__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16027.cljs$core$IFn$_invoke$arity$0 \x3d G__16027__0;\nG__16027.cljs$core$IFn$_invoke$arity$1 \x3d G__16027__1;\nG__16027.cljs$core$IFn$_invoke$arity$2 \x3d G__16027__2;\nreturn G__16027;\n})()\n});\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s),cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_all.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy sequence of successive items from coll while\n * (pred item) returns logical true. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.take_while \x3d (function cljs$core$take_while(var_args){\nvar G__11849 \x3d arguments.length;\nswitch (G__11849) {\ncase 1:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__16029 \x3d null;\nvar G__16029__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__16029__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__16029__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn cljs.core.reduced(result);\n}\n});\nG__16029 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__16029__0.call(this);\ncase 1:\nreturn G__16029__1.call(this,result);\ncase 2:\nreturn G__16029__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16029.cljs$core$IFn$_invoke$arity$0 \x3d G__16029__0;\nG__16029.cljs$core$IFn$_invoke$arity$1 \x3d G__16029__1;\nG__16029.cljs$core$IFn$_invoke$arity$2 \x3d G__16029__2;\nreturn G__16029;\n})()\n});\n}));\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nif(cljs.core.truth_((function (){var G__11850 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__11850) : pred.call(null,G__11850));\n})())){\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_while.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.mk_bound_fn \x3d (function cljs$core$mk_bound_fn(sc,test,key){\nreturn (function (e){\nvar comp \x3d cljs.core._comparator(sc);\nvar G__11851 \x3d (function (){var G__11853 \x3d cljs.core._entry_key(sc,e);\nvar G__11854 \x3d key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__11853,G__11854) : comp.call(null,G__11853,G__11854));\n})();\nvar G__11852 \x3d (0);\nreturn (test.cljs$core$IFn$_invoke$arity$2 ? test.cljs$core$IFn$_invoke$arity$2(G__11851,G__11852) : test.call(null,G__11851,G__11852));\n});\n});\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n * \x3e\x3d. Returns a seq of those entries with keys ek for\n * which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.subseq \x3d (function cljs$core$subseq(var_args){\nvar G__11856 \x3d arguments.length;\nswitch (G__11856) {\ncase 3:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__11857 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._GT_,cljs.core._GT__EQ_]);\nreturn (fexpr__11857.cljs$core$IFn$_invoke$arity$1 ? fexpr__11857.cljs$core$IFn$_invoke$arity$1(test) : fexpr__11857.call(null,test));\n})())){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,key,true);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__11858 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11858,(0),null);\nvar s \x3d vec__11858;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,true));\n}\n}));\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,start_key,true);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__11861 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11861,(0),null);\nvar s \x3d vec__11861;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,end_test,end_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,start_test,start_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.subseq.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n * \x3e\x3d. Returns a reverse seq of those entries with keys ek for\n * which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.rsubseq \x3d (function cljs$core$rsubseq(var_args){\nvar G__11865 \x3d arguments.length;\nswitch (G__11865) {\ncase 3:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__11866 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._LT_,cljs.core._LT__EQ_]);\nreturn (fexpr__11866.cljs$core$IFn$_invoke$arity$1 ? fexpr__11866.cljs$core$IFn$_invoke$arity$1(test) : fexpr__11866.call(null,test));\n})())){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,key,false);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__11867 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11867,(0),null);\nvar s \x3d vec__11867;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,false));\n}\n}));\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5804__auto__ \x3d cljs.core._sorted_seq_from(sc,end_key,false);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar vec__11870 \x3d temp__5804__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11870,(0),null);\nvar s \x3d vec__11870;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,start_test,start_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,end_test,end_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.rsubseq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.IChunk}\n*/\ncljs.core.IntegerRangeChunk \x3d (function (start,step,count){\nthis.start \x3d start;\nthis.step \x3d step;\nthis.count \x3d count;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 82;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.start + (i * self__.step));\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c self__.count)))){\nreturn (self__.start + (i * self__.step));\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3c\x3d (1))){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.IntegerRangeChunk((self__.start + self__.step),self__.step,(self__.count - (1))));\n}\n}));\n\n(cljs.core.IntegerRangeChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null)], null);\n}));\n\n(cljs.core.IntegerRangeChunk.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRangeChunk\x22);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IntegerRangeChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRangeChunk.\n */\ncljs.core.__GT_IntegerRangeChunk \x3d (function cljs$core$__GT_IntegerRangeChunk(start,step,count){\nreturn (new cljs.core.IntegerRangeChunk(start,step,count));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.RangeIterator \x3d (function (i,end,step){\nthis.i \x3d i;\nthis.end \x3d end;\nthis.step \x3d step;\n});\n(cljs.core.RangeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.step \x3e (0))){\nreturn (self__.i \x3c self__.end);\n} else {\nreturn (self__.i \x3e self__.end);\n}\n}));\n\n(cljs.core.RangeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.i;\n(self__.i \x3d (self__.i + self__.step));\n\nreturn ret;\n}));\n\n(cljs.core.RangeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null)], null);\n}));\n\n(cljs.core.RangeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangeIterator\x22);\n\n(cljs.core.RangeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/RangeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangeIterator.\n */\ncljs.core.__GT_RangeIterator \x3d (function cljs$core$__GT_RangeIterator(i,end,step){\nreturn (new cljs.core.RangeIterator(i,end,step));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IntegerRange \x3d (function (meta,start,end,step,chunk,chunk_next,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.chunk \x3d chunk;\nthis.chunk_next \x3d chunk_next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375006;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 140800;\n});\n(cljs.core.IntegerRange.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IntegerRange.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IntegerRange.prototype.indexOf \x3d (function() {\nvar G__16036 \x3d null;\nvar G__16036__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__16036__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__16036 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__16036__1.call(this,x);\ncase 2:\nreturn G__16036__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16036.cljs$core$IFn$_invoke$arity$1 \x3d G__16036__1;\nG__16036.cljs$core$IFn$_invoke$arity$2 \x3d G__16036__2;\nreturn G__16036;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.lastIndexOf \x3d (function() {\nvar G__16037 \x3d null;\nvar G__16037__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__16037__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__16037 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__16037__1.call(this,x);\ncase 2:\nreturn G__16037__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16037.cljs$core$IFn$_invoke$arity$1 \x3d G__16037__1;\nG__16037.cljs$core$IFn$_invoke$arity$2 \x3d G__16037__2;\nreturn G__16037;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.forceChunk \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.chunk \x3d\x3d null)){\nvar count \x3d coll.cljs$core$ICounted$_count$arity$1(null);\nif((count \x3e (32))){\n(self__.chunk_next \x3d (new cljs.core.IntegerRange(null,(self__.start + (self__.step * (32))),self__.end,self__.step,null,null,null)));\n\nreturn (self__.chunk \x3d (new cljs.core.IntegerRangeChunk(self__.start,self__.step,(32))));\n} else {\nreturn (self__.chunk \x3d (new cljs.core.IntegerRangeChunk(self__.start,self__.step,count)));\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (rng,n){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (rng,n,not_found){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nreturn not_found;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IntegerRange(self__.meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn Math.ceil(((self__.end - self__.start) / self__.step));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(rng__$1,f);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__16045 \x3d (i + self__.step);\nvar G__16046 \x3d ret__$1;\ni \x3d G__16045;\nret \x3d G__16046;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nreturn self__.chunk;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nif((self__.chunk_next \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.chunk_next;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.IntegerRange(new_meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.IntegerRange.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IntegerRange.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRange.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRange\x22);\n\n(cljs.core.IntegerRange.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/IntegerRange\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRange.\n */\ncljs.core.__GT_IntegerRange \x3d (function cljs$core$__GT_IntegerRange(meta,start,end,step,chunk,chunk_next,__hash){\nreturn (new cljs.core.IntegerRange(meta,start,end,step,chunk,chunk_next,__hash));\n});\n\n(cljs.core.IntegerRange.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Range \x3d (function (meta,start,end,step,chunk,chunk_next,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.chunk \x3d chunk;\nthis.chunk_next \x3d chunk_next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 140800;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\n});\n(cljs.core.Range.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Range.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Range.prototype.indexOf \x3d (function() {\nvar G__16047 \x3d null;\nvar G__16047__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__16047__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__16047 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__16047__1.call(this,x);\ncase 2:\nreturn G__16047__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16047.cljs$core$IFn$_invoke$arity$1 \x3d G__16047__1;\nG__16047.cljs$core$IFn$_invoke$arity$2 \x3d G__16047__2;\nreturn G__16047;\n})()\n);\n\n(cljs.core.Range.prototype.lastIndexOf \x3d (function() {\nvar G__16048 \x3d null;\nvar G__16048__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__16048__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__16048 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__16048__1.call(this,x);\ncase 2:\nreturn G__16048__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16048.cljs$core$IFn$_invoke$arity$1 \x3d G__16048__1;\nG__16048.cljs$core$IFn$_invoke$arity$2 \x3d G__16048__2;\nreturn G__16048;\n})()\n);\n\n(cljs.core.Range.prototype.forceChunk \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.chunk \x3d\x3d null)){\nvar arr \x3d [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];\nvar val \x3d (function (){var n \x3d (0);\nvar val \x3d self__.start;\nwhile(true){\nif((n \x3c (32))){\n(arr[n] \x3d val);\n\nvar n__$1 \x3d (n + (1));\nvar val__$1 \x3d (val + self__.step);\nif((((self__.step \x3e (0)))?(val__$1 \x3c self__.end):(val__$1 \x3e self__.end))){\nvar G__16049 \x3d n__$1;\nvar G__16050 \x3d val__$1;\nn \x3d G__16049;\nval \x3d G__16050;\ncontinue;\n} else {\nreturn (self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n__$1));\n}\n} else {\nreturn val;\n}\nbreak;\n}\n})();\nif((self__.chunk \x3d\x3d null)){\n(self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),(32)));\n\nif((((self__.step \x3e (0)))?(val \x3c self__.end):(val \x3e self__.end))){\nreturn (self__.chunk_next \x3d (new cljs.core.Range(null,val,self__.end,self__.step,null,null,null)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Range(self__.meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}));\n\n(cljs.core.Range.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__16090 \x3d (i + self__.step);\nvar G__16091 \x3d ret__$1;\ni \x3d G__16090;\nret \x3d G__16091;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nreturn self__.chunk;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nif((self__.chunk_next \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.chunk_next;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.Range(new_meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.Range.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Range.cljs$lang$type \x3d true);\n\n(cljs.core.Range.cljs$lang$ctorStr \x3d \x22cljs.core/Range\x22);\n\n(cljs.core.Range.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Range\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Range.\n */\ncljs.core.__GT_Range \x3d (function cljs$core$__GT_Range(meta,start,end,step,chunk,chunk_next,__hash){\nreturn (new cljs.core.Range(meta,start,end,step,chunk,chunk_next,__hash));\n});\n\n(cljs.core.Range.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a lazy seq of nums from start (inclusive) to end\n * (exclusive), by step, where start defaults to 0, step to 1,\n * and end to infinity.\n */\ncljs.core.range \x3d (function cljs$core$range(var_args){\nvar G__11874 \x3d arguments.length;\nswitch (G__11874) {\ncase 0:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),Number.MAX_VALUE,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$1 \x3d (function (end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$2 \x3d (function (start,end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3(start,end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$3 \x3d (function (start,end,step){\nif((step \x3e (0))){\nif((end \x3c\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,null,null,null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((step \x3c (0))){\nif((end \x3e\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,null,null,null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((end \x3d\x3d\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(start);\n}\n\n}\n}\n}));\n\n(cljs.core.range.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy seq of every nth item in coll. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.take_nth \x3d (function cljs$core$take_nth(var_args){\nvar G__11876 \x3d arguments.length;\nswitch (G__11876) {\ncase 1:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__16099 \x3d null;\nvar G__16099__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__16099__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__16099__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nif((cljs.core.rem(i,n) \x3d\x3d\x3d (0))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__16099 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__16099__0.call(this);\ncase 1:\nreturn G__16099__1.call(this,result);\ncase 2:\nreturn G__16099__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16099.cljs$core$IFn$_invoke$arity$0 \x3d G__16099__0;\nG__16099.cljs$core$IFn$_invoke$arity$1 \x3d G__16099__1;\nG__16099.cljs$core$IFn$_invoke$arity$2 \x3d G__16099__2;\nreturn G__16099;\n})()\n});\n}));\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(n,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_nth.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a vector of [(take-while pred coll) (drop-while pred coll)]\n */\ncljs.core.split_with \x3d (function cljs$core$split_with(pred,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,coll),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(pred,coll)], null);\n});\n/**\n * Applies f to each value in coll, splitting it each time f returns a\n * new value. Returns a lazy seq of partitions. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.partition_by \x3d (function cljs$core$partition_by(var_args){\nvar G__11879 \x3d arguments.length;\nswitch (G__11879) {\ncase 1:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__16102 \x3d null;\nvar G__16102__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__16102__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__16102__2 \x3d (function (result,input){\nvar pval \x3d cljs.core.deref(pa);\nvar val \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\ncljs.core.vreset_BANG_(pa,val);\n\nif(((cljs.core.keyword_identical_QMARK_(pval,new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439))) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(val,pval)))){\na.add(input);\n\nreturn result;\n} else {\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\nif(cljs.core.reduced_QMARK_(ret)){\n} else {\na.add(input);\n}\n\nreturn ret;\n}\n});\nG__16102 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__16102__0.call(this);\ncase 1:\nreturn G__16102__1.call(this,result);\ncase 2:\nreturn G__16102__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16102.cljs$core$IFn$_invoke$arity$0 \x3d G__16102__0;\nG__16102.cljs$core$IFn$_invoke$arity$1 \x3d G__16102__1;\nG__16102.cljs$core$IFn$_invoke$arity$2 \x3d G__16102__2;\nreturn G__16102;\n})()\n});\n}));\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar fst \x3d cljs.core.first(s);\nvar fv \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(fst) : f.call(null,fst));\nvar run \x3d cljs.core.cons(fst,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__11877_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fv,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(p1__11877_SHARP_) : f.call(null,p1__11877_SHARP_)));\n}),cljs.core.next(s)));\nreturn cljs.core.cons(run,cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(f,(new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(run),s);\n}),null,null))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_by.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a map from distinct items in coll to the number of times\n * they appear.\n */\ncljs.core.frequencies \x3d (function cljs$core$frequencies(coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (counts,x){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(counts,x,(cljs.core.get.cljs$core$IFn$_invoke$arity$3(counts,x,(0)) + (1)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Returns a lazy seq of the intermediate values of the reduction (as\n * per reduce) of coll by f, starting with init.\n */\ncljs.core.reductions \x3d (function cljs$core$reductions(var_args){\nvar G__11881 \x3d arguments.length;\nswitch (G__11881) {\ncase 2:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5802__auto__ \x3d cljs.core.seq(coll);\nif(temp__5802__auto__){\nvar s \x3d temp__5802__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,cljs.core.first(s),cljs.core.rest(s));\n} else {\nreturn (new cljs.core.List(null,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),null,(1),null));\n}\n}),null,null));\n}));\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,init,coll){\nif(cljs.core.reduced_QMARK_(init)){\nreturn (new cljs.core.List(null,cljs.core.deref(init),null,(1),null));\n} else {\nreturn cljs.core.cons(init,(new cljs.core.LazySeq(null,(function (){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,(function (){var G__11882 \x3d init;\nvar G__11883 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11882,G__11883) : f.call(null,G__11882,G__11883));\n})(),cljs.core.rest(s));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n}));\n\n(cljs.core.reductions.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a set of functions and returns a fn that is the juxtaposition\n * of those fns. The returned fn takes a variable number of args, and\n * returns a vector containing the result of applying each fn to the\n * args (left-to-right).\n * ((juxt a b c) x) \x3d\x3e [(a x) (b x) (c x)]\n */\ncljs.core.juxt \x3d (function cljs$core$juxt(var_args){\nvar G__11899 \x3d arguments.length;\nswitch (G__11899) {\ncase 1:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16105 \x3d arguments.length;\nvar i__5770__auto___16106 \x3d (0);\nwhile(true){\nif((i__5770__auto___16106 \x3c len__5769__auto___16105)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16106]));\n\nvar G__16107 \x3d (i__5770__auto___16106 + (1));\ni__5770__auto___16106 \x3d G__16107;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((3)),(0),null));\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function() {\nvar G__16108 \x3d null;\nvar G__16108__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null))],null));\n});\nvar G__16108__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x))],null));\n});\nvar G__16108__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y))],null));\n});\nvar G__16108__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z))],null));\n});\nvar G__16108__4 \x3d (function() { \nvar G__16109__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args)],null));\n};\nvar G__16109 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__16110__i \x3d 0, G__16110__a \x3d new Array(arguments.length - 3);\nwhile (G__16110__i \x3c G__16110__a.length) {G__16110__a[G__16110__i] \x3d arguments[G__16110__i + 3]; ++G__16110__i;}\n args \x3d new cljs.core.IndexedSeq(G__16110__a,0,null);\n} \nreturn G__16109__delegate.call(this,x,y,z,args);};\nG__16109.cljs$lang$maxFixedArity \x3d 3;\nG__16109.cljs$lang$applyTo \x3d (function (arglist__16111){\nvar x \x3d cljs.core.first(arglist__16111);\narglist__16111 \x3d cljs.core.next(arglist__16111);\nvar y \x3d cljs.core.first(arglist__16111);\narglist__16111 \x3d cljs.core.next(arglist__16111);\nvar z \x3d cljs.core.first(arglist__16111);\nvar args \x3d cljs.core.rest(arglist__16111);\nreturn G__16109__delegate(x,y,z,args);\n});\nG__16109.cljs$core$IFn$_invoke$arity$variadic \x3d G__16109__delegate;\nreturn G__16109;\n})()\n;\nG__16108 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__16108__0.call(this);\ncase 1:\nreturn G__16108__1.call(this,x);\ncase 2:\nreturn G__16108__2.call(this,x,y);\ncase 3:\nreturn G__16108__3.call(this,x,y,z);\ndefault:\nvar G__16112 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__16113__i \x3d 0, G__16113__a \x3d new Array(arguments.length - 3);\nwhile (G__16113__i \x3c G__16113__a.length) {G__16113__a[G__16113__i] \x3d arguments[G__16113__i + 3]; ++G__16113__i;}\nG__16112 \x3d new cljs.core.IndexedSeq(G__16113__a,0,null);\n}\nreturn G__16108__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__16112);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16108.cljs$lang$maxFixedArity \x3d 3;\nG__16108.cljs$lang$applyTo \x3d G__16108__4.cljs$lang$applyTo;\nG__16108.cljs$core$IFn$_invoke$arity$0 \x3d G__16108__0;\nG__16108.cljs$core$IFn$_invoke$arity$1 \x3d G__16108__1;\nG__16108.cljs$core$IFn$_invoke$arity$2 \x3d G__16108__2;\nG__16108.cljs$core$IFn$_invoke$arity$3 \x3d G__16108__3;\nG__16108.cljs$core$IFn$_invoke$arity$variadic \x3d G__16108__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__16108;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__16114 \x3d null;\nvar G__16114__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null))],null));\n});\nvar G__16114__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x))],null));\n});\nvar G__16114__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y))],null));\n});\nvar G__16114__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z))],null));\n});\nvar G__16114__4 \x3d (function() { \nvar G__16115__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args)],null));\n};\nvar G__16115 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__16116__i \x3d 0, G__16116__a \x3d new Array(arguments.length - 3);\nwhile (G__16116__i \x3c G__16116__a.length) {G__16116__a[G__16116__i] \x3d arguments[G__16116__i + 3]; ++G__16116__i;}\n args \x3d new cljs.core.IndexedSeq(G__16116__a,0,null);\n} \nreturn G__16115__delegate.call(this,x,y,z,args);};\nG__16115.cljs$lang$maxFixedArity \x3d 3;\nG__16115.cljs$lang$applyTo \x3d (function (arglist__16117){\nvar x \x3d cljs.core.first(arglist__16117);\narglist__16117 \x3d cljs.core.next(arglist__16117);\nvar y \x3d cljs.core.first(arglist__16117);\narglist__16117 \x3d cljs.core.next(arglist__16117);\nvar z \x3d cljs.core.first(arglist__16117);\nvar args \x3d cljs.core.rest(arglist__16117);\nreturn G__16115__delegate(x,y,z,args);\n});\nG__16115.cljs$core$IFn$_invoke$arity$variadic \x3d G__16115__delegate;\nreturn G__16115;\n})()\n;\nG__16114 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__16114__0.call(this);\ncase 1:\nreturn G__16114__1.call(this,x);\ncase 2:\nreturn G__16114__2.call(this,x,y);\ncase 3:\nreturn G__16114__3.call(this,x,y,z);\ndefault:\nvar G__16118 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__16119__i \x3d 0, G__16119__a \x3d new Array(arguments.length - 3);\nwhile (G__16119__i \x3c G__16119__a.length) {G__16119__a[G__16119__i] \x3d arguments[G__16119__i + 3]; ++G__16119__i;}\nG__16118 \x3d new cljs.core.IndexedSeq(G__16119__a,0,null);\n}\nreturn G__16114__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__16118);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16114.cljs$lang$maxFixedArity \x3d 3;\nG__16114.cljs$lang$applyTo \x3d G__16114__4.cljs$lang$applyTo;\nG__16114.cljs$core$IFn$_invoke$arity$0 \x3d G__16114__0;\nG__16114.cljs$core$IFn$_invoke$arity$1 \x3d G__16114__1;\nG__16114.cljs$core$IFn$_invoke$arity$2 \x3d G__16114__2;\nG__16114.cljs$core$IFn$_invoke$arity$3 \x3d G__16114__3;\nG__16114.cljs$core$IFn$_invoke$arity$variadic \x3d G__16114__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__16114;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__16120 \x3d null;\nvar G__16120__0 \x3d (function (){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null)),(h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null))],null));\n});\nvar G__16120__1 \x3d (function (x){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x)),(h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x))],null));\n});\nvar G__16120__2 \x3d (function (x,y){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y)),(h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y))],null));\n});\nvar G__16120__3 \x3d (function (x,y,z){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z)),(h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z))],null));\n});\nvar G__16120__4 \x3d (function() { \nvar G__16121__delegate \x3d function (x,y,z,args){\nreturn (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args)],null));\n};\nvar G__16121 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__16122__i \x3d 0, G__16122__a \x3d new Array(arguments.length - 3);\nwhile (G__16122__i \x3c G__16122__a.length) {G__16122__a[G__16122__i] \x3d arguments[G__16122__i + 3]; ++G__16122__i;}\n args \x3d new cljs.core.IndexedSeq(G__16122__a,0,null);\n} \nreturn G__16121__delegate.call(this,x,y,z,args);};\nG__16121.cljs$lang$maxFixedArity \x3d 3;\nG__16121.cljs$lang$applyTo \x3d (function (arglist__16123){\nvar x \x3d cljs.core.first(arglist__16123);\narglist__16123 \x3d cljs.core.next(arglist__16123);\nvar y \x3d cljs.core.first(arglist__16123);\narglist__16123 \x3d cljs.core.next(arglist__16123);\nvar z \x3d cljs.core.first(arglist__16123);\nvar args \x3d cljs.core.rest(arglist__16123);\nreturn G__16121__delegate(x,y,z,args);\n});\nG__16121.cljs$core$IFn$_invoke$arity$variadic \x3d G__16121__delegate;\nreturn G__16121;\n})()\n;\nG__16120 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__16120__0.call(this);\ncase 1:\nreturn G__16120__1.call(this,x);\ncase 2:\nreturn G__16120__2.call(this,x,y);\ncase 3:\nreturn G__16120__3.call(this,x,y,z);\ndefault:\nvar G__16124 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__16125__i \x3d 0, G__16125__a \x3d new Array(arguments.length - 3);\nwhile (G__16125__i \x3c G__16125__a.length) {G__16125__a[G__16125__i] \x3d arguments[G__16125__i + 3]; ++G__16125__i;}\nG__16124 \x3d new cljs.core.IndexedSeq(G__16125__a,0,null);\n}\nreturn G__16120__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__16124);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16120.cljs$lang$maxFixedArity \x3d 3;\nG__16120.cljs$lang$applyTo \x3d G__16120__4.cljs$lang$applyTo;\nG__16120.cljs$core$IFn$_invoke$arity$0 \x3d G__16120__0;\nG__16120.cljs$core$IFn$_invoke$arity$1 \x3d G__16120__1;\nG__16120.cljs$core$IFn$_invoke$arity$2 \x3d G__16120__2;\nG__16120.cljs$core$IFn$_invoke$arity$3 \x3d G__16120__3;\nG__16120.cljs$core$IFn$_invoke$arity$variadic \x3d G__16120__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__16120;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,g,h,fs){\nvar fs__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f,g,h,fs);\nreturn (function() {\nvar G__16127 \x3d null;\nvar G__16127__0 \x3d (function (){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11884_SHARP_,p2__11885_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__11884_SHARP_,(p2__11885_SHARP_.cljs$core$IFn$_invoke$arity$0 ? p2__11885_SHARP_.cljs$core$IFn$_invoke$arity$0() : p2__11885_SHARP_.call(null)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__16127__1 \x3d (function (x){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11886_SHARP_,p2__11887_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__11886_SHARP_,(p2__11887_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p2__11887_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p2__11887_SHARP_.call(null,x)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__16127__2 \x3d (function (x,y){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11888_SHARP_,p2__11889_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__11888_SHARP_,(p2__11889_SHARP_.cljs$core$IFn$_invoke$arity$2 ? p2__11889_SHARP_.cljs$core$IFn$_invoke$arity$2(x,y) : p2__11889_SHARP_.call(null,x,y)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__16127__3 \x3d (function (x,y,z){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11890_SHARP_,p2__11891_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__11890_SHARP_,(p2__11891_SHARP_.cljs$core$IFn$_invoke$arity$3 ? p2__11891_SHARP_.cljs$core$IFn$_invoke$arity$3(x,y,z) : p2__11891_SHARP_.call(null,x,y,z)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__16127__4 \x3d (function() { \nvar G__16130__delegate \x3d function (x,y,z,args){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__11892_SHARP_,p2__11893_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__11892_SHARP_,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(p2__11893_SHARP_,x,y,z,args));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n};\nvar G__16130 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__16131__i \x3d 0, G__16131__a \x3d new Array(arguments.length - 3);\nwhile (G__16131__i \x3c G__16131__a.length) {G__16131__a[G__16131__i] \x3d arguments[G__16131__i + 3]; ++G__16131__i;}\n args \x3d new cljs.core.IndexedSeq(G__16131__a,0,null);\n} \nreturn G__16130__delegate.call(this,x,y,z,args);};\nG__16130.cljs$lang$maxFixedArity \x3d 3;\nG__16130.cljs$lang$applyTo \x3d (function (arglist__16132){\nvar x \x3d cljs.core.first(arglist__16132);\narglist__16132 \x3d cljs.core.next(arglist__16132);\nvar y \x3d cljs.core.first(arglist__16132);\narglist__16132 \x3d cljs.core.next(arglist__16132);\nvar z \x3d cljs.core.first(arglist__16132);\nvar args \x3d cljs.core.rest(arglist__16132);\nreturn G__16130__delegate(x,y,z,args);\n});\nG__16130.cljs$core$IFn$_invoke$arity$variadic \x3d G__16130__delegate;\nreturn G__16130;\n})()\n;\nG__16127 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__16127__0.call(this);\ncase 1:\nreturn G__16127__1.call(this,x);\ncase 2:\nreturn G__16127__2.call(this,x,y);\ncase 3:\nreturn G__16127__3.call(this,x,y,z);\ndefault:\nvar G__16133 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__16134__i \x3d 0, G__16134__a \x3d new Array(arguments.length - 3);\nwhile (G__16134__i \x3c G__16134__a.length) {G__16134__a[G__16134__i] \x3d arguments[G__16134__i + 3]; ++G__16134__i;}\nG__16133 \x3d new cljs.core.IndexedSeq(G__16134__a,0,null);\n}\nreturn G__16127__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__16133);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16127.cljs$lang$maxFixedArity \x3d 3;\nG__16127.cljs$lang$applyTo \x3d G__16127__4.cljs$lang$applyTo;\nG__16127.cljs$core$IFn$_invoke$arity$0 \x3d G__16127__0;\nG__16127.cljs$core$IFn$_invoke$arity$1 \x3d G__16127__1;\nG__16127.cljs$core$IFn$_invoke$arity$2 \x3d G__16127__2;\nG__16127.cljs$core$IFn$_invoke$arity$3 \x3d G__16127__3;\nG__16127.cljs$core$IFn$_invoke$arity$variadic \x3d G__16127__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__16127;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.juxt.cljs$lang$applyTo \x3d (function (seq11895){\nvar G__11896 \x3d cljs.core.first(seq11895);\nvar seq11895__$1 \x3d cljs.core.next(seq11895);\nvar G__11897 \x3d cljs.core.first(seq11895__$1);\nvar seq11895__$2 \x3d cljs.core.next(seq11895__$1);\nvar G__11898 \x3d cljs.core.first(seq11895__$2);\nvar seq11895__$3 \x3d cljs.core.next(seq11895__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11896,G__11897,G__11898,seq11895__$3);\n}));\n\n(cljs.core.juxt.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * When lazy sequences are produced via functions that have side\n * effects, any effects other than those needed to produce the first\n * element in the seq do not occur until the seq is consumed. dorun can\n * be used to force any effects. Walks through the successive nexts of\n * the seq, does not retain the head and returns nil.\n */\ncljs.core.dorun \x3d (function cljs$core$dorun(var_args){\nvar G__11901 \x3d arguments.length;\nswitch (G__11901) {\ncase 1:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(coll);\nif(temp__5804__auto__){\nvar s \x3d temp__5804__auto__;\nvar G__16139 \x3d cljs.core.next(s);\ncoll \x3d G__16139;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nwhile(true){\nif(((cljs.core.seq(coll)) \x26\x26 ((n \x3e (0))))){\nvar G__16140 \x3d (n - (1));\nvar G__16141 \x3d cljs.core.next(coll);\nn \x3d G__16140;\ncoll \x3d G__16141;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * When lazy sequences are produced via functions that have side\n * effects, any effects other than those needed to produce the first\n * element in the seq do not occur until the seq is consumed. doall can\n * be used to force any effects. Walks through the successive nexts of\n * the seq, retains the head and returns it, thus causing the entire\n * seq to reside in memory at one time.\n */\ncljs.core.doall \x3d (function cljs$core$doall(var_args){\nvar G__11903 \x3d arguments.length;\nswitch (G__11903) {\ncase 1:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$1(coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$2(n,coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns true if x is a JavaScript RegExp instance.\n */\ncljs.core.regexp_QMARK_ \x3d (function cljs$core$regexp_QMARK_(x){\nreturn (x instanceof RegExp);\n});\n/**\n * Returns the result of (re-find re s) if re fully matches s.\n */\ncljs.core.re_matches \x3d (function cljs$core$re_matches(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((((!((matches \x3d\x3d null)))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((matches[(0)]),s)))){\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n} else {\nreturn null;\n}\n} else {\nthrow (new TypeError(\x22re-matches must match against a string.\x22));\n}\n});\n/**\n * Returns the first regex match, if any, of s to re, using\n * re.exec(s). Returns a vector, containing first the matching\n * substring, then any capturing groups if the regular expression contains\n * capturing groups.\n */\ncljs.core.re_find \x3d (function cljs$core$re_find(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((matches \x3d\x3d null)){\nreturn null;\n} else {\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n}\n} else {\nthrow (new TypeError(\x22re-find must match against a string.\x22));\n}\n});\ncljs.core.re_seq_STAR_ \x3d (function cljs$core$re_seq_STAR_(re,s){\nvar temp__5808__auto__ \x3d re.exec(s);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar matches \x3d temp__5808__auto__;\nvar match_str \x3d (matches[(0)]);\nvar match_vals \x3d (((matches.length \x3d\x3d\x3d (1)))?match_str:cljs.core.vec(matches));\nreturn cljs.core.cons(match_vals,(new cljs.core.LazySeq(null,(function (){\nvar post_idx \x3d (matches.index + (function (){var x__5130__auto__ \x3d (1);\nvar y__5131__auto__ \x3d match_str.length;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})());\nif((post_idx \x3c\x3d s.length)){\nvar G__11904 \x3d re;\nvar G__11905 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,post_idx);\nreturn (cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2 ? cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2(G__11904,G__11905) : cljs.core.re_seq_STAR_.call(null,G__11904,G__11905));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n});\n/**\n * Returns a lazy sequence of successive matches of re in s.\n */\ncljs.core.re_seq \x3d (function cljs$core$re_seq(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.re_seq_STAR_(re,s);\n} else {\nthrow (new TypeError(\x22re-seq must match against a string.\x22));\n}\n});\n/**\n * Returns an instance of RegExp which has compiled the provided string.\n */\ncljs.core.re_pattern \x3d (function cljs$core$re_pattern(s){\nif((s instanceof RegExp)){\nreturn s;\n} else {\nvar vec__11906 \x3d cljs.core.re_find(/^\\(\\?([idmsux]*)\\)/,s);\nvar prefix \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11906,(0),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11906,(1),null);\nvar pattern \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(((prefix \x3d\x3d null))?(0):((prefix).length)));\nreturn (new RegExp(pattern,(function (){var or__5045__auto__ \x3d flags;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22\x22;\n}\n})()));\n}\n});\ncljs.core.pr_sequential_writer \x3d (function cljs$core$pr_sequential_writer(writer,print_one,begin,sep,end,opts,coll){\nvar _STAR_print_level_STAR__orig_val__11909 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__11910 \x3d (((cljs.core._STAR_print_level_STAR_ \x3d\x3d null))?null:(cljs.core._STAR_print_level_STAR_ - (1)));\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__11910);\n\ntry{if((((!((cljs.core._STAR_print_level_STAR_ \x3d\x3d null)))) \x26\x26 ((cljs.core._STAR_print_level_STAR_ \x3c (0))))){\nreturn cljs.core._write(writer,\x22#\x22);\n} else {\ncljs.core._write(writer,begin);\n\nif((new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\ncljs.core._write(writer,(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n} else {\nif(cljs.core.seq(coll)){\nvar G__11911_16145 \x3d cljs.core.first(coll);\nvar G__11912_16146 \x3d writer;\nvar G__11913_16147 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__11911_16145,G__11912_16146,G__11913_16147) : print_one.call(null,G__11911_16145,G__11912_16146,G__11913_16147));\n} else {\n}\n\nvar coll_16148__$1 \x3d cljs.core.next(coll);\nvar n_16149 \x3d (new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) - (1));\nwhile(true){\nif(((coll_16148__$1) \x26\x26 ((((n_16149 \x3d\x3d null)) || ((!((n_16149 \x3d\x3d\x3d (0))))))))){\ncljs.core._write(writer,sep);\n\nvar G__11914_16150 \x3d cljs.core.first(coll_16148__$1);\nvar G__11915_16151 \x3d writer;\nvar G__11916_16152 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__11914_16150,G__11915_16151,G__11916_16152) : print_one.call(null,G__11914_16150,G__11915_16151,G__11916_16152));\n\nvar G__16153 \x3d cljs.core.next(coll_16148__$1);\nvar G__16154 \x3d (n_16149 - (1));\ncoll_16148__$1 \x3d G__16153;\nn_16149 \x3d G__16154;\ncontinue;\n} else {\nif(((cljs.core.seq(coll_16148__$1)) \x26\x26 ((n_16149 \x3d\x3d\x3d (0))))){\ncljs.core._write(writer,sep);\n\ncljs.core._write(writer,(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n}\nbreak;\n}\n}\n\nreturn cljs.core._write(writer,end);\n}\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__11909);\n}});\ncljs.core.write_all \x3d (function cljs$core$write_all(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16155 \x3d arguments.length;\nvar i__5770__auto___16156 \x3d (0);\nwhile(true){\nif((i__5770__auto___16156 \x3c len__5769__auto___16155)){\nargs__5775__auto__.push((arguments[i__5770__auto___16156]));\n\nvar G__16157 \x3d (i__5770__auto___16156 + (1));\ni__5770__auto___16156 \x3d G__16157;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,ss){\nvar seq__11919 \x3d cljs.core.seq(ss);\nvar chunk__11920 \x3d null;\nvar count__11921 \x3d (0);\nvar i__11922 \x3d (0);\nwhile(true){\nif((i__11922 \x3c count__11921)){\nvar s \x3d chunk__11920.cljs$core$IIndexed$_nth$arity$2(null,i__11922);\ncljs.core._write(writer,s);\n\n\nvar G__16160 \x3d seq__11919;\nvar G__16161 \x3d chunk__11920;\nvar G__16162 \x3d count__11921;\nvar G__16163 \x3d (i__11922 + (1));\nseq__11919 \x3d G__16160;\nchunk__11920 \x3d G__16161;\ncount__11921 \x3d G__16162;\ni__11922 \x3d G__16163;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__11919);\nif(temp__5804__auto__){\nvar seq__11919__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__11919__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__11919__$1);\nvar G__16165 \x3d cljs.core.chunk_rest(seq__11919__$1);\nvar G__16166 \x3d c__5568__auto__;\nvar G__16167 \x3d cljs.core.count(c__5568__auto__);\nvar G__16168 \x3d (0);\nseq__11919 \x3d G__16165;\nchunk__11920 \x3d G__16166;\ncount__11921 \x3d G__16167;\ni__11922 \x3d G__16168;\ncontinue;\n} else {\nvar s \x3d cljs.core.first(seq__11919__$1);\ncljs.core._write(writer,s);\n\n\nvar G__16169 \x3d cljs.core.next(seq__11919__$1);\nvar G__16170 \x3d null;\nvar G__16171 \x3d (0);\nvar G__16172 \x3d (0);\nseq__11919 \x3d G__16169;\nchunk__11920 \x3d G__16170;\ncount__11921 \x3d G__16171;\ni__11922 \x3d G__16172;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.write_all.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.write_all.cljs$lang$applyTo \x3d (function (seq11917){\nvar G__11918 \x3d cljs.core.first(seq11917);\nvar seq11917__$1 \x3d cljs.core.next(seq11917);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11918,seq11917__$1);\n}));\n\ncljs.core.string_print \x3d (function cljs$core$string_print(x){\nif((cljs.core._STAR_print_fn_STAR_ \x3d\x3d null)){\nthrow (new Error(\x22No *print-fn* fn set for evaluation environment\x22));\n} else {\n}\n\ncljs.core._STAR_print_fn_STAR_.call(null,x);\n\nreturn null;\n});\ncljs.core.flush \x3d (function cljs$core$flush(){\nreturn null;\n});\ncljs.core.char_escapes \x3d (function (){var obj11924 \x3d ({\x22\\\x22\x22:\x22\\\\\\\x22\x22,\x22\\\\\x22:\x22\\\\\\\\\x22,\x22\\b\x22:\x22\\\\b\x22,\x22\\f\x22:\x22\\\\f\x22,\x22\\n\x22:\x22\\\\n\x22,\x22\\r\x22:\x22\\\\r\x22,\x22\\t\x22:\x22\\\\t\x22});\nreturn obj11924;\n})();\ncljs.core.quote_string \x3d (function cljs$core$quote_string(s){\nreturn [\x22\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(s.replace(RegExp(\x22[\\\\\\\\\\\x22\\b\\f\\n\\r\\t]\x22,\x22g\x22),(function (match){\nreturn (cljs.core.char_escapes[match]);\n}))),\x22\\\x22\x22].join(\x27\x27);\n});\ncljs.core.print_meta_QMARK_ \x3d (function cljs$core$print_meta_QMARK_(opts,obj){\nvar and__5043__auto__ \x3d cljs.core.boolean$(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964)));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d (((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IMeta$))))?true:false):false);\nif(and__5043__auto____$1){\nreturn (!((cljs.core.meta(obj) \x3d\x3d null)));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n});\ncljs.core.pr_writer_impl \x3d (function cljs$core$pr_writer_impl(obj,writer,opts){\nif((obj \x3d\x3d null)){\nreturn cljs.core._write(writer,\x22nil\x22);\n} else {\nif(cljs.core.print_meta_QMARK_(opts,obj)){\ncljs.core._write(writer,\x22^\x22);\n\nvar G__11926_16177 \x3d cljs.core.meta(obj);\nvar G__11927_16178 \x3d writer;\nvar G__11928_16179 \x3d opts;\n(cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3(G__11926_16177,G__11927_16178,G__11928_16179) : cljs.core.pr_writer.call(null,G__11926_16177,G__11927_16178,G__11928_16179));\n\ncljs.core._write(writer,\x22 \x22);\n} else {\n}\n\nif(obj.cljs$lang$type){\nreturn obj.cljs$lang$ctorPrWriter(obj,writer,opts);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IPrintWithWriter$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj))){\nreturn cljs.core._pr_writer(obj,writer,opts);\n} else {\nif(((obj \x3d\x3d\x3d true) || (obj \x3d\x3d\x3d false))){\nreturn cljs.core._write(writer,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj));\n} else {\nif(typeof obj \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core._write(writer,((isNaN(obj))?\x22##NaN\x22:(((obj \x3d\x3d\x3d Number.POSITIVE_INFINITY))?\x22##Inf\x22:(((obj \x3d\x3d\x3d Number.NEGATIVE_INFINITY))?\x22##-Inf\x22:cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj)\n))));\n} else {\nif(cljs.core.object_QMARK_(obj)){\ncljs.core._write(writer,\x22#js \x22);\n\nvar G__11930 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn (new cljs.core.MapEntry((function (){var G__11934 \x3d k;\nif((!((cljs.core.re_matches(/[A-Za-z_\\*\\+\\?!\\-\x27][\\w\\*\\+\\?!\\-\x27]*/,k) \x3d\x3d null)))){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__11934);\n} else {\nreturn G__11934;\n}\n})(),(obj[k]),null));\n}),cljs.core.js_keys(obj));\nvar G__11931 \x3d cljs.core.pr_writer;\nvar G__11932 \x3d writer;\nvar G__11933 \x3d opts;\nreturn (cljs.core.print_map.cljs$core$IFn$_invoke$arity$4 ? cljs.core.print_map.cljs$core$IFn$_invoke$arity$4(G__11930,G__11931,G__11932,G__11933) : cljs.core.print_map.call(null,G__11930,G__11931,G__11932,G__11933));\n} else {\nif(cljs.core.array_QMARK_(obj)){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#js [\x22,\x22 \x22,\x22]\x22,opts,obj);\n} else {\nif(typeof obj \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$1(opts))){\nreturn cljs.core._write(writer,cljs.core.quote_string(obj));\n} else {\nreturn cljs.core._write(writer,obj);\n}\n} else {\nif(typeof obj \x3d\x3d\x3d \x27function\x27){\nvar name \x3d obj.name;\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (name \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Function\x22:name);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,(cljs.core.truth_(cljs.core._STAR_print_fn_bodies_STAR_)?[\x22 \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22\\\x22\x22].join(\x27\x27):\x22\x22),\x22]\x22], 0));\n} else {\nif((obj instanceof Date)){\nvar normalize \x3d (function (n,len){\nvar ns \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(n);\nwhile(true){\nif((((ns).length) \x3c len)){\nvar G__16180 \x3d [\x220\x22,ns].join(\x27\x27);\nns \x3d G__16180;\ncontinue;\n} else {\nreturn ns;\n}\nbreak;\n}\n});\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#inst \\\x22\x22,normalize(obj.getUTCFullYear(),(4)),\x22-\x22,normalize((obj.getUTCMonth() + (1)),(2)),\x22-\x22,normalize(obj.getUTCDate(),(2)),\x22T\x22,normalize(obj.getUTCHours(),(2)),\x22:\x22,normalize(obj.getUTCMinutes(),(2)),\x22:\x22,normalize(obj.getUTCSeconds(),(2)),\x22.\x22,normalize(obj.getUTCMilliseconds(),(3)),\x22-\x22,\x2200:00\\\x22\x22], 0));\n} else {\nif(cljs.core.regexp_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#\\\x22\x22,obj.source,\x22\\\x22\x22], 0));\n} else {\nif(cljs.core.js_symbol_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.toString(),\x22]\x22], 0));\n} else {\nif(cljs.core.truth_((function (){var G__11935 \x3d obj;\nvar G__11935__$1 \x3d (((G__11935 \x3d\x3d null))?null:G__11935.constructor);\nif((G__11935__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__11935__$1.cljs$lang$ctorStr;\n}\n})())){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.constructor.cljs$lang$ctorStr.replace((new RegExp(\x22/\x22,\x22g\x22)),\x22.\x22),\x22]\x22], 0));\n} else {\nvar name \x3d (function (){var G__11936 \x3d obj;\nvar G__11936__$1 \x3d (((G__11936 \x3d\x3d null))?null:G__11936.constructor);\nif((G__11936__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__11936__$1.name;\n}\n})();\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (name \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Object\x22:name);\nif((obj.constructor \x3d\x3d null)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22]\x22], 0));\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22]\x22], 0));\n}\n}\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n\n}\n});\n/**\n * Prefer this to pr-seq, because it makes the printing function\n * configurable, allowing efficient implementations such as appending\n * to a StringBuffer.\n */\ncljs.core.pr_writer \x3d (function cljs$core$pr_writer(obj,writer,opts){\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22alt-impl\x22,\x22alt-impl\x22,670969595).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar alt_impl \x3d temp__5802__auto__;\nvar G__11937 \x3d obj;\nvar G__11938 \x3d writer;\nvar G__11939 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22fallback-impl\x22,\x22fallback-impl\x22,-1501286995),cljs.core.pr_writer_impl);\nreturn (alt_impl.cljs$core$IFn$_invoke$arity$3 ? alt_impl.cljs$core$IFn$_invoke$arity$3(G__11937,G__11938,G__11939) : alt_impl.call(null,G__11937,G__11938,G__11939));\n} else {\nreturn cljs.core.pr_writer_impl(obj,writer,opts);\n}\n});\ncljs.core.pr_seq_writer \x3d (function cljs$core$pr_seq_writer(objs,writer,opts){\ncljs.core.pr_writer(cljs.core.first(objs),writer,opts);\n\nvar seq__11940 \x3d cljs.core.seq(cljs.core.next(objs));\nvar chunk__11941 \x3d null;\nvar count__11942 \x3d (0);\nvar i__11943 \x3d (0);\nwhile(true){\nif((i__11943 \x3c count__11942)){\nvar obj \x3d chunk__11941.cljs$core$IIndexed$_nth$arity$2(null,i__11943);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__16181 \x3d seq__11940;\nvar G__16182 \x3d chunk__11941;\nvar G__16183 \x3d count__11942;\nvar G__16184 \x3d (i__11943 + (1));\nseq__11940 \x3d G__16181;\nchunk__11941 \x3d G__16182;\ncount__11942 \x3d G__16183;\ni__11943 \x3d G__16184;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__11940);\nif(temp__5804__auto__){\nvar seq__11940__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__11940__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__11940__$1);\nvar G__16186 \x3d cljs.core.chunk_rest(seq__11940__$1);\nvar G__16187 \x3d c__5568__auto__;\nvar G__16188 \x3d cljs.core.count(c__5568__auto__);\nvar G__16189 \x3d (0);\nseq__11940 \x3d G__16186;\nchunk__11941 \x3d G__16187;\ncount__11942 \x3d G__16188;\ni__11943 \x3d G__16189;\ncontinue;\n} else {\nvar obj \x3d cljs.core.first(seq__11940__$1);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__16190 \x3d cljs.core.next(seq__11940__$1);\nvar G__16191 \x3d null;\nvar G__16192 \x3d (0);\nvar G__16193 \x3d (0);\nseq__11940 \x3d G__16190;\nchunk__11941 \x3d G__16191;\ncount__11942 \x3d G__16192;\ni__11943 \x3d G__16193;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.core.pr_sb_with_opts \x3d (function cljs$core$pr_sb_with_opts(objs,opts){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\ncljs.core.pr_seq_writer(objs,writer,opts);\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn sb;\n});\n/**\n * Prints a sequence of objects to a string, observing all the\n * options given in opts\n */\ncljs.core.pr_str_with_opts \x3d (function cljs$core$pr_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\x22;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_sb_with_opts(objs,opts));\n}\n});\n/**\n * Same as pr-str-with-opts followed by (newline)\n */\ncljs.core.prn_str_with_opts \x3d (function cljs$core$prn_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\\n\x22;\n} else {\nvar sb \x3d cljs.core.pr_sb_with_opts(objs,opts);\nsb.append(\x22\\n\x22);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n}\n});\n/**\n * Prints a sequence of objects using string-print, observing all\n * the options given in opts\n */\ncljs.core.pr_with_opts \x3d (function cljs$core$pr_with_opts(objs,opts){\nreturn cljs.core.string_print(cljs.core.pr_str_with_opts(objs,opts));\n});\n/**\n * Prints a newline using *print-fn*\n */\ncljs.core.newline \x3d (function cljs$core$newline(var_args){\nvar G__11945 \x3d arguments.length;\nswitch (G__11945) {\ncase 0:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$1 \x3d (function (opts){\ncljs.core.string_print(\x22\\n\x22);\n\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939)))){\nreturn cljs.core.flush();\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.newline.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * pr to a string, returning it. Fundamental entrypoint to IPrintWithWriter.\n */\ncljs.core.pr_str \x3d (function cljs$core$pr_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16199 \x3d arguments.length;\nvar i__5770__auto___16200 \x3d (0);\nwhile(true){\nif((i__5770__auto___16200 \x3c len__5769__auto___16199)){\nargs__5775__auto__.push((arguments[i__5770__auto___16200]));\n\nvar G__16201 \x3d (i__5770__auto___16200 + (1));\ni__5770__auto___16200 \x3d G__16201;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr_str.cljs$lang$applyTo \x3d (function (seq11946){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11946));\n}));\n\n/**\n * Same as pr-str followed by (newline)\n */\ncljs.core.prn_str \x3d (function cljs$core$prn_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16205 \x3d arguments.length;\nvar i__5770__auto___16206 \x3d (0);\nwhile(true){\nif((i__5770__auto___16206 \x3c len__5769__auto___16205)){\nargs__5775__auto__.push((arguments[i__5770__auto___16206]));\n\nvar G__16207 \x3d (i__5770__auto___16206 + (1));\ni__5770__auto___16206 \x3d G__16207;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.prn_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn_str.cljs$lang$applyTo \x3d (function (seq11947){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11947));\n}));\n\n/**\n * Prints the object(s) using string-print. Prints the\n * object(s), separated by spaces if there is more than one.\n * By default, pr and prn print in a way that objects can be\n * read by the reader\n */\ncljs.core.pr \x3d (function cljs$core$pr(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16209 \x3d arguments.length;\nvar i__5770__auto___16210 \x3d (0);\nwhile(true){\nif((i__5770__auto___16210 \x3c len__5769__auto___16209)){\nargs__5775__auto__.push((arguments[i__5770__auto___16210]));\n\nvar G__16211 \x3d (i__5770__auto___16210 + (1));\ni__5770__auto___16210 \x3d G__16211;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr.cljs$lang$applyTo \x3d (function (seq11948){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11948));\n}));\n\n/**\n * Prints the object(s) using string-print.\n * print and println produce output for human consumption.\n * @param {...*} var_args\n */\ncljs.core.print \x3d (function() { \nvar cljs$core$cljs_core_print__delegate \x3d function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n};\nvar cljs$core$cljs_core_print \x3d function (var_args){\nvar objs \x3d null;\nif (arguments.length \x3e 0) {\nvar G__16213__i \x3d 0, G__16213__a \x3d new Array(arguments.length - 0);\nwhile (G__16213__i \x3c G__16213__a.length) {G__16213__a[G__16213__i] \x3d arguments[G__16213__i + 0]; ++G__16213__i;}\n objs \x3d new cljs.core.IndexedSeq(G__16213__a,0,null);\n} \nreturn cljs$core$cljs_core_print__delegate.call(this,objs);};\ncljs$core$cljs_core_print.cljs$lang$maxFixedArity \x3d 0;\ncljs$core$cljs_core_print.cljs$lang$applyTo \x3d (function (arglist__16215){\nvar objs \x3d cljs.core.seq(arglist__16215);\nreturn cljs$core$cljs_core_print__delegate(objs);\n});\ncljs$core$cljs_core_print.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$cljs_core_print__delegate;\nreturn cljs$core$cljs_core_print;\n})()\n;\n/**\n * print to a string, returning it\n */\ncljs.core.print_str \x3d (function cljs$core$print_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16216 \x3d arguments.length;\nvar i__5770__auto___16217 \x3d (0);\nwhile(true){\nif((i__5770__auto___16217 \x3c len__5769__auto___16216)){\nargs__5775__auto__.push((arguments[i__5770__auto___16217]));\n\nvar G__16219 \x3d (i__5770__auto___16217 + (1));\ni__5770__auto___16217 \x3d G__16219;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.print_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.print_str.cljs$lang$applyTo \x3d (function (seq11949){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11949));\n}));\n\n/**\n * Same as print followed by (newline)\n */\ncljs.core.println \x3d (function cljs$core$println(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16220 \x3d arguments.length;\nvar i__5770__auto___16221 \x3d (0);\nwhile(true){\nif((i__5770__auto___16221 \x3c len__5769__auto___16220)){\nargs__5775__auto__.push((arguments[i__5770__auto___16221]));\n\nvar G__16222 \x3d (i__5770__auto___16221 + (1));\ni__5770__auto___16221 \x3d G__16222;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println.cljs$lang$applyTo \x3d (function (seq11950){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11950));\n}));\n\n/**\n * println to a string, returning it\n */\ncljs.core.println_str \x3d (function cljs$core$println_str(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16223 \x3d arguments.length;\nvar i__5770__auto___16224 \x3d (0);\nwhile(true){\nif((i__5770__auto___16224 \x3c len__5769__auto___16223)){\nargs__5775__auto__.push((arguments[i__5770__auto___16224]));\n\nvar G__16225 \x3d (i__5770__auto___16224 + (1));\ni__5770__auto___16224 \x3d G__16225;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.println_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println_str.cljs$lang$applyTo \x3d (function (seq11951){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11951));\n}));\n\n/**\n * Same as pr followed by (newline).\n */\ncljs.core.prn \x3d (function cljs$core$prn(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16226 \x3d arguments.length;\nvar i__5770__auto___16227 \x3d (0);\nwhile(true){\nif((i__5770__auto___16227 \x3c len__5769__auto___16226)){\nargs__5775__auto__.push((arguments[i__5770__auto___16227]));\n\nvar G__16228 \x3d (i__5770__auto___16227 + (1));\ni__5770__auto___16227 \x3d G__16228;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn.cljs$lang$applyTo \x3d (function (seq11952){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq11952));\n}));\n\ncljs.core.strip_ns \x3d (function cljs$core$strip_ns(named){\nif((named instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n}\n});\n/**\n * Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\n */\ncljs.core.lift_ns \x3d (function cljs$core$lift_ns(m){\nif(cljs.core.truth_(cljs.core._STAR_print_namespace_maps_STAR_)){\nvar ns \x3d null;\nvar G__11959 \x3d cljs.core.seq(m);\nvar vec__11960 \x3d G__11959;\nvar seq__11961 \x3d cljs.core.seq(vec__11960);\nvar first__11962 \x3d cljs.core.first(seq__11961);\nvar seq__11961__$1 \x3d cljs.core.next(seq__11961);\nvar vec__11963 \x3d first__11962;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11963,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11963,(1),null);\nvar entry \x3d vec__11963;\nvar entries \x3d seq__11961__$1;\nvar lm \x3d cljs.core.empty(m);\nvar ns__$1 \x3d ns;\nvar G__11959__$1 \x3d G__11959;\nvar lm__$1 \x3d lm;\nwhile(true){\nvar ns__$2 \x3d ns__$1;\nvar vec__11972 \x3d G__11959__$1;\nvar seq__11973 \x3d cljs.core.seq(vec__11972);\nvar first__11974 \x3d cljs.core.first(seq__11973);\nvar seq__11973__$1 \x3d cljs.core.next(seq__11973);\nvar vec__11975 \x3d first__11974;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11975,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11975,(1),null);\nvar entry__$1 \x3d vec__11975;\nvar entries__$1 \x3d seq__11973__$1;\nvar lm__$2 \x3d lm__$1;\nif(cljs.core.truth_(entry__$1)){\nif((((k__$1 instanceof cljs.core.Keyword)) || ((k__$1 instanceof cljs.core.Symbol)))){\nif(cljs.core.truth_(ns__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ns__$2,cljs.core.namespace(k__$1))){\nvar G__16229 \x3d ns__$2;\nvar G__16230 \x3d entries__$1;\nvar G__16231 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__16229;\nG__11959__$1 \x3d G__16230;\nlm__$1 \x3d G__16231;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.namespace(k__$1);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar new_ns \x3d temp__5804__auto__;\nvar G__16232 \x3d new_ns;\nvar G__16233 \x3d entries__$1;\nvar G__16234 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__16232;\nG__11959__$1 \x3d G__16233;\nlm__$1 \x3d G__16234;\ncontinue;\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns__$2,lm__$2], null);\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\ncljs.core.print_prefix_map \x3d (function cljs$core$print_prefix_map(prefix,m,print_one,writer,opts){\nreturn cljs.core.pr_sequential_writer(writer,(function (e,w,opts__$1){\nvar G__11978_16235 \x3d cljs.core.key(e);\nvar G__11979_16236 \x3d w;\nvar G__11980_16237 \x3d opts__$1;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__11978_16235,G__11979_16236,G__11980_16237) : print_one.call(null,G__11978_16235,G__11979_16236,G__11980_16237));\n\ncljs.core._write(w,\x22 \x22);\n\nvar G__11981 \x3d cljs.core.val(e);\nvar G__11982 \x3d w;\nvar G__11983 \x3d opts__$1;\nreturn (print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__11981,G__11982,G__11983) : print_one.call(null,G__11981,G__11982,G__11983));\n}),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22{\x22].join(\x27\x27),\x22, \x22,\x22}\x22,opts,cljs.core.seq(m));\n});\ncljs.core.print_map \x3d (function cljs$core$print_map(m,print_one,writer,opts){\nvar vec__11984 \x3d ((cljs.core.map_QMARK_(m))?cljs.core.lift_ns(m):null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11984,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__11984,(1),null);\nif(cljs.core.truth_(ns)){\nreturn cljs.core.print_prefix_map([\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join(\x27\x27),lift_map,print_one,writer,opts);\n} else {\nreturn cljs.core.print_prefix_map(null,m,print_one,writer,opts);\n}\n});\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Volatile \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#\x27\x22);\n\nreturn cljs.core.pr_writer(a__$1.sym,writer,opts);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Atom \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core._write(writer,\x22()\x22);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#queue [\x22,\x22 \x22,\x22]\x22,opts,cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n(cljs.core.Symbol.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Symbol)){\nreturn cljs.core.compare_symbols(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Keyword)){\nreturn cljs.core.compare_keywords(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n/**\n * Atomically sets the metadata for a namespace/var/ref/agent/atom to be:\n * \n * (apply f its-current-meta args)\n * \n * f must be free of side-effects\n */\ncljs.core.alter_meta_BANG_ \x3d (function cljs$core$alter_meta_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16291 \x3d arguments.length;\nvar i__5770__auto___16292 \x3d (0);\nwhile(true){\nif((i__5770__auto___16292 \x3c len__5769__auto___16291)){\nargs__5775__auto__.push((arguments[i__5770__auto___16292]));\n\nvar G__16293 \x3d (i__5770__auto___16292 + (1));\ni__5770__auto___16292 \x3d G__16293;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (iref,f,args){\nreturn (iref.meta \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,iref.meta,args));\n}));\n\n(cljs.core.alter_meta_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.alter_meta_BANG_.cljs$lang$applyTo \x3d (function (seq11987){\nvar G__11988 \x3d cljs.core.first(seq11987);\nvar seq11987__$1 \x3d cljs.core.next(seq11987);\nvar G__11989 \x3d cljs.core.first(seq11987__$1);\nvar seq11987__$2 \x3d cljs.core.next(seq11987__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__11988,G__11989,seq11987__$2);\n}));\n\n/**\n * Atomically resets the metadata for an atom\n */\ncljs.core.reset_meta_BANG_ \x3d (function cljs$core$reset_meta_BANG_(iref,m){\nreturn (iref.meta \x3d m);\n});\n/**\n * Adds a watch function to an atom reference. The watch fn must be a\n * fn of 4 args: a key, the reference, its old-state, its\n * new-state. Whenever the reference\x27s state might have been changed,\n * any registered watches will have their functions called. The watch\n * fn will be called synchronously. Note that an atom\x27s state\n * may have changed again prior to the fn call, so use old/new-state\n * rather than derefing the reference. Keys must be unique per\n * reference, and can be used to remove the watch with remove-watch,\n * but are otherwise considered opaque by the watch mechanism. Bear in\n * mind that regardless of the result or action of the watch fns the\n * atom\x27s value will change. Example:\n * \n * (def a (atom 0))\n * (add-watch a :inc (fn [k r o n] (assert (\x3d\x3d 0 n))))\n * (swap! a inc)\n * ;; Assertion Error\n * (deref a)\n * ;\x3d\x3e 1\n */\ncljs.core.add_watch \x3d (function cljs$core$add_watch(iref,key,f){\ncljs.core._add_watch(iref,key,f);\n\nreturn iref;\n});\n/**\n * Removes a watch (set by add-watch) from a reference\n */\ncljs.core.remove_watch \x3d (function cljs$core$remove_watch(iref,key){\ncljs.core._remove_watch(iref,key);\n\nreturn iref;\n});\n/**\n * @type {*}\n */\ncljs.core.gensym_counter \x3d null;\n/**\n * Returns a new symbol with a unique name. If a prefix string is\n * supplied, the name is prefix# where # is some unique number. If\n * prefix is not supplied, the prefix is \x27G__\x27.\n */\ncljs.core.gensym \x3d (function cljs$core$gensym(var_args){\nvar G__11991 \x3d arguments.length;\nswitch (G__11991) {\ncase 0:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22G__\x22);\n}));\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1 \x3d (function (prefix_string){\nif((cljs.core.gensym_counter \x3d\x3d null)){\n(cljs.core.gensym_counter \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)));\n} else {\n}\n\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix_string),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.gensym_counter,cljs.core.inc))].join(\x27\x27));\n}));\n\n(cljs.core.gensym.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Delay \x3d (function (f,value){\nthis.f \x3d f;\nthis.value \x3d value;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2147516416;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Delay.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.f)){\n(self__.value \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null)));\n\n(self__.f \x3d null);\n} else {\n}\n\nreturn self__.value;\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (x){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\nreturn cljs.core.not(self__.f);\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (x,writer,opts){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Delay \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22status\x22,\x22status\x22,-1997798413),(((self__.f \x3d\x3d null))?new cljs.core.Keyword(null,\x22ready\x22,\x22ready\x22,1086465795):new cljs.core.Keyword(null,\x22pending\x22,\x22pending\x22,-220036727)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),self__.value], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Delay.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Delay.cljs$lang$type \x3d true);\n\n(cljs.core.Delay.cljs$lang$ctorStr \x3d \x22cljs.core/Delay\x22);\n\n(cljs.core.Delay.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Delay\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Delay.\n */\ncljs.core.__GT_Delay \x3d (function cljs$core$__GT_Delay(f,value){\nreturn (new cljs.core.Delay(f,value));\n});\n\n/**\n * returns true if x is a Delay created with delay\n */\ncljs.core.delay_QMARK_ \x3d (function cljs$core$delay_QMARK_(x){\nreturn (x instanceof cljs.core.Delay);\n});\n/**\n * If x is a Delay, returns the (possibly cached) value of its expression, else returns x\n */\ncljs.core.force \x3d (function cljs$core$force(x){\nif(cljs.core.delay_QMARK_(x)){\nreturn cljs.core.deref(x);\n} else {\nreturn x;\n}\n});\n/**\n * Returns true if a value has been produced for a delay or lazy sequence.\n */\ncljs.core.realized_QMARK_ \x3d (function cljs$core$realized_QMARK_(x){\nreturn cljs.core._realized_QMARK_(x);\n});\ncljs.core.preserving_reduced \x3d (function cljs$core$preserving_reduced(rf){\nreturn (function (p1__11992_SHARP_,p2__11993_SHARP_){\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(p1__11992_SHARP_,p2__11993_SHARP_) : rf.call(null,p1__11992_SHARP_,p2__11993_SHARP_));\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.reduced(ret);\n} else {\nreturn ret;\n}\n});\n});\n/**\n * A transducer which concatenates the contents of each input, which must be a\n * collection, into the reduction.\n */\ncljs.core.cat \x3d (function cljs$core$cat(rf){\nvar rf1 \x3d cljs.core.preserving_reduced(rf);\nreturn (function() {\nvar G__16322 \x3d null;\nvar G__16322__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__16322__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__16322__2 \x3d (function (result,input){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(rf1,result,input);\n});\nG__16322 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__16322__0.call(this);\ncase 1:\nreturn G__16322__1.call(this,result);\ncase 2:\nreturn G__16322__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16322.cljs$core$IFn$_invoke$arity$0 \x3d G__16322__0;\nG__16322.cljs$core$IFn$_invoke$arity$1 \x3d G__16322__1;\nG__16322.cljs$core$IFn$_invoke$arity$2 \x3d G__16322__2;\nreturn G__16322;\n})()\n});\n/**\n * Returns a transducer that ends transduction when pred returns true\n * for an input. When retf is supplied it must be a fn of 2 arguments -\n * it will be passed the (completed) result so far and the input that\n * triggered the predicate, and its return value (if it does not throw\n * an exception) will be the return value of the transducer. If retf\n * is not supplied, the input that triggered the predicate will be\n * returned. If the predicate never returns true the transduction is\n * unaffected.\n */\ncljs.core.halt_when \x3d (function cljs$core$halt_when(var_args){\nvar G__11995 \x3d arguments.length;\nswitch (G__11995) {\ncase 1:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(pred,null);\n}));\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,retf){\nreturn (function (rf){\nreturn (function() {\nvar G__16324 \x3d null;\nvar G__16324__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__16324__1 \x3d (function (result){\nif(((cljs.core.map_QMARK_(result)) \x26\x26 (cljs.core.contains_QMARK_(result,new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715))))){\nreturn new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715).cljs$core$IFn$_invoke$arity$1(result);\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n}\n});\nvar G__16324__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn cljs.core.reduced(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715),(cljs.core.truth_(retf)?(function (){var G__11996 \x3d (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\nvar G__11997 \x3d input;\nreturn (retf.cljs$core$IFn$_invoke$arity$2 ? retf.cljs$core$IFn$_invoke$arity$2(G__11996,G__11997) : retf.call(null,G__11996,G__11997));\n})():input)], null));\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__16324 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__16324__0.call(this);\ncase 1:\nreturn G__16324__1.call(this,result);\ncase 2:\nreturn G__16324__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16324.cljs$core$IFn$_invoke$arity$0 \x3d G__16324__0;\nG__16324.cljs$core$IFn$_invoke$arity$1 \x3d G__16324__1;\nG__16324.cljs$core$IFn$_invoke$arity$2 \x3d G__16324__2;\nreturn G__16324;\n})()\n});\n}));\n\n(cljs.core.halt_when.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence removing consecutive duplicates in coll.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.dedupe \x3d (function cljs$core$dedupe(var_args){\nvar G__11999 \x3d arguments.length;\nswitch (G__11999) {\ncase 0:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__16326 \x3d null;\nvar G__16326__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__16326__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__16326__2 \x3d (function (result,input){\nvar prior \x3d cljs.core.deref(pa);\ncljs.core.vreset_BANG_(pa,input);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(prior,input)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__16326 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__16326__0.call(this);\ncase 1:\nreturn G__16326__1.call(this,result);\ncase 2:\nreturn G__16326__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16326.cljs$core$IFn$_invoke$arity$0 \x3d G__16326__0;\nG__16326.cljs$core$IFn$_invoke$arity$1 \x3d G__16326__1;\nG__16326.cljs$core$IFn$_invoke$arity$2 \x3d G__16326__2;\nreturn G__16326;\n})()\n});\n}));\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0(),coll);\n}));\n\n(cljs.core.dedupe.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns items from coll with random probability of prob (0.0 -\n * 1.0). Returns a transducer when no collection is provided.\n */\ncljs.core.random_sample \x3d (function cljs$core$random_sample(var_args){\nvar G__12001 \x3d arguments.length;\nswitch (G__12001) {\ncase 1:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1 \x3d (function (prob){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}));\n}));\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2 \x3d (function (prob,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}),coll);\n}));\n\n(cljs.core.random_sample.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Eduction \x3d (function (xform,coll){\nthis.xform \x3d xform;\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2173173760;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\n});\n(cljs.core.Eduction.prototype.indexOf \x3d (function() {\nvar G__16333 \x3d null;\nvar G__16333__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,(0));\n});\nvar G__16333__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__16333 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__16333__1.call(this,x);\ncase 2:\nreturn G__16333__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16333.cljs$core$IFn$_invoke$arity$1 \x3d G__16333__1;\nG__16333.cljs$core$IFn$_invoke$arity$2 \x3d G__16333__2;\nreturn G__16333;\n})()\n);\n\n(cljs.core.Eduction.prototype.lastIndexOf \x3d (function() {\nvar G__16335 \x3d null;\nvar G__16335__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,cljs.core.count(coll__$1));\n});\nvar G__16335__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__16335 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__16335__1.call(this,x);\ncase 2:\nreturn G__16335__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16335.cljs$core$IFn$_invoke$arity$1 \x3d G__16335__1;\nG__16335.cljs$core$IFn$_invoke$arity$2 \x3d G__16335__2;\nreturn G__16335;\n})()\n);\n\n(cljs.core.Eduction.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.TransformerIterator.create(self__.xform,cljs.core.iter(self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.seq(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(self__.xform,self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,f,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),init,self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll__$1,writer,opts){\nvar self__ \x3d this;\nvar coll__$2 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$2);\n}));\n\n(cljs.core.Eduction.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22xform\x22,\x22xform\x22,-85179481,null),new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(cljs.core.Eduction.cljs$lang$type \x3d true);\n\n(cljs.core.Eduction.cljs$lang$ctorStr \x3d \x22cljs.core/Eduction\x22);\n\n(cljs.core.Eduction.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Eduction\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Eduction.\n */\ncljs.core.__GT_Eduction \x3d (function cljs$core$__GT_Eduction(xform,coll){\nreturn (new cljs.core.Eduction(xform,coll));\n});\n\n(cljs.core.Eduction.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5698__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5698__auto__);\n}));\n/**\n * Returns a reducible/iterable application of the transducers\n * to the items in coll. Transducers are applied in order as if\n * combined with comp. Note that these applications will be\n * performed every time reduce/iterator is called.\n */\ncljs.core.eduction \x3d (function cljs$core$eduction(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16341 \x3d arguments.length;\nvar i__5770__auto___16342 \x3d (0);\nwhile(true){\nif((i__5770__auto___16342 \x3c len__5769__auto___16341)){\nargs__5775__auto__.push((arguments[i__5770__auto___16342]));\n\nvar G__16344 \x3d (i__5770__auto___16342 + (1));\ni__5770__auto___16342 \x3d G__16344;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xforms){\nreturn (new cljs.core.Eduction(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.butlast(xforms)),cljs.core.last(xforms)));\n}));\n\n(cljs.core.eduction.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.eduction.cljs$lang$applyTo \x3d (function (seq12002){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12002));\n}));\n\n/**\n * Runs the supplied procedure (via reduce), for purposes of side\n * effects, on successive items in the collection. Returns nil\n */\ncljs.core.run_BANG_ \x3d (function cljs$core$run_BANG_(proc,coll){\ncljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__12004_SHARP_,p2__12003_SHARP_){\nreturn (proc.cljs$core$IFn$_invoke$arity$1 ? proc.cljs$core$IFn$_invoke$arity$1(p2__12003_SHARP_) : proc.call(null,p2__12003_SHARP_));\n}),null,coll);\n\nreturn null;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.t_cljs$core12009 \x3d (function (step,p__12007,map__12008,somef,vf,kf,initk,meta12010){\nthis.step \x3d step;\nthis.p__12007 \x3d p__12007;\nthis.map__12008 \x3d map__12008;\nthis.somef \x3d somef;\nthis.vf \x3d vf;\nthis.kf \x3d kf;\nthis.initk \x3d initk;\nthis.meta12010 \x3d meta12010;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 9306112;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core12009.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_12011,meta12010__$1){\nvar self__ \x3d this;\nvar _12011__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core12009(self__.step,self__.p__12007,self__.map__12008,self__.somef,self__.vf,self__.kf,self__.initk,meta12010__$1));\n}));\n\n(cljs.core.t_cljs$core12009.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_12011){\nvar self__ \x3d this;\nvar _12011__$1 \x3d this;\nreturn self__.meta12010;\n}));\n\n(cljs.core.t_cljs$core12009.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (function cljs$core$next(ret){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nreturn cljs.core.cons((self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret)),(function (){var temp__5808__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar k \x3d temp__5808__auto__;\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$next((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k)));\n}),null,null));\n}\n})());\n} else {\nreturn null;\n}\n})((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk)));\n}));\n\n(cljs.core.t_cljs$core12009.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,rf,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar acc \x3d init;\nvar ret \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk));\nwhile(true){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nvar acc__$1 \x3d (function (){var G__12012 \x3d acc;\nvar G__12013 \x3d (self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__12012,G__12013) : rf.call(null,G__12012,G__12013));\n})();\nif(cljs.core.reduced_QMARK_(acc__$1)){\nreturn cljs.core.deref(acc__$1);\n} else {\nvar temp__5806__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5806__auto__ \x3d\x3d null)){\nreturn acc__$1;\n} else {\nvar k \x3d temp__5806__auto__;\nvar G__16350 \x3d acc__$1;\nvar G__16351 \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k));\nacc \x3d G__16350;\nret \x3d G__16351;\ncontinue;\n}\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.t_cljs$core12009.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22p__12007\x22,\x22p__12007\x22,-804139294,null),new cljs.core.Symbol(null,\x22map__12008\x22,\x22map__12008\x22,-1952682026,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),new cljs.core.Symbol(null,\x22meta12010\x22,\x22meta12010\x22,2073975473,null)], null);\n}));\n\n(cljs.core.t_cljs$core12009.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core12009.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core12009\x22);\n\n(cljs.core.t_cljs$core12009.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/t_cljs$core12009\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core12009.\n */\ncljs.core.__GT_t_cljs$core12009 \x3d (function cljs$core$__GT_t_cljs$core12009(step,p__12007,map__12008,somef,vf,kf,initk,meta12010){\nreturn (new cljs.core.t_cljs$core12009(step,p__12007,map__12008,somef,vf,kf,initk,meta12010));\n});\n\n\n/**\n * Creates a seqable/reducible via repeated calls to step,\n * a function of some (continuation token) \x27k\x27. The first call to step\n * will be passed initk, returning \x27ret\x27. Iff (somef ret) is true,\n * (vf ret) will be included in the iteration, else iteration will\n * terminate and vf/kf will not be called. If (kf ret) is non-nil it\n * will be passed to the next step call, else iteration will terminate.\n * This can be used e.g. to consume APIs that return paginated or batched data.\n * step - (possibly impure) fn of \x27k\x27 -\x3e \x27ret\x27\n * :somef - fn of \x27ret\x27 -\x3e logical true/false, default \x27some?\x27\n * :vf - fn of \x27ret\x27 -\x3e \x27v\x27, a value produced by the iteration, default \x27identity\x27\n * :kf - fn of \x27ret\x27 -\x3e \x27next-k\x27 or nil (signaling \x27do not continue\x27), default \x27identity\x27\n * :initk - the first value passed to step, default \x27nil\x27\n * It is presumed that step with non-initk is unreproducible/non-idempotent.\n * If step with initk is unreproducible it is on the consumer to not consume twice.\n */\ncljs.core.iteration \x3d (function cljs$core$iteration(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16352 \x3d arguments.length;\nvar i__5770__auto___16353 \x3d (0);\nwhile(true){\nif((i__5770__auto___16353 \x3c len__5769__auto___16352)){\nargs__5775__auto__.push((arguments[i__5770__auto___16353]));\n\nvar G__16354 \x3d (i__5770__auto___16353 + (1));\ni__5770__auto___16353 \x3d G__16354;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic \x3d (function (step,p__12007){\nvar map__12008 \x3d p__12007;\nvar map__12008__$1 \x3d cljs.core.__destructure_map(map__12008);\nvar somef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__12008__$1,new cljs.core.Keyword(null,\x22somef\x22,\x22somef\x22,-622590365),cljs.core.some_QMARK_);\nvar vf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__12008__$1,new cljs.core.Keyword(null,\x22vf\x22,\x22vf\x22,-321423269),cljs.core.identity);\nvar kf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__12008__$1,new cljs.core.Keyword(null,\x22kf\x22,\x22kf\x22,1608087589),cljs.core.identity);\nvar initk \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__12008__$1,new cljs.core.Keyword(null,\x22initk\x22,\x22initk\x22,-1693342987),null);\nreturn (new cljs.core.t_cljs$core12009(step,p__12007,map__12008__$1,somef,vf,kf,initk,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.iteration.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.iteration.cljs$lang$applyTo \x3d (function (seq12005){\nvar G__12006 \x3d cljs.core.first(seq12005);\nvar seq12005__$1 \x3d cljs.core.next(seq12005);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12006,seq12005__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeJS \x3d function(){};\n\nvar cljs$core$IEncodeJS$_clj__GT_js$dyn_16355 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._clj__GT_js[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._clj__GT_js[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-clj-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Recursively transforms clj values to JavaScript\n */\ncljs.core._clj__GT_js \x3d (function cljs$core$_clj__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_clj__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_clj__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_clj__GT_js$dyn_16355(x);\n}\n});\n\nvar cljs$core$IEncodeJS$_key__GT_js$dyn_16356 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._key__GT_js[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._key__GT_js[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-key-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Transforms map keys to valid JavaScript keys. Arbitrary keys are\n * encoded to their string representation via (pr-str x)\n */\ncljs.core._key__GT_js \x3d (function cljs$core$_key__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_key__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_key__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_key__GT_js$dyn_16356(x);\n}\n});\n\ncljs.core.key__GT_js \x3d (function cljs$core$key__GT_js(var_args){\nvar G__12015 \x3d arguments.length;\nswitch (G__12015) {\ncase 1:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,cljs.core.clj__GT_js);\n}));\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,primitive_fn){\nif((((!((k \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d k.cljs$core$IEncodeJS$))))?true:(((!k.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k))){\nreturn cljs.core._clj__GT_js(k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (((typeof k \x3d\x3d\x3d \x27number\x27) || ((((k instanceof cljs.core.Keyword)) || ((k instanceof cljs.core.Symbol)))))))){\nreturn (primitive_fn.cljs$core$IFn$_invoke$arity$1 ? primitive_fn.cljs$core$IFn$_invoke$arity$1(k) : primitive_fn.call(null,k));\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k], 0));\n\n}\n}\n}));\n\n(cljs.core.key__GT_js.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Recursively transforms ClojureScript values to JavaScript.\n * sets/vectors/lists become Arrays, Keywords and Symbol become Strings,\n * Maps become Objects. Arbitrary keys are encoded to by `key-\x3ejs`.\n * Options is a key-value pair, where the only valid key is\n * :keyword-fn, which should point to a single-argument function to be\n * called on keyword keys. Default to `name`.\n */\ncljs.core.clj__GT_js \x3d (function cljs$core$clj__GT_js(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16360 \x3d arguments.length;\nvar i__5770__auto___16361 \x3d (0);\nwhile(true){\nif((i__5770__auto___16361 \x3c len__5769__auto___16360)){\nargs__5775__auto__.push((arguments[i__5770__auto___16361]));\n\nvar G__16362 \x3d (i__5770__auto___16361 + (1));\ni__5770__auto___16361 \x3d G__16362;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__12019){\nvar map__12020 \x3d p__12019;\nvar map__12020__$1 \x3d cljs.core.__destructure_map(map__12020);\nvar options \x3d map__12020__$1;\nvar keyword_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__12020__$1,new cljs.core.Keyword(null,\x22keyword-fn\x22,\x22keyword-fn\x22,-64566675),cljs.core.name);\nvar keyfn \x3d (function cljs$core$keyfn(k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,thisfn);\n});\nvar thisfn \x3d (function cljs$core$thisfn(x__$1){\nif((x__$1 \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x__$1.cljs$core$IEncodeJS$))))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1))){\nreturn cljs.core._clj__GT_js(x__$1);\n} else {\nif((x__$1 instanceof cljs.core.Keyword)){\nreturn (keyword_fn.cljs$core$IFn$_invoke$arity$1 ? keyword_fn.cljs$core$IFn$_invoke$arity$1(x__$1) : keyword_fn.call(null,x__$1));\n} else {\nif((x__$1 instanceof cljs.core.Symbol)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1);\n} else {\nif(cljs.core.map_QMARK_(x__$1)){\nvar m \x3d ({});\nvar seq__12047_16367 \x3d cljs.core.seq(x__$1);\nvar chunk__12048_16368 \x3d null;\nvar count__12049_16369 \x3d (0);\nvar i__12050_16370 \x3d (0);\nwhile(true){\nif((i__12050_16370 \x3c count__12049_16369)){\nvar vec__12057_16371 \x3d chunk__12048_16368.cljs$core$IIndexed$_nth$arity$2(null,i__12050_16370);\nvar k_16372 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12057_16371,(0),null);\nvar v_16373 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12057_16371,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_16372),cljs$core$thisfn(v_16373));\n\n\nvar G__16374 \x3d seq__12047_16367;\nvar G__16375 \x3d chunk__12048_16368;\nvar G__16376 \x3d count__12049_16369;\nvar G__16377 \x3d (i__12050_16370 + (1));\nseq__12047_16367 \x3d G__16374;\nchunk__12048_16368 \x3d G__16375;\ncount__12049_16369 \x3d G__16376;\ni__12050_16370 \x3d G__16377;\ncontinue;\n} else {\nvar temp__5804__auto___16378 \x3d cljs.core.seq(seq__12047_16367);\nif(temp__5804__auto___16378){\nvar seq__12047_16379__$1 \x3d temp__5804__auto___16378;\nif(cljs.core.chunked_seq_QMARK_(seq__12047_16379__$1)){\nvar c__5568__auto___16380 \x3d cljs.core.chunk_first(seq__12047_16379__$1);\nvar G__16381 \x3d cljs.core.chunk_rest(seq__12047_16379__$1);\nvar G__16382 \x3d c__5568__auto___16380;\nvar G__16383 \x3d cljs.core.count(c__5568__auto___16380);\nvar G__16384 \x3d (0);\nseq__12047_16367 \x3d G__16381;\nchunk__12048_16368 \x3d G__16382;\ncount__12049_16369 \x3d G__16383;\ni__12050_16370 \x3d G__16384;\ncontinue;\n} else {\nvar vec__12060_16385 \x3d cljs.core.first(seq__12047_16379__$1);\nvar k_16386 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12060_16385,(0),null);\nvar v_16387 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12060_16385,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_16386),cljs$core$thisfn(v_16387));\n\n\nvar G__16388 \x3d cljs.core.next(seq__12047_16379__$1);\nvar G__16389 \x3d null;\nvar G__16390 \x3d (0);\nvar G__16391 \x3d (0);\nseq__12047_16367 \x3d G__16388;\nchunk__12048_16368 \x3d G__16389;\ncount__12049_16369 \x3d G__16390;\ni__12050_16370 \x3d G__16391;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn m;\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nvar arr \x3d [];\nvar seq__12063_16392 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\nvar chunk__12064_16393 \x3d null;\nvar count__12065_16394 \x3d (0);\nvar i__12066_16395 \x3d (0);\nwhile(true){\nif((i__12066_16395 \x3c count__12065_16394)){\nvar x_16396__$2 \x3d chunk__12064_16393.cljs$core$IIndexed$_nth$arity$2(null,i__12066_16395);\narr.push(x_16396__$2);\n\n\nvar G__16397 \x3d seq__12063_16392;\nvar G__16398 \x3d chunk__12064_16393;\nvar G__16399 \x3d count__12065_16394;\nvar G__16400 \x3d (i__12066_16395 + (1));\nseq__12063_16392 \x3d G__16397;\nchunk__12064_16393 \x3d G__16398;\ncount__12065_16394 \x3d G__16399;\ni__12066_16395 \x3d G__16400;\ncontinue;\n} else {\nvar temp__5804__auto___16401 \x3d cljs.core.seq(seq__12063_16392);\nif(temp__5804__auto___16401){\nvar seq__12063_16402__$1 \x3d temp__5804__auto___16401;\nif(cljs.core.chunked_seq_QMARK_(seq__12063_16402__$1)){\nvar c__5568__auto___16403 \x3d cljs.core.chunk_first(seq__12063_16402__$1);\nvar G__16404 \x3d cljs.core.chunk_rest(seq__12063_16402__$1);\nvar G__16405 \x3d c__5568__auto___16403;\nvar G__16406 \x3d cljs.core.count(c__5568__auto___16403);\nvar G__16407 \x3d (0);\nseq__12063_16392 \x3d G__16404;\nchunk__12064_16393 \x3d G__16405;\ncount__12065_16394 \x3d G__16406;\ni__12066_16395 \x3d G__16407;\ncontinue;\n} else {\nvar x_16408__$2 \x3d cljs.core.first(seq__12063_16402__$1);\narr.push(x_16408__$2);\n\n\nvar G__16409 \x3d cljs.core.next(seq__12063_16402__$1);\nvar G__16410 \x3d null;\nvar G__16411 \x3d (0);\nvar G__16412 \x3d (0);\nseq__12063_16392 \x3d G__16409;\nchunk__12064_16393 \x3d G__16410;\ncount__12065_16394 \x3d G__16411;\ni__12066_16395 \x3d G__16412;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn arr;\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn thisfn(x);\n}));\n\n(cljs.core.clj__GT_js.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.clj__GT_js.cljs$lang$applyTo \x3d (function (seq12017){\nvar G__12018 \x3d cljs.core.first(seq12017);\nvar seq12017__$1 \x3d cljs.core.next(seq12017);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12018,seq12017__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeClojure \x3d function(){};\n\nvar cljs$core$IEncodeClojure$_js__GT_clj$dyn_16413 \x3d (function (x,options){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (cljs.core._js__GT_clj[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5394__auto__.call(null,x,options));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._js__GT_clj[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5392__auto__.call(null,x,options));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeClojure.-js-\x3eclj\x22,x);\n}\n}\n});\n/**\n * Transforms JavaScript values to Clojure\n */\ncljs.core._js__GT_clj \x3d (function cljs$core$_js__GT_clj(x,options){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2(x,options);\n} else {\nreturn cljs$core$IEncodeClojure$_js__GT_clj$dyn_16413(x,options);\n}\n});\n\n/**\n * Recursively transforms JavaScript arrays into ClojureScript\n * vectors, and JavaScript objects into ClojureScript maps. With\n * option \x27:keywordize-keys true\x27 will convert object fields from\n * strings to keywords.\n */\ncljs.core.js__GT_clj \x3d (function cljs$core$js__GT_clj(var_args){\nvar G__12072 \x3d arguments.length;\nswitch (G__12072) {\ncase 1:\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16415 \x3d arguments.length;\nvar i__5770__auto___16416 \x3d (0);\nwhile(true){\nif((i__5770__auto___16416 \x3c len__5769__auto___16415)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16416]));\n\nvar G__16417 \x3d (i__5770__auto___16416 + (1));\ni__5770__auto___16416 \x3d G__16417;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252),false], 0));\n}));\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,opts){\nvar map__12073 \x3d opts;\nvar map__12073__$1 \x3d cljs.core.__destructure_map(map__12073);\nvar keywordize_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12073__$1,new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252));\nvar keyfn \x3d (cljs.core.truth_(keywordize_keys)?cljs.core.keyword:cljs.core.str);\nvar f \x3d (function cljs$core$thisfn(x__$1){\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x__$1.cljs$core$IEncodeClojure$))))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1))){\nreturn cljs.core._js__GT_clj(x__$1,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,opts));\n} else {\nif(cljs.core.seq_QMARK_(x__$1)){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\n} else {\nif(cljs.core.map_entry_QMARK_(x__$1)){\nreturn (new cljs.core.MapEntry(cljs$core$thisfn(cljs.core.key(x__$1)),cljs$core$thisfn(cljs.core.val(x__$1)),null));\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.empty(x__$1),cljs.core.map.cljs$core$IFn$_invoke$arity$1(cljs$core$thisfn),x__$1);\n} else {\nif(cljs.core.array_QMARK_(x__$1)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__12067_SHARP_,p2__12068_SHARP_){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(p1__12067_SHARP_,cljs$core$thisfn(p2__12068_SHARP_));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),x__$1));\n} else {\nif((cljs.core.type(x__$1) \x3d\x3d\x3d Object)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,k){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(r,(keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(k) : keyfn.call(null,k)),cljs$core$thisfn(cljs.core.goog$module$goog$object.get(x__$1,k)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),cljs.core.js_keys(x__$1)));\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn f(x);\n}));\n\n/** @this {Function} */\n(cljs.core.js__GT_clj.cljs$lang$applyTo \x3d (function (seq12070){\nvar G__12071 \x3d cljs.core.first(seq12070);\nvar seq12070__$1 \x3d cljs.core.next(seq12070);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12071,seq12070__$1);\n}));\n\n(cljs.core.js__GT_clj.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a memoized version of a referentially transparent function. The\n * memoized version of the function keeps a cache of the mapping from arguments\n * to results and, when calls with the same arguments are repeated often, has\n * higher performance at the expense of higher memory use.\n */\ncljs.core.memoize \x3d (function cljs$core$memoize(f){\nvar mem \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nreturn (function() { \nvar G__16418__delegate \x3d function (args){\nvar v \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(mem),args,cljs.core.lookup_sentinel);\nif((v \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(mem,cljs.core.assoc,args,ret);\n\nreturn ret;\n} else {\nreturn v;\n}\n};\nvar G__16418 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__16419__i \x3d 0, G__16419__a \x3d new Array(arguments.length - 0);\nwhile (G__16419__i \x3c G__16419__a.length) {G__16419__a[G__16419__i] \x3d arguments[G__16419__i + 0]; ++G__16419__i;}\n args \x3d new cljs.core.IndexedSeq(G__16419__a,0,null);\n} \nreturn G__16418__delegate.call(this,args);};\nG__16418.cljs$lang$maxFixedArity \x3d 0;\nG__16418.cljs$lang$applyTo \x3d (function (arglist__16420){\nvar args \x3d cljs.core.seq(arglist__16420);\nreturn G__16418__delegate(args);\n});\nG__16418.cljs$core$IFn$_invoke$arity$variadic \x3d G__16418__delegate;\nreturn G__16418;\n})()\n;\n});\n/**\n * trampoline can be used to convert algorithms requiring mutual\n * recursion without stack consumption. Calls f with supplied args, if\n * any. If f returns a fn, calls that fn with no arguments, and\n * continues to repeat, until the return value is not a fn, then\n * returns that non-fn value. Note that if you want to return a fn as a\n * final value, you must wrap it in some data structure and unpack it\n * after trampoline returns.\n */\ncljs.core.trampoline \x3d (function cljs$core$trampoline(var_args){\nvar G__12078 \x3d arguments.length;\nswitch (G__12078) {\ncase 1:\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16422 \x3d arguments.length;\nvar i__5770__auto___16423 \x3d (0);\nwhile(true){\nif((i__5770__auto___16423 \x3c len__5769__auto___16422)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16423]));\n\nvar G__16424 \x3d (i__5770__auto___16423 + (1));\ni__5770__auto___16423 \x3d G__16424;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((1)),(0),null));\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5795__auto__);\n\n}\n});\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nwhile(true){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\nif(cljs.core.fn_QMARK_(ret)){\nvar G__16425 \x3d ret;\nf \x3d G__16425;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((function (){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}));\n}));\n\n/** @this {Function} */\n(cljs.core.trampoline.cljs$lang$applyTo \x3d (function (seq12076){\nvar G__12077 \x3d cljs.core.first(seq12076);\nvar seq12076__$1 \x3d cljs.core.next(seq12076);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12077,seq12076__$1);\n}));\n\n(cljs.core.trampoline.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a random floating point number between 0 (inclusive) and\n * n (default 1) (exclusive).\n */\ncljs.core.rand \x3d (function cljs$core$rand(var_args){\nvar G__12080 \x3d arguments.length;\nswitch (G__12080) {\ncase 0:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((1));\n}));\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (Math.random() * n);\n}));\n\n(cljs.core.rand.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns a random integer between 0 (inclusive) and n (exclusive).\n */\ncljs.core.rand_int \x3d (function cljs$core$rand_int(n){\nreturn Math.floor((Math.random() * n));\n});\n/**\n * Return a random element of the (sequential) collection. Will have\n * the same performance characteristics as nth for the given\n * collection.\n */\ncljs.core.rand_nth \x3d (function cljs$core$rand_nth(coll){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,cljs.core.rand_int(cljs.core.count(coll)));\n});\n/**\n * Returns a map of the elements of coll keyed by the result of\n * f on each element. The value at each key will be a vector of the\n * corresponding elements, in the order they appeared in coll.\n */\ncljs.core.group_by \x3d (function cljs$core$group_by(f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar k \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x));\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.PersistentVector.EMPTY),x));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Creates a hierarchy object for use with derive, isa? etc.\n */\ncljs.core.make_hierarchy \x3d (function cljs$core$make_hierarchy(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),cljs.core.PersistentArrayMap.EMPTY], null);\n});\n/**\n * @type {*}\n */\ncljs.core._global_hierarchy \x3d null;\ncljs.core.get_global_hierarchy \x3d (function cljs$core$get_global_hierarchy(){\nif((cljs.core._global_hierarchy \x3d\x3d null)){\n(cljs.core._global_hierarchy \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.make_hierarchy()));\n} else {\n}\n\nreturn cljs.core._global_hierarchy;\n});\ncljs.core.swap_global_hierarchy_BANG_ \x3d (function cljs$core$swap_global_hierarchy_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16427 \x3d arguments.length;\nvar i__5770__auto___16428 \x3d (0);\nwhile(true){\nif((i__5770__auto___16428 \x3c len__5769__auto___16427)){\nargs__5775__auto__.push((arguments[i__5770__auto___16428]));\n\nvar G__16429 \x3d (i__5770__auto___16428 + (1));\ni__5770__auto___16428 \x3d G__16429;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,cljs.core.get_global_hierarchy(),f,args);\n}));\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$applyTo \x3d (function (seq12081){\nvar G__12082 \x3d cljs.core.first(seq12081);\nvar seq12081__$1 \x3d cljs.core.next(seq12081);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12082,seq12081__$1);\n}));\n\n/**\n * Returns true if (\x3d child parent), or child is directly or indirectly derived from\n * parent, either via a JavaScript type inheritance relationship or a\n * relationship established via derive. h must be a hierarchy obtained\n * from make-hierarchy, if not supplied defaults to the global\n * hierarchy\n */\ncljs.core.isa_QMARK_ \x3d (function cljs$core$isa_QMARK_(var_args){\nvar G__12084 \x3d arguments.length;\nswitch (G__12084) {\ncase 2:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (child,parent){\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(cljs.core.get_global_hierarchy()),child,parent);\n}));\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,child,parent){\nvar or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(child,parent);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.contains_QMARK_((function (){var fexpr__12085 \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nreturn (fexpr__12085.cljs$core$IFn$_invoke$arity$1 ? fexpr__12085.cljs$core$IFn$_invoke$arity$1(child) : fexpr__12085.call(null,child));\n})(),parent);\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nvar and__5043__auto__ \x3d cljs.core.vector_QMARK_(parent);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.vector_QMARK_(child);\nif(and__5043__auto____$1){\nvar and__5043__auto____$2 \x3d (cljs.core.count(parent) \x3d\x3d\x3d cljs.core.count(child));\nif(and__5043__auto____$2){\nvar ret \x3d true;\nvar i \x3d (0);\nwhile(true){\nif((((!(ret))) || ((i \x3d\x3d\x3d cljs.core.count(parent))))){\nreturn ret;\n} else {\nvar G__16431 \x3d cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(h,(child.cljs$core$IFn$_invoke$arity$1 ? child.cljs$core$IFn$_invoke$arity$1(i) : child.call(null,i)),(parent.cljs$core$IFn$_invoke$arity$1 ? parent.cljs$core$IFn$_invoke$arity$1(i) : parent.call(null,i)));\nvar G__16432 \x3d (i + (1));\nret \x3d G__16431;\ni \x3d G__16432;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}\n}\n}));\n\n(cljs.core.isa_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the immediate parents of tag, either via a JavaScript type\n * inheritance relationship or a relationship established via derive. h\n * must be a hierarchy obtained from make-hierarchy, if not supplied\n * defaults to the global hierarchy\n */\ncljs.core.parents \x3d (function cljs$core$parents(var_args){\nvar G__12087 \x3d arguments.length;\nswitch (G__12087) {\ncase 1:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.parents.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect parents of tag, either via a JavaScript type\n * inheritance relationship or a relationship established via derive. h\n * must be a hierarchy obtained from make-hierarchy, if not supplied\n * defaults to the global hierarchy\n */\ncljs.core.ancestors \x3d (function cljs$core$ancestors(var_args){\nvar G__12089 \x3d arguments.length;\nswitch (G__12089) {\ncase 1:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.ancestors.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect children of tag, through a\n * relationship established via derive. h must be a hierarchy obtained\n * from make-hierarchy, if not supplied defaults to the global\n * hierarchy. Note: does not work on JavaScript type inheritance\n * relationships.\n */\ncljs.core.descendants \x3d (function cljs$core$descendants(var_args){\nvar G__12091 \x3d arguments.length;\nswitch (G__12091) {\ncase 1:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.descendants.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Establishes a parent/child relationship between parent and\n * tag. Parent must be a namespace-qualified symbol or keyword and\n * child can be either a namespace-qualified symbol or keyword or a\n * class. h must be a hierarchy obtained from make-hierarchy, if not\n * supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.derive \x3d (function cljs$core$derive(var_args){\nvar G__12093 \x3d arguments.length;\nswitch (G__12093) {\ncase 2:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\nif(cljs.core.truth_(cljs.core.namespace(parent))){\n} else {\nthrow (new Error(\x22Assert failed: (namespace parent)\x22));\n}\n\ncljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.derive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));\n\nreturn null;\n}));\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(tag,parent)){\n} else {\nthrow (new Error(\x22Assert failed: (not\x3d tag parent)\x22));\n}\n\nvar tp \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar td \x3d new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h);\nvar ta \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nvar tf \x3d (function (m,source,sources,target,targets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,k){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.get.cljs$core$IFn$_invoke$arity$3(targets,k,cljs.core.PersistentHashSet.EMPTY),cljs.core.cons(target,(targets.cljs$core$IFn$_invoke$arity$1 ? targets.cljs$core$IFn$_invoke$arity$1(target) : targets.call(null,target)))));\n}),m,cljs.core.cons(source,(sources.cljs$core$IFn$_invoke$arity$1 ? sources.cljs$core$IFn$_invoke$arity$1(source) : sources.call(null,source))));\n});\nvar or__5045__auto__ \x3d ((cljs.core.contains_QMARK_((tp.cljs$core$IFn$_invoke$arity$1 ? tp.cljs$core$IFn$_invoke$arity$1(tag) : tp.call(null,tag)),parent))?null:(function (){\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(tag) : ta.call(null,tag)),parent)){\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22already has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(parent) : ta.call(null,parent)),tag)){\nthrow (new Error([\x22Cyclic derivation:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h),tag,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(tp,tag,cljs.core.PersistentHashSet.EMPTY),parent)),new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),tf(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag,td,parent,ta),new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),tf(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),parent,ta,tag,td)], null);\n})()\n);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.derive.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Removes a parent/child relationship between parent and\n * tag. h must be a hierarchy obtained from make-hierarchy, if not\n * supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.underive \x3d (function cljs$core$underive(var_args){\nvar G__12098 \x3d arguments.length;\nswitch (G__12098) {\ncase 2:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\ncljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.underive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));\n\nreturn null;\n}));\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nvar parentMap \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar childsParents \x3d (cljs.core.truth_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)))?cljs.core.disj.cljs$core$IFn$_invoke$arity$2((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent):cljs.core.PersistentHashSet.EMPTY);\nvar newParents \x3d (cljs.core.truth_(cljs.core.not_empty(childsParents))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(parentMap,tag,childsParents):cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(parentMap,tag));\nvar deriv_seq \x3d cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12094_SHARP_){\nreturn cljs.core.cons(cljs.core.first(p1__12094_SHARP_),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(cljs.core.first(p1__12094_SHARP_),cljs.core.second(p1__12094_SHARP_)));\n}),cljs.core.seq(newParents)));\nif(cljs.core.contains_QMARK_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__12095_SHARP_,p2__12096_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.derive,p1__12095_SHARP_,p2__12096_SHARP_);\n}),cljs.core.make_hierarchy(),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),deriv_seq));\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.underive.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.reset_cache \x3d (function cljs$core$reset_cache(method_cache,method_table,cached_hierarchy,hierarchy){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(method_cache,(function (_){\nreturn cljs.core.deref(method_table);\n}));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cached_hierarchy,(function (_){\nreturn cljs.core.deref(hierarchy);\n}));\n});\ncljs.core.prefers_STAR_ \x3d (function cljs$core$prefers_STAR_(x,y,prefer_table){\nvar xprefs \x3d (function (){var fexpr__12099 \x3d cljs.core.deref(prefer_table);\nreturn (fexpr__12099.cljs$core$IFn$_invoke$arity$1 ? fexpr__12099.cljs$core$IFn$_invoke$arity$1(x) : fexpr__12099.call(null,x));\n})();\nvar or__5045__auto__ \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d xprefs;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (xprefs.cljs$core$IFn$_invoke$arity$1 ? xprefs.cljs$core$IFn$_invoke$arity$1(y) : xprefs.call(null,y));\n} else {\nreturn and__5043__auto__;\n}\n})())?true:null);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(y);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__12100 \x3d x;\nvar G__12101 \x3d cljs.core.first(ps);\nvar G__12102 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__12100,G__12101,G__12102) : cljs.core.prefers_STAR_.call(null,G__12100,G__12101,G__12102));\n})())){\n} else {\n}\n\nvar G__16441 \x3d cljs.core.rest(ps);\nps \x3d G__16441;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(x);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__12103 \x3d cljs.core.first(ps);\nvar G__12104 \x3d y;\nvar G__12105 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__12103,G__12104,G__12105) : cljs.core.prefers_STAR_.call(null,G__12103,G__12104,G__12105));\n})())){\n} else {\n}\n\nvar G__16442 \x3d cljs.core.rest(ps);\nps \x3d G__16442;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn false;\n}\n}\n}\n});\ncljs.core.dominates \x3d (function cljs$core$dominates(x,y,prefer_table,hierarchy){\nvar or__5045__auto__ \x3d cljs.core.prefers_STAR_(x,y,prefer_table);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(hierarchy,x,y);\n}\n});\ncljs.core.find_and_cache_best_method \x3d (function cljs$core$find_and_cache_best_method(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val){\nvar best_entry \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (be,p__12106){\nvar vec__12107 \x3d p__12106;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12107,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12107,(1),null);\nvar e \x3d vec__12107;\nif(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(hierarchy),dispatch_val,k)){\nvar be2 \x3d (((((be \x3d\x3d null)) || (cljs.core.dominates(k,cljs.core.first(be),prefer_table,cljs.core.deref(hierarchy)))))?e:be);\nif(cljs.core.dominates(cljs.core.first(be2),k,prefer_table,cljs.core.deref(hierarchy))){\n} else {\nthrow (new Error([\x22Multiple methods in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 match dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val),\x22 -\x3e \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),\x22 and \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(be2)),\x22, and neither is preferred\x22].join(\x27\x27)));\n}\n\nreturn be2;\n} else {\nreturn be;\n}\n}),null,cljs.core.deref(method_table));\nvar best_entry__$1 \x3d (function (){var temp__5802__auto__ \x3d (function (){var and__5043__auto__ \x3d (best_entry \x3d\x3d null);\nif(and__5043__auto__){\nvar fexpr__12110 \x3d cljs.core.deref(method_table);\nreturn (fexpr__12110.cljs$core$IFn$_invoke$arity$1 ? fexpr__12110.cljs$core$IFn$_invoke$arity$1(default_dispatch_val) : fexpr__12110.call(null,default_dispatch_val));\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar entry \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default_dispatch_val,entry], null);\n} else {\nreturn best_entry;\n}\n})();\nif(cljs.core.truth_(best_entry__$1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cached_hierarchy),cljs.core.deref(hierarchy))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(method_cache,cljs.core.assoc,dispatch_val,cljs.core.second(best_entry__$1));\n\nreturn cljs.core.second(best_entry__$1);\n} else {\ncljs.core.reset_cache(method_cache,method_table,cached_hierarchy,hierarchy);\n\nreturn (cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8 ? cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val) : cljs.core.find_and_cache_best_method.call(null,name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val));\n}\n} else {\nreturn null;\n}\n});\n\n/**\n * @interface\n */\ncljs.core.IMultiFn \x3d function(){};\n\nvar cljs$core$IMultiFn$_reset$dyn_16444 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._reset[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._reset[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-reset\x22,mf);\n}\n}\n});\ncljs.core._reset \x3d (function cljs$core$_reset(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_reset$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_reset$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_reset$dyn_16444(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_add_method$dyn_16445 \x3d (function (mf,dispatch_val,method){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._add_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5394__auto__.call(null,mf,dispatch_val,method));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._add_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5392__auto__.call(null,mf,dispatch_val,method));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-add-method\x22,mf);\n}\n}\n});\ncljs.core._add_method \x3d (function cljs$core$_add_method(mf,dispatch_val,method){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_add_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_add_method$arity$3(mf,dispatch_val,method);\n} else {\nreturn cljs$core$IMultiFn$_add_method$dyn_16445(mf,dispatch_val,method);\n}\n});\n\nvar cljs$core$IMultiFn$_remove_method$dyn_16447 \x3d (function (mf,dispatch_val){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._remove_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5394__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._remove_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5392__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-remove-method\x22,mf);\n}\n}\n});\ncljs.core._remove_method \x3d (function cljs$core$_remove_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_remove_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_remove_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_remove_method$dyn_16447(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_prefer_method$dyn_16448 \x3d (function (mf,dispatch_val,dispatch_val_y){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._prefer_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5394__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._prefer_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5392__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefer-method\x22,mf);\n}\n}\n});\ncljs.core._prefer_method \x3d (function cljs$core$_prefer_method(mf,dispatch_val,dispatch_val_y){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefer_method$arity$3(mf,dispatch_val,dispatch_val_y);\n} else {\nreturn cljs$core$IMultiFn$_prefer_method$dyn_16448(mf,dispatch_val,dispatch_val_y);\n}\n});\n\nvar cljs$core$IMultiFn$_get_method$dyn_16449 \x3d (function (mf,dispatch_val){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._get_method[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5394__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._get_method[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5392__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-get-method\x22,mf);\n}\n}\n});\ncljs.core._get_method \x3d (function cljs$core$_get_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_get_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_get_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_get_method$dyn_16449(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_methods$dyn_16450 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._methods[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._methods[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-methods\x22,mf);\n}\n}\n});\ncljs.core._methods \x3d (function cljs$core$_methods(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_methods$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_methods$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_methods$dyn_16450(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_prefers$dyn_16451 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._prefers[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._prefers[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefers\x22,mf);\n}\n}\n});\ncljs.core._prefers \x3d (function cljs$core$_prefers(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefers$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefers$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_prefers$dyn_16451(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_default_dispatch_val$dyn_16452 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._default_dispatch_val[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._default_dispatch_val[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-default-dispatch-val\x22,mf);\n}\n}\n});\ncljs.core._default_dispatch_val \x3d (function cljs$core$_default_dispatch_val(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_default_dispatch_val$dyn_16452(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_dispatch_fn$dyn_16453 \x3d (function (mf){\nvar x__5393__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5394__auto__ \x3d (cljs.core._dispatch_fn[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5394__auto__.call(null,mf));\n} else {\nvar m__5392__auto__ \x3d (cljs.core._dispatch_fn[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5392__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-dispatch-fn\x22,mf);\n}\n}\n});\ncljs.core._dispatch_fn \x3d (function cljs$core$_dispatch_fn(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_dispatch_fn$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_dispatch_fn$dyn_16453(mf);\n}\n});\n\ncljs.core.throw_no_method_error \x3d (function cljs$core$throw_no_method_error(name,dispatch_val){\nthrow (new Error([\x22No method in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val)].join(\x27\x27)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMultiFn}\n * @implements {cljs.core.INamed}\n*/\ncljs.core.MultiFn \x3d (function (name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nthis.name \x3d name;\nthis.dispatch_fn \x3d dispatch_fn;\nthis.default_dispatch_val \x3d default_dispatch_val;\nthis.hierarchy \x3d hierarchy;\nthis.method_table \x3d method_table;\nthis.prefer_table \x3d prefer_table;\nthis.method_cache \x3d method_cache;\nthis.cached_hierarchy \x3d cached_hierarchy;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 4194305;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4352;\n});\n(cljs.core.MultiFn.prototype.call \x3d (function (unused__10312__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__12112 \x3d (arguments.length - (1));\nswitch (G__12112) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MultiFn.prototype.apply \x3d (function (self__,args12111){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args12111)));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0() : self__.dispatch_fn.call(null));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$0 ? target_fn.cljs$core$IFn$_invoke$arity$0() : target_fn.call(null));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1(a) : self__.dispatch_fn.call(null,a));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$1 ? target_fn.cljs$core$IFn$_invoke$arity$1(a) : target_fn.call(null,a));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.dispatch_fn.call(null,a,b));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$2 ? target_fn.cljs$core$IFn$_invoke$arity$2(a,b) : target_fn.call(null,a,b));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.dispatch_fn.call(null,a,b,c));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$3 ? target_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : target_fn.call(null,a,b,c));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.dispatch_fn.call(null,a,b,c,d));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$4 ? target_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : target_fn.call(null,a,b,c,d));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.dispatch_fn.call(null,a,b,c,d,e));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$5 ? target_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : target_fn.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.dispatch_fn.call(null,a,b,c,d,e,f));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$6 ? target_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : target_fn.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$7 ? target_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : target_fn.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$8 ? target_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : target_fn.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$9 ? target_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : target_fn.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$10 ? target_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$11 ? target_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$12 ? target_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$13 ? target_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$14 ? target_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$15 ? target_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$16 ? target_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$17 ? target_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$18 ? target_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$19 ? target_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$20 ? target_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(self__.dispatch_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(target_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d (function (mf,dispatch_val_x,dispatch_val_y){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core.truth_(cljs.core.prefers_STAR_(dispatch_val_y,dispatch_val_x,self__.prefer_table))){\nthrow (new Error([\x22Preference conflict in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),\x22\x27: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_y),\x22 is already preferred to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_x)].join(\x27\x27)));\n} else {\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (old){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.PersistentHashSet.EMPTY),dispatch_val_y));\n}));\n\nreturn cljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.default_dispatch_val;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_remove_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.method_table,cljs.core.dissoc,dispatch_val);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_methods$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.method_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefers$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.prefer_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.dispatch_fn;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_add_method$arity$3 \x3d (function (mf,dispatch_val,method){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.method_table,cljs.core.assoc,dispatch_val,method);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_reset$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_cache,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.cached_hierarchy,(function (mf__$2){\nreturn null;\n}));\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_get_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.cached_hierarchy),cljs.core.deref(self__.hierarchy))){\n} else {\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}\n\nvar temp__5802__auto__ \x3d (function (){var fexpr__12113 \x3d cljs.core.deref(self__.method_cache);\nreturn (fexpr__12113.cljs$core$IFn$_invoke$arity$1 ? fexpr__12113.cljs$core$IFn$_invoke$arity$1(dispatch_val) : fexpr__12113.call(null,dispatch_val));\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar target_fn \x3d temp__5802__auto__;\nreturn target_fn;\n} else {\nreturn cljs.core.find_and_cache_best_method(self__.name,dispatch_val,self__.hierarchy,self__.method_table,self__.prefer_table,self__.method_cache,self__.cached_hierarchy,self__.default_dispatch_val);\n}\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._name(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._namespace(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.MultiFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22dispatch-fn\x22,\x22dispatch-fn\x22,-1401088155,null),new cljs.core.Symbol(null,\x22default-dispatch-val\x22,\x22default-dispatch-val\x22,-1231201266,null),new cljs.core.Symbol(null,\x22hierarchy\x22,\x22hierarchy\x22,587061186,null),new cljs.core.Symbol(null,\x22method-table\x22,\x22method-table\x22,-1878263165,null),new cljs.core.Symbol(null,\x22prefer-table\x22,\x22prefer-table\x22,462168584,null),new cljs.core.Symbol(null,\x22method-cache\x22,\x22method-cache\x22,1230193905,null),new cljs.core.Symbol(null,\x22cached-hierarchy\x22,\x22cached-hierarchy\x22,-1085460203,null)], null);\n}));\n\n(cljs.core.MultiFn.cljs$lang$type \x3d true);\n\n(cljs.core.MultiFn.cljs$lang$ctorStr \x3d \x22cljs.core/MultiFn\x22);\n\n(cljs.core.MultiFn.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/MultiFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiFn.\n */\ncljs.core.__GT_MultiFn \x3d (function cljs$core$__GT_MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nreturn (new cljs.core.MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy));\n});\n\n/**\n * Removes all of the methods of multimethod.\n */\ncljs.core.remove_all_methods \x3d (function cljs$core$remove_all_methods(multifn){\nreturn cljs.core._reset(multifn);\n});\n/**\n * Removes the method of multimethod associated with dispatch-value.\n */\ncljs.core.remove_method \x3d (function cljs$core$remove_method(multifn,dispatch_val){\nreturn cljs.core._remove_method(multifn,dispatch_val);\n});\n/**\n * Causes the multimethod to prefer matches of dispatch-val-x over dispatch-val-y\n * when there is a conflict\n */\ncljs.core.prefer_method \x3d (function cljs$core$prefer_method(multifn,dispatch_val_x,dispatch_val_y){\nreturn cljs.core._prefer_method(multifn,dispatch_val_x,dispatch_val_y);\n});\n/**\n * Given a multimethod, returns a map of dispatch values -\x3e dispatch fns\n */\ncljs.core.methods$ \x3d (function cljs$core$methods(multifn){\nreturn cljs.core._methods(multifn);\n});\n/**\n * Given a multimethod and a dispatch value, returns the dispatch fn\n * that would apply to that value, or nil if none apply and no default\n */\ncljs.core.get_method \x3d (function cljs$core$get_method(multifn,dispatch_val){\nreturn cljs.core._get_method(multifn,dispatch_val);\n});\n/**\n * Given a multimethod, returns a map of preferred value -\x3e set of other values\n */\ncljs.core.prefers \x3d (function cljs$core$prefers(multifn){\nreturn cljs.core._prefers(multifn);\n});\n/**\n * Given a multimethod, return its default-dispatch-val.\n */\ncljs.core.default_dispatch_val \x3d (function cljs$core$default_dispatch_val(multifn){\nreturn cljs.core._default_dispatch_val(multifn);\n});\n/**\n * Given a multimethod, return its dispatch-fn.\n */\ncljs.core.dispatch_fn \x3d (function cljs$core$dispatch_fn(multifn){\nreturn cljs.core._dispatch_fn(multifn);\n});\n\n/**\n * A marker protocol for UUIDs\n * @interface\n */\ncljs.core.IUUID \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IComparable}\n * @implements {cljs.core.IUUID}\n*/\ncljs.core.UUID \x3d (function (uuid,__hash){\nthis.uuid \x3d uuid;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775104;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2048;\n});\n(cljs.core.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.uuid;\n}));\n\n(cljs.core.UUID.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar and__5043__auto__ \x3d (((!((other \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d other.cljs$core$IUUID$))))?true:false):false);\nif(and__5043__auto__){\nreturn (self__.uuid \x3d\x3d\x3d other.uuid);\n} else {\nreturn and__5043__auto__;\n}\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (_,writer,___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.uuid),\x22\\\x22\x22].join(\x27\x27));\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.__hash \x3d\x3d null)){\n(self__.__hash \x3d cljs.core.hash(self__.uuid));\n} else {\n}\n\nreturn self__.__hash;\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(self__.uuid,other.uuid);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.UUID.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22uuid\x22,\x22uuid\x22,-504564192,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.UUID.cljs$lang$type \x3d true);\n\n(cljs.core.UUID.cljs$lang$ctorStr \x3d \x22cljs.core/UUID\x22);\n\n(cljs.core.UUID.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/UUID\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/UUID.\n */\ncljs.core.__GT_UUID \x3d (function cljs$core$__GT_UUID(uuid,__hash){\nreturn (new cljs.core.UUID(uuid,__hash));\n});\n\n/**\n * Returns a UUID consistent with the string s.\n */\ncljs.core.uuid \x3d (function cljs$core$uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? s)\x22));\n}\n\nreturn (new cljs.core.UUID(s.toLowerCase(),null));\n});\n/**\n * Returns a pseudo-randomly generated UUID instance (i.e. type 4).\n */\ncljs.core.random_uuid \x3d (function cljs$core$random_uuid(){\nvar hex \x3d (function cljs$core$random_uuid_$_hex(){\nreturn cljs.core.rand_int((16)).toString((16));\n});\nvar rhex \x3d ((8) | ((3) \x26 cljs.core.rand_int((16)))).toString((16));\nreturn cljs.core.uuid([cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,\x224\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(rhex),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex())].join(\x27\x27));\n});\n/**\n * Return true if x is a UUID.\n */\ncljs.core.uuid_QMARK_ \x3d (function cljs$core$uuid_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IUUID$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\ncljs.core.pr_writer_ex_info \x3d (function cljs$core$pr_writer_ex_info(obj,writer,opts){\ncljs.core._write(writer,\x22#error {:message \x22);\n\ncljs.core.pr_writer(obj.message,writer,opts);\n\nif(cljs.core.truth_(obj.data)){\ncljs.core._write(writer,\x22, :data \x22);\n\ncljs.core.pr_writer(obj.data,writer,opts);\n} else {\n}\n\nif(cljs.core.truth_(obj.cause)){\ncljs.core._write(writer,\x22, :cause \x22);\n\ncljs.core.pr_writer(obj.cause,writer,opts);\n} else {\n}\n\nreturn cljs.core._write(writer,\x22}\x22);\n});\n/**\n * @constructor\n */\ncljs.core.ExceptionInfo \x3d (function cljs$core$ExceptionInfo(message,data,cause){\nvar e \x3d (new Error(message));\nvar this$ \x3d this;\n(this$.message \x3d message);\n\n(this$.data \x3d data);\n\n(this$.cause \x3d cause);\n\n(this$.name \x3d e.name);\n\n(this$.description \x3d e.description);\n\n(this$.number \x3d e.number);\n\n(this$.fileName \x3d e.fileName);\n\n(this$.lineNumber \x3d e.lineNumber);\n\n(this$.columnNumber \x3d e.columnNumber);\n\n(this$.stack \x3d e.stack);\n\nreturn this$;\n});\n(cljs.core.ExceptionInfo.prototype.__proto__ \x3d Error.prototype);\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (obj,writer,opts){\nvar obj__$1 \x3d this;\nreturn cljs.core.pr_writer_ex_info(obj__$1,writer,opts);\n}));\n(cljs.core.ExceptionInfo.prototype.toString \x3d (function (){\nvar this$ \x3d this;\nreturn cljs.core.pr_str_STAR_(this$);\n}));\n/**\n * Create an instance of ExceptionInfo, an Error type that carries a\n * map of additional data.\n */\ncljs.core.ex_info \x3d (function cljs$core$ex_info(var_args){\nvar G__12117 \x3d arguments.length;\nswitch (G__12117) {\ncase 2:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,data){\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(msg,data,null);\n}));\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,data,cause){\nreturn (new cljs.core.ExceptionInfo(msg,data,cause));\n}));\n\n(cljs.core.ex_info.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns exception data (a map) if ex is an ExceptionInfo.\n * Otherwise returns nil.\n */\ncljs.core.ex_data \x3d (function cljs$core$ex_data(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.data;\n} else {\nreturn null;\n}\n});\n/**\n * Returns the message attached to the given Error / ExceptionInfo object.\n * For non-Errors returns nil.\n */\ncljs.core.ex_message \x3d (function cljs$core$ex_message(ex){\nif((ex instanceof Error)){\nreturn ex.message;\n} else {\nreturn null;\n}\n});\n/**\n * Returns exception cause (an Error / ExceptionInfo) if ex is an\n * ExceptionInfo.\n * Otherwise returns nil.\n */\ncljs.core.ex_cause \x3d (function cljs$core$ex_cause(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.cause;\n} else {\nreturn null;\n}\n});\n/**\n * Returns an JavaScript compatible comparator based upon pred.\n */\ncljs.core.comparator \x3d (function cljs$core$comparator(pred){\nreturn (function (x,y){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(x,y) : pred.call(null,x,y)))){\nreturn (-1);\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(y,x) : pred.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\n});\n/**\n * Returns true if x names a special form\n */\ncljs.core.special_symbol_QMARK_ \x3d (function cljs$core$special_symbol_QMARK_(x){\nreturn cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 24, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),\x22null\x22,new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),\x22null\x22,new cljs.core.Symbol(null,\x22defrecord*\x22,\x22defrecord*\x22,-1936366207,null),\x22null\x22,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns*\x22,\x22ns*\x22,1840949383,null),\x22null\x22,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),\x22null\x22,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22letfn*\x22,\x22letfn*\x22,-110097810,null),\x22null\x22,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),\x22null\x22,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),\x22null\x22,new cljs.core.Symbol(null,\x22deftype*\x22,\x22deftype*\x22,962659890,null),\x22null\x22,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),\x22null\x22,new cljs.core.Symbol(null,\x22js*\x22,\x22js*\x22,-1134233646,null),\x22null\x22,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),\x22null\x22,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),\x22null\x22,new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),\x22null\x22,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),\x22null\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22null\x22,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22null\x22,new cljs.core.Symbol(null,\x22catch\x22,\x22catch\x22,-1616370245,null),\x22null\x22,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22], null), null),x);\n});\n/**\n * test [v] finds fn at key :test in var metadata and calls it,\n * presuming failure will throw exception\n */\ncljs.core.test \x3d (function cljs$core$test(v){\nvar f \x3d v.cljs$lang$test;\nif(cljs.core.truth_(f)){\n(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n\nreturn new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236);\n} else {\nreturn new cljs.core.Keyword(null,\x22no-test\x22,\x22no-test\x22,-1679482642);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TaggedLiteral \x3d (function (tag,form){\nthis.tag \x3d tag;\nthis.form \x3d form;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775360;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.TaggedLiteral.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof cljs.core.TaggedLiteral)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.tag,other.tag)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.form,other.form)))));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((31) * cljs.core.hash(self__.tag)) + cljs.core.hash(self__.form));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,v,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar G__12118 \x3d v;\nvar G__12118__$1 \x3d (((G__12118 instanceof cljs.core.Keyword))?G__12118.fqn:null);\nswitch (G__12118__$1) {\ncase \x22tag\x22:\nreturn self__.tag;\n\nbreak;\ncase \x22form\x22:\nreturn self__.form;\n\nbreak;\ndefault:\nreturn not_found;\n\n}\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,opts){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\ncljs.core._write(writer,[\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.tag),\x22 \x22].join(\x27\x27));\n\nreturn cljs.core.pr_writer(self__.form,writer,opts);\n}));\n\n(cljs.core.TaggedLiteral.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(cljs.core.TaggedLiteral.cljs$lang$type \x3d true);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorStr \x3d \x22cljs.core/TaggedLiteral\x22);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/TaggedLiteral\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TaggedLiteral.\n */\ncljs.core.__GT_TaggedLiteral \x3d (function cljs$core$__GT_TaggedLiteral(tag,form){\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n\n/**\n * Return true if the value is the data representation of a tagged literal\n */\ncljs.core.tagged_literal_QMARK_ \x3d (function cljs$core$tagged_literal_QMARK_(value){\nreturn (value instanceof cljs.core.TaggedLiteral);\n});\n/**\n * Construct a data representation of a tagged literal from a\n * tag symbol and a form.\n */\ncljs.core.tagged_literal \x3d (function cljs$core$tagged_literal(tag,form){\nif((tag instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? tag)\x22));\n}\n\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n/**\n * @type {*}\n */\ncljs.core.js_reserved_arr \x3d [\x22arguments\x22,\x22abstract\x22,\x22await\x22,\x22boolean\x22,\x22break\x22,\x22byte\x22,\x22case\x22,\x22catch\x22,\x22char\x22,\x22class\x22,\x22const\x22,\x22continue\x22,\x22debugger\x22,\x22default\x22,\x22delete\x22,\x22do\x22,\x22double\x22,\x22else\x22,\x22enum\x22,\x22export\x22,\x22extends\x22,\x22final\x22,\x22finally\x22,\x22float\x22,\x22for\x22,\x22function\x22,\x22goto\x22,\x22if\x22,\x22implements\x22,\x22import\x22,\x22in\x22,\x22instanceof\x22,\x22int\x22,\x22interface\x22,\x22let\x22,\x22long\x22,\x22native\x22,\x22new\x22,\x22package\x22,\x22private\x22,\x22protected\x22,\x22public\x22,\x22return\x22,\x22short\x22,\x22static\x22,\x22super\x22,\x22switch\x22,\x22synchronized\x22,\x22this\x22,\x22throw\x22,\x22throws\x22,\x22transient\x22,\x22try\x22,\x22typeof\x22,\x22var\x22,\x22void\x22,\x22volatile\x22,\x22while\x22,\x22with\x22,\x22yield\x22,\x22methods\x22,\x22null\x22,\x22constructor\x22];\n/**\n * @type {null|Object}\n */\ncljs.core.js_reserved \x3d null;\ncljs.core.js_reserved_QMARK_ \x3d (function cljs$core$js_reserved_QMARK_(x){\nif((cljs.core.js_reserved \x3d\x3d null)){\n(cljs.core.js_reserved \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__12119_SHARP_,p2__12120_SHARP_){\ncljs.core.goog$module$goog$object.set(p1__12119_SHARP_,p2__12120_SHARP_,true);\n\nreturn p1__12119_SHARP_;\n}),({}),cljs.core.js_reserved_arr));\n} else {\n}\n\nreturn cljs.core.js_reserved.hasOwnProperty(x);\n});\ncljs.core.demunge_pattern \x3d (function cljs$core$demunge_pattern(){\nif(cljs.core.truth_(cljs.core.DEMUNGE_PATTERN)){\n} else {\n(cljs.core.DEMUNGE_PATTERN \x3d (function (){var ks \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (a,b){\nreturn (b.length - a.length);\n}),cljs.core.js_keys(cljs.core.DEMUNGE_MAP));\nvar ks__$1 \x3d ks;\nvar ret \x3d \x22\x22;\nwhile(true){\nif(cljs.core.seq(ks__$1)){\nvar G__16463 \x3d cljs.core.next(ks__$1);\nvar G__16464 \x3d [(function (){var G__12124 \x3d ret;\nif((!((ret \x3d\x3d\x3d \x22\x22)))){\nreturn [G__12124,\x22|\x22].join(\x27\x27);\n} else {\nreturn G__12124;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(ks__$1))].join(\x27\x27);\nks__$1 \x3d G__16463;\nret \x3d G__16464;\ncontinue;\n} else {\nreturn [ret,\x22|\\\\$\x22].join(\x27\x27);\n}\nbreak;\n}\n})());\n}\n\nreturn cljs.core.DEMUNGE_PATTERN;\n});\ncljs.core.munge_str \x3d (function cljs$core$munge_str(name){\nvar sb \x3d (new goog.string.StringBuffer());\nvar i_16465 \x3d (0);\nwhile(true){\nif((i_16465 \x3c name.length)){\nvar c_16466 \x3d name.charAt(i_16465);\nvar sub_16467 \x3d cljs.core.goog$module$goog$object.get(cljs.core.CHAR_MAP,c_16466);\nif((!((sub_16467 \x3d\x3d null)))){\nsb.append(sub_16467);\n} else {\nsb.append(c_16466);\n}\n\nvar G__16468 \x3d (i_16465 + (1));\ni_16465 \x3d G__16468;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn sb.toString();\n});\ncljs.core.munge \x3d (function cljs$core$munge(name){\nvar name_SINGLEQUOTE_ \x3d cljs.core.munge_str(cljs.core.str.cljs$core$IFn$_invoke$arity$1(name));\nvar name_SINGLEQUOTE___$1 \x3d (((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22..\x22))?\x22_DOT__DOT_\x22:(cljs.core.truth_(cljs.core.js_reserved_QMARK_(name_SINGLEQUOTE_))?[name_SINGLEQUOTE_,\x22$\x22].join(\x27\x27):name_SINGLEQUOTE_\n));\nif((name instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(name_SINGLEQUOTE___$1);\n} else {\nreturn name_SINGLEQUOTE___$1;\n}\n});\ncljs.core.demunge_str \x3d (function cljs$core$demunge_str(munged_name){\nvar r \x3d (new RegExp(cljs.core.demunge_pattern(),\x22g\x22));\nvar munged_name__$1 \x3d (cljs.core.truth_(goog.string.endsWith(munged_name,\x22$\x22))?munged_name.substring((0),(munged_name.length - (1))):munged_name);\nvar ret \x3d \x22\x22;\nvar last_match_end \x3d (0);\nwhile(true){\nvar temp__5802__auto__ \x3d r.exec(munged_name__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar match \x3d temp__5802__auto__;\nvar vec__12128 \x3d match;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12128,(0),null);\nvar G__16471 \x3d [ret,cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,(r.lastIndex - x.length))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((x \x3d\x3d\x3d \x22$\x22))?\x22/\x22:cljs.core.goog$module$goog$object.get(cljs.core.DEMUNGE_MAP,x)))].join(\x27\x27);\nvar G__16472 \x3d r.lastIndex;\nret \x3d G__16471;\nlast_match_end \x3d G__16472;\ncontinue;\n} else {\nreturn [ret,cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,munged_name__$1.length))].join(\x27\x27);\n}\nbreak;\n}\n});\ncljs.core.demunge \x3d (function cljs$core$demunge(name){\nvar G__12132 \x3d (function (){var name_SINGLEQUOTE_ \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(name);\nif((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22_DOT__DOT_\x22)){\nreturn \x22..\x22;\n} else {\nreturn cljs.core.demunge_str(name_SINGLEQUOTE_);\n}\n})();\nvar fexpr__12131 \x3d (((name instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.str);\nreturn (fexpr__12131.cljs$core$IFn$_invoke$arity$1 ? fexpr__12131.cljs$core$IFn$_invoke$arity$1(G__12132) : fexpr__12131.call(null,G__12132));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.tapset !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core.tapset \x3d null;\n}\ncljs.core.maybe_init_tapset \x3d (function cljs$core$maybe_init_tapset(){\nif((cljs.core.tapset \x3d\x3d null)){\nreturn (cljs.core.tapset \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY));\n} else {\nreturn null;\n}\n});\n/**\n * Adds f, a fn of one argument, to the tap set. This function will be called with\n * anything sent via tap\x3e. Remember f in order to remove-tap\n */\ncljs.core.add_tap \x3d (function cljs$core$add_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.conj,f);\n\nreturn null;\n});\n/**\n * Remove f from the tap set.\n */\ncljs.core.remove_tap \x3d (function cljs$core$remove_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.disj,f);\n\nreturn null;\n});\n/**\n * Sends x to any taps. Returns the result of *exec-tap-fn*, a Boolean value.\n */\ncljs.core.tap_GT_ \x3d (function cljs$core$tap_GT_(x){\ncljs.core.maybe_init_tapset();\n\nreturn cljs.core._STAR_exec_tap_fn_STAR_.call(null,(function (){\nvar seq__12133 \x3d cljs.core.seq(cljs.core.deref(cljs.core.tapset));\nvar chunk__12134 \x3d null;\nvar count__12135 \x3d (0);\nvar i__12136 \x3d (0);\nwhile(true){\nif((i__12136 \x3c count__12135)){\nvar tap \x3d chunk__12134.cljs$core$IIndexed$_nth$arity$2(null,i__12136);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e12139){if((e12139 instanceof Error)){\nvar ex_16476 \x3d e12139;\n} else {\nthrow e12139;\n\n}\n}\n\nvar G__16478 \x3d seq__12133;\nvar G__16479 \x3d chunk__12134;\nvar G__16480 \x3d count__12135;\nvar G__16481 \x3d (i__12136 + (1));\nseq__12133 \x3d G__16478;\nchunk__12134 \x3d G__16479;\ncount__12135 \x3d G__16480;\ni__12136 \x3d G__16481;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__12133);\nif(temp__5804__auto__){\nvar seq__12133__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__12133__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__12133__$1);\nvar G__16497 \x3d cljs.core.chunk_rest(seq__12133__$1);\nvar G__16499 \x3d c__5568__auto__;\nvar G__16500 \x3d cljs.core.count(c__5568__auto__);\nvar G__16501 \x3d (0);\nseq__12133 \x3d G__16497;\nchunk__12134 \x3d G__16499;\ncount__12135 \x3d G__16500;\ni__12136 \x3d G__16501;\ncontinue;\n} else {\nvar tap \x3d cljs.core.first(seq__12133__$1);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e12140){if((e12140 instanceof Error)){\nvar ex_16504 \x3d e12140;\n} else {\nthrow e12140;\n\n}\n}\n\nvar G__16505 \x3d cljs.core.next(seq__12133__$1);\nvar G__16506 \x3d null;\nvar G__16507 \x3d (0);\nvar G__16508 \x3d (0);\nseq__12133 \x3d G__16505;\nchunk__12134 \x3d G__16506;\ncount__12135 \x3d G__16507;\ni__12136 \x3d G__16508;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n});\n/**\n * m f \x3d\x3e {k (f v) ...}\n * Given a map m and a function f of 1-argument, returns a new map where the keys of m\n * are mapped to result of applying f to the corresponding values of m.\n */\ncljs.core.update_vals \x3d (function cljs$core$update_vals(m,f){\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,k,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(v) : f.call(null,v)));\n}),(((((!((m \x3d\x3d null))))?(((((m.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d m.cljs$core$IEditableCollection$))))?true:false):false))?cljs.core.transient$(m):cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY)),m)),cljs.core.meta(m));\n});\n/**\n * m f \x3d\x3e {(f k) v ...}\n * Given a map m and a function f of 1-argument, returns a new map whose\n * keys are the result of applying f to the keys of m, mapped to the\n * corresponding values of m.\n * f must return a unique key for each key of m, else the behavior is undefined.\n */\ncljs.core.update_keys \x3d (function cljs$core$update_keys(m,f){\nvar ret \x3d cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(k) : f.call(null,k)),v);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\nreturn cljs.core.with_meta(ret,cljs.core.meta(m));\n});\n/**\n * Bootstrap only.\n */\ncljs.core.ns_lookup \x3d (function cljs$core$ns_lookup(ns_obj,k){\nreturn (function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n});\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n*/\ncljs.core.Namespace \x3d (function (obj,name){\nthis.obj \x3d obj;\nthis.name \x3d name;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6291456;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Namespace.prototype.findInternedVar \x3d (function (sym){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar k \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nif(cljs.core.goog$module$goog$object.containsKey(self__.obj,k)){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nvar var_meta \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),this$], null);\nreturn (new cljs.core.Var(cljs.core.ns_lookup(self__.obj,k),var_sym,var_meta));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Namespace.prototype.getName \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Namespace.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name);\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Namespace)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.name,other.name);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash(self__.name);\n}));\n\n(cljs.core.Namespace.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null)], null);\n}));\n\n(cljs.core.Namespace.cljs$lang$type \x3d true);\n\n(cljs.core.Namespace.cljs$lang$ctorStr \x3d \x22cljs.core/Namespace\x22);\n\n(cljs.core.Namespace.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core/Namespace\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Namespace.\n */\ncljs.core.__GT_Namespace \x3d (function cljs$core$__GT_Namespace(obj,name){\nreturn (new cljs.core.Namespace(obj,name));\n});\n\n/**\n * Bootstrap only.\n * @type {*}\n */\ncljs.core.NS_CACHE \x3d null;\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj_STAR_ \x3d (function cljs$core$find_ns_obj_STAR_(ctxt,xs){\nwhile(true){\nif((ctxt \x3d\x3d null)){\nreturn null;\n} else {\nif((xs \x3d\x3d null)){\nreturn ctxt;\n} else {\nvar G__16517 \x3d cljs.core.goog$module$goog$object.get(ctxt,cljs.core.first(xs));\nvar G__16518 \x3d cljs.core.next(xs);\nctxt \x3d G__16517;\nxs \x3d G__16518;\ncontinue;\n\n}\n}\nbreak;\n}\n});\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj \x3d (function cljs$core$find_ns_obj(ns){\nvar munged_ns \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns));\nvar segs \x3d munged_ns.split(\x22.\x22);\nvar G__12142 \x3d cljs.core._STAR_target_STAR_;\nswitch (G__12142) {\ncase \x22nodejs\x22:\nif(COMPILED){\nreturn cljs.core.find_ns_obj_STAR_((function (){try{var ctxt \x3d eval(cljs.core.first(segs));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d ctxt;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.object_QMARK_(ctxt);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn ctxt;\n} else {\nreturn null;\n}\n}catch (e12143){if((e12143 instanceof ReferenceError)){\nvar e \x3d e12143;\nreturn null;\n} else {\nthrow e12143;\n\n}\n}})(),cljs.core.next(segs));\n} else {\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n}\n\nbreak;\ncase \x22default\x22:\ncase \x22webworker\x22:\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n\nbreak;\ndefault:\nthrow (new Error([\x22find-ns-obj not supported for target \x22,cljs.core._STAR_target_STAR_].join(\x27\x27)));\n\n}\n});\n/**\n * Returns a map of the intern mappings for the namespace.\n * Bootstrap only.\n */\ncljs.core.ns_interns_STAR_ \x3d (function cljs$core$ns_interns_STAR_(sym){\nvar ns_obj \x3d cljs.core.find_ns_obj(sym);\nvar ns \x3d (new cljs.core.Namespace(ns_obj,sym));\nvar step \x3d (function cljs$core$ns_interns_STAR__$_step(ret,k){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.demunge(k));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,var_sym,(new cljs.core.Var((function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n}),cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym)),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns], null))));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(step,cljs.core.PersistentArrayMap.EMPTY,cljs.core.js_keys(ns_obj));\n});\n/**\n * Create a new namespace named by the symbol. Bootstrap only.\n */\ncljs.core.create_ns \x3d (function cljs$core$create_ns(var_args){\nvar G__12145 \x3d arguments.length;\nswitch (G__12145) {\ncase 1:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1 \x3d (function (sym){\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(sym,cljs.core.find_ns_obj(sym));\n}));\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,ns_obj){\nreturn (new cljs.core.Namespace(ns_obj,sym));\n}));\n\n(cljs.core.create_ns.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the namespace named by the symbol or nil if it doesn\x27t exist.\n * Bootstrap only.\n */\ncljs.core.find_ns \x3d (function cljs$core$find_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the macros namespace named by the symbol or nil if it doesn\x27t exist.\n * Bootstrap only.\n */\ncljs.core.find_macros_ns \x3d (function cljs$core$find_macros_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar ns_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns);\nvar ns__$1 \x3d (((!(goog.string.contains(ns_str,\x22$macros\x22))))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([ns_str,\x22$macros\x22].join(\x27\x27)):ns);\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns__$1);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns__$1);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns__$1,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns__$1,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the name of the namespace, a Namespace object.\n * Bootstrap only.\n */\ncljs.core.ns_name \x3d (function cljs$core$ns_name(ns_obj){\nreturn ns_obj.name;\n});\n/**\n * Returns true x is a goog.Uri instance.\n */\ncljs.core.uri_QMARK_ \x3d (function cljs$core$uri_QMARK_(x){\nreturn (x instanceof goog.Uri);\n});\n/**\n * Returns true if num is NaN, else false\n */\ncljs.core.NaN_QMARK_ \x3d (function cljs$core$NaN_QMARK_(val){\nreturn isNaN(val);\n});\n/**\n * Construct message for parsing for non-string parsing error\n */\ncljs.core.parsing_err \x3d (function cljs$core$parsing_err(val){\nreturn [\x22Expected string, got: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((val \x3d\x3d null))?\x22nil\x22:goog.typeOf(val)))].join(\x27\x27);\n});\n/**\n * Parse string of decimal digits with optional leading -/+ and return an\n * integer value, or nil if parse fails\n */\ncljs.core.parse_long \x3d (function cljs$core$parse_long(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar and__5043__auto__ \x3d cljs.core.re_matches(/[+-]?\\d+/,s);\nif(cljs.core.truth_(and__5043__auto__)){\nvar i \x3d parseInt(s);\nif((((i \x3c\x3d Number.MAX_SAFE_INTEGER)) \x26\x26 ((i \x3e\x3d Number.MIN_SAFE_INTEGER)))){\nreturn i;\n} else {\nreturn null;\n}\n} else {\nreturn and__5043__auto__;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse string with floating point components and return a floating point value,\n * or nil if parse fails.\n * Grammar: https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String-\n */\ncljs.core.parse_double \x3d (function cljs$core$parse_double(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?NaN[\\x00-\\x20]*/,s)){\nreturn NaN;\n} else {\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?(Infinity|((\\d+\\.?\\d*|\\.\\d+)([eE][+-]?\\d+)?)[dDfF]?)[\\x00-\\x20]*/,s)){\nreturn parseFloat(s);\n} else {\nreturn null;\n\n}\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.uuid_regex \x3d /^[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]$/;\n/**\n * Parse a string representing a UUID and return a UUID instance,\n * or nil if parse fails.\n * Grammar: https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#toString--\n */\ncljs.core.parse_uuid \x3d (function cljs$core$parse_uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(cljs.core.uuid_regex,s)){\nreturn cljs.core.uuid(s);\n} else {\nreturn null;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse strings \x22true\x22 or \x22false\x22 and return a boolean, or nil if invalid. Note that this explicitly\n * excludes strings with different cases, or space characters.\n */\ncljs.core.parse_boolean \x3d (function cljs$core$parse_boolean(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar G__12146 \x3d s;\nswitch (G__12146) {\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ndefault:\nreturn null;\n\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.maybe_enable_print_BANG_ \x3d (function cljs$core$maybe_enable_print_BANG_(){\nif((typeof console !\x3d\x3d \x27undefined\x27)){\nreturn cljs.core.enable_console_print_BANG_();\n} else {\nif((((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nashorn\x22)) || ((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22graaljs\x22)))){\nvar system \x3d Java.type(\x22java.lang.System\x22);\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.out.println(s);\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.error.println(s);\n}));\n} else {\nreturn null;\n}\n}\n});\ncljs.core.maybe_enable_print_BANG_();\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_eval_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Runtime environments may provide a way to evaluate ClojureScript\n * forms. Whatever function *eval* is bound to will be passed any forms which\n * should be evaluated.\n */\ncljs.core._STAR_eval_STAR_ \x3d (function cljs$core$_STAR_eval_STAR_(_){\nthrow (new Error(\x22cljs.core/*eval* not bound\x22));\n});\n}\n/**\n * Evaluates the form data structure (not text!) and returns the result.\n * Delegates to cljs.core/*eval*. Intended for use in self-hosted ClojureScript,\n * which sets up an implementation of cljs.core/*eval* for that environment.\n */\ncljs.core.eval \x3d (function cljs$core$eval(form){\nreturn cljs.core._STAR_eval_STAR_.call(null,form);\n});\nif(COMPILED){\nif((\x22nodejs\x22 \x3d\x3d\x3d cljs.core._STAR_target_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n\nif((\x22window\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d window);\n} else {\nif((\x22self\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d self);\n} else {\nif((\x22global\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n}\n}\n} else {\n}\n\ncljs.core.enable_console_print_BANG_();\n"); +SHADOW_ENV.evalLoad("clojure.string.js", true , "goog.provide(\x27clojure.string\x27);\nclojure.string.seq_reverse \x3d (function clojure$string$seq_reverse(coll){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n});\nclojure.string.re_surrogate_pair \x3d (new RegExp(\x22([\\\\uD800-\\\\uDBFF])([\\\\uDC00-\\\\uDFFF])\x22,\x22g\x22));\n/**\n * Returns s with its characters reversed.\n */\nclojure.string.reverse \x3d (function clojure$string$reverse(s){\nreturn s.replace(clojure.string.re_surrogate_pair,\x22$2$1\x22).split(\x22\x22).reverse().join(\x22\x22);\n});\nclojure.string.replace_all \x3d (function clojure$string$replace_all(s,re,replacement){\nvar r \x3d (new RegExp(re.source,(function (){var G__12150 \x3d \x22g\x22;\nvar G__12150__$1 \x3d (cljs.core.truth_(re.ignoreCase)?[G__12150,\x22i\x22].join(\x27\x27):G__12150);\nvar G__12150__$2 \x3d (cljs.core.truth_(re.multiline)?[G__12150__$1,\x22m\x22].join(\x27\x27):G__12150__$1);\nif(cljs.core.truth_(re.unicode)){\nreturn [G__12150__$2,\x22u\x22].join(\x27\x27);\n} else {\nreturn G__12150__$2;\n}\n})()));\nreturn s.replace(r,replacement);\n});\nclojure.string.replace_with \x3d (function clojure$string$replace_with(f){\nreturn (function() { \nvar G__12182__delegate \x3d function (args){\nvar matches \x3d cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((2),args);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(matches),(1))){\nvar G__12151 \x3d cljs.core.first(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12151) : f.call(null,G__12151));\n} else {\nvar G__12152 \x3d cljs.core.vec(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12152) : f.call(null,G__12152));\n}\n};\nvar G__12182 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__12183__i \x3d 0, G__12183__a \x3d new Array(arguments.length - 0);\nwhile (G__12183__i \x3c G__12183__a.length) {G__12183__a[G__12183__i] \x3d arguments[G__12183__i + 0]; ++G__12183__i;}\n args \x3d new cljs.core.IndexedSeq(G__12183__a,0,null);\n} \nreturn G__12182__delegate.call(this,args);};\nG__12182.cljs$lang$maxFixedArity \x3d 0;\nG__12182.cljs$lang$applyTo \x3d (function (arglist__12184){\nvar args \x3d cljs.core.seq(arglist__12184);\nreturn G__12182__delegate(args);\n});\nG__12182.cljs$core$IFn$_invoke$arity$variadic \x3d G__12182__delegate;\nreturn G__12182;\n})()\n;\n});\n/**\n * Replaces all instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace-first.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace \x22Almost Pig Latin\x22 #\x22\\b(\\w)(\\w+)\\b\x22 \x22$2$1ay\x22)\n * -\x3e \x22lmostAay igPay atinLay\x22\n */\nclojure.string.replace \x3d (function clojure$string$replace(s,match,replacement){\nif(typeof match \x3d\x3d\x3d \x27string\x27){\nreturn s.replace((new RegExp(goog.string.regExpEscape(match),\x22g\x22)),replacement);\n} else {\nif((match instanceof RegExp)){\nif(typeof replacement \x3d\x3d\x3d \x27string\x27){\nreturn clojure.string.replace_all(s,match,replacement);\n} else {\nreturn clojure.string.replace_all(s,match,clojure.string.replace_with(replacement));\n}\n} else {\nthrow [\x22Invalid match arg: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(match)].join(\x27\x27);\n\n}\n}\n});\n/**\n * Replaces the first instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace-first \x22swap first two words\x22\n * #\x22(\\w+)(\\s+)(\\w+)\x22 \x22$3$2$1\x22)\n * -\x3e \x22first swap two words\x22\n */\nclojure.string.replace_first \x3d (function clojure$string$replace_first(s,match,replacement){\nreturn s.replace(match,replacement);\n});\n/**\n * Returns a string of all elements in coll, as returned by (seq coll),\n * separated by an optional separator.\n */\nclojure.string.join \x3d (function clojure$string$join(var_args){\nvar G__12155 \x3d arguments.length;\nswitch (G__12155) {\ncase 1:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__12191 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\nvar G__12192 \x3d cljs.core.next(coll__$1);\nsb \x3d G__12191;\ncoll__$1 \x3d G__12192;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (separator,coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nsb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\n\nvar coll__$2 \x3d cljs.core.next(coll__$1);\nif((coll__$2 \x3d\x3d null)){\n} else {\nsb.append(separator);\n}\n\nvar G__12193 \x3d sb;\nvar G__12194 \x3d coll__$2;\nsb \x3d G__12193;\ncoll__$1 \x3d G__12194;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Converts string to all upper-case.\n */\nclojure.string.upper_case \x3d (function clojure$string$upper_case(s){\nreturn s.toUpperCase();\n});\n/**\n * Converts string to all lower-case.\n */\nclojure.string.lower_case \x3d (function clojure$string$lower_case(s){\nreturn s.toLowerCase();\n});\n/**\n * Converts first character of the string to upper-case, all other\n * characters to lower-case.\n */\nclojure.string.capitalize \x3d (function clojure$string$capitalize(s){\nreturn goog.string.capitalize(s);\n});\nclojure.string.pop_last_while_empty \x3d (function clojure$string$pop_last_while_empty(v){\nvar v__$1 \x3d v;\nwhile(true){\nif((\x22\x22 \x3d\x3d\x3d cljs.core.peek(v__$1))){\nvar G__12195 \x3d cljs.core.pop(v__$1);\nv__$1 \x3d G__12195;\ncontinue;\n} else {\nreturn v__$1;\n}\nbreak;\n}\n});\nclojure.string.discard_trailing_if_needed \x3d (function clojure$string$discard_trailing_if_needed(limit,v){\nif(((((0) \x3d\x3d\x3d limit)) \x26\x26 (((1) \x3c cljs.core.count(v))))){\nreturn clojure.string.pop_last_while_empty(v);\n} else {\nreturn v;\n}\n});\nclojure.string.split_with_empty_regex \x3d (function clojure$string$split_with_empty_regex(s,limit){\nif((((limit \x3c\x3d (0))) || ((limit \x3e\x3d ((2) + cljs.core.count(s)))))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s)))),\x22\x22);\n} else {\nvar pred__12156 \x3d cljs.core._EQ__EQ_;\nvar expr__12157 \x3d limit;\nif(cljs.core.truth_((pred__12156.cljs$core$IFn$_invoke$arity$2 ? pred__12156.cljs$core$IFn$_invoke$arity$2((1),expr__12157) : pred__12156.call(null,(1),expr__12157)))){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[s],null));\n} else {\nif(cljs.core.truth_((pred__12156.cljs$core$IFn$_invoke$arity$2 ? pred__12156.cljs$core$IFn$_invoke$arity$2((2),expr__12157) : pred__12156.call(null,(2),expr__12157)))){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[\x22\x22,s],null));\n} else {\nvar c \x3d (limit - (2));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s))),(0),c))),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,c));\n}\n}\n}\n});\n/**\n * Splits string on a regular expression. Optional argument limit is\n * the maximum number of parts. Not lazy. Returns vector of the parts.\n * Trailing empty strings are not returned - pass limit of -1 to return all.\n */\nclojure.string.split \x3d (function clojure$string$split(var_args){\nvar G__12160 \x3d arguments.length;\nswitch (G__12160) {\ncase 2:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,re){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,re,(0));\n}));\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,re,limit){\nreturn clojure.string.discard_trailing_if_needed(limit,(((\x22/(?:)/\x22 \x3d\x3d\x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(re)))?clojure.string.split_with_empty_regex(s,limit):(((limit \x3c (1)))?cljs.core.vec(cljs.core.str.cljs$core$IFn$_invoke$arity$1(s).split(re)):(function (){var s__$1 \x3d s;\nvar limit__$1 \x3d limit;\nvar parts \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(((1) \x3d\x3d\x3d limit__$1)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n} else {\nvar m \x3d cljs.core.re_find(re,s__$1);\nif((!((m \x3d\x3d null)))){\nvar index \x3d s__$1.indexOf(m);\nvar G__12206 \x3d s__$1.substring((index + cljs.core.count(m)));\nvar G__12207 \x3d (limit__$1 - (1));\nvar G__12208 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1.substring((0),index));\ns__$1 \x3d G__12206;\nlimit__$1 \x3d G__12207;\nparts \x3d G__12208;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n}\n}\nbreak;\n}\n})())));\n}));\n\n(clojure.string.split.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Splits s on \\n or \\r\\n. Trailing empty lines are not returned.\n */\nclojure.string.split_lines \x3d (function clojure$string$split_lines(s){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2(s,/\\n|\\r\\n/);\n});\n/**\n * Removes whitespace from both ends of string.\n */\nclojure.string.trim \x3d (function clojure$string$trim(s){\nreturn goog.string.trim(s);\n});\n/**\n * Removes whitespace from the left side of string.\n */\nclojure.string.triml \x3d (function clojure$string$triml(s){\nreturn goog.string.trimLeft(s);\n});\n/**\n * Removes whitespace from the right side of string.\n */\nclojure.string.trimr \x3d (function clojure$string$trimr(s){\nreturn goog.string.trimRight(s);\n});\n/**\n * Removes all trailing newline \\n or return \\r characters from\n * string. Similar to Perl\x27s chomp.\n */\nclojure.string.trim_newline \x3d (function clojure$string$trim_newline(s){\nvar index \x3d s.length;\nwhile(true){\nif((index \x3d\x3d\x3d (0))){\nreturn \x22\x22;\n} else {\nvar ch \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(s,(index - (1)));\nif((((\x22\\n\x22 \x3d\x3d\x3d ch)) || ((\x22\\r\x22 \x3d\x3d\x3d ch)))){\nvar G__12209 \x3d (index - (1));\nindex \x3d G__12209;\ncontinue;\n} else {\nreturn s.substring((0),index);\n}\n}\nbreak;\n}\n});\n/**\n * True is s is nil, empty, or contains only whitespace.\n */\nclojure.string.blank_QMARK_ \x3d (function clojure$string$blank_QMARK_(s){\nreturn goog.string.isEmptyOrWhitespace(goog.string.makeSafe(s));\n});\n/**\n * Return a new string, using cmap to escape each character ch\n * from s as follows:\n * \n * If (cmap ch) is nil, append ch to the new string.\n * If (cmap ch) is non-nil, append (str (cmap ch)) instead.\n */\nclojure.string.escape \x3d (function clojure$string$escape(s,cmap){\nvar buffer \x3d (new goog.string.StringBuffer());\nvar length \x3d s.length;\nvar index \x3d (0);\nwhile(true){\nif((length \x3d\x3d\x3d index)){\nreturn buffer.toString();\n} else {\nvar ch \x3d s.charAt(index);\nvar replacement \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cmap,ch);\nif((!((replacement \x3d\x3d null)))){\nbuffer.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(replacement));\n} else {\nbuffer.append(ch);\n}\n\nvar G__12236 \x3d (index + (1));\nindex \x3d G__12236;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Return index of value (string or char) in s, optionally searching\n * forward from from-index or nil if not found.\n */\nclojure.string.index_of \x3d (function clojure$string$index_of(var_args){\nvar G__12162 \x3d arguments.length;\nswitch (G__12162) {\ncase 2:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.indexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.indexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return last index of value (string or char) in s, optionally\n * searching backward from from-index or nil if not found.\n */\nclojure.string.last_index_of \x3d (function clojure$string$last_index_of(var_args){\nvar G__12164 \x3d arguments.length;\nswitch (G__12164) {\ncase 2:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.lastIndexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.lastIndexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * True if s starts with substr.\n */\nclojure.string.starts_with_QMARK_ \x3d (function clojure$string$starts_with_QMARK_(s,substr){\nreturn goog.string.startsWith(s,substr);\n});\n/**\n * True if s ends with substr.\n */\nclojure.string.ends_with_QMARK_ \x3d (function clojure$string$ends_with_QMARK_(s,substr){\nreturn goog.string.endsWith(s,substr);\n});\n/**\n * True if s includes substr.\n */\nclojure.string.includes_QMARK_ \x3d (function clojure$string$includes_QMARK_(s,substr){\nreturn goog.string.contains(s,substr);\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.console.js", true , "goog.provide(\x27shadow.cljs.devtools.client.console\x27);\nshadow.cljs.devtools.client.console.push_all \x3d (function shadow$cljs$devtools$client$console$push_all(arr,item){\nif(cljs.core.vector_QMARK_(item)){\nvar seq__12165 \x3d cljs.core.seq(item);\nvar chunk__12166 \x3d null;\nvar count__12167 \x3d (0);\nvar i__12168 \x3d (0);\nwhile(true){\nif((i__12168 \x3c count__12167)){\nvar it \x3d chunk__12166.cljs$core$IIndexed$_nth$arity$2(null,i__12168);\narr.push(it);\n\n\nvar G__12304 \x3d seq__12165;\nvar G__12305 \x3d chunk__12166;\nvar G__12306 \x3d count__12167;\nvar G__12307 \x3d (i__12168 + (1));\nseq__12165 \x3d G__12304;\nchunk__12166 \x3d G__12305;\ncount__12167 \x3d G__12306;\ni__12168 \x3d G__12307;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__12165);\nif(temp__5804__auto__){\nvar seq__12165__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__12165__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__12165__$1);\nvar G__12308 \x3d cljs.core.chunk_rest(seq__12165__$1);\nvar G__12309 \x3d c__5568__auto__;\nvar G__12310 \x3d cljs.core.count(c__5568__auto__);\nvar G__12311 \x3d (0);\nseq__12165 \x3d G__12308;\nchunk__12166 \x3d G__12309;\ncount__12167 \x3d G__12310;\ni__12168 \x3d G__12311;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__12165__$1);\narr.push(it);\n\n\nvar G__12312 \x3d cljs.core.next(seq__12165__$1);\nvar G__12313 \x3d null;\nvar G__12314 \x3d (0);\nvar G__12315 \x3d (0);\nseq__12165 \x3d G__12312;\nchunk__12166 \x3d G__12313;\ncount__12167 \x3d G__12314;\ni__12168 \x3d G__12315;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn arr.push(item);\n}\n});\nshadow.cljs.devtools.client.console.object_ref \x3d (function shadow$cljs$devtools$client$console$object_ref(obj){\nif((obj \x3d\x3d null)){\nreturn null;\n} else {\nreturn [\x22object\x22,({\x22object\x22: obj})];\n}\n});\nshadow.cljs.devtools.client.console.map__GT_style \x3d (function shadow$cljs$devtools$client$console$map__GT_style(m){\nreturn ({\x22style\x22: clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__12175){\nvar vec__12176 \x3d p__12175;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12176,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12176,(1),null);\nreturn [cljs.core.name(k),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),\x22;\x22].join(\x27\x27);\n}),m))});\n});\nshadow.cljs.devtools.client.console.clj__GT_jsonml \x3d (function shadow$cljs$devtools$client$console$clj__GT_jsonml(struct){\nif((struct \x3d\x3d null)){\nreturn null;\n} else {\nif(cljs.core.array_QMARK_(struct)){\nreturn struct;\n} else {\nif(cljs.core.vector_QMARK_(struct)){\nvar vec__12179 \x3d struct;\nvar seq__12180 \x3d cljs.core.seq(vec__12179);\nvar first__12181 \x3d cljs.core.first(seq__12180);\nvar seq__12180__$1 \x3d cljs.core.next(seq__12180);\nvar tag \x3d first__12181;\nvar first__12181__$1 \x3d cljs.core.first(seq__12180__$1);\nvar seq__12180__$2 \x3d cljs.core.next(seq__12180__$1);\nvar attrs \x3d first__12181__$1;\nvar children \x3d seq__12180__$2;\nvar js \x3d [cljs.core.name(tag),shadow.cljs.devtools.client.console.map__GT_style(attrs)];\nvar seq__12185_12316 \x3d cljs.core.seq(children);\nvar chunk__12186_12317 \x3d null;\nvar count__12187_12318 \x3d (0);\nvar i__12188_12319 \x3d (0);\nwhile(true){\nif((i__12188_12319 \x3c count__12187_12318)){\nvar child_12320 \x3d chunk__12186_12317.cljs$core$IIndexed$_nth$arity$2(null,i__12188_12319);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_12320) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_12320)));\n\n\nvar G__12321 \x3d seq__12185_12316;\nvar G__12322 \x3d chunk__12186_12317;\nvar G__12323 \x3d count__12187_12318;\nvar G__12324 \x3d (i__12188_12319 + (1));\nseq__12185_12316 \x3d G__12321;\nchunk__12186_12317 \x3d G__12322;\ncount__12187_12318 \x3d G__12323;\ni__12188_12319 \x3d G__12324;\ncontinue;\n} else {\nvar temp__5804__auto___12326 \x3d cljs.core.seq(seq__12185_12316);\nif(temp__5804__auto___12326){\nvar seq__12185_12327__$1 \x3d temp__5804__auto___12326;\nif(cljs.core.chunked_seq_QMARK_(seq__12185_12327__$1)){\nvar c__5568__auto___12328 \x3d cljs.core.chunk_first(seq__12185_12327__$1);\nvar G__12329 \x3d cljs.core.chunk_rest(seq__12185_12327__$1);\nvar G__12330 \x3d c__5568__auto___12328;\nvar G__12331 \x3d cljs.core.count(c__5568__auto___12328);\nvar G__12332 \x3d (0);\nseq__12185_12316 \x3d G__12329;\nchunk__12186_12317 \x3d G__12330;\ncount__12187_12318 \x3d G__12331;\ni__12188_12319 \x3d G__12332;\ncontinue;\n} else {\nvar child_12333 \x3d cljs.core.first(seq__12185_12327__$1);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_12333) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_12333)));\n\n\nvar G__12334 \x3d cljs.core.next(seq__12185_12327__$1);\nvar G__12335 \x3d null;\nvar G__12336 \x3d (0);\nvar G__12337 \x3d (0);\nseq__12185_12316 \x3d G__12334;\nchunk__12186_12317 \x3d G__12335;\ncount__12187_12318 \x3d G__12336;\ni__12188_12319 \x3d G__12337;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn js;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27string\x27){\nreturn struct;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27number\x27){\nreturn struct;\n} else {\nif(cljs.core.seq_QMARK_(struct)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.console.clj__GT_jsonml),struct);\n} else {\nreturn shadow.cljs.devtools.client.console.object_ref(struct);\n\n}\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SeqFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((cljs.core.sequential_QMARK_(obj)) || (cljs.core.set_QMARK_(obj)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.body \x3d (function (s){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),(0)], null),(function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__12196(s__12197){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__12197__$1 \x3d s__12197;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__12197__$1);\nif(temp__5804__auto__){\nvar s__12197__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__12197__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__12197__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__12199 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__12198 \x3d (0);\nwhile(true){\nif((i__12198 \x3c size__5522__auto__)){\nvar value \x3d cljs.core._nth(c__5521__auto__,i__12198);\ncljs.core.chunk_append(b__12199,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null));\n\nvar G__12338 \x3d (i__12198 + (1));\ni__12198 \x3d G__12338;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__12199),shadow$cljs$devtools$client$console$iter__12196(cljs.core.chunk_rest(s__12197__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__12199),null);\n}\n} else {\nvar value \x3d cljs.core.first(s__12197__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null),shadow$cljs$devtools$client$console$iter__12196(cljs.core.rest(s__12197__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(s);\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SeqFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SeqFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SeqFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SeqFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.MapFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.PersistentHashMap)) || ((((obj instanceof cljs.core.PersistentArrayMap)) || (cljs.core.record_QMARK_(obj)))))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x22100%\x22,new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),(function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__12249(s__12250){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__12250__$1 \x3d s__12250;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__12250__$1);\nif(temp__5804__auto__){\nvar s__12250__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__12250__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__12250__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__12252 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__12251 \x3d (0);\nwhile(true){\nif((i__12251 \x3c size__5522__auto__)){\nvar key \x3d cljs.core._nth(c__5521__auto__,i__12251);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\ncljs.core.chunk_append(b__12252,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null));\n\nvar G__12340 \x3d (i__12251 + (1));\ni__12251 \x3d G__12340;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__12252),shadow$cljs$devtools$client$console$iter__12249(cljs.core.chunk_rest(s__12250__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__12252),null);\n}\n} else {\nvar key \x3d cljs.core.first(s__12250__$2);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null),shadow$cljs$devtools$client$console$iter__12249(cljs.core.rest(s__12250__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__((function (){var k \x3d cljs.core.keys(m);\ntry{return cljs.core.sort.cljs$core$IFn$_invoke$arity$1(k);\n}catch (e12271){var e \x3d e12271;\nreturn k;\n}})());\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/MapFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_MapFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_MapFormatter(){\nreturn (new shadow.cljs.devtools.client.console.MapFormatter());\n});\n\nshadow.cljs.devtools.client.console.keyword_style \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22rgb(136, 19, 145)\x22], null);\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.KeywordFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Keyword)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/KeywordFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_KeywordFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_KeywordFormatter(){\nreturn (new shadow.cljs.devtools.client.console.KeywordFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SymbolFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Symbol)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SymbolFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SymbolFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SymbolFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SymbolFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.DerefFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.Atom)) || ((obj instanceof cljs.core.Volatile)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,[\x22@DEREF \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0))].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.body \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),shadow.cljs.devtools.client.console.object_ref(cljs.core.deref(v))], null));\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/DerefFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_DerefFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_DerefFormatter(){\nreturn (new shadow.cljs.devtools.client.console.DerefFormatter());\n});\n\nshadow.cljs.devtools.client.console.install_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$install_all_BANG_(){\nvar temp__5804__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar f \x3d temp__5804__auto__;\nvar G__12292 \x3d f;\nG__12292.push((new shadow.cljs.devtools.client.console.KeywordFormatter()));\n\nG__12292.push((new shadow.cljs.devtools.client.console.MapFormatter()));\n\nG__12292.push((new shadow.cljs.devtools.client.console.SeqFormatter()));\n\nG__12292.push((new shadow.cljs.devtools.client.console.SymbolFormatter()));\n\nG__12292.push((new shadow.cljs.devtools.client.console.DerefFormatter()));\n\nreturn G__12292;\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$remove_all_BANG_(){\nvar all \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__12293_SHARP_){\nreturn goog.object.get(p1__12293_SHARP_,\x22shadow$formatter\x22);\n}),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn [];\n}\n})())));\nreturn goog.object.set(goog.global,\x22devtoolsFormatters\x22,all);\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_();\nshadow.cljs.devtools.client.console.install_all_BANG_();\n"); SHADOW_ENV.evalLoad("goog.labs.useragent.engine.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.engine\x22);\n goog.module.declareLegacyNamespace();\n const googArray \x3d goog.require(\x22goog.array\x22);\n const googString \x3d goog.require(\x22goog.string.internal\x22);\n const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n function isPresto() {\n return util.matchUserAgent(\x22Presto\x22);\n }\n function isTrident() {\n return util.matchUserAgent(\x22Trident\x22) || util.matchUserAgent(\x22MSIE\x22);\n }\n function isEdge() {\n return util.matchUserAgent(\x22Edge\x22);\n }\n function isWebKit() {\n return util.matchUserAgentIgnoreCase(\x22WebKit\x22) \x26\x26 !isEdge();\n }\n function isGecko() {\n return util.matchUserAgent(\x22Gecko\x22) \x26\x26 !isWebKit() \x26\x26 !isTrident() \x26\x26 !isEdge();\n }\n function getVersion() {\n const userAgentString \x3d util.getUserAgent();\n if (userAgentString) {\n const tuples \x3d util.extractVersionTuples(userAgentString);\n const engineTuple \x3d getEngineTuple(tuples);\n if (engineTuple) {\n if (engineTuple[0] \x3d\x3d \x22Gecko\x22) {\n return getVersionForKey(tuples, \x22Firefox\x22);\n }\n return engineTuple[1];\n }\n const browserTuple \x3d tuples[0];\n let info;\n if (browserTuple \x26\x26 (info \x3d browserTuple[2])) {\n const match \x3d /Trident\\/([^\\s;]+)/.exec(info);\n if (match) {\n return match[1];\n }\n }\n }\n return \x22\x22;\n }\n function getEngineTuple(tuples) {\n if (!isEdge()) {\n return tuples[1];\n }\n for (let i \x3d 0; i \x3c tuples.length; i++) {\n const tuple \x3d tuples[i];\n if (tuple[0] \x3d\x3d \x22Edge\x22) {\n return tuple;\n }\n }\n }\n function isVersionOrHigher(version) {\n return googString.compareVersions(getVersion(), version) \x3e\x3d 0;\n }\n function getVersionForKey(tuples, key) {\n const pair \x3d googArray.find(tuples, function(pair) {\n return key \x3d\x3d pair[0];\n });\n return pair \x26\x26 pair[1] || \x22\x22;\n }\n exports \x3d {getVersion, isEdge, isGecko, isPresto, isTrident, isVersionOrHigher, isWebKit,};\n return exports;\n});\n"); SHADOW_ENV.evalLoad("goog.labs.useragent.platform.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.platform\x22);\n goog.module.declareLegacyNamespace();\n const googString \x3d goog.require(\x22goog.string.internal\x22);\n const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n const {AsyncValue, Version} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyValue\x22);\n const {platformVersion} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyData\x22);\n const {useClientHints} \x3d goog.require(\x22goog.labs.userAgent\x22);\n function useUserAgentDataPlatform(ignoreClientHintsFlag \x3d false) {\n if (util.ASSUME_CLIENT_HINTS_SUPPORT) {\n return true;\n }\n if (!ignoreClientHintsFlag \x26\x26 !useClientHints()) {\n return false;\n }\n const userAgentData \x3d util.getUserAgentData();\n return !!userAgentData \x26\x26 !!userAgentData.platform;\n }\n function isAndroid() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22Android\x22;\n }\n return util.matchUserAgent(\x22Android\x22);\n }\n function isIpod() {\n return util.matchUserAgent(\x22iPod\x22);\n }\n function isIphone() {\n return util.matchUserAgent(\x22iPhone\x22) \x26\x26 !util.matchUserAgent(\x22iPod\x22) \x26\x26 !util.matchUserAgent(\x22iPad\x22);\n }\n function isIpad() {\n return util.matchUserAgent(\x22iPad\x22);\n }\n function isIos() {\n return isIphone() || isIpad() || isIpod();\n }\n function isMacintosh() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22macOS\x22;\n }\n return util.matchUserAgent(\x22Macintosh\x22);\n }\n function isLinux() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22Linux\x22;\n }\n return util.matchUserAgent(\x22Linux\x22);\n }\n function isWindows() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22Windows\x22;\n }\n return util.matchUserAgent(\x22Windows\x22);\n }\n function isChromeOS() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22Chrome OS\x22;\n }\n return util.matchUserAgent(\x22CrOS\x22);\n }\n function isChromecast() {\n return util.matchUserAgent(\x22CrKey\x22);\n }\n function isKaiOS() {\n return util.matchUserAgentIgnoreCase(\x22KaiOS\x22);\n }\n function getVersion() {\n const userAgentString \x3d util.getUserAgent();\n let version \x3d \x22\x22, re;\n if (isWindows()) {\n re \x3d /Windows (?:NT|Phone) ([0-9.]+)/;\n const match \x3d re.exec(userAgentString);\n if (match) {\n version \x3d match[1];\n } else {\n version \x3d \x220.0\x22;\n }\n } else if (isIos()) {\n re \x3d /(?:iPhone|iPod|iPad|CPU)\\s+OS\\s+(\\S+)/;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1].replace(/_/g, \x22.\x22);\n } else if (isMacintosh()) {\n re \x3d /Mac OS X ([0-9_.]+)/;\n const match \x3d re.exec(userAgentString);\n version \x3d match ? match[1].replace(/_/g, \x22.\x22) : \x2210\x22;\n } else if (isKaiOS()) {\n re \x3d /(?:KaiOS)\\/(\\S+)/i;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1];\n } else if (isAndroid()) {\n re \x3d /Android\\s+([^\\);]+)(\\)|;)/;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1];\n } else if (isChromeOS()) {\n re \x3d /(?:CrOS\\s+(?:i686|x86_64)\\s+([0-9.]+))/;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1];\n }\n return version || \x22\x22;\n }\n function isVersionOrHigher(version) {\n return googString.compareVersions(getVersion(), version) \x3e\x3d 0;\n }\n class PlatformVersion {\n constructor() {\n this.preUachHasLoaded_ \x3d false;\n }\n getIfLoaded() {\n if (useUserAgentDataPlatform(true)) {\n const loadedPlatformVersion \x3d platformVersion.getIfLoaded();\n if (loadedPlatformVersion \x3d\x3d\x3d undefined) {\n return undefined;\n }\n return new Version(loadedPlatformVersion);\n } else if (!this.preUachHasLoaded_) {\n return undefined;\n } else {\n return new Version(getVersion());\n }\n }\n async load() {\n if (useUserAgentDataPlatform(true)) {\n return new Version(await platformVersion.load());\n } else {\n this.preUachHasLoaded_ \x3d true;\n return new Version(getVersion());\n }\n }\n resetForTesting() {\n platformVersion.resetForTesting();\n this.preUachHasLoaded_ \x3d false;\n }\n }\n const version \x3d new PlatformVersion();\n exports \x3d {getVersion, isAndroid, isChromeOS, isChromecast, isIos, isIpad, isIphone, isIpod, isKaiOS, isLinux, isMacintosh, isVersionOrHigher, isWindows, version,};\n return exports;\n});\n"); SHADOW_ENV.evalLoad("goog.useragent.useragent.js", true , "goog.provide(\x22goog.userAgent\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.engine\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.labs.userAgent.util\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.userAgent.ASSUME_IE \x3d goog.define(\x22goog.userAgent.ASSUME_IE\x22, false);\ngoog.userAgent.ASSUME_EDGE \x3d goog.define(\x22goog.userAgent.ASSUME_EDGE\x22, false);\ngoog.userAgent.ASSUME_GECKO \x3d goog.define(\x22goog.userAgent.ASSUME_GECKO\x22, false);\ngoog.userAgent.ASSUME_WEBKIT \x3d goog.define(\x22goog.userAgent.ASSUME_WEBKIT\x22, false);\ngoog.userAgent.ASSUME_MOBILE_WEBKIT \x3d goog.define(\x22goog.userAgent.ASSUME_MOBILE_WEBKIT\x22, false);\ngoog.userAgent.ASSUME_OPERA \x3d goog.define(\x22goog.userAgent.ASSUME_OPERA\x22, false);\ngoog.userAgent.ASSUME_ANY_VERSION \x3d goog.define(\x22goog.userAgent.ASSUME_ANY_VERSION\x22, false);\ngoog.userAgent.BROWSER_KNOWN_ \x3d goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA;\ngoog.userAgent.getUserAgentString \x3d function() {\n return goog.labs.userAgent.util.getUserAgent();\n};\ngoog.userAgent.getNavigatorTyped \x3d function() {\n return goog.global[\x22navigator\x22] || null;\n};\ngoog.userAgent.getNavigator \x3d function() {\n return goog.userAgent.getNavigatorTyped();\n};\ngoog.userAgent.OPERA \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : goog.labs.userAgent.browser.isOpera();\ngoog.userAgent.IE \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.labs.userAgent.browser.isIE();\ngoog.userAgent.EDGE \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_EDGE : goog.labs.userAgent.engine.isEdge();\ngoog.userAgent.EDGE_OR_IE \x3d goog.userAgent.EDGE || goog.userAgent.IE;\ngoog.userAgent.GECKO \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.labs.userAgent.engine.isGecko();\ngoog.userAgent.WEBKIT \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : goog.labs.userAgent.engine.isWebKit();\ngoog.userAgent.isMobile_ \x3d function() {\n return goog.userAgent.WEBKIT \x26\x26 goog.labs.userAgent.util.matchUserAgent(\x22Mobile\x22);\n};\ngoog.userAgent.MOBILE \x3d goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\ngoog.userAgent.SAFARI \x3d goog.userAgent.WEBKIT;\ngoog.userAgent.determinePlatform_ \x3d function() {\n var navigator \x3d goog.userAgent.getNavigatorTyped();\n return navigator \x26\x26 navigator.platform || \x22\x22;\n};\ngoog.userAgent.PLATFORM \x3d goog.userAgent.determinePlatform_();\ngoog.userAgent.ASSUME_MAC \x3d goog.define(\x22goog.userAgent.ASSUME_MAC\x22, false);\ngoog.userAgent.ASSUME_WINDOWS \x3d goog.define(\x22goog.userAgent.ASSUME_WINDOWS\x22, false);\ngoog.userAgent.ASSUME_LINUX \x3d goog.define(\x22goog.userAgent.ASSUME_LINUX\x22, false);\ngoog.userAgent.ASSUME_X11 \x3d goog.define(\x22goog.userAgent.ASSUME_X11\x22, false);\ngoog.userAgent.ASSUME_ANDROID \x3d goog.define(\x22goog.userAgent.ASSUME_ANDROID\x22, false);\ngoog.userAgent.ASSUME_IPHONE \x3d goog.define(\x22goog.userAgent.ASSUME_IPHONE\x22, false);\ngoog.userAgent.ASSUME_IPAD \x3d goog.define(\x22goog.userAgent.ASSUME_IPAD\x22, false);\ngoog.userAgent.ASSUME_IPOD \x3d goog.define(\x22goog.userAgent.ASSUME_IPOD\x22, false);\ngoog.userAgent.ASSUME_KAIOS \x3d goog.define(\x22goog.userAgent.ASSUME_KAIOS\x22, false);\ngoog.userAgent.PLATFORM_KNOWN_ \x3d goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID || goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD;\ngoog.userAgent.MAC \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : goog.labs.userAgent.platform.isMacintosh();\ngoog.userAgent.WINDOWS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : goog.labs.userAgent.platform.isWindows();\ngoog.userAgent.isLegacyLinux_ \x3d function() {\n return goog.labs.userAgent.platform.isLinux() || goog.labs.userAgent.platform.isChromeOS();\n};\ngoog.userAgent.LINUX \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.isLegacyLinux_();\ngoog.userAgent.isX11_ \x3d function() {\n var navigator \x3d goog.userAgent.getNavigatorTyped();\n return !!navigator \x26\x26 goog.string.internal.contains(navigator[\x22appVersion\x22] || \x22\x22, \x22X11\x22);\n};\ngoog.userAgent.X11 \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_X11 : goog.userAgent.isX11_();\ngoog.userAgent.ANDROID \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : goog.labs.userAgent.platform.isAndroid();\ngoog.userAgent.IPHONE \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE : goog.labs.userAgent.platform.isIphone();\ngoog.userAgent.IPAD \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.IPOD \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIpod();\ngoog.userAgent.IOS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIos();\ngoog.userAgent.KAIOS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_KAIOS : goog.labs.userAgent.platform.isKaiOS();\ngoog.userAgent.determineVersion_ \x3d function() {\n var version \x3d \x22\x22;\n var arr \x3d goog.userAgent.getVersionRegexResult_();\n if (arr) {\n version \x3d arr ? arr[1] : \x22\x22;\n }\n if (goog.userAgent.IE) {\n var docMode \x3d goog.userAgent.getDocumentMode_();\n if (docMode !\x3d null \x26\x26 docMode \x3e parseFloat(version)) {\n return String(docMode);\n }\n }\n return version;\n};\ngoog.userAgent.getVersionRegexResult_ \x3d function() {\n var userAgent \x3d goog.userAgent.getUserAgentString();\n if (goog.userAgent.GECKO) {\n return /rv:([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.EDGE) {\n return /Edge\\/([\\d\\.]+)/.exec(userAgent);\n }\n if (goog.userAgent.IE) {\n return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.WEBKIT) {\n return /WebKit\\/(\\S+)/.exec(userAgent);\n }\n if (goog.userAgent.OPERA) {\n return /(?:Version)[ \\/]?(\\S+)/.exec(userAgent);\n }\n return undefined;\n};\ngoog.userAgent.getDocumentMode_ \x3d function() {\n var doc \x3d goog.global[\x22document\x22];\n return doc ? doc[\x22documentMode\x22] : undefined;\n};\ngoog.userAgent.VERSION \x3d goog.userAgent.determineVersion_();\ngoog.userAgent.compare \x3d function(v1, v2) {\n return goog.string.internal.compareVersions(v1, v2);\n};\ngoog.userAgent.isVersionOrHigherCache_ \x3d {};\ngoog.userAgent.isVersionOrHigher \x3d function(version) {\n return goog.userAgent.ASSUME_ANY_VERSION || goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_, version, function() {\n return goog.string.internal.compareVersions(goog.userAgent.VERSION, version) \x3e\x3d 0;\n });\n};\ngoog.userAgent.isDocumentModeOrHigher \x3d function(documentMode) {\n return Number(goog.userAgent.DOCUMENT_MODE) \x3e\x3d documentMode;\n};\ngoog.userAgent.isDocumentMode \x3d goog.userAgent.isDocumentModeOrHigher;\ngoog.userAgent.DOCUMENT_MODE \x3d function() {\n var doc \x3d goog.global[\x22document\x22];\n if (!doc || !goog.userAgent.IE) {\n return undefined;\n }\n var documentMode \x3d goog.userAgent.getDocumentMode_();\n if (documentMode) {\n return documentMode;\n }\n var ieVersion \x3d parseInt(goog.userAgent.VERSION, 10);\n return ieVersion || undefined;\n}();\n"); @@ -1451,9 +1451,9 @@ SHADOW_ENV.evalLoad("goog.math.coordinate.js", true , "goog.provide(\x22goog.mat SHADOW_ENV.evalLoad("goog.math.size.js", true , "goog.provide(\x22goog.math.Size\x22);\ngoog.math.Size \x3d function(width, height) {\n this.width \x3d width;\n this.height \x3d height;\n};\ngoog.math.Size.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.width \x3d\x3d b.width \x26\x26 a.height \x3d\x3d b.height;\n};\ngoog.math.Size.prototype.clone \x3d function() {\n return new goog.math.Size(this.width, this.height);\n};\nif (goog.DEBUG) {\n goog.math.Size.prototype.toString \x3d function() {\n return \x22(\x22 + this.width + \x22 x \x22 + this.height + \x22)\x22;\n };\n}\ngoog.math.Size.prototype.getLongest \x3d function() {\n return Math.max(this.width, this.height);\n};\ngoog.math.Size.prototype.getShortest \x3d function() {\n return Math.min(this.width, this.height);\n};\ngoog.math.Size.prototype.area \x3d function() {\n return this.width * this.height;\n};\ngoog.math.Size.prototype.perimeter \x3d function() {\n return (this.width + this.height) * 2;\n};\ngoog.math.Size.prototype.aspectRatio \x3d function() {\n return this.width / this.height;\n};\ngoog.math.Size.prototype.isEmpty \x3d function() {\n return !this.area();\n};\ngoog.math.Size.prototype.ceil \x3d function() {\n this.width \x3d Math.ceil(this.width);\n this.height \x3d Math.ceil(this.height);\n return this;\n};\ngoog.math.Size.prototype.fitsInside \x3d function(target) {\n return this.width \x3c\x3d target.width \x26\x26 this.height \x3c\x3d target.height;\n};\ngoog.math.Size.prototype.floor \x3d function() {\n this.width \x3d Math.floor(this.width);\n this.height \x3d Math.floor(this.height);\n return this;\n};\ngoog.math.Size.prototype.round \x3d function() {\n this.width \x3d Math.round(this.width);\n this.height \x3d Math.round(this.height);\n return this;\n};\ngoog.math.Size.prototype.scale \x3d function(sx, opt_sy) {\n const sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.width *\x3d sx;\n this.height *\x3d sy;\n return this;\n};\ngoog.math.Size.prototype.scaleToCover \x3d function(target) {\n const s \x3d this.aspectRatio() \x3c\x3d target.aspectRatio() ? target.width / this.width : target.height / this.height;\n return this.scale(s);\n};\ngoog.math.Size.prototype.scaleToFit \x3d function(target) {\n const s \x3d this.aspectRatio() \x3e target.aspectRatio() ? target.width / this.width : target.height / this.height;\n return this.scale(s);\n};\n"); SHADOW_ENV.evalLoad("goog.dom.dom.js", true , "goog.provide(\x22goog.dom\x22);\ngoog.provide(\x22goog.dom.Appendable\x22);\ngoog.provide(\x22goog.dom.DomHelper\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.asserts.dom\x22);\ngoog.require(\x22goog.dom.BrowserFeature\x22);\ngoog.require(\x22goog.dom.NodeType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.require(\x22goog.object\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.Unicode\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.ASSUME_QUIRKS_MODE \x3d goog.define(\x22goog.dom.ASSUME_QUIRKS_MODE\x22, false);\ngoog.dom.ASSUME_STANDARDS_MODE \x3d goog.define(\x22goog.dom.ASSUME_STANDARDS_MODE\x22, false);\ngoog.dom.COMPAT_MODE_KNOWN_ \x3d goog.dom.ASSUME_QUIRKS_MODE || goog.dom.ASSUME_STANDARDS_MODE;\ngoog.dom.getDomHelper \x3d function(opt_element) {\n return opt_element ? new goog.dom.DomHelper(goog.dom.getOwnerDocument(opt_element)) : goog.dom.defaultDomHelper_ || (goog.dom.defaultDomHelper_ \x3d new goog.dom.DomHelper());\n};\ngoog.dom.defaultDomHelper_;\ngoog.dom.getDocument \x3d function() {\n return document;\n};\ngoog.dom.getElement \x3d function(element) {\n return goog.dom.getElementHelper_(document, element);\n};\ngoog.dom.getHTMLElement \x3d function(id) {\n const element \x3d goog.dom.getElement(id);\n if (!element) {\n return null;\n }\n return goog.asserts.dom.assertIsHtmlElement(element);\n};\ngoog.dom.getElementHelper_ \x3d function(doc, element) {\n return typeof element \x3d\x3d\x3d \x22string\x22 ? doc.getElementById(element) : element;\n};\ngoog.dom.getRequiredElement \x3d function(id) {\n return goog.dom.getRequiredElementHelper_(document, id);\n};\ngoog.dom.getRequiredHTMLElement \x3d function(id) {\n return goog.asserts.dom.assertIsHtmlElement(goog.dom.getRequiredElementHelper_(document, id));\n};\ngoog.dom.getRequiredElementHelper_ \x3d function(doc, id) {\n goog.asserts.assertString(id);\n var element \x3d goog.dom.getElementHelper_(doc, id);\n return goog.asserts.assert(element, \x22No element found with id: \x22 + id);\n};\ngoog.dom.$ \x3d goog.dom.getElement;\ngoog.dom.getElementsByTagName \x3d function(tagName, opt_parent) {\n var parent \x3d opt_parent || document;\n return parent.getElementsByTagName(String(tagName));\n};\ngoog.dom.getElementsByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementsByTagNameAndClass_(document, opt_tag, opt_class, opt_el);\n};\ngoog.dom.getElementByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementByTagNameAndClass_(document, opt_tag, opt_class, opt_el);\n};\ngoog.dom.getElementsByClass \x3d function(className, opt_el) {\n var parent \x3d opt_el || document;\n if (goog.dom.canUseQuerySelector_(parent)) {\n return parent.querySelectorAll(\x22.\x22 + className);\n }\n return goog.dom.getElementsByTagNameAndClass_(document, \x22*\x22, className, opt_el);\n};\ngoog.dom.getElementByClass \x3d function(className, opt_el) {\n var parent \x3d opt_el || document;\n var retVal \x3d null;\n if (parent.getElementsByClassName) {\n retVal \x3d parent.getElementsByClassName(className)[0];\n } else {\n retVal \x3d goog.dom.getElementByTagNameAndClass_(document, \x22*\x22, className, opt_el);\n }\n return retVal || null;\n};\ngoog.dom.getHTMLElementByClass \x3d function(className, opt_parent) {\n const element \x3d goog.dom.getElementByClass(className, opt_parent);\n if (!element) {\n return null;\n }\n return goog.asserts.dom.assertIsHtmlElement(element);\n};\ngoog.dom.getRequiredElementByClass \x3d function(className, opt_root) {\n var retValue \x3d goog.dom.getElementByClass(className, opt_root);\n return goog.asserts.assert(retValue, \x22No element found with className: \x22 + className);\n};\ngoog.dom.getRequiredHTMLElementByClass \x3d function(className, opt_parent) {\n const retValue \x3d goog.dom.getElementByClass(className, opt_parent);\n goog.asserts.assert(retValue, \x22No HTMLElement found with className: \x22 + className);\n return goog.asserts.dom.assertIsHtmlElement(retValue);\n};\ngoog.dom.canUseQuerySelector_ \x3d function(parent) {\n return !!(parent.querySelectorAll \x26\x26 parent.querySelector);\n};\ngoog.dom.getElementsByTagNameAndClass_ \x3d function(doc, opt_tag, opt_class, opt_el) {\n var parent \x3d opt_el || doc;\n var tagName \x3d opt_tag \x26\x26 opt_tag !\x3d \x22*\x22 ? String(opt_tag).toUpperCase() : \x22\x22;\n if (goog.dom.canUseQuerySelector_(parent) \x26\x26 (tagName || opt_class)) {\n var query \x3d tagName + (opt_class ? \x22.\x22 + opt_class : \x22\x22);\n return parent.querySelectorAll(query);\n }\n if (opt_class \x26\x26 parent.getElementsByClassName) {\n var els \x3d parent.getElementsByClassName(opt_class);\n if (tagName) {\n var arrayLike \x3d {};\n var len \x3d 0;\n for (var i \x3d 0, el; el \x3d els[i]; i++) {\n if (tagName \x3d\x3d el.nodeName) {\n arrayLike[len++] \x3d el;\n }\n }\n arrayLike.length \x3d len;\n return arrayLike;\n } else {\n return els;\n }\n }\n var els \x3d parent.getElementsByTagName(tagName || \x22*\x22);\n if (opt_class) {\n var arrayLike \x3d {};\n var len \x3d 0;\n for (var i \x3d 0, el; el \x3d els[i]; i++) {\n var className \x3d el.className;\n if (typeof className.split \x3d\x3d \x22function\x22 \x26\x26 goog.array.contains(className.split(/\\s+/), opt_class)) {\n arrayLike[len++] \x3d el;\n }\n }\n arrayLike.length \x3d len;\n return arrayLike;\n } else {\n return els;\n }\n};\ngoog.dom.getElementByTagNameAndClass_ \x3d function(doc, opt_tag, opt_class, opt_el) {\n var parent \x3d opt_el || doc;\n var tag \x3d opt_tag \x26\x26 opt_tag !\x3d \x22*\x22 ? String(opt_tag).toUpperCase() : \x22\x22;\n if (goog.dom.canUseQuerySelector_(parent) \x26\x26 (tag || opt_class)) {\n return parent.querySelector(tag + (opt_class ? \x22.\x22 + opt_class : \x22\x22));\n }\n var elements \x3d goog.dom.getElementsByTagNameAndClass_(doc, opt_tag, opt_class, opt_el);\n return elements[0] || null;\n};\ngoog.dom.$$ \x3d goog.dom.getElementsByTagNameAndClass;\ngoog.dom.setProperties \x3d function(element, properties) {\n goog.object.forEach(properties, function(val, key) {\n if (val \x26\x26 typeof val \x3d\x3d \x22object\x22 \x26\x26 val.implementsGoogStringTypedString) {\n val \x3d val.getTypedStringValue();\n }\n if (key \x3d\x3d \x22style\x22) {\n element.style.cssText \x3d val;\n } else if (key \x3d\x3d \x22class\x22) {\n element.className \x3d val;\n } else if (key \x3d\x3d \x22for\x22) {\n element.htmlFor \x3d val;\n } else if (goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(key)) {\n element.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[key], val);\n } else if (goog.string.startsWith(key, \x22aria-\x22) || goog.string.startsWith(key, \x22data-\x22)) {\n element.setAttribute(key, val);\n } else {\n element[key] \x3d val;\n }\n });\n};\ngoog.dom.DIRECT_ATTRIBUTE_MAP_ \x3d {\x22cellpadding\x22:\x22cellPadding\x22, \x22cellspacing\x22:\x22cellSpacing\x22, \x22colspan\x22:\x22colSpan\x22, \x22frameborder\x22:\x22frameBorder\x22, \x22height\x22:\x22height\x22, \x22maxlength\x22:\x22maxLength\x22, \x22nonce\x22:\x22nonce\x22, \x22role\x22:\x22role\x22, \x22rowspan\x22:\x22rowSpan\x22, \x22type\x22:\x22type\x22, \x22usemap\x22:\x22useMap\x22, \x22valign\x22:\x22vAlign\x22, \x22width\x22:\x22width\x22};\ngoog.dom.getViewportSize \x3d function(opt_window) {\n return goog.dom.getViewportSize_(opt_window || window);\n};\ngoog.dom.getViewportSize_ \x3d function(win) {\n var doc \x3d win.document;\n var el \x3d goog.dom.isCss1CompatMode_(doc) ? doc.documentElement : doc.body;\n return new goog.math.Size(el.clientWidth, el.clientHeight);\n};\ngoog.dom.getDocumentHeight \x3d function() {\n return goog.dom.getDocumentHeight_(window);\n};\ngoog.dom.getDocumentHeightForWindow \x3d function(win) {\n return goog.dom.getDocumentHeight_(win);\n};\ngoog.dom.getDocumentHeight_ \x3d function(win) {\n var doc \x3d win.document;\n var height \x3d 0;\n if (doc) {\n var body \x3d doc.body;\n var docEl \x3d doc.documentElement;\n if (!(docEl \x26\x26 body)) {\n return 0;\n }\n var vh \x3d goog.dom.getViewportSize_(win).height;\n if (goog.dom.isCss1CompatMode_(doc) \x26\x26 docEl.scrollHeight) {\n height \x3d docEl.scrollHeight !\x3d vh ? docEl.scrollHeight : docEl.offsetHeight;\n } else {\n var sh \x3d docEl.scrollHeight;\n var oh \x3d docEl.offsetHeight;\n if (docEl.clientHeight !\x3d oh) {\n sh \x3d body.scrollHeight;\n oh \x3d body.offsetHeight;\n }\n if (sh \x3e vh) {\n height \x3d sh \x3e oh ? sh : oh;\n } else {\n height \x3d sh \x3c oh ? sh : oh;\n }\n }\n }\n return height;\n};\ngoog.dom.getPageScroll \x3d function(opt_window) {\n var win \x3d opt_window || goog.global || window;\n return goog.dom.getDomHelper(win.document).getDocumentScroll();\n};\ngoog.dom.getDocumentScroll \x3d function() {\n return goog.dom.getDocumentScroll_(document);\n};\ngoog.dom.getDocumentScroll_ \x3d function(doc) {\n var el \x3d goog.dom.getDocumentScrollElement_(doc);\n var win \x3d goog.dom.getWindow_(doc);\n if (goog.userAgent.IE \x26\x26 win.pageYOffset !\x3d el.scrollTop) {\n return new goog.math.Coordinate(el.scrollLeft, el.scrollTop);\n }\n return new goog.math.Coordinate(win.pageXOffset || el.scrollLeft, win.pageYOffset || el.scrollTop);\n};\ngoog.dom.getDocumentScrollElement \x3d function() {\n return goog.dom.getDocumentScrollElement_(document);\n};\ngoog.dom.getDocumentScrollElement_ \x3d function(doc) {\n if (doc.scrollingElement) {\n return doc.scrollingElement;\n }\n if (!goog.userAgent.WEBKIT \x26\x26 goog.dom.isCss1CompatMode_(doc)) {\n return doc.documentElement;\n }\n return doc.body || doc.documentElement;\n};\ngoog.dom.getWindow \x3d function(opt_doc) {\n return opt_doc ? goog.dom.getWindow_(opt_doc) : window;\n};\ngoog.dom.getWindow_ \x3d function(doc) {\n return doc.parentWindow || doc.defaultView;\n};\ngoog.dom.createDom \x3d function(tagName, opt_attributes, var_args) {\n return goog.dom.createDom_(document, arguments);\n};\ngoog.dom.createDom_ \x3d function(doc, args) {\n var tagName \x3d String(args[0]);\n var attributes \x3d args[1];\n var element \x3d goog.dom.createElement_(doc, tagName);\n if (attributes) {\n if (typeof attributes \x3d\x3d\x3d \x22string\x22) {\n element.className \x3d attributes;\n } else if (Array.isArray(attributes)) {\n element.className \x3d attributes.join(\x22 \x22);\n } else {\n goog.dom.setProperties(element, attributes);\n }\n }\n if (args.length \x3e 2) {\n goog.dom.append_(doc, element, args, 2);\n }\n return element;\n};\ngoog.dom.append_ \x3d function(doc, parent, args, startIndex) {\n function childHandler(child) {\n if (child) {\n parent.appendChild(typeof child \x3d\x3d\x3d \x22string\x22 ? doc.createTextNode(child) : child);\n }\n }\n for (var i \x3d startIndex; i \x3c args.length; i++) {\n var arg \x3d args[i];\n if (goog.isArrayLike(arg) \x26\x26 !goog.dom.isNodeLike(arg)) {\n goog.array.forEach(goog.dom.isNodeList(arg) ? goog.array.toArray(arg) : arg, childHandler);\n } else {\n childHandler(arg);\n }\n }\n};\ngoog.dom.$dom \x3d goog.dom.createDom;\ngoog.dom.createElement \x3d function(name) {\n return goog.dom.createElement_(document, name);\n};\ngoog.dom.createElement_ \x3d function(doc, name) {\n name \x3d String(name);\n if (doc.contentType \x3d\x3d\x3d \x22application/xhtml+xml\x22) {\n name \x3d name.toLowerCase();\n }\n return doc.createElement(name);\n};\ngoog.dom.createTextNode \x3d function(content) {\n return document.createTextNode(String(content));\n};\ngoog.dom.createTable \x3d function(rows, columns, opt_fillWithNbsp) {\n return goog.dom.createTable_(document, rows, columns, !!opt_fillWithNbsp);\n};\ngoog.dom.createTable_ \x3d function(doc, rows, columns, fillWithNbsp) {\n var table \x3d goog.dom.createElement_(doc, goog.dom.TagName.TABLE);\n var tbody \x3d table.appendChild(goog.dom.createElement_(doc, goog.dom.TagName.TBODY));\n for (var i \x3d 0; i \x3c rows; i++) {\n var tr \x3d goog.dom.createElement_(doc, goog.dom.TagName.TR);\n for (var j \x3d 0; j \x3c columns; j++) {\n var td \x3d goog.dom.createElement_(doc, goog.dom.TagName.TD);\n if (fillWithNbsp) {\n goog.dom.setTextContent(td, goog.string.Unicode.NBSP);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n return table;\n};\ngoog.dom.constHtmlToNode \x3d function(var_args) {\n var stringArray \x3d Array.prototype.map.call(arguments, goog.string.Const.unwrap);\n var safeHtml \x3d goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Constant HTML string, that gets turned into a \x22 + \x22Node later, so it will be automatically balanced.\x22), stringArray.join(\x22\x22));\n return goog.dom.safeHtmlToNode(safeHtml);\n};\ngoog.dom.safeHtmlToNode \x3d function(html) {\n return goog.dom.safeHtmlToNode_(document, html);\n};\ngoog.dom.safeHtmlToNode_ \x3d function(doc, html) {\n var tempDiv \x3d goog.dom.createElement_(doc, goog.dom.TagName.DIV);\n if (goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT) {\n goog.dom.safe.setInnerHtml(tempDiv, goog.html.SafeHtml.concat(goog.html.SafeHtml.BR, html));\n tempDiv.removeChild(goog.asserts.assert(tempDiv.firstChild));\n } else {\n goog.dom.safe.setInnerHtml(tempDiv, html);\n }\n return goog.dom.childrenToNode_(doc, tempDiv);\n};\ngoog.dom.childrenToNode_ \x3d function(doc, tempDiv) {\n if (tempDiv.childNodes.length \x3d\x3d 1) {\n return tempDiv.removeChild(goog.asserts.assert(tempDiv.firstChild));\n } else {\n var fragment \x3d doc.createDocumentFragment();\n while (tempDiv.firstChild) {\n fragment.appendChild(tempDiv.firstChild);\n }\n return fragment;\n }\n};\ngoog.dom.isCss1CompatMode \x3d function() {\n return goog.dom.isCss1CompatMode_(document);\n};\ngoog.dom.isCss1CompatMode_ \x3d function(doc) {\n if (goog.dom.COMPAT_MODE_KNOWN_) {\n return goog.dom.ASSUME_STANDARDS_MODE;\n }\n return doc.compatMode \x3d\x3d \x22CSS1Compat\x22;\n};\ngoog.dom.canHaveChildren \x3d function(node) {\n if (node.nodeType !\x3d goog.dom.NodeType.ELEMENT) {\n return false;\n }\n switch(node.tagName) {\n case String(goog.dom.TagName.APPLET):\n case String(goog.dom.TagName.AREA):\n case String(goog.dom.TagName.BASE):\n case String(goog.dom.TagName.BR):\n case String(goog.dom.TagName.COL):\n case String(goog.dom.TagName.COMMAND):\n case String(goog.dom.TagName.EMBED):\n case String(goog.dom.TagName.FRAME):\n case String(goog.dom.TagName.HR):\n case String(goog.dom.TagName.IMG):\n case String(goog.dom.TagName.INPUT):\n case String(goog.dom.TagName.IFRAME):\n case String(goog.dom.TagName.ISINDEX):\n case String(goog.dom.TagName.KEYGEN):\n case String(goog.dom.TagName.LINK):\n case String(goog.dom.TagName.NOFRAMES):\n case String(goog.dom.TagName.NOSCRIPT):\n case String(goog.dom.TagName.META):\n case String(goog.dom.TagName.OBJECT):\n case String(goog.dom.TagName.PARAM):\n case String(goog.dom.TagName.SCRIPT):\n case String(goog.dom.TagName.SOURCE):\n case String(goog.dom.TagName.STYLE):\n case String(goog.dom.TagName.TRACK):\n case String(goog.dom.TagName.WBR):\n return false;\n }\n return true;\n};\ngoog.dom.appendChild \x3d function(parent, child) {\n goog.asserts.assert(parent !\x3d null \x26\x26 child !\x3d null, \x22goog.dom.appendChild expects non-null arguments\x22);\n parent.appendChild(child);\n};\ngoog.dom.append \x3d function(parent, var_args) {\n goog.dom.append_(goog.dom.getOwnerDocument(parent), parent, arguments, 1);\n};\ngoog.dom.removeChildren \x3d function(node) {\n var child;\n while (child \x3d node.firstChild) {\n node.removeChild(child);\n }\n};\ngoog.dom.insertSiblingBefore \x3d function(newNode, refNode) {\n goog.asserts.assert(newNode !\x3d null \x26\x26 refNode !\x3d null, \x22goog.dom.insertSiblingBefore expects non-null arguments\x22);\n if (refNode.parentNode) {\n refNode.parentNode.insertBefore(newNode, refNode);\n }\n};\ngoog.dom.insertSiblingAfter \x3d function(newNode, refNode) {\n goog.asserts.assert(newNode !\x3d null \x26\x26 refNode !\x3d null, \x22goog.dom.insertSiblingAfter expects non-null arguments\x22);\n if (refNode.parentNode) {\n refNode.parentNode.insertBefore(newNode, refNode.nextSibling);\n }\n};\ngoog.dom.insertChildAt \x3d function(parent, child, index) {\n goog.asserts.assert(parent !\x3d null, \x22goog.dom.insertChildAt expects a non-null parent\x22);\n parent.insertBefore(child, parent.childNodes[index] || null);\n};\ngoog.dom.removeNode \x3d function(node) {\n return node \x26\x26 node.parentNode ? node.parentNode.removeChild(node) : null;\n};\ngoog.dom.replaceNode \x3d function(newNode, oldNode) {\n goog.asserts.assert(newNode !\x3d null \x26\x26 oldNode !\x3d null, \x22goog.dom.replaceNode expects non-null arguments\x22);\n var parent \x3d oldNode.parentNode;\n if (parent) {\n parent.replaceChild(newNode, oldNode);\n }\n};\ngoog.dom.copyContents \x3d function(target, source) {\n goog.asserts.assert(target !\x3d null \x26\x26 source !\x3d null, \x22goog.dom.copyContents expects non-null arguments\x22);\n var childNodes \x3d source.cloneNode(true).childNodes;\n goog.dom.removeChildren(target);\n while (childNodes.length) {\n target.appendChild(childNodes[0]);\n }\n};\ngoog.dom.flattenElement \x3d function(element) {\n var child, parent \x3d element.parentNode;\n if (parent \x26\x26 parent.nodeType !\x3d goog.dom.NodeType.DOCUMENT_FRAGMENT) {\n if (element.removeNode) {\n return element.removeNode(false);\n } else {\n while (child \x3d element.firstChild) {\n parent.insertBefore(child, element);\n }\n return goog.dom.removeNode(element);\n }\n }\n};\ngoog.dom.getChildren \x3d function(element) {\n if (element.children !\x3d undefined) {\n return element.children;\n }\n return Array.prototype.filter.call(element.childNodes, function(node) {\n return node.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n });\n};\ngoog.dom.getFirstElementChild \x3d function(node) {\n if (node.firstElementChild !\x3d\x3d undefined) {\n return node.firstElementChild;\n }\n return goog.dom.getNextElementNode_(node.firstChild, true);\n};\ngoog.dom.getLastElementChild \x3d function(node) {\n if (node.lastElementChild !\x3d\x3d undefined) {\n return node.lastElementChild;\n }\n return goog.dom.getNextElementNode_(node.lastChild, false);\n};\ngoog.dom.getNextElementSibling \x3d function(node) {\n if (node.nextElementSibling !\x3d\x3d undefined) {\n return node.nextElementSibling;\n }\n return goog.dom.getNextElementNode_(node.nextSibling, true);\n};\ngoog.dom.getPreviousElementSibling \x3d function(node) {\n if (node.previousElementSibling !\x3d\x3d undefined) {\n return node.previousElementSibling;\n }\n return goog.dom.getNextElementNode_(node.previousSibling, false);\n};\ngoog.dom.getNextElementNode_ \x3d function(node, forward) {\n while (node \x26\x26 node.nodeType !\x3d goog.dom.NodeType.ELEMENT) {\n node \x3d forward ? node.nextSibling : node.previousSibling;\n }\n return node;\n};\ngoog.dom.getNextNode \x3d function(node) {\n if (!node) {\n return null;\n }\n if (node.firstChild) {\n return node.firstChild;\n }\n while (node \x26\x26 !node.nextSibling) {\n node \x3d node.parentNode;\n }\n return node ? node.nextSibling : null;\n};\ngoog.dom.getPreviousNode \x3d function(node) {\n if (!node) {\n return null;\n }\n if (!node.previousSibling) {\n return node.parentNode;\n }\n node \x3d node.previousSibling;\n while (node \x26\x26 node.lastChild) {\n node \x3d node.lastChild;\n }\n return node;\n};\ngoog.dom.isNodeLike \x3d function(obj) {\n return goog.isObject(obj) \x26\x26 obj.nodeType \x3e 0;\n};\ngoog.dom.isElement \x3d function(obj) {\n return goog.isObject(obj) \x26\x26 obj.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n};\ngoog.dom.isWindow \x3d function(obj) {\n return goog.isObject(obj) \x26\x26 obj[\x22window\x22] \x3d\x3d obj;\n};\ngoog.dom.getParentElement \x3d function(element) {\n var parent;\n if (goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY) {\n parent \x3d element.parentElement;\n if (parent) {\n return parent;\n }\n }\n parent \x3d element.parentNode;\n return goog.dom.isElement(parent) ? parent : null;\n};\ngoog.dom.contains \x3d function(parent, descendant) {\n if (!parent || !descendant) {\n return false;\n }\n if (parent.contains \x26\x26 descendant.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT) {\n return parent \x3d\x3d descendant || parent.contains(descendant);\n }\n if (typeof parent.compareDocumentPosition !\x3d \x22undefined\x22) {\n return parent \x3d\x3d descendant || Boolean(parent.compareDocumentPosition(descendant) \x26 16);\n }\n while (descendant \x26\x26 parent !\x3d descendant) {\n descendant \x3d descendant.parentNode;\n }\n return descendant \x3d\x3d parent;\n};\ngoog.dom.compareNodeOrder \x3d function(node1, node2) {\n if (node1 \x3d\x3d node2) {\n return 0;\n }\n if (node1.compareDocumentPosition) {\n return node1.compareDocumentPosition(node2) \x26 2 ? 1 : -1;\n }\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9)) {\n if (node1.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n return -1;\n }\n if (node2.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n return 1;\n }\n }\n if (\x22sourceIndex\x22 in node1 || node1.parentNode \x26\x26 \x22sourceIndex\x22 in node1.parentNode) {\n var isElement1 \x3d node1.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n var isElement2 \x3d node2.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n if (isElement1 \x26\x26 isElement2) {\n return node1.sourceIndex - node2.sourceIndex;\n } else {\n var parent1 \x3d node1.parentNode;\n var parent2 \x3d node2.parentNode;\n if (parent1 \x3d\x3d parent2) {\n return goog.dom.compareSiblingOrder_(node1, node2);\n }\n if (!isElement1 \x26\x26 goog.dom.contains(parent1, node2)) {\n return -1 * goog.dom.compareParentsDescendantNodeIe_(node1, node2);\n }\n if (!isElement2 \x26\x26 goog.dom.contains(parent2, node1)) {\n return goog.dom.compareParentsDescendantNodeIe_(node2, node1);\n }\n return (isElement1 ? node1.sourceIndex : parent1.sourceIndex) - (isElement2 ? node2.sourceIndex : parent2.sourceIndex);\n }\n }\n var doc \x3d goog.dom.getOwnerDocument(node1);\n var range1, range2;\n range1 \x3d doc.createRange();\n range1.selectNode(node1);\n range1.collapse(true);\n range2 \x3d doc.createRange();\n range2.selectNode(node2);\n range2.collapse(true);\n return range1.compareBoundaryPoints(goog.global[\x22Range\x22].START_TO_END, range2);\n};\ngoog.dom.compareParentsDescendantNodeIe_ \x3d function(textNode, node) {\n var parent \x3d textNode.parentNode;\n if (parent \x3d\x3d node) {\n return -1;\n }\n var sibling \x3d node;\n while (sibling.parentNode !\x3d parent) {\n sibling \x3d sibling.parentNode;\n }\n return goog.dom.compareSiblingOrder_(sibling, textNode);\n};\ngoog.dom.compareSiblingOrder_ \x3d function(node1, node2) {\n var s \x3d node2;\n while (s \x3d s.previousSibling) {\n if (s \x3d\x3d node1) {\n return -1;\n }\n }\n return 1;\n};\ngoog.dom.findCommonAncestor \x3d function(var_args) {\n var i, count \x3d arguments.length;\n if (!count) {\n return null;\n } else if (count \x3d\x3d 1) {\n return arguments[0];\n }\n var paths \x3d [];\n var minLength \x3d Infinity;\n for (i \x3d 0; i \x3c count; i++) {\n var ancestors \x3d [];\n var node \x3d arguments[i];\n while (node) {\n ancestors.unshift(node);\n node \x3d node.parentNode;\n }\n paths.push(ancestors);\n minLength \x3d Math.min(minLength, ancestors.length);\n }\n var output \x3d null;\n for (i \x3d 0; i \x3c minLength; i++) {\n var first \x3d paths[0][i];\n for (var j \x3d 1; j \x3c count; j++) {\n if (first !\x3d paths[j][i]) {\n return output;\n }\n }\n output \x3d first;\n }\n return output;\n};\ngoog.dom.isInDocument \x3d function(node) {\n return (node.ownerDocument.compareDocumentPosition(node) \x26 16) \x3d\x3d 16;\n};\ngoog.dom.getOwnerDocument \x3d function(node) {\n goog.asserts.assert(node, \x22Node cannot be null or undefined.\x22);\n return node.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT ? node : node.ownerDocument || node.document;\n};\ngoog.dom.getFrameContentDocument \x3d function(frame) {\n return frame.contentDocument || frame.contentWindow.document;\n};\ngoog.dom.getFrameContentWindow \x3d function(frame) {\n try {\n return frame.contentWindow || (frame.contentDocument ? goog.dom.getWindow(frame.contentDocument) : null);\n } catch (e) {\n }\n return null;\n};\ngoog.dom.setTextContent \x3d function(node, text) {\n goog.asserts.assert(node !\x3d null, \x22goog.dom.setTextContent expects a non-null value for node\x22);\n if (\x22textContent\x22 in node) {\n node.textContent \x3d text;\n } else if (node.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n node.data \x3d String(text);\n } else if (node.firstChild \x26\x26 node.firstChild.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n while (node.lastChild !\x3d node.firstChild) {\n node.removeChild(goog.asserts.assert(node.lastChild));\n }\n node.firstChild.data \x3d String(text);\n } else {\n goog.dom.removeChildren(node);\n var doc \x3d goog.dom.getOwnerDocument(node);\n node.appendChild(doc.createTextNode(String(text)));\n }\n};\ngoog.dom.getOuterHtml \x3d function(element) {\n goog.asserts.assert(element !\x3d\x3d null, \x22goog.dom.getOuterHtml expects a non-null value for element\x22);\n if (\x22outerHTML\x22 in element) {\n return element.outerHTML;\n } else {\n var doc \x3d goog.dom.getOwnerDocument(element);\n var div \x3d goog.dom.createElement_(doc, goog.dom.TagName.DIV);\n div.appendChild(element.cloneNode(true));\n return div.innerHTML;\n }\n};\ngoog.dom.findNode \x3d function(root, p) {\n var rv \x3d [];\n var found \x3d goog.dom.findNodes_(root, p, rv, true);\n return found ? rv[0] : undefined;\n};\ngoog.dom.findNodes \x3d function(root, p) {\n var rv \x3d [];\n goog.dom.findNodes_(root, p, rv, false);\n return rv;\n};\ngoog.dom.findNodes_ \x3d function(root, p, rv, findOne) {\n if (root !\x3d null) {\n var child \x3d root.firstChild;\n while (child) {\n if (p(child)) {\n rv.push(child);\n if (findOne) {\n return true;\n }\n }\n if (goog.dom.findNodes_(child, p, rv, findOne)) {\n return true;\n }\n child \x3d child.nextSibling;\n }\n }\n return false;\n};\ngoog.dom.findElement \x3d function(root, pred) {\n var stack \x3d goog.dom.getChildrenReverse_(root);\n while (stack.length \x3e 0) {\n var next \x3d stack.pop();\n if (pred(next)) {\n return next;\n }\n for (var c \x3d next.lastElementChild; c; c \x3d c.previousElementSibling) {\n stack.push(c);\n }\n }\n return null;\n};\ngoog.dom.findElements \x3d function(root, pred) {\n var result \x3d [], stack \x3d goog.dom.getChildrenReverse_(root);\n while (stack.length \x3e 0) {\n var next \x3d stack.pop();\n if (pred(next)) {\n result.push(next);\n }\n for (var c \x3d next.lastElementChild; c; c \x3d c.previousElementSibling) {\n stack.push(c);\n }\n }\n return result;\n};\ngoog.dom.getChildrenReverse_ \x3d function(node) {\n if (node.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n return [node.documentElement];\n } else {\n var children \x3d [];\n for (var c \x3d node.lastElementChild; c; c \x3d c.previousElementSibling) {\n children.push(c);\n }\n return children;\n }\n};\ngoog.dom.TAGS_TO_IGNORE_ \x3d {\x22SCRIPT\x22:1, \x22STYLE\x22:1, \x22HEAD\x22:1, \x22IFRAME\x22:1, \x22OBJECT\x22:1};\ngoog.dom.PREDEFINED_TAG_VALUES_ \x3d {\x22IMG\x22:\x22 \x22, \x22BR\x22:\x22\\n\x22};\ngoog.dom.isFocusableTabIndex \x3d function(element) {\n return goog.dom.hasSpecifiedTabIndex_(element) \x26\x26 goog.dom.isTabIndexFocusable_(element);\n};\ngoog.dom.setFocusableTabIndex \x3d function(element, enable) {\n if (enable) {\n element.tabIndex \x3d 0;\n } else {\n element.tabIndex \x3d -1;\n element.removeAttribute(\x22tabIndex\x22);\n }\n};\ngoog.dom.isFocusable \x3d function(element) {\n var focusable;\n if (goog.dom.nativelySupportsFocus_(element)) {\n focusable \x3d !element.disabled \x26\x26 (!goog.dom.hasSpecifiedTabIndex_(element) || goog.dom.isTabIndexFocusable_(element));\n } else {\n focusable \x3d goog.dom.isFocusableTabIndex(element);\n }\n return focusable \x26\x26 goog.userAgent.IE ? goog.dom.hasNonZeroBoundingRect_(element) : focusable;\n};\ngoog.dom.hasSpecifiedTabIndex_ \x3d function(element) {\n return element.hasAttribute(\x22tabindex\x22);\n};\ngoog.dom.isTabIndexFocusable_ \x3d function(element) {\n var index \x3d element.tabIndex;\n return typeof index \x3d\x3d\x3d \x22number\x22 \x26\x26 index \x3e\x3d 0 \x26\x26 index \x3c 32768;\n};\ngoog.dom.nativelySupportsFocus_ \x3d function(element) {\n return element.tagName \x3d\x3d goog.dom.TagName.A \x26\x26 element.hasAttribute(\x22href\x22) || element.tagName \x3d\x3d goog.dom.TagName.INPUT || element.tagName \x3d\x3d goog.dom.TagName.TEXTAREA || element.tagName \x3d\x3d goog.dom.TagName.SELECT || element.tagName \x3d\x3d goog.dom.TagName.BUTTON;\n};\ngoog.dom.hasNonZeroBoundingRect_ \x3d function(element) {\n var rect;\n if (typeof element[\x22getBoundingClientRect\x22] !\x3d\x3d \x22function\x22 || goog.userAgent.IE \x26\x26 element.parentElement \x3d\x3d null) {\n rect \x3d {\x22height\x22:element.offsetHeight, \x22width\x22:element.offsetWidth};\n } else {\n rect \x3d element.getBoundingClientRect();\n }\n return rect !\x3d null \x26\x26 rect.height \x3e 0 \x26\x26 rect.width \x3e 0;\n};\ngoog.dom.getTextContent \x3d function(node) {\n var textContent;\n var buf \x3d [];\n goog.dom.getTextContent_(node, buf, true);\n textContent \x3d buf.join(\x22\x22);\n textContent \x3d textContent.replace(/ \\xAD /g, \x22 \x22).replace(/\\xAD/g, \x22\x22);\n textContent \x3d textContent.replace(/\\u200B/g, \x22\x22);\n textContent \x3d textContent.replace(/ +/g, \x22 \x22);\n if (textContent !\x3d \x22 \x22) {\n textContent \x3d textContent.replace(/^\\s*/, \x22\x22);\n }\n return textContent;\n};\ngoog.dom.getRawTextContent \x3d function(node) {\n var buf \x3d [];\n goog.dom.getTextContent_(node, buf, false);\n return buf.join(\x22\x22);\n};\ngoog.dom.getTextContent_ \x3d function(node, buf, normalizeWhitespace) {\n if (node.nodeName in goog.dom.TAGS_TO_IGNORE_) {\n } else if (node.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n if (normalizeWhitespace) {\n buf.push(String(node.nodeValue).replace(/(\\r\\n|\\r|\\n)/g, \x22\x22));\n } else {\n buf.push(node.nodeValue);\n }\n } else if (node.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {\n buf.push(goog.dom.PREDEFINED_TAG_VALUES_[node.nodeName]);\n } else {\n var child \x3d node.firstChild;\n while (child) {\n goog.dom.getTextContent_(child, buf, normalizeWhitespace);\n child \x3d child.nextSibling;\n }\n }\n};\ngoog.dom.getNodeTextLength \x3d function(node) {\n return goog.dom.getTextContent(node).length;\n};\ngoog.dom.getNodeTextOffset \x3d function(node, opt_offsetParent) {\n var root \x3d opt_offsetParent || goog.dom.getOwnerDocument(node).body;\n var buf \x3d [];\n while (node \x26\x26 node !\x3d root) {\n var cur \x3d node;\n while (cur \x3d cur.previousSibling) {\n buf.unshift(goog.dom.getTextContent(cur));\n }\n node \x3d node.parentNode;\n }\n return goog.string.trimLeft(buf.join(\x22\x22)).replace(/ +/g, \x22 \x22).length;\n};\ngoog.dom.getNodeAtOffset \x3d function(parent, offset, opt_result) {\n var stack \x3d [parent], pos \x3d 0, cur \x3d null;\n while (stack.length \x3e 0 \x26\x26 pos \x3c offset) {\n cur \x3d stack.pop();\n if (cur.nodeName in goog.dom.TAGS_TO_IGNORE_) {\n } else if (cur.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n var text \x3d cur.nodeValue.replace(/(\\r\\n|\\r|\\n)/g, \x22\x22).replace(/ +/g, \x22 \x22);\n pos +\x3d text.length;\n } else if (cur.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {\n pos +\x3d goog.dom.PREDEFINED_TAG_VALUES_[cur.nodeName].length;\n } else {\n for (var i \x3d cur.childNodes.length - 1; i \x3e\x3d 0; i--) {\n stack.push(cur.childNodes[i]);\n }\n }\n }\n if (goog.isObject(opt_result)) {\n opt_result.remainder \x3d cur ? cur.nodeValue.length + offset - pos - 1 : 0;\n opt_result.node \x3d cur;\n }\n return cur;\n};\ngoog.dom.isNodeList \x3d function(val) {\n if (val \x26\x26 typeof val.length \x3d\x3d \x22number\x22) {\n if (goog.isObject(val)) {\n return typeof val.item \x3d\x3d \x22function\x22 || typeof val.item \x3d\x3d \x22string\x22;\n } else if (typeof val \x3d\x3d\x3d \x22function\x22) {\n return typeof val.item \x3d\x3d \x22function\x22;\n }\n }\n return false;\n};\ngoog.dom.getAncestorByTagNameAndClass \x3d function(element, opt_tag, opt_class, opt_maxSearchSteps) {\n if (!opt_tag \x26\x26 !opt_class) {\n return null;\n }\n var tagName \x3d opt_tag ? String(opt_tag).toUpperCase() : null;\n return goog.dom.getAncestor(element, function(node) {\n return (!tagName || node.nodeName \x3d\x3d tagName) \x26\x26 (!opt_class || typeof node.className \x3d\x3d\x3d \x22string\x22 \x26\x26 goog.array.contains(node.className.split(/\\s+/), opt_class));\n }, true, opt_maxSearchSteps);\n};\ngoog.dom.getAncestorByClass \x3d function(element, className, opt_maxSearchSteps) {\n return goog.dom.getAncestorByTagNameAndClass(element, null, className, opt_maxSearchSteps);\n};\ngoog.dom.getAncestor \x3d function(element, matcher, opt_includeNode, opt_maxSearchSteps) {\n if (element \x26\x26 !opt_includeNode) {\n element \x3d element.parentNode;\n }\n var steps \x3d 0;\n while (element \x26\x26 (opt_maxSearchSteps \x3d\x3d null || steps \x3c\x3d opt_maxSearchSteps)) {\n goog.asserts.assert(element.name !\x3d \x22parentNode\x22);\n if (matcher(element)) {\n return element;\n }\n element \x3d element.parentNode;\n steps++;\n }\n return null;\n};\ngoog.dom.getActiveElement \x3d function(doc) {\n try {\n var activeElement \x3d doc \x26\x26 doc.activeElement;\n return activeElement \x26\x26 activeElement.nodeName ? activeElement : null;\n } catch (e) {\n return null;\n }\n};\ngoog.dom.getPixelRatio \x3d function() {\n var win \x3d goog.dom.getWindow();\n if (win.devicePixelRatio !\x3d\x3d undefined) {\n return win.devicePixelRatio;\n } else if (win.matchMedia) {\n return goog.dom.matchesPixelRatio_(3) || goog.dom.matchesPixelRatio_(2) || goog.dom.matchesPixelRatio_(1.5) || goog.dom.matchesPixelRatio_(1) || .75;\n }\n return 1;\n};\ngoog.dom.matchesPixelRatio_ \x3d function(pixelRatio) {\n var win \x3d goog.dom.getWindow();\n var dpiPerDppx \x3d 96;\n var query \x3d \x22(min-resolution: \x22 + pixelRatio + \x22dppx),\x22 + \x22(min--moz-device-pixel-ratio: \x22 + pixelRatio + \x22),\x22 + \x22(min-resolution: \x22 + pixelRatio * dpiPerDppx + \x22dpi)\x22;\n return win.matchMedia(query).matches ? pixelRatio : 0;\n};\ngoog.dom.getCanvasContext2D \x3d function(canvas) {\n return canvas.getContext(\x222d\x22);\n};\ngoog.dom.DomHelper \x3d function(opt_document) {\n this.document_ \x3d opt_document || goog.global.document || document;\n};\ngoog.dom.DomHelper.prototype.getDomHelper \x3d goog.dom.getDomHelper;\ngoog.dom.DomHelper.prototype.setDocument \x3d function(document) {\n this.document_ \x3d document;\n};\ngoog.dom.DomHelper.prototype.getDocument \x3d function() {\n return this.document_;\n};\ngoog.dom.DomHelper.prototype.getElement \x3d function(element) {\n return goog.dom.getElementHelper_(this.document_, element);\n};\ngoog.dom.DomHelper.prototype.getRequiredElement \x3d function(id) {\n return goog.dom.getRequiredElementHelper_(this.document_, id);\n};\ngoog.dom.DomHelper.prototype.$ \x3d goog.dom.DomHelper.prototype.getElement;\ngoog.dom.DomHelper.prototype.getElementsByTagName \x3d function(tagName, opt_parent) {\n var parent \x3d opt_parent || this.document_;\n return parent.getElementsByTagName(String(tagName));\n};\ngoog.dom.DomHelper.prototype.getElementsByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementsByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);\n};\ngoog.dom.DomHelper.prototype.getElementByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);\n};\ngoog.dom.DomHelper.prototype.getElementsByClass \x3d function(className, opt_el) {\n var doc \x3d opt_el || this.document_;\n return goog.dom.getElementsByClass(className, doc);\n};\ngoog.dom.DomHelper.prototype.getElementByClass \x3d function(className, opt_el) {\n var doc \x3d opt_el || this.document_;\n return goog.dom.getElementByClass(className, doc);\n};\ngoog.dom.DomHelper.prototype.getRequiredElementByClass \x3d function(className, opt_root) {\n var root \x3d opt_root || this.document_;\n return goog.dom.getRequiredElementByClass(className, root);\n};\ngoog.dom.DomHelper.prototype.$$ \x3d goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;\ngoog.dom.DomHelper.prototype.setProperties \x3d goog.dom.setProperties;\ngoog.dom.DomHelper.prototype.getViewportSize \x3d function(opt_window) {\n return goog.dom.getViewportSize(opt_window || this.getWindow());\n};\ngoog.dom.DomHelper.prototype.getDocumentHeight \x3d function() {\n return goog.dom.getDocumentHeight_(this.getWindow());\n};\ngoog.dom.Appendable;\ngoog.dom.DomHelper.prototype.createDom \x3d function(tagName, opt_attributes, var_args) {\n return goog.dom.createDom_(this.document_, arguments);\n};\ngoog.dom.DomHelper.prototype.$dom \x3d goog.dom.DomHelper.prototype.createDom;\ngoog.dom.DomHelper.prototype.createElement \x3d function(name) {\n return goog.dom.createElement_(this.document_, name);\n};\ngoog.dom.DomHelper.prototype.createTextNode \x3d function(content) {\n return this.document_.createTextNode(String(content));\n};\ngoog.dom.DomHelper.prototype.createTable \x3d function(rows, columns, opt_fillWithNbsp) {\n return goog.dom.createTable_(this.document_, rows, columns, !!opt_fillWithNbsp);\n};\ngoog.dom.DomHelper.prototype.safeHtmlToNode \x3d function(html) {\n return goog.dom.safeHtmlToNode_(this.document_, html);\n};\ngoog.dom.DomHelper.prototype.isCss1CompatMode \x3d function() {\n return goog.dom.isCss1CompatMode_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getWindow \x3d function() {\n return goog.dom.getWindow_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getDocumentScrollElement \x3d function() {\n return goog.dom.getDocumentScrollElement_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getDocumentScroll \x3d function() {\n return goog.dom.getDocumentScroll_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getActiveElement \x3d function(opt_doc) {\n return goog.dom.getActiveElement(opt_doc || this.document_);\n};\ngoog.dom.DomHelper.prototype.appendChild \x3d goog.dom.appendChild;\ngoog.dom.DomHelper.prototype.append \x3d goog.dom.append;\ngoog.dom.DomHelper.prototype.canHaveChildren \x3d goog.dom.canHaveChildren;\ngoog.dom.DomHelper.prototype.removeChildren \x3d goog.dom.removeChildren;\ngoog.dom.DomHelper.prototype.insertSiblingBefore \x3d goog.dom.insertSiblingBefore;\ngoog.dom.DomHelper.prototype.insertSiblingAfter \x3d goog.dom.insertSiblingAfter;\ngoog.dom.DomHelper.prototype.insertChildAt \x3d goog.dom.insertChildAt;\ngoog.dom.DomHelper.prototype.removeNode \x3d goog.dom.removeNode;\ngoog.dom.DomHelper.prototype.replaceNode \x3d goog.dom.replaceNode;\ngoog.dom.DomHelper.prototype.copyContents \x3d goog.dom.copyContents;\ngoog.dom.DomHelper.prototype.flattenElement \x3d goog.dom.flattenElement;\ngoog.dom.DomHelper.prototype.getChildren \x3d goog.dom.getChildren;\ngoog.dom.DomHelper.prototype.getFirstElementChild \x3d goog.dom.getFirstElementChild;\ngoog.dom.DomHelper.prototype.getLastElementChild \x3d goog.dom.getLastElementChild;\ngoog.dom.DomHelper.prototype.getNextElementSibling \x3d goog.dom.getNextElementSibling;\ngoog.dom.DomHelper.prototype.getPreviousElementSibling \x3d goog.dom.getPreviousElementSibling;\ngoog.dom.DomHelper.prototype.getNextNode \x3d goog.dom.getNextNode;\ngoog.dom.DomHelper.prototype.getPreviousNode \x3d goog.dom.getPreviousNode;\ngoog.dom.DomHelper.prototype.isNodeLike \x3d goog.dom.isNodeLike;\ngoog.dom.DomHelper.prototype.isElement \x3d goog.dom.isElement;\ngoog.dom.DomHelper.prototype.isWindow \x3d goog.dom.isWindow;\ngoog.dom.DomHelper.prototype.getParentElement \x3d goog.dom.getParentElement;\ngoog.dom.DomHelper.prototype.contains \x3d goog.dom.contains;\ngoog.dom.DomHelper.prototype.compareNodeOrder \x3d goog.dom.compareNodeOrder;\ngoog.dom.DomHelper.prototype.findCommonAncestor \x3d goog.dom.findCommonAncestor;\ngoog.dom.DomHelper.prototype.getOwnerDocument \x3d goog.dom.getOwnerDocument;\ngoog.dom.DomHelper.prototype.getFrameContentDocument \x3d goog.dom.getFrameContentDocument;\ngoog.dom.DomHelper.prototype.getFrameContentWindow \x3d goog.dom.getFrameContentWindow;\ngoog.dom.DomHelper.prototype.setTextContent \x3d goog.dom.setTextContent;\ngoog.dom.DomHelper.prototype.getOuterHtml \x3d goog.dom.getOuterHtml;\ngoog.dom.DomHelper.prototype.findNode \x3d goog.dom.findNode;\ngoog.dom.DomHelper.prototype.findNodes \x3d goog.dom.findNodes;\ngoog.dom.DomHelper.prototype.isFocusableTabIndex \x3d goog.dom.isFocusableTabIndex;\ngoog.dom.DomHelper.prototype.setFocusableTabIndex \x3d goog.dom.setFocusableTabIndex;\ngoog.dom.DomHelper.prototype.isFocusable \x3d goog.dom.isFocusable;\ngoog.dom.DomHelper.prototype.getTextContent \x3d goog.dom.getTextContent;\ngoog.dom.DomHelper.prototype.getNodeTextLength \x3d goog.dom.getNodeTextLength;\ngoog.dom.DomHelper.prototype.getNodeTextOffset \x3d goog.dom.getNodeTextOffset;\ngoog.dom.DomHelper.prototype.getNodeAtOffset \x3d goog.dom.getNodeAtOffset;\ngoog.dom.DomHelper.prototype.isNodeList \x3d goog.dom.isNodeList;\ngoog.dom.DomHelper.prototype.getAncestorByTagNameAndClass \x3d goog.dom.getAncestorByTagNameAndClass;\ngoog.dom.DomHelper.prototype.getAncestorByClass \x3d goog.dom.getAncestorByClass;\ngoog.dom.DomHelper.prototype.getAncestor \x3d goog.dom.getAncestor;\ngoog.dom.DomHelper.prototype.getCanvasContext2D \x3d goog.dom.getCanvasContext2D;\n"); SHADOW_ENV.evalLoad("goog.useragent.product.js", true , "goog.provide(\x22goog.userAgent.product\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.userAgent.product.ASSUME_FIREFOX \x3d goog.define(\x22goog.userAgent.product.ASSUME_FIREFOX\x22, false);\ngoog.userAgent.product.ASSUME_IPHONE \x3d goog.define(\x22goog.userAgent.product.ASSUME_IPHONE\x22, false);\ngoog.userAgent.product.ASSUME_IPAD \x3d goog.define(\x22goog.userAgent.product.ASSUME_IPAD\x22, false);\ngoog.userAgent.product.ASSUME_ANDROID \x3d goog.define(\x22goog.userAgent.product.ASSUME_ANDROID\x22, false);\ngoog.userAgent.product.ASSUME_CHROME \x3d goog.define(\x22goog.userAgent.product.ASSUME_CHROME\x22, false);\ngoog.userAgent.product.ASSUME_SAFARI \x3d goog.define(\x22goog.userAgent.product.ASSUME_SAFARI\x22, false);\ngoog.userAgent.product.PRODUCT_KNOWN_ \x3d goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_OPERA || goog.userAgent.product.ASSUME_FIREFOX || goog.userAgent.product.ASSUME_IPHONE || goog.userAgent.product.ASSUME_IPAD || goog.userAgent.product.ASSUME_ANDROID || goog.userAgent.product.ASSUME_CHROME || goog.userAgent.product.ASSUME_SAFARI;\ngoog.userAgent.product.OPERA \x3d goog.userAgent.OPERA;\ngoog.userAgent.product.IE \x3d goog.userAgent.IE;\ngoog.userAgent.product.EDGE \x3d goog.userAgent.EDGE;\ngoog.userAgent.product.FIREFOX \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_FIREFOX : goog.labs.userAgent.browser.isFirefox();\ngoog.userAgent.product.isIphoneOrIpod_ \x3d function() {\n return goog.labs.userAgent.platform.isIphone() || goog.labs.userAgent.platform.isIpod();\n};\ngoog.userAgent.product.IPHONE \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPHONE : goog.userAgent.product.isIphoneOrIpod_();\ngoog.userAgent.product.IPAD \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.product.ANDROID \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_ANDROID : goog.labs.userAgent.browser.isAndroidBrowser();\ngoog.userAgent.product.CHROME \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_CHROME : goog.labs.userAgent.browser.isChrome();\ngoog.userAgent.product.isSafariDesktop_ \x3d function() {\n return goog.labs.userAgent.browser.isSafari() \x26\x26 !goog.labs.userAgent.platform.isIos();\n};\ngoog.userAgent.product.SAFARI \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_SAFARI : goog.userAgent.product.isSafariDesktop_();\n"); -SHADOW_ENV.evalLoad("shadow.json.js", true , "goog.provide(\x27shadow.json\x27);\ngoog.scope(function(){\n shadow.json.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n/**\n * simplified js-\x3eclj for JSON data, :key-fn default to keyword\n */\nshadow.json.to_clj \x3d (function shadow$json$to_clj(var_args){\nvar G__16153 \x3d arguments.length;\nswitch (G__16153) {\ncase 1:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(x,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,opts){\nif((x \x3d\x3d null)){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nif(cljs.core.boolean_QMARK_(x)){\nreturn x;\n} else {\nif(cljs.core.array_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__16151_SHARP_){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(p1__16151_SHARP_,opts);\n})),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(x));\n} else {\nvar key_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22key-fn\x22,\x22key-fn\x22,-636154479),cljs.core.keyword);\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,key){\nvar value \x3d shadow.json.goog$module$goog$object.get(x,key);\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(result,((typeof key \x3d\x3d\x3d \x27string\x27)?(key_fn.cljs$core$IFn$_invoke$arity$1 ? key_fn.cljs$core$IFn$_invoke$arity$1(key) : key_fn.call(null,key)):shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(key,opts)),shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(value,opts));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.json.goog$module$goog$object.getKeys(x)));\n\n}\n}\n}\n}\n}\n}));\n\n(shadow.json.to_clj.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.json.read_str \x3d (function shadow$json$read_str(str,opts){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(JSON.parse(str),opts);\n});\nshadow.json.write_str \x3d (function shadow$json$write_str(obj){\nreturn JSON.stringify(cljs.core.clj__GT_js(obj));\n});\n"); -SHADOW_ENV.evalLoad("clojure.set.js", true , "goog.provide(\x27clojure.set\x27);\nclojure.set.bubble_max_key \x3d (function clojure$set$bubble_max_key(k,coll){\n\nvar max \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max_key,k,coll);\nreturn cljs.core.cons(max,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__16150_SHARP_){\nreturn (max \x3d\x3d\x3d p1__16150_SHARP_);\n}),coll));\n});\n/**\n * Return a set that is the union of the input sets\n */\nclojure.set.union \x3d (function clojure$set$union(var_args){\nvar G__16158 \x3d arguments.length;\nswitch (G__16158) {\ncase 0:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16209 \x3d arguments.length;\nvar i__5770__auto___16210 \x3d (0);\nwhile(true){\nif((i__5770__auto___16210 \x3c len__5769__auto___16209)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16210]));\n\nvar G__16211 \x3d (i__5770__auto___16210 + (1));\ni__5770__auto___16210 \x3d G__16211;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s2,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s1,s2);\n}\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key(cljs.core.count,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.into,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.union.cljs$lang$applyTo \x3d (function (seq16155){\nvar G__16156 \x3d cljs.core.first(seq16155);\nvar seq16155__$1 \x3d cljs.core.next(seq16155);\nvar G__16157 \x3d cljs.core.first(seq16155__$1);\nvar seq16155__$2 \x3d cljs.core.next(seq16155__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16156,G__16157,seq16155__$2);\n}));\n\n(clojure.set.union.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the intersection of the input sets\n */\nclojure.set.intersection \x3d (function clojure$set$intersection(var_args){\nvar G__16167 \x3d arguments.length;\nswitch (G__16167) {\ncase 1:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16222 \x3d arguments.length;\nvar i__5770__auto___16223 \x3d (0);\nwhile(true){\nif((i__5770__auto___16223 \x3c len__5769__auto___16222)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16223]));\n\nvar G__16224 \x3d (i__5770__auto___16223 + (1));\ni__5770__auto___16223 \x3d G__16224;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nwhile(true){\nif((cljs.core.count(s2) \x3c cljs.core.count(s1))){\nvar G__16226 \x3d s2;\nvar G__16227 \x3d s1;\ns1 \x3d G__16226;\ns2 \x3d G__16227;\ncontinue;\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (s1,s2){\nreturn (function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn result;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n}\n});})(s1,s2))\n,s1,s1);\n}\nbreak;\n}\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key((function (p1__16162_SHARP_){\nreturn (- cljs.core.count(p1__16162_SHARP_));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.intersection,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.intersection.cljs$lang$applyTo \x3d (function (seq16164){\nvar G__16165 \x3d cljs.core.first(seq16164);\nvar seq16164__$1 \x3d cljs.core.next(seq16164);\nvar G__16166 \x3d cljs.core.first(seq16164__$1);\nvar seq16164__$2 \x3d cljs.core.next(seq16164__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16165,G__16166,seq16164__$2);\n}));\n\n(clojure.set.intersection.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the first set without elements of the remaining sets\n */\nclojure.set.difference \x3d (function clojure$set$difference(var_args){\nvar G__16175 \x3d arguments.length;\nswitch (G__16175) {\ncase 1:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___16238 \x3d arguments.length;\nvar i__5770__auto___16239 \x3d (0);\nwhile(true){\nif((i__5770__auto___16239 \x3c len__5769__auto___16238)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___16239]));\n\nvar G__16241 \x3d (i__5770__auto___16239 + (1));\ni__5770__auto___16239 \x3d G__16241;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n} else {\nreturn result;\n}\n}),s1,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,s1,s2);\n}\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.difference,s1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sets,s2));\n}));\n\n/** @this {Function} */\n(clojure.set.difference.cljs$lang$applyTo \x3d (function (seq16172){\nvar G__16173 \x3d cljs.core.first(seq16172);\nvar seq16172__$1 \x3d cljs.core.next(seq16172);\nvar G__16174 \x3d cljs.core.first(seq16172__$1);\nvar seq16172__$2 \x3d cljs.core.next(seq16172__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__16173,G__16174,seq16172__$2);\n}));\n\n(clojure.set.difference.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a set of the elements for which pred is true\n */\nclojure.set.select \x3d (function clojure$set$select(pred,xset){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s,k){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(k) : pred.call(null,k)))){\nreturn s;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(s,k);\n}\n}),xset,xset);\n});\n/**\n * Returns a rel of the elements of xrel with only the keys in ks\n */\nclojure.set.project \x3d (function clojure$set$project(xrel,ks){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__16178_SHARP_){\nreturn cljs.core.select_keys(p1__16178_SHARP_,ks);\n}),xrel));\n});\n/**\n * Returns the map with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename_keys \x3d (function clojure$set$rename_keys(map,kmap){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,p__16180){\nvar vec__16181 \x3d p__16180;\nvar old \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16181,(0),null);\nvar new$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16181,(1),null);\nif(cljs.core.contains_QMARK_(map,old)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new$,cljs.core.get.cljs$core$IFn$_invoke$arity$2(map,old));\n} else {\nreturn m;\n}\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,map,cljs.core.keys(kmap)),kmap);\n});\n/**\n * Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename \x3d (function clojure$set$rename(xrel,kmap){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__16185_SHARP_){\nreturn clojure.set.rename_keys(p1__16185_SHARP_,kmap);\n}),xrel));\n});\n/**\n * Returns a map of the distinct values of ks in the xrel mapped to a\n * set of the maps in xrel with the corresponding values of ks.\n */\nclojure.set.index \x3d (function clojure$set$index(xrel,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,x){\nvar ik \x3d cljs.core.select_keys(x,ks);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.PersistentHashSet.EMPTY),x));\n}),cljs.core.PersistentArrayMap.EMPTY,xrel);\n});\n/**\n * Returns the map with the vals mapped to the keys.\n */\nclojure.set.map_invert \x3d (function clojure$set$map_invert(m){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (m__$1,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m__$1,v,k);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\n});\n/**\n * When passed 2 rels, returns the rel corresponding to the natural\n * join. When passed an additional keymap, joins on the corresponding\n * keys.\n */\nclojure.set.join \x3d (function clojure$set$join(var_args){\nvar G__16192 \x3d arguments.length;\nswitch (G__16192) {\ncase 2:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (xrel,yrel){\nif(((cljs.core.seq(xrel)) \x26\x26 (cljs.core.seq(yrel)))){\nvar ks \x3d clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.keys(cljs.core.first(xrel))),cljs.core.set(cljs.core.keys(cljs.core.first(yrel))));\nvar vec__16195 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16195,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16195,(1),null);\nvar idx \x3d clojure.set.index(r,ks);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__16198 \x3d cljs.core.select_keys(x,ks);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__16198) : idx.call(null,G__16198));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__16187_SHARP_,p2__16188_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__16187_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__16188_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n} else {\nreturn cljs.core.PersistentHashSet.EMPTY;\n}\n}));\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$3 \x3d (function (xrel,yrel,km){\nvar vec__16199 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel,clojure.set.map_invert(km)], null):new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel,km], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16199,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16199,(1),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16199,(2),null);\nvar idx \x3d clojure.set.index(r,cljs.core.vals(k));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__16202 \x3d clojure.set.rename_keys(cljs.core.select_keys(x,cljs.core.keys(k)),k);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__16202) : idx.call(null,G__16202));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__16189_SHARP_,p2__16190_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__16189_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__16190_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n}));\n\n(clojure.set.join.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Is set1 a subset of set2?\n */\nclojure.set.subset_QMARK_ \x3d (function clojure$set$subset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3c\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__16204_SHARP_){\nreturn cljs.core.contains_QMARK_(set2,p1__16204_SHARP_);\n}),set1)));\n});\n/**\n * Is set1 a superset of set2?\n */\nclojure.set.superset_QMARK_ \x3d (function clojure$set$superset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3e\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__16206_SHARP_){\nreturn cljs.core.contains_QMARK_(set1,p1__16206_SHARP_);\n}),set2)));\n});\n"); -SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.env.js", true , "goog.provide(\x27shadow.cljs.devtools.client.env\x27);\ngoog.scope(function(){\n shadow.cljs.devtools.client.env.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.active_modules_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.active_modules_ref \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.env.module_loaded \x3d (function shadow$cljs$devtools$client$env$module_loaded(name){\nreturn shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IDeref$_deref$arity$1(null),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name)));\n});\nshadow.cljs.devtools.client.env.module_is_active_QMARK_ \x3d (function shadow$cljs$devtools$client$env$module_is_active_QMARK_(module){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.cljs.devtools.client.env.active_modules_ref),module);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.runtime_id !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.runtime_id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n}\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.enabled \x3d goog.define(\x22shadow.cljs.devtools.client.env.enabled\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.log \x3d goog.define(\x22shadow.cljs.devtools.client.env.log\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.autoload \x3d goog.define(\x22shadow.cljs.devtools.client.env.autoload\x22,true);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.module_format \x3d goog.define(\x22shadow.cljs.devtools.client.env.module_format\x22,\x22goog\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.reload_with_state \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_with_state\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.build_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.build_id\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.proc_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.proc_id\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.worker_client_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.worker_client_id\x22,(0));\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_host\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_hosts \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_hosts\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.connect_timeout \x3d goog.define(\x22shadow.cljs.devtools.client.env.connect_timeout\x22,(1000));\nshadow.cljs.devtools.client.env.selected_host \x3d null;\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.server_port \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_port\x22,(8200));\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.repl_pprint \x3d goog.define(\x22shadow.cljs.devtools.client.env.repl_pprint\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_host\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_protocol \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_protocol\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.devtools_url \x3d goog.define(\x22shadow.cljs.devtools.client.env.devtools_url\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.reload_strategy \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_strategy\x22,\x22optimized\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_token \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_token\x22,\x22missing\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ssl \x3d goog.define(\x22shadow.cljs.devtools.client.env.ssl\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ignore_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.env.ignore_warnings\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.log_style \x3d goog.define(\x22shadow.cljs.devtools.client.env.log_style\x22,\x22font-weight: bold;\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.custom_notify_fn \x3d goog.define(\x22shadow.cljs.devtools.client.env.custom_notify_fn\x22,\x22\x22);\nshadow.cljs.devtools.client.env.devtools_info \x3d (function shadow$cljs$devtools$client$env$devtools_info(){\nreturn ({\x22server_port\x22: shadow.cljs.devtools.client.env.server_port, \x22server_host\x22: shadow.cljs.devtools.client.env.server_host, \x22build_id\x22: shadow.cljs.devtools.client.env.build_id, \x22proc_id\x22: shadow.cljs.devtools.client.env.proc_id, \x22runtime_id\x22: shadow.cljs.devtools.client.env.runtime_id, \x22ssl\x22: shadow.cljs.devtools.client.env.ssl});\n});\nshadow.cljs.devtools.client.env.get_server_protocol \x3d (function shadow$cljs$devtools$client$env$get_server_protocol(){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d shadow.cljs.devtools.client.env.use_document_protocol;\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn cljs.core.seq(goog.global.location.protocol);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn clojure.string.replace(goog.global.location.protocol,\x22:\x22,\x22\x22);\n} else {\nreturn [\x22http\x22,((shadow.cljs.devtools.client.env.ssl)?\x22s\x22:null)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_server_host \x3d (function shadow$cljs$devtools$client$env$get_server_host(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.selected_host)){\nreturn shadow.cljs.devtools.client.env.selected_host;\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d shadow.cljs.devtools.client.env.use_document_host;\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn cljs.core.seq(goog.global.location.hostname);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn goog.global.location.hostname;\n} else {\nif(cljs.core.seq(shadow.cljs.devtools.client.env.server_host)){\nreturn shadow.cljs.devtools.client.env.server_host;\n} else {\nreturn \x22localhost\x22;\n\n}\n}\n}\n});\nshadow.cljs.devtools.client.env.get_url_base \x3d (function shadow$cljs$devtools$client$env$get_url_base(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.devtools_url)){\nreturn shadow.cljs.devtools.client.env.devtools_url;\n} else {\nreturn [shadow.cljs.devtools.client.env.get_server_protocol(),\x22://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.get_server_host()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.server_port)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_ws_url_base \x3d (function shadow$cljs$devtools$client$env$get_ws_url_base(){\nreturn clojure.string.replace(shadow.cljs.devtools.client.env.get_url_base(),/^http/,\x22ws\x22);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_path \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_path(){\nreturn [\x22/api/remote-relay?server-token\x3d\x22,shadow.cljs.devtools.client.env.server_token].join(\x27\x27);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_url \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_url(){\nreturn [shadow.cljs.devtools.client.env.get_ws_url_base(),shadow.cljs.devtools.client.env.get_ws_relay_path()].join(\x27\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.reset_print_fn_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.reset_print_fn_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.was_print_newline !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.was_print_newline \x3d cljs.core._STAR_print_newline_STAR_;\n}\nshadow.cljs.devtools.client.env.set_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$set_print_fns_BANG_(msg_fn){\nvar original_print_fn \x3d cljs.core._STAR_print_fn_STAR_;\nvar original_print_err_fn \x3d cljs.core._STAR_print_err_fn_STAR_;\n(cljs.core._STAR_print_newline_STAR_ \x3d true);\n\n(cljs.core.enable_console_print_BANG_ \x3d (function (){\nreturn null;\n}));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,(function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_reset_print_fns_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d shadow.cljs.devtools.client.env.was_print_newline);\n\ncljs.core.set_print_fn_BANG_(original_print_fn);\n\nreturn cljs.core.set_print_err_fn_BANG_(original_print_err_fn);\n}));\n\ncljs.core.set_print_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s));\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d original_print_fn;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (original_print_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s));\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d original_print_err_fn;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (original_print_err_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_err_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_err_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n});\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$reset_print_fns_BANG_(){\nvar temp__5804__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.env.reset_print_fn_ref);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar x \x3d temp__5804__auto__;\n(x.cljs$core$IFn$_invoke$arity$0 ? x.cljs$core$IFn$_invoke$arity$0() : x.call(null));\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,null);\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.patch_goog_BANG_ \x3d (function shadow$cljs$devtools$client$env$patch_goog_BANG_(){\n(goog.provide \x3d goog.constructNamespace_);\n\nreturn (goog.require \x3d goog.module.get);\n});\nshadow.cljs.devtools.client.env.add_warnings_to_info \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info(p__16272){\nvar map__16273 \x3d p__16272;\nvar map__16273__$1 \x3d cljs.core.__destructure_map(map__16273);\nvar msg \x3d map__16273__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16273__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__16274(s__16275){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__16275__$1 \x3d s__16275;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__16275__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__16281 \x3d cljs.core.first(xs__6360__auto__);\nvar map__16281__$1 \x3d cljs.core.__destructure_map(map__16281);\nvar src \x3d map__16281__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16281__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16281__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5519__auto__ \x3d ((function (s__16275__$1,map__16281,map__16281__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__16273,map__16273__$1,msg,info){\nreturn (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__16274_$_iter__16276(s__16277){\nreturn (new cljs.core.LazySeq(null,((function (s__16275__$1,map__16281,map__16281__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__16273,map__16273__$1,msg,info){\nreturn (function (){\nvar s__16277__$1 \x3d s__16277;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__16277__$1);\nif(temp__5804__auto____$1){\nvar s__16277__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__16277__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__16277__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__16279 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__16278 \x3d (0);\nwhile(true){\nif((i__16278 \x3c size__5522__auto__)){\nvar warning \x3d cljs.core._nth(c__5521__auto__,i__16278);\ncljs.core.chunk_append(b__16279,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__16735 \x3d (i__16278 + (1));\ni__16278 \x3d G__16735;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__16279),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__16274_$_iter__16276(cljs.core.chunk_rest(s__16277__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__16279),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__16277__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__16274_$_iter__16276(cljs.core.rest(s__16277__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__16275__$1,map__16281,map__16281__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__16273,map__16273__$1,msg,info))\n,null,null));\n});})(s__16275__$1,map__16281,map__16281__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__16273,map__16273__$1,msg,info))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(warnings));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__16274(cljs.core.rest(s__16275__$1)));\n} else {\nvar G__16741 \x3d cljs.core.rest(s__16275__$1);\ns__16275__$1 \x3d G__16741;\ncontinue;\n}\n} else {\nvar G__16743 \x3d cljs.core.rest(s__16275__$1);\ns__16275__$1 \x3d G__16743;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nreturn cljs.core.assoc_in(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651)], null),warnings);\n});\nshadow.cljs.devtools.client.env.custom_notify_types \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472),null,new cljs.core.Keyword(null,\x22build-init\x22,\x22build-init\x22,-1115755563),null,new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466),null,new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480),null], null), null);\nshadow.cljs.devtools.client.env.run_custom_notify_BANG_ \x3d (function shadow$cljs$devtools$client$env$run_custom_notify_BANG_(msg){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.custom_notify_fn)){\nvar fn \x3d goog.getObjectByName(shadow.cljs.devtools.client.env.custom_notify_fn,$CLJS);\nif((!(cljs.core.fn_QMARK_(fn)))){\nreturn console.warn(\x22couldn\x27t find custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n} else {\ntry{return (fn.cljs$core$IFn$_invoke$arity$1 ? fn.cljs$core$IFn$_invoke$arity$1(msg) : fn.call(null,msg));\n}catch (e16307){var e \x3d e16307;\nconsole.error(\x22Failed to run custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n\nreturn console.error(e);\n}}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.make_task_fn \x3d (function shadow$cljs$devtools$client$env$make_task_fn(p__16314,p__16315){\nvar map__16316 \x3d p__16314;\nvar map__16316__$1 \x3d cljs.core.__destructure_map(map__16316);\nvar log_missing_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16316__$1,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765));\nvar log_call_async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16316__$1,new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192));\nvar log_call \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16316__$1,new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391));\nvar map__16317 \x3d p__16315;\nvar map__16317__$1 \x3d cljs.core.__destructure_map(map__16317);\nvar fn_sym \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16317__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_str \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16317__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16317__$1,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\nreturn (function (next){\ntry{var fn_obj \x3d goog.getObjectByName(fn_str,$CLJS);\nif((fn_obj \x3d\x3d null)){\nif(cljs.core.truth_(log_missing_fn)){\n(log_missing_fn.cljs$core$IFn$_invoke$arity$1 ? log_missing_fn.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_missing_fn.call(null,fn_sym));\n} else {\n}\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n} else {\nif(cljs.core.truth_(async)){\nif(cljs.core.truth_(log_call_async)){\n(log_call_async.cljs$core$IFn$_invoke$arity$1 ? log_call_async.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call_async.call(null,fn_sym));\n} else {\n}\n\nreturn (fn_obj.cljs$core$IFn$_invoke$arity$1 ? fn_obj.cljs$core$IFn$_invoke$arity$1(next) : fn_obj.call(null,next));\n} else {\nif(cljs.core.truth_(log_call)){\n(log_call.cljs$core$IFn$_invoke$arity$1 ? log_call.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call.call(null,fn_sym));\n} else {\n}\n\n(fn_obj.cljs$core$IFn$_invoke$arity$0 ? fn_obj.cljs$core$IFn$_invoke$arity$0() : fn_obj.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n\n}\n}\n}catch (e16318){var ex \x3d e16318;\nconsole.warn(\x22error when calling lifecycle function\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym),ex);\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}});\n});\nshadow.cljs.devtools.client.env.do_js_reload_STAR_ \x3d (function shadow$cljs$devtools$client$env$do_js_reload_STAR_(failure_fn,p__16342){\nvar vec__16344 \x3d p__16342;\nvar seq__16345 \x3d cljs.core.seq(vec__16344);\nvar first__16346 \x3d cljs.core.first(seq__16345);\nvar seq__16345__$1 \x3d cljs.core.next(seq__16345);\nvar task \x3d first__16346;\nvar remaining_tasks \x3d seq__16345__$1;\nif(cljs.core.truth_(task)){\ntry{var G__16348 \x3d (function (){\nreturn (shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2 ? shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2(failure_fn,remaining_tasks) : shadow.cljs.devtools.client.env.do_js_reload_STAR_.call(null,failure_fn,remaining_tasks));\n});\nreturn (task.cljs$core$IFn$_invoke$arity$1 ? task.cljs$core$IFn$_invoke$arity$1(G__16348) : task.call(null,G__16348));\n}catch (e16347){var e \x3d e16347;\nreturn (failure_fn.cljs$core$IFn$_invoke$arity$3 ? failure_fn.cljs$core$IFn$_invoke$arity$3(e,task,remaining_tasks) : failure_fn.call(null,e,task,remaining_tasks));\n}} else {\nreturn null;\n}\n});\n/**\n * should pass the :build-complete message and an additional callback\n * which performs the actual loading of the code (sync)\n * will call all before/after callbacks in order\n */\nshadow.cljs.devtools.client.env.do_js_reload \x3d (function shadow$cljs$devtools$client$env$do_js_reload(var_args){\nvar G__16355 \x3d arguments.length;\nswitch (G__16355) {\ncase 2:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,load_code_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3(msg,load_code_fn,(function (){\nreturn null;\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,load_code_fn,complete_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(msg,load_code_fn,complete_fn,(function (error,task,remaining){\nreturn console.warn(\x22JS reload failed\x22,error);\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__16395,load_code_fn,complete_fn,failure_fn){\nvar map__16396 \x3d p__16395;\nvar map__16396__$1 \x3d cljs.core.__destructure_map(map__16396);\nvar msg \x3d map__16396__$1;\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16396__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar load_tasks \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.reverse(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__16352_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__16352_SHARP_);\n}),new cljs.core.Keyword(null,\x22before-load\x22,\x22before-load\x22,-2060117064).cljs$core$IFn$_invoke$arity$1(reload_info)))),(function (next){\n(load_code_fn.cljs$core$IFn$_invoke$arity$0 ? load_code_fn.cljs$core$IFn$_invoke$arity$0() : load_code_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n})),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__16353_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__16353_SHARP_);\n})),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285).cljs$core$IFn$_invoke$arity$1(reload_info)),(function (next){\n(complete_fn.cljs$core$IFn$_invoke$arity$0 ? complete_fn.cljs$core$IFn$_invoke$arity$0() : complete_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}));\nreturn shadow.cljs.devtools.client.env.do_js_reload_STAR_(failure_fn,load_tasks);\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.cljs.devtools.client.env.before_load_src \x3d (function shadow$cljs$devtools$client$env$before_load_src(p__16402){\nvar map__16403 \x3d p__16402;\nvar map__16403__$1 \x3d cljs.core.__destructure_map(map__16403);\nvar src \x3d map__16403__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16403__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16403__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),type)){\nvar seq__16404 \x3d cljs.core.seq(goog.global.SHADOW_NS_RESET);\nvar chunk__16405 \x3d null;\nvar count__16406 \x3d (0);\nvar i__16407 \x3d (0);\nwhile(true){\nif((i__16407 \x3c count__16406)){\nvar x \x3d chunk__16405.cljs$core$IIndexed$_nth$arity$2(null,i__16407);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__16770 \x3d seq__16404;\nvar G__16771 \x3d chunk__16405;\nvar G__16772 \x3d count__16406;\nvar G__16773 \x3d (i__16407 + (1));\nseq__16404 \x3d G__16770;\nchunk__16405 \x3d G__16771;\ncount__16406 \x3d G__16772;\ni__16407 \x3d G__16773;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__16404);\nif(temp__5804__auto__){\nvar seq__16404__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__16404__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__16404__$1);\nvar G__16777 \x3d cljs.core.chunk_rest(seq__16404__$1);\nvar G__16778 \x3d c__5568__auto__;\nvar G__16779 \x3d cljs.core.count(c__5568__auto__);\nvar G__16780 \x3d (0);\nseq__16404 \x3d G__16777;\nchunk__16405 \x3d G__16778;\ncount__16406 \x3d G__16779;\ni__16407 \x3d G__16780;\ncontinue;\n} else {\nvar x \x3d cljs.core.first(seq__16404__$1);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__16782 \x3d cljs.core.next(seq__16404__$1);\nvar G__16783 \x3d null;\nvar G__16784 \x3d (0);\nvar G__16785 \x3d (0);\nseq__16404 \x3d G__16782;\nchunk__16405 \x3d G__16783;\ncount__16406 \x3d G__16784;\ni__16407 \x3d G__16785;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.goog_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$goog_is_loaded_QMARK_(name){\nreturn $CLJS.SHADOW_ENV.isLoaded(name);\n});\nshadow.cljs.devtools.client.env.goog_base_rc \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.build.classpath\x22,\x22resource\x22,\x22shadow.build.classpath/resource\x22,-879517823),\x22goog/base.js\x22], null);\nshadow.cljs.devtools.client.env.src_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$src_is_loaded_QMARK_(p__16436){\nvar map__16437 \x3d p__16436;\nvar map__16437__$1 \x3d cljs.core.__destructure_map(map__16437);\nvar src \x3d map__16437__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16437__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16437__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.goog_base_rc,resource_id);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn shadow.cljs.devtools.client.env.goog_is_loaded_QMARK_(output_name);\n}\n});\nshadow.cljs.devtools.client.env.prefilter_sources \x3d (function shadow$cljs$devtools$client$env$prefilter_sources(reload_info,sources){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__16438){\nvar map__16439 \x3d p__16438;\nvar map__16439__$1 \x3d cljs.core.__destructure_map(map__16439);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16439__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nreturn cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22never-load\x22,\x22never-load\x22,1300896819).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\n}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__16443){\nvar map__16444 \x3d p__16443;\nvar map__16444__$1 \x3d cljs.core.__destructure_map(map__16444);\nvar rc \x3d map__16444__$1;\nvar module__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16444__$1,new cljs.core.Keyword(null,\x22module\x22,\x22module\x22,1424618191));\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22js\x22,shadow.cljs.devtools.client.env.module_format)) || (shadow.cljs.devtools.client.env.module_is_active_QMARK_(module__$1)));\n}),sources));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_optimized \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_optimized(p__16451,reload_info){\nvar map__16452 \x3d p__16451;\nvar map__16452__$1 \x3d cljs.core.__destructure_map(map__16452);\nvar info \x3d map__16452__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16452__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16452__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__16454){\nvar map__16457 \x3d p__16454;\nvar map__16457__$1 \x3d cljs.core.__destructure_map(map__16457);\nvar src \x3d map__16457__$1;\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16457__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16457__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nreturn ((cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns)) || (((cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src))) || (((cljs.core.contains_QMARK_(compiled,resource_id)) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))))))));\n}),shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources)));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_full \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_full(p__16474,reload_info){\nvar map__16475 \x3d p__16474;\nvar map__16475__$1 \x3d cljs.core.__destructure_map(map__16475);\nvar info \x3d map__16475__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16475__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16475__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nvar affected \x3d cljs.core.PersistentHashSet.EMPTY;\nvar sources_to_get \x3d cljs.core.PersistentVector.EMPTY;\nvar G__16481 \x3d shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources);\nvar vec__16487 \x3d G__16481;\nvar seq__16488 \x3d cljs.core.seq(vec__16487);\nvar first__16489 \x3d cljs.core.first(seq__16488);\nvar seq__16488__$1 \x3d cljs.core.next(seq__16488);\nvar src \x3d first__16489;\nvar more \x3d seq__16488__$1;\nvar affected__$1 \x3d affected;\nvar sources_to_get__$1 \x3d sources_to_get;\nvar G__16481__$1 \x3d G__16481;\nwhile(true){\nvar affected__$2 \x3d affected__$1;\nvar sources_to_get__$2 \x3d sources_to_get__$1;\nvar vec__16522 \x3d G__16481__$1;\nvar seq__16523 \x3d cljs.core.seq(vec__16522);\nvar first__16524 \x3d cljs.core.first(seq__16523);\nvar seq__16523__$1 \x3d cljs.core.next(seq__16523);\nvar src__$1 \x3d first__16524;\nvar more__$1 \x3d seq__16523__$1;\nif(cljs.core.not(src__$1)){\nreturn sources_to_get__$2;\n} else {\nvar map__16549 \x3d src__$1;\nvar map__16549__$1 \x3d cljs.core.__destructure_map(map__16549);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16549__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16549__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar deps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16549__$1,new cljs.core.Keyword(null,\x22deps\x22,\x22deps\x22,1883360319));\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__16549__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar should_reload_QMARK_ \x3d (function (){var or__5045__auto__ \x3d cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src__$1));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nvar and__5043__auto__ \x3d (function (){var or__5045__auto____$2 \x3d cljs.core.contains_QMARK_(compiled,resource_id);\nif(or__5045__auto____$2){\nreturn or__5045__auto____$2;\n} else {\nreturn cljs.core.some(affected__$2,deps);\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src__$1));\n} else {\nreturn and__5043__auto__;\n}\n}\n}\n})();\nif(cljs.core.not(should_reload_QMARK_)){\nvar G__16800 \x3d affected__$2;\nvar G__16802 \x3d sources_to_get__$2;\nvar G__16803 \x3d more__$1;\naffected__$1 \x3d G__16800;\nsources_to_get__$1 \x3d G__16802;\nG__16481__$1 \x3d G__16803;\ncontinue;\n} else {\nvar G__16805 \x3d clojure.set.union.cljs$core$IFn$_invoke$arity$2(affected__$2,provides);\nvar G__16806 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sources_to_get__$2,src__$1);\nvar G__16807 \x3d more__$1;\naffected__$1 \x3d G__16805;\nsources_to_get__$1 \x3d G__16806;\nG__16481__$1 \x3d G__16807;\ncontinue;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.env.filter_reload_sources \x3d (function shadow$cljs$devtools$client$env$filter_reload_sources(info,reload_info){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22full\x22,shadow.cljs.devtools.client.env.reload_strategy)){\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_full(info,reload_info);\n} else {\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_optimized(info,reload_info);\n}\n});\n"); +SHADOW_ENV.evalLoad("shadow.json.js", true , "goog.provide(\x27shadow.json\x27);\ngoog.scope(function(){\n shadow.json.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n/**\n * simplified js-\x3eclj for JSON data, :key-fn default to keyword\n */\nshadow.json.to_clj \x3d (function shadow$json$to_clj(var_args){\nvar G__12149 \x3d arguments.length;\nswitch (G__12149) {\ncase 1:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(x,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,opts){\nif((x \x3d\x3d null)){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nif(cljs.core.boolean_QMARK_(x)){\nreturn x;\n} else {\nif(cljs.core.array_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__12147_SHARP_){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(p1__12147_SHARP_,opts);\n})),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(x));\n} else {\nvar key_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22key-fn\x22,\x22key-fn\x22,-636154479),cljs.core.keyword);\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,key){\nvar value \x3d shadow.json.goog$module$goog$object.get(x,key);\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(result,((typeof key \x3d\x3d\x3d \x27string\x27)?(key_fn.cljs$core$IFn$_invoke$arity$1 ? key_fn.cljs$core$IFn$_invoke$arity$1(key) : key_fn.call(null,key)):shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(key,opts)),shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(value,opts));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.json.goog$module$goog$object.getKeys(x)));\n\n}\n}\n}\n}\n}\n}));\n\n(shadow.json.to_clj.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.json.read_str \x3d (function shadow$json$read_str(str,opts){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(JSON.parse(str),opts);\n});\nshadow.json.write_str \x3d (function shadow$json$write_str(obj){\nreturn JSON.stringify(cljs.core.clj__GT_js(obj));\n});\n"); +SHADOW_ENV.evalLoad("clojure.set.js", true , "goog.provide(\x27clojure.set\x27);\nclojure.set.bubble_max_key \x3d (function clojure$set$bubble_max_key(k,coll){\n\nvar max \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max_key,k,coll);\nreturn cljs.core.cons(max,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__12169_SHARP_){\nreturn (max \x3d\x3d\x3d p1__12169_SHARP_);\n}),coll));\n});\n/**\n * Return a set that is the union of the input sets\n */\nclojure.set.union \x3d (function clojure$set$union(var_args){\nvar G__12174 \x3d arguments.length;\nswitch (G__12174) {\ncase 0:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12289 \x3d arguments.length;\nvar i__5770__auto___12290 \x3d (0);\nwhile(true){\nif((i__5770__auto___12290 \x3c len__5769__auto___12289)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12290]));\n\nvar G__12291 \x3d (i__5770__auto___12290 + (1));\ni__5770__auto___12290 \x3d G__12291;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s2,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s1,s2);\n}\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key(cljs.core.count,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.into,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.union.cljs$lang$applyTo \x3d (function (seq12171){\nvar G__12172 \x3d cljs.core.first(seq12171);\nvar seq12171__$1 \x3d cljs.core.next(seq12171);\nvar G__12173 \x3d cljs.core.first(seq12171__$1);\nvar seq12171__$2 \x3d cljs.core.next(seq12171__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12172,G__12173,seq12171__$2);\n}));\n\n(clojure.set.union.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the intersection of the input sets\n */\nclojure.set.intersection \x3d (function clojure$set$intersection(var_args){\nvar G__12204 \x3d arguments.length;\nswitch (G__12204) {\ncase 1:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12295 \x3d arguments.length;\nvar i__5770__auto___12296 \x3d (0);\nwhile(true){\nif((i__5770__auto___12296 \x3c len__5769__auto___12295)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12296]));\n\nvar G__12297 \x3d (i__5770__auto___12296 + (1));\ni__5770__auto___12296 \x3d G__12297;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nwhile(true){\nif((cljs.core.count(s2) \x3c cljs.core.count(s1))){\nvar G__12298 \x3d s2;\nvar G__12299 \x3d s1;\ns1 \x3d G__12298;\ns2 \x3d G__12299;\ncontinue;\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (s1,s2){\nreturn (function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn result;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n}\n});})(s1,s2))\n,s1,s1);\n}\nbreak;\n}\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key((function (p1__12190_SHARP_){\nreturn (- cljs.core.count(p1__12190_SHARP_));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.intersection,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.intersection.cljs$lang$applyTo \x3d (function (seq12201){\nvar G__12202 \x3d cljs.core.first(seq12201);\nvar seq12201__$1 \x3d cljs.core.next(seq12201);\nvar G__12203 \x3d cljs.core.first(seq12201__$1);\nvar seq12201__$2 \x3d cljs.core.next(seq12201__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12202,G__12203,seq12201__$2);\n}));\n\n(clojure.set.intersection.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the first set without elements of the remaining sets\n */\nclojure.set.difference \x3d (function clojure$set$difference(var_args){\nvar G__12221 \x3d arguments.length;\nswitch (G__12221) {\ncase 1:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___12301 \x3d arguments.length;\nvar i__5770__auto___12302 \x3d (0);\nwhile(true){\nif((i__5770__auto___12302 \x3c len__5769__auto___12301)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___12302]));\n\nvar G__12303 \x3d (i__5770__auto___12302 + (1));\ni__5770__auto___12302 \x3d G__12303;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((2)),(0),null));\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5795__auto__);\n\n}\n});\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n} else {\nreturn result;\n}\n}),s1,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,s1,s2);\n}\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.difference,s1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sets,s2));\n}));\n\n/** @this {Function} */\n(clojure.set.difference.cljs$lang$applyTo \x3d (function (seq12218){\nvar G__12219 \x3d cljs.core.first(seq12218);\nvar seq12218__$1 \x3d cljs.core.next(seq12218);\nvar G__12220 \x3d cljs.core.first(seq12218__$1);\nvar seq12218__$2 \x3d cljs.core.next(seq12218__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__12219,G__12220,seq12218__$2);\n}));\n\n(clojure.set.difference.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a set of the elements for which pred is true\n */\nclojure.set.select \x3d (function clojure$set$select(pred,xset){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s,k){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(k) : pred.call(null,k)))){\nreturn s;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(s,k);\n}\n}),xset,xset);\n});\n/**\n * Returns a rel of the elements of xrel with only the keys in ks\n */\nclojure.set.project \x3d (function clojure$set$project(xrel,ks){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12231_SHARP_){\nreturn cljs.core.select_keys(p1__12231_SHARP_,ks);\n}),xrel));\n});\n/**\n * Returns the map with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename_keys \x3d (function clojure$set$rename_keys(map,kmap){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,p__12239){\nvar vec__12240 \x3d p__12239;\nvar old \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12240,(0),null);\nvar new$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12240,(1),null);\nif(cljs.core.contains_QMARK_(map,old)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new$,cljs.core.get.cljs$core$IFn$_invoke$arity$2(map,old));\n} else {\nreturn m;\n}\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,map,cljs.core.keys(kmap)),kmap);\n});\n/**\n * Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename \x3d (function clojure$set$rename(xrel,kmap){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12244_SHARP_){\nreturn clojure.set.rename_keys(p1__12244_SHARP_,kmap);\n}),xrel));\n});\n/**\n * Returns a map of the distinct values of ks in the xrel mapped to a\n * set of the maps in xrel with the corresponding values of ks.\n */\nclojure.set.index \x3d (function clojure$set$index(xrel,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,x){\nvar ik \x3d cljs.core.select_keys(x,ks);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.PersistentHashSet.EMPTY),x));\n}),cljs.core.PersistentArrayMap.EMPTY,xrel);\n});\n/**\n * Returns the map with the vals mapped to the keys.\n */\nclojure.set.map_invert \x3d (function clojure$set$map_invert(m){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (m__$1,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m__$1,v,k);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\n});\n/**\n * When passed 2 rels, returns the rel corresponding to the natural\n * join. When passed an additional keymap, joins on the corresponding\n * keys.\n */\nclojure.set.join \x3d (function clojure$set$join(var_args){\nvar G__12262 \x3d arguments.length;\nswitch (G__12262) {\ncase 2:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (xrel,yrel){\nif(((cljs.core.seq(xrel)) \x26\x26 (cljs.core.seq(yrel)))){\nvar ks \x3d clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.keys(cljs.core.first(xrel))),cljs.core.set(cljs.core.keys(cljs.core.first(yrel))));\nvar vec__12278 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12278,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12278,(1),null);\nvar idx \x3d clojure.set.index(r,ks);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__12281 \x3d cljs.core.select_keys(x,ks);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__12281) : idx.call(null,G__12281));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__12257_SHARP_,p2__12258_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__12257_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__12258_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n} else {\nreturn cljs.core.PersistentHashSet.EMPTY;\n}\n}));\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$3 \x3d (function (xrel,yrel,km){\nvar vec__12282 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel,clojure.set.map_invert(km)], null):new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel,km], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12282,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12282,(1),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12282,(2),null);\nvar idx \x3d clojure.set.index(r,cljs.core.vals(k));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__12285 \x3d clojure.set.rename_keys(cljs.core.select_keys(x,cljs.core.keys(k)),k);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__12285) : idx.call(null,G__12285));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__12259_SHARP_,p2__12260_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__12259_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__12260_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n}));\n\n(clojure.set.join.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Is set1 a subset of set2?\n */\nclojure.set.subset_QMARK_ \x3d (function clojure$set$subset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3c\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__12286_SHARP_){\nreturn cljs.core.contains_QMARK_(set2,p1__12286_SHARP_);\n}),set1)));\n});\n/**\n * Is set1 a superset of set2?\n */\nclojure.set.superset_QMARK_ \x3d (function clojure$set$superset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3e\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__12287_SHARP_){\nreturn cljs.core.contains_QMARK_(set1,p1__12287_SHARP_);\n}),set2)));\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.env.js", true , "goog.provide(\x27shadow.cljs.devtools.client.env\x27);\ngoog.scope(function(){\n shadow.cljs.devtools.client.env.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.active_modules_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.active_modules_ref \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.env.module_loaded \x3d (function shadow$cljs$devtools$client$env$module_loaded(name){\nreturn shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IDeref$_deref$arity$1(null),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name)));\n});\nshadow.cljs.devtools.client.env.module_is_active_QMARK_ \x3d (function shadow$cljs$devtools$client$env$module_is_active_QMARK_(module){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.cljs.devtools.client.env.active_modules_ref),module);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.runtime_id !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.runtime_id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n}\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.enabled \x3d goog.define(\x22shadow.cljs.devtools.client.env.enabled\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.log \x3d goog.define(\x22shadow.cljs.devtools.client.env.log\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.autoload \x3d goog.define(\x22shadow.cljs.devtools.client.env.autoload\x22,true);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.module_format \x3d goog.define(\x22shadow.cljs.devtools.client.env.module_format\x22,\x22goog\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.reload_with_state \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_with_state\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.build_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.build_id\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.proc_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.proc_id\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.worker_client_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.worker_client_id\x22,(0));\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_host\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_hosts \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_hosts\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.connect_timeout \x3d goog.define(\x22shadow.cljs.devtools.client.env.connect_timeout\x22,(1000));\nshadow.cljs.devtools.client.env.selected_host \x3d null;\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.server_port \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_port\x22,(8200));\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.repl_pprint \x3d goog.define(\x22shadow.cljs.devtools.client.env.repl_pprint\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_host\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_protocol \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_protocol\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.devtools_url \x3d goog.define(\x22shadow.cljs.devtools.client.env.devtools_url\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.reload_strategy \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_strategy\x22,\x22optimized\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_token \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_token\x22,\x22missing\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ssl \x3d goog.define(\x22shadow.cljs.devtools.client.env.ssl\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ignore_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.env.ignore_warnings\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.log_style \x3d goog.define(\x22shadow.cljs.devtools.client.env.log_style\x22,\x22font-weight: bold;\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.custom_notify_fn \x3d goog.define(\x22shadow.cljs.devtools.client.env.custom_notify_fn\x22,\x22\x22);\nshadow.cljs.devtools.client.env.devtools_info \x3d (function shadow$cljs$devtools$client$env$devtools_info(){\nreturn ({\x22server_port\x22: shadow.cljs.devtools.client.env.server_port, \x22server_host\x22: shadow.cljs.devtools.client.env.server_host, \x22build_id\x22: shadow.cljs.devtools.client.env.build_id, \x22proc_id\x22: shadow.cljs.devtools.client.env.proc_id, \x22runtime_id\x22: shadow.cljs.devtools.client.env.runtime_id, \x22ssl\x22: shadow.cljs.devtools.client.env.ssl});\n});\nshadow.cljs.devtools.client.env.get_server_protocol \x3d (function shadow$cljs$devtools$client$env$get_server_protocol(){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d shadow.cljs.devtools.client.env.use_document_protocol;\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn cljs.core.seq(goog.global.location.protocol);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn clojure.string.replace(goog.global.location.protocol,\x22:\x22,\x22\x22);\n} else {\nreturn [\x22http\x22,((shadow.cljs.devtools.client.env.ssl)?\x22s\x22:null)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_server_host \x3d (function shadow$cljs$devtools$client$env$get_server_host(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.selected_host)){\nreturn shadow.cljs.devtools.client.env.selected_host;\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d shadow.cljs.devtools.client.env.use_document_host;\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn cljs.core.seq(goog.global.location.hostname);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn goog.global.location.hostname;\n} else {\nif(cljs.core.seq(shadow.cljs.devtools.client.env.server_host)){\nreturn shadow.cljs.devtools.client.env.server_host;\n} else {\nreturn \x22localhost\x22;\n\n}\n}\n}\n});\nshadow.cljs.devtools.client.env.get_url_base \x3d (function shadow$cljs$devtools$client$env$get_url_base(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.devtools_url)){\nreturn shadow.cljs.devtools.client.env.devtools_url;\n} else {\nreturn [shadow.cljs.devtools.client.env.get_server_protocol(),\x22://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.get_server_host()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.server_port)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_ws_url_base \x3d (function shadow$cljs$devtools$client$env$get_ws_url_base(){\nreturn clojure.string.replace(shadow.cljs.devtools.client.env.get_url_base(),/^http/,\x22ws\x22);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_path \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_path(){\nreturn [\x22/api/remote-relay?server-token\x3d\x22,shadow.cljs.devtools.client.env.server_token].join(\x27\x27);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_url \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_url(){\nreturn [shadow.cljs.devtools.client.env.get_ws_url_base(),shadow.cljs.devtools.client.env.get_ws_relay_path()].join(\x27\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.reset_print_fn_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.reset_print_fn_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.was_print_newline !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.was_print_newline \x3d cljs.core._STAR_print_newline_STAR_;\n}\nshadow.cljs.devtools.client.env.set_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$set_print_fns_BANG_(msg_fn){\nvar original_print_fn \x3d cljs.core._STAR_print_fn_STAR_;\nvar original_print_err_fn \x3d cljs.core._STAR_print_err_fn_STAR_;\n(cljs.core._STAR_print_newline_STAR_ \x3d true);\n\n(cljs.core.enable_console_print_BANG_ \x3d (function (){\nreturn null;\n}));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,(function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_reset_print_fns_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d shadow.cljs.devtools.client.env.was_print_newline);\n\ncljs.core.set_print_fn_BANG_(original_print_fn);\n\nreturn cljs.core.set_print_err_fn_BANG_(original_print_err_fn);\n}));\n\ncljs.core.set_print_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s));\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d original_print_fn;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (original_print_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s));\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d original_print_err_fn;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (original_print_err_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_err_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_err_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n});\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$reset_print_fns_BANG_(){\nvar temp__5804__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.env.reset_print_fn_ref);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar x \x3d temp__5804__auto__;\n(x.cljs$core$IFn$_invoke$arity$0 ? x.cljs$core$IFn$_invoke$arity$0() : x.call(null));\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,null);\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.patch_goog_BANG_ \x3d (function shadow$cljs$devtools$client$env$patch_goog_BANG_(){\n(goog.provide \x3d goog.constructNamespace_);\n\nreturn (goog.require \x3d goog.module.get);\n});\nshadow.cljs.devtools.client.env.add_warnings_to_info \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info(p__12371){\nvar map__12372 \x3d p__12371;\nvar map__12372__$1 \x3d cljs.core.__destructure_map(map__12372);\nvar msg \x3d map__12372__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12372__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__12374(s__12375){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__12375__$1 \x3d s__12375;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__12375__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__12380 \x3d cljs.core.first(xs__6360__auto__);\nvar map__12380__$1 \x3d cljs.core.__destructure_map(map__12380);\nvar src \x3d map__12380__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12380__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12380__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5519__auto__ \x3d ((function (s__12375__$1,map__12380,map__12380__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__12372,map__12372__$1,msg,info){\nreturn (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__12374_$_iter__12376(s__12377){\nreturn (new cljs.core.LazySeq(null,((function (s__12375__$1,map__12380,map__12380__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__12372,map__12372__$1,msg,info){\nreturn (function (){\nvar s__12377__$1 \x3d s__12377;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__12377__$1);\nif(temp__5804__auto____$1){\nvar s__12377__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__12377__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__12377__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__12379 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__12378 \x3d (0);\nwhile(true){\nif((i__12378 \x3c size__5522__auto__)){\nvar warning \x3d cljs.core._nth(c__5521__auto__,i__12378);\ncljs.core.chunk_append(b__12379,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__12478 \x3d (i__12378 + (1));\ni__12378 \x3d G__12478;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__12379),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__12374_$_iter__12376(cljs.core.chunk_rest(s__12377__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__12379),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__12377__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__12374_$_iter__12376(cljs.core.rest(s__12377__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__12375__$1,map__12380,map__12380__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__12372,map__12372__$1,msg,info))\n,null,null));\n});})(s__12375__$1,map__12380,map__12380__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__12372,map__12372__$1,msg,info))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(warnings));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__12374(cljs.core.rest(s__12375__$1)));\n} else {\nvar G__12480 \x3d cljs.core.rest(s__12375__$1);\ns__12375__$1 \x3d G__12480;\ncontinue;\n}\n} else {\nvar G__12481 \x3d cljs.core.rest(s__12375__$1);\ns__12375__$1 \x3d G__12481;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nreturn cljs.core.assoc_in(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651)], null),warnings);\n});\nshadow.cljs.devtools.client.env.custom_notify_types \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472),null,new cljs.core.Keyword(null,\x22build-init\x22,\x22build-init\x22,-1115755563),null,new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466),null,new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480),null], null), null);\nshadow.cljs.devtools.client.env.run_custom_notify_BANG_ \x3d (function shadow$cljs$devtools$client$env$run_custom_notify_BANG_(msg){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.custom_notify_fn)){\nvar fn \x3d goog.getObjectByName(shadow.cljs.devtools.client.env.custom_notify_fn,$CLJS);\nif((!(cljs.core.fn_QMARK_(fn)))){\nreturn console.warn(\x22couldn\x27t find custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n} else {\ntry{return (fn.cljs$core$IFn$_invoke$arity$1 ? fn.cljs$core$IFn$_invoke$arity$1(msg) : fn.call(null,msg));\n}catch (e12388){var e \x3d e12388;\nconsole.error(\x22Failed to run custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n\nreturn console.error(e);\n}}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.make_task_fn \x3d (function shadow$cljs$devtools$client$env$make_task_fn(p__12389,p__12390){\nvar map__12391 \x3d p__12389;\nvar map__12391__$1 \x3d cljs.core.__destructure_map(map__12391);\nvar log_missing_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12391__$1,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765));\nvar log_call_async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12391__$1,new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192));\nvar log_call \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12391__$1,new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391));\nvar map__12392 \x3d p__12390;\nvar map__12392__$1 \x3d cljs.core.__destructure_map(map__12392);\nvar fn_sym \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12392__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_str \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12392__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12392__$1,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\nreturn (function (next){\ntry{var fn_obj \x3d goog.getObjectByName(fn_str,$CLJS);\nif((fn_obj \x3d\x3d null)){\nif(cljs.core.truth_(log_missing_fn)){\n(log_missing_fn.cljs$core$IFn$_invoke$arity$1 ? log_missing_fn.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_missing_fn.call(null,fn_sym));\n} else {\n}\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n} else {\nif(cljs.core.truth_(async)){\nif(cljs.core.truth_(log_call_async)){\n(log_call_async.cljs$core$IFn$_invoke$arity$1 ? log_call_async.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call_async.call(null,fn_sym));\n} else {\n}\n\nreturn (fn_obj.cljs$core$IFn$_invoke$arity$1 ? fn_obj.cljs$core$IFn$_invoke$arity$1(next) : fn_obj.call(null,next));\n} else {\nif(cljs.core.truth_(log_call)){\n(log_call.cljs$core$IFn$_invoke$arity$1 ? log_call.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call.call(null,fn_sym));\n} else {\n}\n\n(fn_obj.cljs$core$IFn$_invoke$arity$0 ? fn_obj.cljs$core$IFn$_invoke$arity$0() : fn_obj.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n\n}\n}\n}catch (e12393){var ex \x3d e12393;\nconsole.warn(\x22error when calling lifecycle function\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym),ex);\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}});\n});\nshadow.cljs.devtools.client.env.do_js_reload_STAR_ \x3d (function shadow$cljs$devtools$client$env$do_js_reload_STAR_(failure_fn,p__12395){\nvar vec__12396 \x3d p__12395;\nvar seq__12397 \x3d cljs.core.seq(vec__12396);\nvar first__12398 \x3d cljs.core.first(seq__12397);\nvar seq__12397__$1 \x3d cljs.core.next(seq__12397);\nvar task \x3d first__12398;\nvar remaining_tasks \x3d seq__12397__$1;\nif(cljs.core.truth_(task)){\ntry{var G__12401 \x3d (function (){\nreturn (shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2 ? shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2(failure_fn,remaining_tasks) : shadow.cljs.devtools.client.env.do_js_reload_STAR_.call(null,failure_fn,remaining_tasks));\n});\nreturn (task.cljs$core$IFn$_invoke$arity$1 ? task.cljs$core$IFn$_invoke$arity$1(G__12401) : task.call(null,G__12401));\n}catch (e12400){var e \x3d e12400;\nreturn (failure_fn.cljs$core$IFn$_invoke$arity$3 ? failure_fn.cljs$core$IFn$_invoke$arity$3(e,task,remaining_tasks) : failure_fn.call(null,e,task,remaining_tasks));\n}} else {\nreturn null;\n}\n});\n/**\n * should pass the :build-complete message and an additional callback\n * which performs the actual loading of the code (sync)\n * will call all before/after callbacks in order\n */\nshadow.cljs.devtools.client.env.do_js_reload \x3d (function shadow$cljs$devtools$client$env$do_js_reload(var_args){\nvar G__12406 \x3d arguments.length;\nswitch (G__12406) {\ncase 2:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,load_code_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3(msg,load_code_fn,(function (){\nreturn null;\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,load_code_fn,complete_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(msg,load_code_fn,complete_fn,(function (error,task,remaining){\nreturn console.warn(\x22JS reload failed\x22,error);\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__12409,load_code_fn,complete_fn,failure_fn){\nvar map__12410 \x3d p__12409;\nvar map__12410__$1 \x3d cljs.core.__destructure_map(map__12410);\nvar msg \x3d map__12410__$1;\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12410__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar load_tasks \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.reverse(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__12403_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__12403_SHARP_);\n}),new cljs.core.Keyword(null,\x22before-load\x22,\x22before-load\x22,-2060117064).cljs$core$IFn$_invoke$arity$1(reload_info)))),(function (next){\n(load_code_fn.cljs$core$IFn$_invoke$arity$0 ? load_code_fn.cljs$core$IFn$_invoke$arity$0() : load_code_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n})),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__12404_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__12404_SHARP_);\n})),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285).cljs$core$IFn$_invoke$arity$1(reload_info)),(function (next){\n(complete_fn.cljs$core$IFn$_invoke$arity$0 ? complete_fn.cljs$core$IFn$_invoke$arity$0() : complete_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}));\nreturn shadow.cljs.devtools.client.env.do_js_reload_STAR_(failure_fn,load_tasks);\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.cljs.devtools.client.env.before_load_src \x3d (function shadow$cljs$devtools$client$env$before_load_src(p__12413){\nvar map__12414 \x3d p__12413;\nvar map__12414__$1 \x3d cljs.core.__destructure_map(map__12414);\nvar src \x3d map__12414__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12414__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12414__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),type)){\nvar seq__12416 \x3d cljs.core.seq(goog.global.SHADOW_NS_RESET);\nvar chunk__12417 \x3d null;\nvar count__12418 \x3d (0);\nvar i__12419 \x3d (0);\nwhile(true){\nif((i__12419 \x3c count__12418)){\nvar x \x3d chunk__12417.cljs$core$IIndexed$_nth$arity$2(null,i__12419);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__12492 \x3d seq__12416;\nvar G__12493 \x3d chunk__12417;\nvar G__12494 \x3d count__12418;\nvar G__12495 \x3d (i__12419 + (1));\nseq__12416 \x3d G__12492;\nchunk__12417 \x3d G__12493;\ncount__12418 \x3d G__12494;\ni__12419 \x3d G__12495;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__12416);\nif(temp__5804__auto__){\nvar seq__12416__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__12416__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__12416__$1);\nvar G__12496 \x3d cljs.core.chunk_rest(seq__12416__$1);\nvar G__12497 \x3d c__5568__auto__;\nvar G__12498 \x3d cljs.core.count(c__5568__auto__);\nvar G__12499 \x3d (0);\nseq__12416 \x3d G__12496;\nchunk__12417 \x3d G__12497;\ncount__12418 \x3d G__12498;\ni__12419 \x3d G__12499;\ncontinue;\n} else {\nvar x \x3d cljs.core.first(seq__12416__$1);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__12500 \x3d cljs.core.next(seq__12416__$1);\nvar G__12501 \x3d null;\nvar G__12502 \x3d (0);\nvar G__12503 \x3d (0);\nseq__12416 \x3d G__12500;\nchunk__12417 \x3d G__12501;\ncount__12418 \x3d G__12502;\ni__12419 \x3d G__12503;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.goog_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$goog_is_loaded_QMARK_(name){\nreturn $CLJS.SHADOW_ENV.isLoaded(name);\n});\nshadow.cljs.devtools.client.env.goog_base_rc \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.build.classpath\x22,\x22resource\x22,\x22shadow.build.classpath/resource\x22,-879517823),\x22goog/base.js\x22], null);\nshadow.cljs.devtools.client.env.src_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$src_is_loaded_QMARK_(p__12424){\nvar map__12425 \x3d p__12424;\nvar map__12425__$1 \x3d cljs.core.__destructure_map(map__12425);\nvar src \x3d map__12425__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12425__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12425__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.goog_base_rc,resource_id);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn shadow.cljs.devtools.client.env.goog_is_loaded_QMARK_(output_name);\n}\n});\nshadow.cljs.devtools.client.env.prefilter_sources \x3d (function shadow$cljs$devtools$client$env$prefilter_sources(reload_info,sources){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__12427){\nvar map__12428 \x3d p__12427;\nvar map__12428__$1 \x3d cljs.core.__destructure_map(map__12428);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12428__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nreturn cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22never-load\x22,\x22never-load\x22,1300896819).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\n}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__12429){\nvar map__12430 \x3d p__12429;\nvar map__12430__$1 \x3d cljs.core.__destructure_map(map__12430);\nvar rc \x3d map__12430__$1;\nvar module__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12430__$1,new cljs.core.Keyword(null,\x22module\x22,\x22module\x22,1424618191));\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22js\x22,shadow.cljs.devtools.client.env.module_format)) || (shadow.cljs.devtools.client.env.module_is_active_QMARK_(module__$1)));\n}),sources));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_optimized \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_optimized(p__12432,reload_info){\nvar map__12433 \x3d p__12432;\nvar map__12433__$1 \x3d cljs.core.__destructure_map(map__12433);\nvar info \x3d map__12433__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12433__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12433__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__12435){\nvar map__12436 \x3d p__12435;\nvar map__12436__$1 \x3d cljs.core.__destructure_map(map__12436);\nvar src \x3d map__12436__$1;\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12436__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12436__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nreturn ((cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns)) || (((cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src))) || (((cljs.core.contains_QMARK_(compiled,resource_id)) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))))))));\n}),shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources)));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_full \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_full(p__12437,reload_info){\nvar map__12438 \x3d p__12437;\nvar map__12438__$1 \x3d cljs.core.__destructure_map(map__12438);\nvar info \x3d map__12438__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12438__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12438__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nvar affected \x3d cljs.core.PersistentHashSet.EMPTY;\nvar sources_to_get \x3d cljs.core.PersistentVector.EMPTY;\nvar G__12442 \x3d shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources);\nvar vec__12443 \x3d G__12442;\nvar seq__12444 \x3d cljs.core.seq(vec__12443);\nvar first__12445 \x3d cljs.core.first(seq__12444);\nvar seq__12444__$1 \x3d cljs.core.next(seq__12444);\nvar src \x3d first__12445;\nvar more \x3d seq__12444__$1;\nvar affected__$1 \x3d affected;\nvar sources_to_get__$1 \x3d sources_to_get;\nvar G__12442__$1 \x3d G__12442;\nwhile(true){\nvar affected__$2 \x3d affected__$1;\nvar sources_to_get__$2 \x3d sources_to_get__$1;\nvar vec__12458 \x3d G__12442__$1;\nvar seq__12459 \x3d cljs.core.seq(vec__12458);\nvar first__12460 \x3d cljs.core.first(seq__12459);\nvar seq__12459__$1 \x3d cljs.core.next(seq__12459);\nvar src__$1 \x3d first__12460;\nvar more__$1 \x3d seq__12459__$1;\nif(cljs.core.not(src__$1)){\nreturn sources_to_get__$2;\n} else {\nvar map__12462 \x3d src__$1;\nvar map__12462__$1 \x3d cljs.core.__destructure_map(map__12462);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12462__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12462__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar deps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12462__$1,new cljs.core.Keyword(null,\x22deps\x22,\x22deps\x22,1883360319));\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12462__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar should_reload_QMARK_ \x3d (function (){var or__5045__auto__ \x3d cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src__$1));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nvar and__5043__auto__ \x3d (function (){var or__5045__auto____$2 \x3d cljs.core.contains_QMARK_(compiled,resource_id);\nif(or__5045__auto____$2){\nreturn or__5045__auto____$2;\n} else {\nreturn cljs.core.some(affected__$2,deps);\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src__$1));\n} else {\nreturn and__5043__auto__;\n}\n}\n}\n})();\nif(cljs.core.not(should_reload_QMARK_)){\nvar G__12507 \x3d affected__$2;\nvar G__12508 \x3d sources_to_get__$2;\nvar G__12509 \x3d more__$1;\naffected__$1 \x3d G__12507;\nsources_to_get__$1 \x3d G__12508;\nG__12442__$1 \x3d G__12509;\ncontinue;\n} else {\nvar G__12510 \x3d clojure.set.union.cljs$core$IFn$_invoke$arity$2(affected__$2,provides);\nvar G__12511 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sources_to_get__$2,src__$1);\nvar G__12512 \x3d more__$1;\naffected__$1 \x3d G__12510;\nsources_to_get__$1 \x3d G__12511;\nG__12442__$1 \x3d G__12512;\ncontinue;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.env.filter_reload_sources \x3d (function shadow$cljs$devtools$client$env$filter_reload_sources(info,reload_info){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22full\x22,shadow.cljs.devtools.client.env.reload_strategy)){\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_full(info,reload_info);\n} else {\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_optimized(info,reload_info);\n}\n});\n"); SHADOW_ENV.evalLoad("goog.dom.inputtype.js", true , "goog.provide(\x22goog.dom.InputType\x22);\ngoog.dom.InputType \x3d {BUTTON:\x22button\x22, CHECKBOX:\x22checkbox\x22, COLOR:\x22color\x22, DATE:\x22date\x22, DATETIME:\x22datetime\x22, DATETIME_LOCAL:\x22datetime-local\x22, EMAIL:\x22email\x22, FILE:\x22file\x22, HIDDEN:\x22hidden\x22, IMAGE:\x22image\x22, MENU:\x22menu\x22, MONTH:\x22month\x22, NUMBER:\x22number\x22, PASSWORD:\x22password\x22, RADIO:\x22radio\x22, RANGE:\x22range\x22, RESET:\x22reset\x22, SEARCH:\x22search\x22, SELECT_MULTIPLE:\x22select-multiple\x22, SELECT_ONE:\x22select-one\x22, SUBMIT:\x22submit\x22, TEL:\x22tel\x22, TEXT:\x22text\x22, TEXTAREA:\x22textarea\x22, TIME:\x22time\x22, URL:\x22url\x22, WEEK:\x22week\x22};\n"); SHADOW_ENV.evalLoad("goog.collections.iters.js", true , "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.collections.iters\x22);\n goog.module.declareLegacyNamespace();\n function getIterator(iterable) {\n return iterable[goog.global.Symbol.iterator]();\n }\n exports.getIterator \x3d getIterator;\n function forEach(iterator, f) {\n let result;\n while (!(result \x3d iterator.next()).done) {\n f(result.value);\n }\n }\n exports.forEach \x3d forEach;\n class MapIterator {\n constructor(childIter, mapFn) {\n this.childIterator_ \x3d getIterator(childIter);\n this.mapFn_ \x3d mapFn;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n const childResult \x3d this.childIterator_.next();\n return {value:childResult.done ? undefined : this.mapFn_.call(undefined, childResult.value), done:childResult.done,};\n }\n }\n exports.map \x3d function(iterable, f) {\n return new MapIterator(iterable, f);\n };\n class FilterIterator {\n constructor(childIter, filterFn) {\n this.childIter_ \x3d getIterator(childIter);\n this.filterFn_ \x3d filterFn;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n while (true) {\n const childResult \x3d this.childIter_.next();\n if (childResult.done) {\n return {done:true, value:undefined};\n }\n const passesFilter \x3d this.filterFn_.call(undefined, childResult.value);\n if (passesFilter) {\n return childResult;\n }\n }\n }\n }\n exports.filter \x3d function(iterable, f) {\n return new FilterIterator(iterable, f);\n };\n class ConcatIterator {\n constructor(iterators) {\n this.iterators_ \x3d iterators;\n this.iterIndex_ \x3d 0;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n while (this.iterIndex_ \x3c this.iterators_.length) {\n const result \x3d this.iterators_[this.iterIndex_].next();\n if (!result.done) {\n return result;\n }\n this.iterIndex_++;\n }\n return {done:true};\n }\n }\n exports.concat \x3d function(...iterables) {\n return new ConcatIterator(iterables.map(getIterator));\n };\n exports.toArray \x3d function(iterator) {\n const arr \x3d [];\n forEach(iterator, e \x3d\x3e arr.push(e));\n return arr;\n };\n return exports;\n});\n"); SHADOW_ENV.evalLoad("goog.debug.errorcontext.js", true , "goog.provide(\x22goog.debug.errorcontext\x22);\ngoog.debug.errorcontext.addErrorContext \x3d function(err, contextKey, contextValue) {\n if (!err[goog.debug.errorcontext.CONTEXT_KEY_]) {\n err[goog.debug.errorcontext.CONTEXT_KEY_] \x3d {};\n }\n err[goog.debug.errorcontext.CONTEXT_KEY_][contextKey] \x3d contextValue;\n};\ngoog.debug.errorcontext.getErrorContext \x3d function(err) {\n return err[goog.debug.errorcontext.CONTEXT_KEY_] || {};\n};\ngoog.debug.errorcontext.CONTEXT_KEY_ \x3d \x22__closure__error__context__984382\x22;\n"); @@ -1470,20 +1470,20 @@ SHADOW_ENV.evalLoad("goog.math.irect.js", true , "goog.provide(\x22goog.math.IRe SHADOW_ENV.evalLoad("goog.math.rect.js", true , "goog.provide(\x22goog.math.Rect\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.math.Box\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.IRect\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.math.Rect \x3d function(x, y, w, h) {\n this.left \x3d x;\n this.top \x3d y;\n this.width \x3d w;\n this.height \x3d h;\n};\ngoog.math.Rect.prototype.clone \x3d function() {\n return new goog.math.Rect(this.left, this.top, this.width, this.height);\n};\ngoog.math.Rect.prototype.toBox \x3d function() {\n var right \x3d this.left + this.width;\n var bottom \x3d this.top + this.height;\n return new goog.math.Box(this.top, right, bottom, this.left);\n};\ngoog.math.Rect.createFromPositionAndSize \x3d function(position, size) {\n return new goog.math.Rect(position.x, position.y, size.width, size.height);\n};\ngoog.math.Rect.createFromBox \x3d function(box) {\n return new goog.math.Rect(box.left, box.top, box.right - box.left, box.bottom - box.top);\n};\nif (goog.DEBUG) {\n goog.math.Rect.prototype.toString \x3d function() {\n return \x22(\x22 + this.left + \x22, \x22 + this.top + \x22 - \x22 + this.width + \x22w x \x22 + this.height + \x22h)\x22;\n };\n}\ngoog.math.Rect.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.left \x3d\x3d b.left \x26\x26 a.width \x3d\x3d b.width \x26\x26 a.top \x3d\x3d b.top \x26\x26 a.height \x3d\x3d b.height;\n};\ngoog.math.Rect.prototype.intersection \x3d function(rect) {\n var x0 \x3d Math.max(this.left, rect.left);\n var x1 \x3d Math.min(this.left + this.width, rect.left + rect.width);\n if (x0 \x3c\x3d x1) {\n var y0 \x3d Math.max(this.top, rect.top);\n var y1 \x3d Math.min(this.top + this.height, rect.top + rect.height);\n if (y0 \x3c\x3d y1) {\n this.left \x3d x0;\n this.top \x3d y0;\n this.width \x3d x1 - x0;\n this.height \x3d y1 - y0;\n return true;\n }\n }\n return false;\n};\ngoog.math.Rect.intersection \x3d function(a, b) {\n var x0 \x3d Math.max(a.left, b.left);\n var x1 \x3d Math.min(a.left + a.width, b.left + b.width);\n if (x0 \x3c\x3d x1) {\n var y0 \x3d Math.max(a.top, b.top);\n var y1 \x3d Math.min(a.top + a.height, b.top + b.height);\n if (y0 \x3c\x3d y1) {\n return new goog.math.Rect(x0, y0, x1 - x0, y1 - y0);\n }\n }\n return null;\n};\ngoog.math.Rect.intersects \x3d function(a, b) {\n return a.left \x3c\x3d b.left + b.width \x26\x26 b.left \x3c\x3d a.left + a.width \x26\x26 a.top \x3c\x3d b.top + b.height \x26\x26 b.top \x3c\x3d a.top + a.height;\n};\ngoog.math.Rect.prototype.intersects \x3d function(rect) {\n return goog.math.Rect.intersects(this, rect);\n};\ngoog.math.Rect.difference \x3d function(a, b) {\n var intersection \x3d goog.math.Rect.intersection(a, b);\n if (!intersection || !intersection.height || !intersection.width) {\n return [a.clone()];\n }\n var result \x3d [];\n var top \x3d a.top;\n var height \x3d a.height;\n var ar \x3d a.left + a.width;\n var ab \x3d a.top + a.height;\n var br \x3d b.left + b.width;\n var bb \x3d b.top + b.height;\n if (b.top \x3e a.top) {\n result.push(new goog.math.Rect(a.left, a.top, a.width, b.top - a.top));\n top \x3d b.top;\n height -\x3d b.top - a.top;\n }\n if (bb \x3c ab) {\n result.push(new goog.math.Rect(a.left, bb, a.width, ab - bb));\n height \x3d bb - top;\n }\n if (b.left \x3e a.left) {\n result.push(new goog.math.Rect(a.left, top, b.left - a.left, height));\n }\n if (br \x3c ar) {\n result.push(new goog.math.Rect(br, top, ar - br, height));\n }\n return result;\n};\ngoog.math.Rect.prototype.difference \x3d function(rect) {\n return goog.math.Rect.difference(this, rect);\n};\ngoog.math.Rect.prototype.boundingRect \x3d function(rect) {\n var right \x3d Math.max(this.left + this.width, rect.left + rect.width);\n var bottom \x3d Math.max(this.top + this.height, rect.top + rect.height);\n this.left \x3d Math.min(this.left, rect.left);\n this.top \x3d Math.min(this.top, rect.top);\n this.width \x3d right - this.left;\n this.height \x3d bottom - this.top;\n};\ngoog.math.Rect.boundingRect \x3d function(a, b) {\n if (!a || !b) {\n return null;\n }\n var newRect \x3d new goog.math.Rect(a.left, a.top, a.width, a.height);\n newRect.boundingRect(b);\n return newRect;\n};\ngoog.math.Rect.prototype.contains \x3d function(another) {\n if (another instanceof goog.math.Coordinate) {\n return another.x \x3e\x3d this.left \x26\x26 another.x \x3c\x3d this.left + this.width \x26\x26 another.y \x3e\x3d this.top \x26\x26 another.y \x3c\x3d this.top + this.height;\n } else {\n return this.left \x3c\x3d another.left \x26\x26 this.left + this.width \x3e\x3d another.left + another.width \x26\x26 this.top \x3c\x3d another.top \x26\x26 this.top + this.height \x3e\x3d another.top + another.height;\n }\n};\ngoog.math.Rect.prototype.squaredDistance \x3d function(point) {\n var dx \x3d point.x \x3c this.left ? this.left - point.x : Math.max(point.x - (this.left + this.width), 0);\n var dy \x3d point.y \x3c this.top ? this.top - point.y : Math.max(point.y - (this.top + this.height), 0);\n return dx * dx + dy * dy;\n};\ngoog.math.Rect.prototype.distance \x3d function(point) {\n return Math.sqrt(this.squaredDistance(point));\n};\ngoog.math.Rect.prototype.getSize \x3d function() {\n return new goog.math.Size(this.width, this.height);\n};\ngoog.math.Rect.prototype.getTopLeft \x3d function() {\n return new goog.math.Coordinate(this.left, this.top);\n};\ngoog.math.Rect.prototype.getCenter \x3d function() {\n return new goog.math.Coordinate(this.left + this.width / 2, this.top + this.height / 2);\n};\ngoog.math.Rect.prototype.getBottomRight \x3d function() {\n return new goog.math.Coordinate(this.left + this.width, this.top + this.height);\n};\ngoog.math.Rect.prototype.ceil \x3d function() {\n this.left \x3d Math.ceil(this.left);\n this.top \x3d Math.ceil(this.top);\n this.width \x3d Math.ceil(this.width);\n this.height \x3d Math.ceil(this.height);\n return this;\n};\ngoog.math.Rect.prototype.floor \x3d function() {\n this.left \x3d Math.floor(this.left);\n this.top \x3d Math.floor(this.top);\n this.width \x3d Math.floor(this.width);\n this.height \x3d Math.floor(this.height);\n return this;\n};\ngoog.math.Rect.prototype.round \x3d function() {\n this.left \x3d Math.round(this.left);\n this.top \x3d Math.round(this.top);\n this.width \x3d Math.round(this.width);\n this.height \x3d Math.round(this.height);\n return this;\n};\ngoog.math.Rect.prototype.translate \x3d function(tx, opt_ty) {\n if (tx instanceof goog.math.Coordinate) {\n this.left +\x3d tx.x;\n this.top +\x3d tx.y;\n } else {\n this.left +\x3d goog.asserts.assertNumber(tx);\n if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n this.top +\x3d opt_ty;\n }\n }\n return this;\n};\ngoog.math.Rect.prototype.scale \x3d function(sx, opt_sy) {\n var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.left *\x3d sx;\n this.width *\x3d sx;\n this.top *\x3d sy;\n this.height *\x3d sy;\n return this;\n};\n"); SHADOW_ENV.evalLoad("goog.style.style.js", true , "goog.provide(\x22goog.style\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.NodeType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.dom.vendor\x22);\ngoog.require(\x22goog.html.SafeStyleSheet\x22);\ngoog.require(\x22goog.math.Box\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.Rect\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.require(\x22goog.object\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.requireType(\x22goog.events.Event\x22);\ngoog.style.setStyle \x3d function(element, style, opt_value) {\n if (typeof style \x3d\x3d\x3d \x22string\x22) {\n goog.style.setStyle_(element, opt_value, style);\n } else {\n for (var key in style) {\n goog.style.setStyle_(element, style[key], key);\n }\n }\n};\ngoog.style.setStyle_ \x3d function(element, value, style) {\n var propertyName \x3d goog.style.getVendorJsStyleName_(element, style);\n if (propertyName) {\n element.style[propertyName] \x3d value;\n }\n};\ngoog.style.styleNameCache_ \x3d {};\ngoog.style.getVendorJsStyleName_ \x3d function(element, style) {\n var propertyName \x3d goog.style.styleNameCache_[style];\n if (!propertyName) {\n var camelStyle \x3d goog.string.toCamelCase(style);\n propertyName \x3d camelStyle;\n if (element.style[camelStyle] \x3d\x3d\x3d undefined) {\n var prefixedStyle \x3d goog.dom.vendor.getVendorJsPrefix() + goog.string.toTitleCase(camelStyle);\n if (element.style[prefixedStyle] !\x3d\x3d undefined) {\n propertyName \x3d prefixedStyle;\n }\n }\n goog.style.styleNameCache_[style] \x3d propertyName;\n }\n return propertyName;\n};\ngoog.style.getVendorStyleName_ \x3d function(element, style) {\n var camelStyle \x3d goog.string.toCamelCase(style);\n if (element.style[camelStyle] \x3d\x3d\x3d undefined) {\n var prefixedStyle \x3d goog.dom.vendor.getVendorJsPrefix() + goog.string.toTitleCase(camelStyle);\n if (element.style[prefixedStyle] !\x3d\x3d undefined) {\n return goog.dom.vendor.getVendorPrefix() + \x22-\x22 + style;\n }\n }\n return style;\n};\ngoog.style.getStyle \x3d function(element, property) {\n var styleValue \x3d element.style[goog.string.toCamelCase(property)];\n if (typeof styleValue !\x3d\x3d \x22undefined\x22) {\n return styleValue;\n }\n return element.style[goog.style.getVendorJsStyleName_(element, property)] || \x22\x22;\n};\ngoog.style.getComputedStyle \x3d function(element, property) {\n var doc \x3d goog.dom.getOwnerDocument(element);\n if (doc.defaultView \x26\x26 doc.defaultView.getComputedStyle) {\n var styles \x3d doc.defaultView.getComputedStyle(element, null);\n if (styles) {\n return styles[property] || styles.getPropertyValue(property) || \x22\x22;\n }\n }\n return \x22\x22;\n};\ngoog.style.getCascadedStyle \x3d function(element, style) {\n return element.currentStyle ? element.currentStyle[style] : null;\n};\ngoog.style.getStyle_ \x3d function(element, style) {\n return goog.style.getComputedStyle(element, style) || goog.style.getCascadedStyle(element, style) || element.style \x26\x26 element.style[style];\n};\ngoog.style.getComputedBoxSizing \x3d function(element) {\n return goog.style.getStyle_(element, \x22boxSizing\x22) || goog.style.getStyle_(element, \x22MozBoxSizing\x22) || goog.style.getStyle_(element, \x22WebkitBoxSizing\x22) || null;\n};\ngoog.style.getComputedPosition \x3d function(element) {\n return goog.style.getStyle_(element, \x22position\x22);\n};\ngoog.style.getBackgroundColor \x3d function(element) {\n return goog.style.getStyle_(element, \x22backgroundColor\x22);\n};\ngoog.style.getComputedOverflowX \x3d function(element) {\n return goog.style.getStyle_(element, \x22overflowX\x22);\n};\ngoog.style.getComputedOverflowY \x3d function(element) {\n return goog.style.getStyle_(element, \x22overflowY\x22);\n};\ngoog.style.getComputedZIndex \x3d function(element) {\n return goog.style.getStyle_(element, \x22zIndex\x22);\n};\ngoog.style.getComputedTextAlign \x3d function(element) {\n return goog.style.getStyle_(element, \x22textAlign\x22);\n};\ngoog.style.getComputedCursor \x3d function(element) {\n return goog.style.getStyle_(element, \x22cursor\x22);\n};\ngoog.style.getComputedTransform \x3d function(element) {\n var property \x3d goog.style.getVendorStyleName_(element, \x22transform\x22);\n return goog.style.getStyle_(element, property) || goog.style.getStyle_(element, \x22transform\x22);\n};\ngoog.style.setPosition \x3d function(el, arg1, opt_arg2) {\n var x, y;\n if (arg1 instanceof goog.math.Coordinate) {\n x \x3d arg1.x;\n y \x3d arg1.y;\n } else {\n x \x3d arg1;\n y \x3d opt_arg2;\n }\n el.style.left \x3d goog.style.getPixelStyleValue_(x, false);\n el.style.top \x3d goog.style.getPixelStyleValue_(y, false);\n};\ngoog.style.getPosition \x3d function(element) {\n return new goog.math.Coordinate(element.offsetLeft, element.offsetTop);\n};\ngoog.style.getClientViewportElement \x3d function(opt_node) {\n var doc;\n if (opt_node) {\n doc \x3d goog.dom.getOwnerDocument(opt_node);\n } else {\n doc \x3d goog.dom.getDocument();\n }\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9) \x26\x26 !goog.dom.getDomHelper(doc).isCss1CompatMode()) {\n return doc.body;\n }\n return doc.documentElement;\n};\ngoog.style.getViewportPageOffset \x3d function(doc) {\n var body \x3d doc.body;\n var documentElement \x3d doc.documentElement;\n var scrollLeft \x3d body.scrollLeft || documentElement.scrollLeft;\n var scrollTop \x3d body.scrollTop || documentElement.scrollTop;\n return new goog.math.Coordinate(scrollLeft, scrollTop);\n};\ngoog.style.getBoundingClientRect_ \x3d function(el) {\n try {\n return el.getBoundingClientRect();\n } catch (e) {\n return {\x22left\x22:0, \x22top\x22:0, \x22right\x22:0, \x22bottom\x22:0};\n }\n};\ngoog.style.getOffsetParent \x3d function(element) {\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(8)) {\n goog.asserts.assert(element \x26\x26 \x22offsetParent\x22 in element);\n return element.offsetParent;\n }\n var doc \x3d goog.dom.getOwnerDocument(element);\n var positionStyle \x3d goog.style.getStyle_(element, \x22position\x22);\n var skipStatic \x3d positionStyle \x3d\x3d \x22fixed\x22 || positionStyle \x3d\x3d \x22absolute\x22;\n for (var parent \x3d element.parentNode; parent \x26\x26 parent !\x3d doc; parent \x3d parent.parentNode) {\n if (parent.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT_FRAGMENT \x26\x26 parent.host) {\n parent \x3d parent.host;\n }\n positionStyle \x3d goog.style.getStyle_(parent, \x22position\x22);\n skipStatic \x3d skipStatic \x26\x26 positionStyle \x3d\x3d \x22static\x22 \x26\x26 parent !\x3d doc.documentElement \x26\x26 parent !\x3d doc.body;\n if (!skipStatic \x26\x26 (parent.scrollWidth \x3e parent.clientWidth || parent.scrollHeight \x3e parent.clientHeight || positionStyle \x3d\x3d \x22fixed\x22 || positionStyle \x3d\x3d \x22absolute\x22 || positionStyle \x3d\x3d \x22relative\x22)) {\n return parent;\n }\n }\n return null;\n};\ngoog.style.getVisibleRectForElement \x3d function(element) {\n var visibleRect \x3d new goog.math.Box(0, Infinity, Infinity, 0);\n var dom \x3d goog.dom.getDomHelper(element);\n var body \x3d dom.getDocument().body;\n var documentElement \x3d dom.getDocument().documentElement;\n var scrollEl \x3d dom.getDocumentScrollElement();\n for (var el \x3d element; el \x3d goog.style.getOffsetParent(el);) {\n if ((!goog.userAgent.IE || el.clientWidth !\x3d 0) \x26\x26 (!goog.userAgent.WEBKIT || el.clientHeight !\x3d 0 || el !\x3d body) \x26\x26 (el !\x3d body \x26\x26 el !\x3d documentElement \x26\x26 goog.style.getStyle_(el, \x22overflow\x22) !\x3d \x22visible\x22)) {\n var pos \x3d goog.style.getPageOffset(el);\n var client \x3d goog.style.getClientLeftTop(el);\n pos.x +\x3d client.x;\n pos.y +\x3d client.y;\n visibleRect.top \x3d Math.max(visibleRect.top, pos.y);\n visibleRect.right \x3d Math.min(visibleRect.right, pos.x + el.clientWidth);\n visibleRect.bottom \x3d Math.min(visibleRect.bottom, pos.y + el.clientHeight);\n visibleRect.left \x3d Math.max(visibleRect.left, pos.x);\n }\n }\n var scrollX \x3d scrollEl.scrollLeft, scrollY \x3d scrollEl.scrollTop;\n visibleRect.left \x3d Math.max(visibleRect.left, scrollX);\n visibleRect.top \x3d Math.max(visibleRect.top, scrollY);\n var winSize \x3d dom.getViewportSize();\n visibleRect.right \x3d Math.min(visibleRect.right, scrollX + winSize.width);\n visibleRect.bottom \x3d Math.min(visibleRect.bottom, scrollY + winSize.height);\n return visibleRect.top \x3e\x3d 0 \x26\x26 visibleRect.left \x3e\x3d 0 \x26\x26 visibleRect.bottom \x3e visibleRect.top \x26\x26 visibleRect.right \x3e visibleRect.left ? visibleRect : null;\n};\ngoog.style.getContainerOffsetToScrollInto \x3d function(element, opt_container, opt_center) {\n var container \x3d opt_container || goog.dom.getDocumentScrollElement();\n var elementPos \x3d goog.style.getPageOffset(element);\n var containerPos \x3d goog.style.getPageOffset(container);\n var containerBorder \x3d goog.style.getBorderBox(container);\n if (container \x3d\x3d goog.dom.getDocumentScrollElement()) {\n var relX \x3d elementPos.x - container.scrollLeft;\n var relY \x3d elementPos.y - container.scrollTop;\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(10)) {\n relX +\x3d containerBorder.left;\n relY +\x3d containerBorder.top;\n }\n } else {\n var relX \x3d elementPos.x - containerPos.x - containerBorder.left;\n var relY \x3d elementPos.y - containerPos.y - containerBorder.top;\n }\n var elementSize \x3d goog.style.getSizeWithDisplay_(element);\n var spaceX \x3d container.clientWidth - elementSize.width;\n var spaceY \x3d container.clientHeight - elementSize.height;\n var scrollLeft \x3d container.scrollLeft;\n var scrollTop \x3d container.scrollTop;\n if (opt_center) {\n scrollLeft +\x3d relX - spaceX / 2;\n scrollTop +\x3d relY - spaceY / 2;\n } else {\n scrollLeft +\x3d Math.min(relX, Math.max(relX - spaceX, 0));\n scrollTop +\x3d Math.min(relY, Math.max(relY - spaceY, 0));\n }\n return new goog.math.Coordinate(scrollLeft, scrollTop);\n};\ngoog.style.scrollIntoContainerView \x3d function(element, opt_container, opt_center) {\n var container \x3d opt_container || goog.dom.getDocumentScrollElement();\n var offset \x3d goog.style.getContainerOffsetToScrollInto(element, container, opt_center);\n container.scrollLeft \x3d offset.x;\n container.scrollTop \x3d offset.y;\n};\ngoog.style.getClientLeftTop \x3d function(el) {\n return new goog.math.Coordinate(el.clientLeft, el.clientTop);\n};\ngoog.style.getPageOffset \x3d function(el) {\n var doc \x3d goog.dom.getOwnerDocument(el);\n goog.asserts.assertObject(el, \x22Parameter is required\x22);\n var pos \x3d new goog.math.Coordinate(0, 0);\n var viewportElement \x3d goog.style.getClientViewportElement(doc);\n if (el \x3d\x3d viewportElement) {\n return pos;\n }\n var box \x3d goog.style.getBoundingClientRect_(el);\n var scrollCoord \x3d goog.dom.getDomHelper(doc).getDocumentScroll();\n pos.x \x3d box.left + scrollCoord.x;\n pos.y \x3d box.top + scrollCoord.y;\n return pos;\n};\ngoog.style.getPageOffsetLeft \x3d function(el) {\n return goog.style.getPageOffset(el).x;\n};\ngoog.style.getPageOffsetTop \x3d function(el) {\n return goog.style.getPageOffset(el).y;\n};\ngoog.style.getFramedPageOffset \x3d function(el, relativeWin) {\n var position \x3d new goog.math.Coordinate(0, 0);\n var currentWin \x3d goog.dom.getWindow(goog.dom.getOwnerDocument(el));\n if (!goog.reflect.canAccessProperty(currentWin, \x22parent\x22)) {\n return position;\n }\n var currentEl \x3d el;\n do {\n var offset \x3d currentWin \x3d\x3d relativeWin ? goog.style.getPageOffset(currentEl) : goog.style.getClientPositionForElement_(goog.asserts.assert(currentEl));\n position.x +\x3d offset.x;\n position.y +\x3d offset.y;\n } while (currentWin \x26\x26 currentWin !\x3d relativeWin \x26\x26 currentWin !\x3d currentWin.parent \x26\x26 (currentEl \x3d currentWin.frameElement) \x26\x26 (currentWin \x3d currentWin.parent));\n return position;\n};\ngoog.style.translateRectForAnotherFrame \x3d function(rect, origBase, newBase) {\n if (origBase.getDocument() !\x3d newBase.getDocument()) {\n var body \x3d origBase.getDocument().body;\n var pos \x3d goog.style.getFramedPageOffset(body, newBase.getWindow());\n pos \x3d goog.math.Coordinate.difference(pos, goog.style.getPageOffset(body));\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9) \x26\x26 !origBase.isCss1CompatMode()) {\n pos \x3d goog.math.Coordinate.difference(pos, origBase.getDocumentScroll());\n }\n rect.left +\x3d pos.x;\n rect.top +\x3d pos.y;\n }\n};\ngoog.style.getRelativePosition \x3d function(a, b) {\n var ap \x3d goog.style.getClientPosition(a);\n var bp \x3d goog.style.getClientPosition(b);\n return new goog.math.Coordinate(ap.x - bp.x, ap.y - bp.y);\n};\ngoog.style.getClientPositionForElement_ \x3d function(el) {\n var box \x3d goog.style.getBoundingClientRect_(el);\n return new goog.math.Coordinate(box.left, box.top);\n};\ngoog.style.getClientPosition \x3d function(el) {\n goog.asserts.assert(el);\n if (el.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT) {\n return goog.style.getClientPositionForElement_(el);\n } else {\n var targetEvent \x3d el.changedTouches ? el.changedTouches[0] : el;\n return new goog.math.Coordinate(targetEvent.clientX, targetEvent.clientY);\n }\n};\ngoog.style.setPageOffset \x3d function(el, x, opt_y) {\n var cur \x3d goog.style.getPageOffset(el);\n if (x instanceof goog.math.Coordinate) {\n opt_y \x3d x.y;\n x \x3d x.x;\n }\n var dx \x3d goog.asserts.assertNumber(x) - cur.x;\n var dy \x3d Number(opt_y) - cur.y;\n goog.style.setPosition(el, el.offsetLeft + dx, el.offsetTop + dy);\n};\ngoog.style.setSize \x3d function(element, w, opt_h) {\n var h;\n if (w instanceof goog.math.Size) {\n h \x3d w.height;\n w \x3d w.width;\n } else {\n if (opt_h \x3d\x3d undefined) {\n throw new Error(\x22missing height argument\x22);\n }\n h \x3d opt_h;\n }\n goog.style.setWidth(element, w);\n goog.style.setHeight(element, h);\n};\ngoog.style.getPixelStyleValue_ \x3d function(value, round) {\n if (typeof value \x3d\x3d \x22number\x22) {\n value \x3d (round ? Math.round(value) : value) + \x22px\x22;\n }\n return value;\n};\ngoog.style.setHeight \x3d function(element, height) {\n element.style.height \x3d goog.style.getPixelStyleValue_(height, true);\n};\ngoog.style.setWidth \x3d function(element, width) {\n element.style.width \x3d goog.style.getPixelStyleValue_(width, true);\n};\ngoog.style.getSize \x3d function(element) {\n return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_, element);\n};\ngoog.style.evaluateWithTemporaryDisplay_ \x3d function(fn, element) {\n if (goog.style.getStyle_(element, \x22display\x22) !\x3d \x22none\x22) {\n return fn(element);\n }\n var style \x3d element.style;\n var originalDisplay \x3d style.display;\n var originalVisibility \x3d style.visibility;\n var originalPosition \x3d style.position;\n style.visibility \x3d \x22hidden\x22;\n style.position \x3d \x22absolute\x22;\n style.display \x3d \x22inline\x22;\n var retVal \x3d fn(element);\n style.display \x3d originalDisplay;\n style.position \x3d originalPosition;\n style.visibility \x3d originalVisibility;\n return retVal;\n};\ngoog.style.getSizeWithDisplay_ \x3d function(element) {\n var offsetWidth \x3d element.offsetWidth;\n var offsetHeight \x3d element.offsetHeight;\n var webkitOffsetsZero \x3d goog.userAgent.WEBKIT \x26\x26 !offsetWidth \x26\x26 !offsetHeight;\n if ((offsetWidth \x3d\x3d\x3d undefined || webkitOffsetsZero) \x26\x26 element.getBoundingClientRect) {\n var clientRect \x3d goog.style.getBoundingClientRect_(element);\n return new goog.math.Size(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top);\n }\n return new goog.math.Size(offsetWidth, offsetHeight);\n};\ngoog.style.getTransformedSize \x3d function(element) {\n if (!element.getBoundingClientRect) {\n return null;\n }\n var clientRect \x3d goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_, element);\n return new goog.math.Size(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top);\n};\ngoog.style.getBounds \x3d function(element) {\n var o \x3d goog.style.getPageOffset(element);\n var s \x3d goog.style.getSize(element);\n return new goog.math.Rect(o.x, o.y, s.width, s.height);\n};\ngoog.style.toCamelCase \x3d function(selector) {\n return goog.string.toCamelCase(String(selector));\n};\ngoog.style.toSelectorCase \x3d function(selector) {\n return goog.string.toSelectorCase(selector);\n};\ngoog.style.getOpacity \x3d function(el) {\n goog.asserts.assert(el);\n var style \x3d el.style;\n var result \x3d \x22\x22;\n if (\x22opacity\x22 in style) {\n result \x3d style.opacity;\n } else if (\x22MozOpacity\x22 in style) {\n result \x3d style.MozOpacity;\n } else if (\x22filter\x22 in style) {\n var match \x3d style.filter.match(/alpha\\(opacity\x3d([\\d.]+)\\)/);\n if (match) {\n result \x3d String(match[1] / 100);\n }\n }\n return result \x3d\x3d \x22\x22 ? result : Number(result);\n};\ngoog.style.setOpacity \x3d function(el, alpha) {\n goog.asserts.assert(el);\n var style \x3d el.style;\n if (\x22opacity\x22 in style) {\n style.opacity \x3d alpha;\n } else if (\x22MozOpacity\x22 in style) {\n style.MozOpacity \x3d alpha;\n } else if (\x22filter\x22 in style) {\n if (alpha \x3d\x3d\x3d \x22\x22) {\n style.filter \x3d \x22\x22;\n } else {\n style.filter \x3d \x22alpha(opacity\\x3d\x22 + Number(alpha) * 100 + \x22)\x22;\n }\n }\n};\ngoog.style.setTransparentBackgroundImage \x3d function(el, src) {\n var style \x3d el.style;\n style.backgroundImage \x3d \x22url(\x22 + src + \x22)\x22;\n style.backgroundPosition \x3d \x22top left\x22;\n style.backgroundRepeat \x3d \x22no-repeat\x22;\n};\ngoog.style.clearTransparentBackgroundImage \x3d function(el) {\n var style \x3d el.style;\n if (\x22filter\x22 in style) {\n style.filter \x3d \x22\x22;\n } else {\n style.backgroundImage \x3d \x22none\x22;\n }\n};\ngoog.style.showElement \x3d function(el, display) {\n goog.style.setElementShown(el, display);\n};\ngoog.style.setElementShown \x3d function(el, isShown) {\n el.style.display \x3d isShown ? \x22\x22 : \x22none\x22;\n};\ngoog.style.isElementShown \x3d function(el) {\n return el.style.display !\x3d \x22none\x22;\n};\ngoog.style.installSafeStyleSheet \x3d function(safeStyleSheet, opt_node) {\n var dh \x3d goog.dom.getDomHelper(opt_node);\n var doc \x3d dh.getDocument();\n if (goog.userAgent.IE \x26\x26 doc.createStyleSheet) {\n var styleSheet \x3d doc.createStyleSheet();\n goog.style.setSafeStyleSheet(styleSheet, safeStyleSheet);\n return styleSheet;\n } else {\n var head \x3d dh.getElementsByTagNameAndClass(goog.dom.TagName.HEAD)[0];\n if (!head) {\n var body \x3d dh.getElementsByTagNameAndClass(goog.dom.TagName.BODY)[0];\n head \x3d dh.createDom(goog.dom.TagName.HEAD);\n body.parentNode.insertBefore(head, body);\n }\n var el \x3d dh.createDom(goog.dom.TagName.STYLE);\n const nonce \x3d goog.dom.safe.getStyleNonce();\n if (nonce) {\n el.setAttribute(\x22nonce\x22, nonce);\n }\n goog.style.setSafeStyleSheet(el, safeStyleSheet);\n dh.appendChild(head, el);\n return el;\n }\n};\ngoog.style.uninstallStyles \x3d function(styleSheet) {\n var node \x3d styleSheet.ownerNode || styleSheet.owningElement || styleSheet;\n goog.dom.removeNode(node);\n};\ngoog.style.setSafeStyleSheet \x3d function(element, safeStyleSheet) {\n var stylesString \x3d goog.html.SafeStyleSheet.unwrap(safeStyleSheet);\n if (goog.userAgent.IE \x26\x26 element.cssText !\x3d\x3d undefined) {\n element.cssText \x3d stylesString;\n } else if (goog.global.trustedTypes) {\n goog.dom.setTextContent(element, stylesString);\n } else {\n element.innerHTML \x3d stylesString;\n }\n};\ngoog.style.setPreWrap \x3d function(el) {\n var style \x3d el.style;\n if (goog.userAgent.GECKO) {\n style.whiteSpace \x3d \x22-moz-pre-wrap\x22;\n } else {\n style.whiteSpace \x3d \x22pre-wrap\x22;\n }\n};\ngoog.style.setInlineBlock \x3d function(el) {\n var style \x3d el.style;\n style.position \x3d \x22relative\x22;\n style.display \x3d \x22inline-block\x22;\n};\ngoog.style.isRightToLeft \x3d function(el) {\n return \x22rtl\x22 \x3d\x3d goog.style.getStyle_(el, \x22direction\x22);\n};\ngoog.style.unselectableStyle_ \x3d goog.userAgent.GECKO ? \x22MozUserSelect\x22 : goog.userAgent.WEBKIT || goog.userAgent.EDGE ? \x22WebkitUserSelect\x22 : null;\ngoog.style.isUnselectable \x3d function(el) {\n if (goog.style.unselectableStyle_) {\n return el.style[goog.style.unselectableStyle_].toLowerCase() \x3d\x3d \x22none\x22;\n } else if (goog.userAgent.IE) {\n return el.getAttribute(\x22unselectable\x22) \x3d\x3d \x22on\x22;\n }\n return false;\n};\ngoog.style.setUnselectable \x3d function(el, unselectable, opt_noRecurse) {\n var descendants \x3d !opt_noRecurse ? el.getElementsByTagName(\x22*\x22) : null;\n var name \x3d goog.style.unselectableStyle_;\n if (name) {\n var value \x3d unselectable ? \x22none\x22 : \x22\x22;\n if (el.style) {\n el.style[name] \x3d value;\n }\n if (descendants) {\n for (var i \x3d 0, descendant; descendant \x3d descendants[i]; i++) {\n if (descendant.style) {\n descendant.style[name] \x3d value;\n }\n }\n }\n } else if (goog.userAgent.IE) {\n var value \x3d unselectable ? \x22on\x22 : \x22\x22;\n el.setAttribute(\x22unselectable\x22, value);\n if (descendants) {\n for (var i \x3d 0, descendant; descendant \x3d descendants[i]; i++) {\n descendant.setAttribute(\x22unselectable\x22, value);\n }\n }\n }\n};\ngoog.style.getBorderBoxSize \x3d function(element) {\n return new goog.math.Size(element.offsetWidth, element.offsetHeight);\n};\ngoog.style.setBorderBoxSize \x3d function(element, size) {\n goog.style.setBoxSizingSize_(element, size, \x22border-box\x22);\n};\ngoog.style.getContentBoxSize \x3d function(element) {\n var doc \x3d goog.dom.getOwnerDocument(element);\n var ieCurrentStyle \x3d goog.userAgent.IE \x26\x26 element.currentStyle;\n if (ieCurrentStyle \x26\x26 goog.dom.getDomHelper(doc).isCss1CompatMode() \x26\x26 ieCurrentStyle.width !\x3d \x22auto\x22 \x26\x26 ieCurrentStyle.height !\x3d \x22auto\x22 \x26\x26 !ieCurrentStyle.boxSizing) {\n var width \x3d goog.style.getIePixelValue_(element, ieCurrentStyle.width, \x22width\x22, \x22pixelWidth\x22);\n var height \x3d goog.style.getIePixelValue_(element, ieCurrentStyle.height, \x22height\x22, \x22pixelHeight\x22);\n return new goog.math.Size(width, height);\n } else {\n var borderBoxSize \x3d goog.style.getBorderBoxSize(element);\n var paddingBox \x3d goog.style.getPaddingBox(element);\n var borderBox \x3d goog.style.getBorderBox(element);\n return new goog.math.Size(borderBoxSize.width - borderBox.left - paddingBox.left - paddingBox.right - borderBox.right, borderBoxSize.height - borderBox.top - paddingBox.top - paddingBox.bottom - borderBox.bottom);\n }\n};\ngoog.style.setContentBoxSize \x3d function(element, size) {\n goog.style.setBoxSizingSize_(element, size, \x22content-box\x22);\n};\ngoog.style.setBoxSizingSize_ \x3d function(element, size, boxSizing) {\n var style \x3d element.style;\n if (goog.userAgent.GECKO) {\n style.MozBoxSizing \x3d boxSizing;\n } else if (goog.userAgent.WEBKIT) {\n style.WebkitBoxSizing \x3d boxSizing;\n } else {\n style.boxSizing \x3d boxSizing;\n }\n style.width \x3d Math.max(size.width, 0) + \x22px\x22;\n style.height \x3d Math.max(size.height, 0) + \x22px\x22;\n};\ngoog.style.getIePixelValue_ \x3d function(element, value, name, pixelName) {\n if (/^\\d+px?$/.test(value)) {\n return parseInt(value, 10);\n } else {\n var oldStyleValue \x3d element.style[name];\n var oldRuntimeValue \x3d element.runtimeStyle[name];\n element.runtimeStyle[name] \x3d element.currentStyle[name];\n element.style[name] \x3d value;\n var pixelValue \x3d element.style[pixelName];\n element.style[name] \x3d oldStyleValue;\n element.runtimeStyle[name] \x3d oldRuntimeValue;\n return +pixelValue;\n }\n};\ngoog.style.getIePixelDistance_ \x3d function(element, propName) {\n var value \x3d goog.style.getCascadedStyle(element, propName);\n return value ? goog.style.getIePixelValue_(element, value, \x22left\x22, \x22pixelLeft\x22) : 0;\n};\ngoog.style.getBox_ \x3d function(element, stylePrefix) {\n if (goog.userAgent.IE) {\n var left \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Left\x22);\n var right \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Right\x22);\n var top \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Top\x22);\n var bottom \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Bottom\x22);\n return new goog.math.Box(top, right, bottom, left);\n } else {\n var left \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Left\x22);\n var right \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Right\x22);\n var top \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Top\x22);\n var bottom \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Bottom\x22);\n return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left));\n }\n};\ngoog.style.getPaddingBox \x3d function(element) {\n return goog.style.getBox_(element, \x22padding\x22);\n};\ngoog.style.getMarginBox \x3d function(element) {\n return goog.style.getBox_(element, \x22margin\x22);\n};\ngoog.style.ieBorderWidthKeywords_ \x3d {\x22thin\x22:2, \x22medium\x22:4, \x22thick\x22:6};\ngoog.style.getIePixelBorder_ \x3d function(element, prop) {\n if (goog.style.getCascadedStyle(element, prop + \x22Style\x22) \x3d\x3d \x22none\x22) {\n return 0;\n }\n var width \x3d goog.style.getCascadedStyle(element, prop + \x22Width\x22);\n if (width in goog.style.ieBorderWidthKeywords_) {\n return goog.style.ieBorderWidthKeywords_[width];\n }\n return goog.style.getIePixelValue_(element, width, \x22left\x22, \x22pixelLeft\x22);\n};\ngoog.style.getBorderBox \x3d function(element) {\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9)) {\n var left \x3d goog.style.getIePixelBorder_(element, \x22borderLeft\x22);\n var right \x3d goog.style.getIePixelBorder_(element, \x22borderRight\x22);\n var top \x3d goog.style.getIePixelBorder_(element, \x22borderTop\x22);\n var bottom \x3d goog.style.getIePixelBorder_(element, \x22borderBottom\x22);\n return new goog.math.Box(top, right, bottom, left);\n } else {\n var left \x3d goog.style.getComputedStyle(element, \x22borderLeftWidth\x22);\n var right \x3d goog.style.getComputedStyle(element, \x22borderRightWidth\x22);\n var top \x3d goog.style.getComputedStyle(element, \x22borderTopWidth\x22);\n var bottom \x3d goog.style.getComputedStyle(element, \x22borderBottomWidth\x22);\n return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left));\n }\n};\ngoog.style.getFontFamily \x3d function(el) {\n var doc \x3d goog.dom.getOwnerDocument(el);\n var font \x3d \x22\x22;\n if (doc.body.createTextRange \x26\x26 goog.dom.contains(doc, el)) {\n var range \x3d doc.body.createTextRange();\n range.moveToElementText(el);\n try {\n font \x3d range.queryCommandValue(\x22FontName\x22);\n } catch (e) {\n font \x3d \x22\x22;\n }\n }\n if (!font) {\n font \x3d goog.style.getStyle_(el, \x22fontFamily\x22);\n }\n var fontsArray \x3d font.split(\x22,\x22);\n if (fontsArray.length \x3e 1) {\n font \x3d fontsArray[0];\n }\n return goog.string.stripQuotes(font, \x22\\\x22\x27\x22);\n};\ngoog.style.lengthUnitRegex_ \x3d /[^\\d]+$/;\ngoog.style.getLengthUnits \x3d function(value) {\n var units \x3d value.match(goog.style.lengthUnitRegex_);\n return units \x26\x26 units[0] || null;\n};\ngoog.style.ABSOLUTE_CSS_LENGTH_UNITS_ \x3d {\x22cm\x22:1, \x22in\x22:1, \x22mm\x22:1, \x22pc\x22:1, \x22pt\x22:1};\ngoog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_ \x3d {\x22em\x22:1, \x22ex\x22:1};\ngoog.style.getFontSize \x3d function(el) {\n var fontSize \x3d goog.style.getStyle_(el, \x22fontSize\x22);\n var sizeUnits \x3d goog.style.getLengthUnits(fontSize);\n if (fontSize \x26\x26 \x22px\x22 \x3d\x3d sizeUnits) {\n return parseInt(fontSize, 10);\n }\n if (goog.userAgent.IE) {\n if (String(sizeUnits) in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_) {\n return goog.style.getIePixelValue_(el, fontSize, \x22left\x22, \x22pixelLeft\x22);\n } else if (el.parentNode \x26\x26 el.parentNode.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT \x26\x26 String(sizeUnits) in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_) {\n var parentElement \x3d el.parentNode;\n var parentSize \x3d goog.style.getStyle_(parentElement, \x22fontSize\x22);\n return goog.style.getIePixelValue_(parentElement, fontSize \x3d\x3d parentSize ? \x221em\x22 : fontSize, \x22left\x22, \x22pixelLeft\x22);\n }\n }\n var sizeElement \x3d goog.dom.createDom(goog.dom.TagName.SPAN, {\x22style\x22:\x22visibility:hidden;position:absolute;\x22 + \x22line-height:0;padding:0;margin:0;border:0;height:1em;\x22});\n goog.dom.appendChild(el, sizeElement);\n fontSize \x3d sizeElement.offsetHeight;\n goog.dom.removeNode(sizeElement);\n return fontSize;\n};\ngoog.style.parseStyleAttribute \x3d function(value) {\n var result \x3d {};\n value.split(/\\s*;\\s*/).forEach(function(pair) {\n var keyValue \x3d pair.match(/\\s*([\\w-]+)\\s*:(.+)/);\n if (keyValue) {\n var styleName \x3d keyValue[1];\n var styleValue \x3d goog.string.trim(keyValue[2]);\n result[goog.string.toCamelCase(styleName.toLowerCase())] \x3d styleValue;\n }\n });\n return result;\n};\ngoog.style.toStyleAttribute \x3d function(obj) {\n var buffer \x3d [];\n goog.object.forEach(obj, function(value, key) {\n buffer.push(goog.string.toSelectorCase(key), \x22:\x22, value, \x22;\x22);\n });\n return buffer.join(\x22\x22);\n};\ngoog.style.setFloat \x3d function(el, value) {\n el.style[goog.userAgent.IE ? \x22styleFloat\x22 : \x22cssFloat\x22] \x3d value;\n};\ngoog.style.getFloat \x3d function(el) {\n return el.style[goog.userAgent.IE ? \x22styleFloat\x22 : \x22cssFloat\x22] || \x22\x22;\n};\ngoog.style.getScrollbarWidth \x3d function(opt_className) {\n var outerDiv \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n if (opt_className) {\n outerDiv.className \x3d opt_className;\n }\n outerDiv.style.cssText \x3d \x22overflow:auto;\x22 + \x22position:absolute;top:0;width:100px;height:100px\x22;\n var innerDiv \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n goog.style.setSize(innerDiv, \x22200px\x22, \x22200px\x22);\n outerDiv.appendChild(innerDiv);\n goog.dom.appendChild(goog.dom.getDocument().body, outerDiv);\n var width \x3d outerDiv.offsetWidth - outerDiv.clientWidth;\n goog.dom.removeNode(outerDiv);\n return width;\n};\ngoog.style.MATRIX_TRANSLATION_REGEX_ \x3d new RegExp(\x22matrix\\\\([0-9\\\\.\\\\-]+, [0-9\\\\.\\\\-]+, \x22 + \x22[0-9\\\\.\\\\-]+, [0-9\\\\.\\\\-]+, \x22 + \x22([0-9\\\\.\\\\-]+)p?x?, ([0-9\\\\.\\\\-]+)p?x?\\\\)\x22);\ngoog.style.getCssTranslation \x3d function(element) {\n var transform \x3d goog.style.getComputedTransform(element);\n if (!transform) {\n return new goog.math.Coordinate(0, 0);\n }\n var matches \x3d transform.match(goog.style.MATRIX_TRANSLATION_REGEX_);\n if (!matches) {\n return new goog.math.Coordinate(0, 0);\n }\n return new goog.math.Coordinate(parseFloat(matches[1]), parseFloat(matches[2]));\n};\n"); SHADOW_ENV.evalLoad("goog.style.transition.js", true , "goog.provide(\x22goog.style.transition\x22);\ngoog.provide(\x22goog.style.transition.Css3Property\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.dom.vendor\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.style\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.style.transition.Css3Property;\ngoog.style.transition.set \x3d function(element, properties) {\n if (!Array.isArray(properties)) {\n properties \x3d [properties];\n }\n goog.asserts.assert(properties.length \x3e 0, \x22At least one Css3Property should be specified.\x22);\n var values \x3d properties.map(function(p) {\n if (typeof p \x3d\x3d\x3d \x22string\x22) {\n return p;\n } else {\n goog.asserts.assertObject(p, \x22Expected css3 property to be an object.\x22);\n var propString \x3d p.property + \x22 \x22 + p.duration + \x22s \x22 + p.timing + \x22 \x22 + p.delay + \x22s\x22;\n goog.asserts.assert(p.property \x26\x26 typeof p.duration \x3d\x3d\x3d \x22number\x22 \x26\x26 p.timing \x26\x26 typeof p.delay \x3d\x3d\x3d \x22number\x22, \x22Unexpected css3 property value: %s\x22, propString);\n return propString;\n }\n });\n goog.style.transition.setPropertyValue_(element, values.join(\x22,\x22));\n};\ngoog.style.transition.removeAll \x3d function(element) {\n goog.style.transition.setPropertyValue_(element, \x22\x22);\n};\ngoog.style.transition.isSupported \x3d goog.functions.cacheReturnValue(function() {\n if (goog.userAgent.IE) {\n return true;\n }\n var el \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n var transition \x3d \x22opacity 1s linear\x22;\n var vendorPrefix \x3d goog.dom.vendor.getVendorPrefix();\n var style \x3d {\x22transition\x22:transition};\n if (vendorPrefix) {\n style[vendorPrefix + \x22-transition\x22] \x3d transition;\n }\n goog.dom.safe.setInnerHtml(el, goog.html.SafeHtml.create(\x22div\x22, {\x22style\x22:style}));\n var testElement \x3d el.firstChild;\n goog.asserts.assert(testElement.nodeType \x3d\x3d Node.ELEMENT_NODE);\n return goog.style.getStyle(testElement, \x22transition\x22) !\x3d \x22\x22;\n});\ngoog.style.transition.setPropertyValue_ \x3d function(element, transitionValue) {\n goog.style.setStyle(element, \x22transition\x22, transitionValue);\n};\n"); -SHADOW_ENV.evalLoad("cljs.core.async.impl.protocols.js", true , "goog.provide(\x27cljs.core.async.impl.protocols\x27);\ncljs.core.async.impl.protocols.MAX_QUEUE_SIZE \x3d (1024);\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.ReadPort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_16203 \x3d (function (port,fn1_handler){\nvar x__5393__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5394__auto__.call(null,port,fn1_handler));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5392__auto__.call(null,port,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22ReadPort.take!\x22,port);\n}\n}\n});\n/**\n * derefable val if taken, nil if take was enqueued\n */\ncljs.core.async.impl.protocols.take_BANG_ \x3d (function cljs$core$async$impl$protocols$take_BANG_(port,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(port,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_16203(port,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.WritePort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_16205 \x3d (function (port,val,fn1_handler){\nvar x__5393__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5394__auto__.call(null,port,val,fn1_handler));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5392__auto__.call(null,port,val,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22WritePort.put!\x22,port);\n}\n}\n});\n/**\n * derefable boolean (false if already closed) if handled, nil if put was enqueued.\n * Must throw on nil val.\n */\ncljs.core.async.impl.protocols.put_BANG_ \x3d (function cljs$core$async$impl$protocols$put_BANG_(port,val,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(port,val,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_16205(port,val,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Channel \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_16207 \x3d (function (chan){\nvar x__5393__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5394__auto__.call(null,chan));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5392__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.close!\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.close_BANG_ \x3d (function cljs$core$async$impl$protocols$close_BANG_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_16207(chan);\n}\n});\n\nvar cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_16214 \x3d (function (chan){\nvar x__5393__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5394__auto__.call(null,chan));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5392__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.closed?\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.closed_QMARK_ \x3d (function cljs$core$async$impl$protocols$closed_QMARK_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_16214(chan);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Handler \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_16215 \x3d (function (h){\nvar x__5393__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5394__auto__.call(null,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5392__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.active?\x22,h);\n}\n}\n});\n/**\n * returns true if has callback. Must work w/o lock\n */\ncljs.core.async.impl.protocols.active_QMARK_ \x3d (function cljs$core$async$impl$protocols$active_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_16215(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_16218 \x3d (function (h){\nvar x__5393__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5394__auto__.call(null,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5392__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.blockable?\x22,h);\n}\n}\n});\n/**\n * returns true if this handler may be blocked, otherwise it must not block\n */\ncljs.core.async.impl.protocols.blockable_QMARK_ \x3d (function cljs$core$async$impl$protocols$blockable_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_16218(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$commit$dyn_16219 \x3d (function (h){\nvar x__5393__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.commit[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5394__auto__.call(null,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.commit[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5392__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.commit\x22,h);\n}\n}\n});\n/**\n * commit to fulfilling its end of the transfer, returns cb. Must be called within lock\n */\ncljs.core.async.impl.protocols.commit \x3d (function cljs$core$async$impl$protocols$commit(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$commit$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$commit$dyn_16219(h);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Buffer \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_16220 \x3d (function (b){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5394__auto__.call(null,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5392__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.full?\x22,b);\n}\n}\n});\n/**\n * returns true if buffer cannot accept put\n */\ncljs.core.async.impl.protocols.full_QMARK_ \x3d (function cljs$core$async$impl$protocols$full_QMARK_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_16220(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_16240 \x3d (function (b){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5394__auto__.call(null,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5392__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.remove!\x22,b);\n}\n}\n});\n/**\n * remove and return next item from buffer, called under chan mutex\n */\ncljs.core.async.impl.protocols.remove_BANG_ \x3d (function cljs$core$async$impl$protocols$remove_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_16240(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_16242 \x3d (function (b,itm){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5394__auto__.call(null,b,itm));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5392__auto__.call(null,b,itm));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.add!*\x22,b);\n}\n}\n});\n/**\n * if room, add item to the buffer, returns b, called under chan mutex\n */\ncljs.core.async.impl.protocols.add_BANG__STAR_ \x3d (function cljs$core$async$impl$protocols$add_BANG__STAR_(b,itm){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2(b,itm);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_16242(b,itm);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_16249 \x3d (function (b){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5394__auto__.call(null,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5392__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.close-buf!\x22,b);\n}\n}\n});\n/**\n * called on chan closed under chan mutex, return ignored\n */\ncljs.core.async.impl.protocols.close_buf_BANG_ \x3d (function cljs$core$async$impl$protocols$close_buf_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_16249(b);\n}\n});\n\ncljs.core.async.impl.protocols.add_BANG_ \x3d (function cljs$core$async$impl$protocols$add_BANG_(var_args){\nvar G__16194 \x3d arguments.length;\nswitch (G__16194) {\ncase 1:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (b){\nreturn b;\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (b,itm){\nif((!((itm \x3d\x3d null)))){\n} else {\nthrow (new Error(\x22Assert failed: (not (nil? itm))\x22));\n}\n\nreturn cljs.core.async.impl.protocols.add_BANG__STAR_(b,itm);\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.UnblockingBuffer \x3d function(){};\n\n"); -SHADOW_ENV.evalLoad("cljs.core.async.impl.buffers.js", true , "goog.provide(\x27cljs.core.async.impl.buffers\x27);\ncljs.core.async.impl.buffers.acopy \x3d (function cljs$core$async$impl$buffers$acopy(src,src_start,dest,dest_start,len){\nvar cnt \x3d (0);\nwhile(true){\nif((cnt \x3c len)){\n(dest[(dest_start + cnt)] \x3d (src[(src_start + cnt)]));\n\nvar G__16285 \x3d (cnt + (1));\ncnt \x3d G__16285;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.buffers.RingBuffer \x3d (function (head,tail,length,arr){\nthis.head \x3d head;\nthis.tail \x3d tail;\nthis.length \x3d length;\nthis.arr \x3d arr;\n});\n(cljs.core.async.impl.buffers.RingBuffer.prototype.pop \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar x \x3d (self__.arr[self__.tail]);\n(self__.arr[self__.tail] \x3d null);\n\n(self__.tail \x3d ((self__.tail + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length - (1)));\n\nreturn x;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unshift \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.arr[self__.head] \x3d x);\n\n(self__.head \x3d ((self__.head + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length + (1)));\n\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unbounded_unshift \x3d (function (x){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.length + (1)) \x3d\x3d\x3d self__.arr.length)){\nthis$.resize();\n} else {\n}\n\nreturn this$.unshift(x);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.resize \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar new_arr_size \x3d (self__.arr.length * (2));\nvar new_arr \x3d (new Array(new_arr_size));\nif((self__.tail \x3c self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),self__.length);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3e self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),(self__.arr.length - self__.tail));\n\ncljs.core.async.impl.buffers.acopy(self__.arr,(0),new_arr,(self__.arr.length - self__.tail),self__.head);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3d\x3d\x3d self__.head)){\n(self__.tail \x3d (0));\n\n(self__.head \x3d (0));\n\nreturn (self__.arr \x3d new_arr);\n} else {\nreturn null;\n}\n}\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.cleanup \x3d (function (keep_QMARK_){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar n__5636__auto__ \x3d self__.length;\nvar x \x3d (0);\nwhile(true){\nif((x \x3c n__5636__auto__)){\nvar v_16296 \x3d this$.pop();\nif((keep_QMARK_.cljs$core$IFn$_invoke$arity$1 ? keep_QMARK_.cljs$core$IFn$_invoke$arity$1(v_16296) : keep_QMARK_.call(null,v_16296))){\nthis$.unshift(v_16296);\n} else {\n}\n\nvar G__16297 \x3d (x + (1));\nx \x3d G__16297;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22head\x22,\x22head\x22,869147608,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22length\x22,\x22length\x22,-2065447907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/RingBuffer\x22);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/RingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/RingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_RingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_RingBuffer(head,tail,length,arr){\nreturn (new cljs.core.async.impl.buffers.RingBuffer(head,tail,length,arr));\n});\n\ncljs.core.async.impl.buffers.ring_buffer \x3d (function cljs$core$async$impl$buffers$ring_buffer(n){\nif((n \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t create a ring buffer of size 0\x22,\x22\\n\x22,\x22(\x3e n 0)\x22].join(\x27\x27)));\n}\n\nreturn (new cljs.core.async.impl.buffers.RingBuffer((0),(0),(0),(new Array(n))));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.FixedBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.buf.length \x3e\x3d self__.n);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nself__.buf.unbounded_unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/FixedBuffer.\n */\ncljs.core.async.impl.buffers.__GT_FixedBuffer \x3d (function cljs$core$async$impl$buffers$__GT_FixedBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.fixed_buffer \x3d (function cljs$core$async$impl$buffers$fixed_buffer(n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.DroppingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\n} else {\nself__.buf.unshift(itm);\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/DroppingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_DroppingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_DroppingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.dropping_buffer \x3d (function cljs$core$async$impl$buffers$dropping_buffer(n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.SlidingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\nthis$__$1.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\n} else {\n}\n\nself__.buf.unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/SlidingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_SlidingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_SlidingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.sliding_buffer \x3d (function cljs$core$async$impl$buffers$sliding_buffer(n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers.NO_VAL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.async.impl.buffers.NO_VAL \x3d (new Object());\n}\ncljs.core.async.impl.buffers.undelivered_QMARK_ \x3d (function cljs$core$async$impl$buffers$undelivered_QMARK_(val){\nreturn (cljs.core.async.impl.buffers.NO_VAL \x3d\x3d\x3d val);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.PromiseBuffer \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\n(self__.val \x3d itm);\n} else {\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (self__.val \x3d null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (0);\n} else {\nreturn (1);\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/PromiseBuffer.\n */\ncljs.core.async.impl.buffers.__GT_PromiseBuffer \x3d (function cljs$core$async$impl$buffers$__GT_PromiseBuffer(val){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(val));\n});\n\ncljs.core.async.impl.buffers.promise_buffer \x3d (function cljs$core$async$impl$buffers$promise_buffer(){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(cljs.core.async.impl.buffers.NO_VAL));\n});\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.protocols.js", true , "goog.provide(\x27cljs.core.async.impl.protocols\x27);\ncljs.core.async.impl.protocols.MAX_QUEUE_SIZE \x3d (1024);\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.ReadPort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_12349 \x3d (function (port,fn1_handler){\nvar x__5393__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5394__auto__.call(null,port,fn1_handler));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5392__auto__.call(null,port,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22ReadPort.take!\x22,port);\n}\n}\n});\n/**\n * derefable val if taken, nil if take was enqueued\n */\ncljs.core.async.impl.protocols.take_BANG_ \x3d (function cljs$core$async$impl$protocols$take_BANG_(port,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(port,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_12349(port,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.WritePort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_12350 \x3d (function (port,val,fn1_handler){\nvar x__5393__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5394__auto__.call(null,port,val,fn1_handler));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5392__auto__.call(null,port,val,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22WritePort.put!\x22,port);\n}\n}\n});\n/**\n * derefable boolean (false if already closed) if handled, nil if put was enqueued.\n * Must throw on nil val.\n */\ncljs.core.async.impl.protocols.put_BANG_ \x3d (function cljs$core$async$impl$protocols$put_BANG_(port,val,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(port,val,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_12350(port,val,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Channel \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_12351 \x3d (function (chan){\nvar x__5393__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5394__auto__.call(null,chan));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5392__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.close!\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.close_BANG_ \x3d (function cljs$core$async$impl$protocols$close_BANG_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_12351(chan);\n}\n});\n\nvar cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_12352 \x3d (function (chan){\nvar x__5393__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5394__auto__.call(null,chan));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5392__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.closed?\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.closed_QMARK_ \x3d (function cljs$core$async$impl$protocols$closed_QMARK_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_12352(chan);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Handler \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_12354 \x3d (function (h){\nvar x__5393__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5394__auto__.call(null,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5392__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.active?\x22,h);\n}\n}\n});\n/**\n * returns true if has callback. Must work w/o lock\n */\ncljs.core.async.impl.protocols.active_QMARK_ \x3d (function cljs$core$async$impl$protocols$active_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_12354(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_12356 \x3d (function (h){\nvar x__5393__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5394__auto__.call(null,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5392__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.blockable?\x22,h);\n}\n}\n});\n/**\n * returns true if this handler may be blocked, otherwise it must not block\n */\ncljs.core.async.impl.protocols.blockable_QMARK_ \x3d (function cljs$core$async$impl$protocols$blockable_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_12356(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$commit$dyn_12358 \x3d (function (h){\nvar x__5393__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.commit[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5394__auto__.call(null,h));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.commit[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5392__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.commit\x22,h);\n}\n}\n});\n/**\n * commit to fulfilling its end of the transfer, returns cb. Must be called within lock\n */\ncljs.core.async.impl.protocols.commit \x3d (function cljs$core$async$impl$protocols$commit(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$commit$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$commit$dyn_12358(h);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Buffer \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_12360 \x3d (function (b){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5394__auto__.call(null,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5392__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.full?\x22,b);\n}\n}\n});\n/**\n * returns true if buffer cannot accept put\n */\ncljs.core.async.impl.protocols.full_QMARK_ \x3d (function cljs$core$async$impl$protocols$full_QMARK_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_12360(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_12362 \x3d (function (b){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5394__auto__.call(null,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5392__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.remove!\x22,b);\n}\n}\n});\n/**\n * remove and return next item from buffer, called under chan mutex\n */\ncljs.core.async.impl.protocols.remove_BANG_ \x3d (function cljs$core$async$impl$protocols$remove_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_12362(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_12364 \x3d (function (b,itm){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5394__auto__.call(null,b,itm));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5392__auto__.call(null,b,itm));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.add!*\x22,b);\n}\n}\n});\n/**\n * if room, add item to the buffer, returns b, called under chan mutex\n */\ncljs.core.async.impl.protocols.add_BANG__STAR_ \x3d (function cljs$core$async$impl$protocols$add_BANG__STAR_(b,itm){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2(b,itm);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_12364(b,itm);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_12365 \x3d (function (b){\nvar x__5393__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5394__auto__.call(null,b));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5392__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.close-buf!\x22,b);\n}\n}\n});\n/**\n * called on chan closed under chan mutex, return ignored\n */\ncljs.core.async.impl.protocols.close_buf_BANG_ \x3d (function cljs$core$async$impl$protocols$close_buf_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_12365(b);\n}\n});\n\ncljs.core.async.impl.protocols.add_BANG_ \x3d (function cljs$core$async$impl$protocols$add_BANG_(var_args){\nvar G__12348 \x3d arguments.length;\nswitch (G__12348) {\ncase 1:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (b){\nreturn b;\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (b,itm){\nif((!((itm \x3d\x3d null)))){\n} else {\nthrow (new Error(\x22Assert failed: (not (nil? itm))\x22));\n}\n\nreturn cljs.core.async.impl.protocols.add_BANG__STAR_(b,itm);\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.UnblockingBuffer \x3d function(){};\n\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.buffers.js", true , "goog.provide(\x27cljs.core.async.impl.buffers\x27);\ncljs.core.async.impl.buffers.acopy \x3d (function cljs$core$async$impl$buffers$acopy(src,src_start,dest,dest_start,len){\nvar cnt \x3d (0);\nwhile(true){\nif((cnt \x3c len)){\n(dest[(dest_start + cnt)] \x3d (src[(src_start + cnt)]));\n\nvar G__12457 \x3d (cnt + (1));\ncnt \x3d G__12457;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.buffers.RingBuffer \x3d (function (head,tail,length,arr){\nthis.head \x3d head;\nthis.tail \x3d tail;\nthis.length \x3d length;\nthis.arr \x3d arr;\n});\n(cljs.core.async.impl.buffers.RingBuffer.prototype.pop \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar x \x3d (self__.arr[self__.tail]);\n(self__.arr[self__.tail] \x3d null);\n\n(self__.tail \x3d ((self__.tail + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length - (1)));\n\nreturn x;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unshift \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.arr[self__.head] \x3d x);\n\n(self__.head \x3d ((self__.head + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length + (1)));\n\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unbounded_unshift \x3d (function (x){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.length + (1)) \x3d\x3d\x3d self__.arr.length)){\nthis$.resize();\n} else {\n}\n\nreturn this$.unshift(x);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.resize \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar new_arr_size \x3d (self__.arr.length * (2));\nvar new_arr \x3d (new Array(new_arr_size));\nif((self__.tail \x3c self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),self__.length);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3e self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),(self__.arr.length - self__.tail));\n\ncljs.core.async.impl.buffers.acopy(self__.arr,(0),new_arr,(self__.arr.length - self__.tail),self__.head);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3d\x3d\x3d self__.head)){\n(self__.tail \x3d (0));\n\n(self__.head \x3d (0));\n\nreturn (self__.arr \x3d new_arr);\n} else {\nreturn null;\n}\n}\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.cleanup \x3d (function (keep_QMARK_){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar n__5636__auto__ \x3d self__.length;\nvar x \x3d (0);\nwhile(true){\nif((x \x3c n__5636__auto__)){\nvar v_12464 \x3d this$.pop();\nif((keep_QMARK_.cljs$core$IFn$_invoke$arity$1 ? keep_QMARK_.cljs$core$IFn$_invoke$arity$1(v_12464) : keep_QMARK_.call(null,v_12464))){\nthis$.unshift(v_12464);\n} else {\n}\n\nvar G__12465 \x3d (x + (1));\nx \x3d G__12465;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22head\x22,\x22head\x22,869147608,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22length\x22,\x22length\x22,-2065447907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/RingBuffer\x22);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/RingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/RingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_RingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_RingBuffer(head,tail,length,arr){\nreturn (new cljs.core.async.impl.buffers.RingBuffer(head,tail,length,arr));\n});\n\ncljs.core.async.impl.buffers.ring_buffer \x3d (function cljs$core$async$impl$buffers$ring_buffer(n){\nif((n \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t create a ring buffer of size 0\x22,\x22\\n\x22,\x22(\x3e n 0)\x22].join(\x27\x27)));\n}\n\nreturn (new cljs.core.async.impl.buffers.RingBuffer((0),(0),(0),(new Array(n))));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.FixedBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.buf.length \x3e\x3d self__.n);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nself__.buf.unbounded_unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/FixedBuffer.\n */\ncljs.core.async.impl.buffers.__GT_FixedBuffer \x3d (function cljs$core$async$impl$buffers$__GT_FixedBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.fixed_buffer \x3d (function cljs$core$async$impl$buffers$fixed_buffer(n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.DroppingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\n} else {\nself__.buf.unshift(itm);\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/DroppingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_DroppingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_DroppingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.dropping_buffer \x3d (function cljs$core$async$impl$buffers$dropping_buffer(n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.SlidingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\nthis$__$1.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\n} else {\n}\n\nself__.buf.unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/SlidingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_SlidingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_SlidingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.sliding_buffer \x3d (function cljs$core$async$impl$buffers$sliding_buffer(n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers.NO_VAL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.async.impl.buffers.NO_VAL \x3d (new Object());\n}\ncljs.core.async.impl.buffers.undelivered_QMARK_ \x3d (function cljs$core$async$impl$buffers$undelivered_QMARK_(val){\nreturn (cljs.core.async.impl.buffers.NO_VAL \x3d\x3d\x3d val);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.PromiseBuffer \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\n(self__.val \x3d itm);\n} else {\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (self__.val \x3d null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (0);\n} else {\nreturn (1);\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/PromiseBuffer.\n */\ncljs.core.async.impl.buffers.__GT_PromiseBuffer \x3d (function cljs$core$async$impl$buffers$__GT_PromiseBuffer(val){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(val));\n});\n\ncljs.core.async.impl.buffers.promise_buffer \x3d (function cljs$core$async$impl$buffers$promise_buffer(){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(cljs.core.async.impl.buffers.NO_VAL));\n});\n"); SHADOW_ENV.evalLoad("goog.debug.entrypointregistry.js", true , "goog.provide(\x22goog.debug.EntryPointMonitor\x22);\ngoog.provide(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.debug.entryPointRegistry.EntryPointMonitor \x3d function() {\n};\ngoog.debug.entryPointRegistry.EntryPointMonitor.prototype.wrap;\ngoog.debug.entryPointRegistry.EntryPointMonitor.prototype.unwrap;\ngoog.debug.EntryPointMonitor \x3d goog.debug.entryPointRegistry.EntryPointMonitor;\ngoog.debug.entryPointRegistry.refList_ \x3d [];\ngoog.debug.entryPointRegistry.monitors_ \x3d [];\ngoog.debug.entryPointRegistry.monitorsMayExist_ \x3d false;\ngoog.debug.entryPointRegistry.register \x3d function(callback) {\n goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length] \x3d callback;\n if (goog.debug.entryPointRegistry.monitorsMayExist_) {\n var monitors \x3d goog.debug.entryPointRegistry.monitors_;\n for (var i \x3d 0; i \x3c monitors.length; i++) {\n callback(goog.bind(monitors[i].wrap, monitors[i]));\n }\n }\n};\ngoog.debug.entryPointRegistry.monitorAll \x3d function(monitor) {\n goog.debug.entryPointRegistry.monitorsMayExist_ \x3d true;\n var transformer \x3d goog.bind(monitor.wrap, monitor);\n for (var i \x3d 0; i \x3c goog.debug.entryPointRegistry.refList_.length; i++) {\n goog.debug.entryPointRegistry.refList_[i](transformer);\n }\n goog.debug.entryPointRegistry.monitors_.push(monitor);\n};\ngoog.debug.entryPointRegistry.unmonitorAllIfPossible \x3d function(monitor) {\n var monitors \x3d goog.debug.entryPointRegistry.monitors_;\n goog.asserts.assert(monitor \x3d\x3d monitors[monitors.length - 1], \x22Only the most recent monitor can be unwrapped.\x22);\n var transformer \x3d goog.bind(monitor.unwrap, monitor);\n for (var i \x3d 0; i \x3c goog.debug.entryPointRegistry.refList_.length; i++) {\n goog.debug.entryPointRegistry.refList_[i](transformer);\n }\n monitors.length--;\n};\n"); SHADOW_ENV.evalLoad("goog.async.nexttick.js", true , "goog.provide(\x22goog.async.nextTick\x22);\ngoog.require(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.engine\x22);\ngoog.async.nextTick \x3d function(callback, opt_context, opt_useSetImmediate) {\n var cb \x3d callback;\n if (opt_context) {\n cb \x3d goog.bind(callback, opt_context);\n }\n cb \x3d goog.async.nextTick.wrapCallback_(cb);\n if (typeof goog.global.setImmediate \x3d\x3d\x3d \x22function\x22 \x26\x26 (opt_useSetImmediate || goog.async.nextTick.useSetImmediate_())) {\n goog.global.setImmediate(cb);\n return;\n }\n if (!goog.async.nextTick.nextTickImpl) {\n goog.async.nextTick.nextTickImpl \x3d goog.async.nextTick.getNextTickImpl_();\n }\n goog.async.nextTick.nextTickImpl(cb);\n};\ngoog.async.nextTick.useSetImmediate_ \x3d function() {\n if (!goog.global.Window || !goog.global.Window.prototype) {\n return true;\n }\n if (goog.labs.userAgent.browser.isEdge() || goog.global.Window.prototype.setImmediate !\x3d goog.global.setImmediate) {\n return true;\n }\n return false;\n};\ngoog.async.nextTick.nextTickImpl;\ngoog.async.nextTick.getNextTickImpl_ \x3d function() {\n var Channel \x3d goog.global[\x22MessageChannel\x22];\n if (typeof Channel \x3d\x3d\x3d \x22undefined\x22 \x26\x26 typeof window !\x3d\x3d \x22undefined\x22 \x26\x26 window.postMessage \x26\x26 window.addEventListener \x26\x26 !goog.labs.userAgent.engine.isPresto()) {\n Channel \x3d function() {\n var iframe \x3d goog.dom.createElement(goog.dom.TagName.IFRAME);\n iframe.style.display \x3d \x22none\x22;\n document.documentElement.appendChild(iframe);\n var win \x3d iframe.contentWindow;\n var doc \x3d win.document;\n doc.open();\n doc.close();\n var message \x3d \x22callImmediate\x22 + Math.random();\n var origin \x3d win.location.protocol \x3d\x3d \x22file:\x22 ? \x22*\x22 : win.location.protocol + \x22//\x22 + win.location.host;\n var onmessage \x3d goog.bind(function(e) {\n if (origin !\x3d \x22*\x22 \x26\x26 e.origin !\x3d origin || e.data !\x3d message) {\n return;\n }\n this[\x22port1\x22].onmessage();\n }, this);\n win.addEventListener(\x22message\x22, onmessage, false);\n this[\x22port1\x22] \x3d {};\n this[\x22port2\x22] \x3d {postMessage:function() {\n win.postMessage(message, origin);\n }};\n };\n }\n if (typeof Channel !\x3d\x3d \x22undefined\x22 \x26\x26 !goog.labs.userAgent.browser.isIE()) {\n var channel \x3d new Channel();\n var head \x3d {};\n var tail \x3d head;\n channel[\x22port1\x22].onmessage \x3d function() {\n if (head.next !\x3d\x3d undefined) {\n head \x3d head.next;\n var cb \x3d head.cb;\n head.cb \x3d null;\n cb();\n }\n };\n return function(cb) {\n tail.next \x3d {cb:cb};\n tail \x3d tail.next;\n channel[\x22port2\x22].postMessage(0);\n };\n }\n return function(cb) {\n goog.global.setTimeout(cb, 0);\n };\n};\ngoog.async.nextTick.wrapCallback_ \x3d goog.functions.identity;\ngoog.debug.entryPointRegistry.register(function(transformer) {\n goog.async.nextTick.wrapCallback_ \x3d transformer;\n});\n"); -SHADOW_ENV.evalLoad("cljs.core.async.impl.dispatch.js", true , "goog.provide(\x27cljs.core.async.impl.dispatch\x27);\ncljs.core.async.impl.dispatch.tasks \x3d cljs.core.async.impl.buffers.ring_buffer((32));\ncljs.core.async.impl.dispatch.running_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.queued_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.TASK_BATCH_SIZE \x3d (1024);\ncljs.core.async.impl.dispatch.process_messages \x3d (function cljs$core$async$impl$dispatch$process_messages(){\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d true);\n\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d false);\n\nvar count_16289 \x3d (0);\nwhile(true){\nvar m_16290 \x3d cljs.core.async.impl.dispatch.tasks.pop();\nif((m_16290 \x3d\x3d null)){\n} else {\n(m_16290.cljs$core$IFn$_invoke$arity$0 ? m_16290.cljs$core$IFn$_invoke$arity$0() : m_16290.call(null));\n\nif((count_16289 \x3c cljs.core.async.impl.dispatch.TASK_BATCH_SIZE)){\nvar G__16291 \x3d (count_16289 + (1));\ncount_16289 \x3d G__16291;\ncontinue;\n} else {\n}\n}\nbreak;\n}\n\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d false);\n\nif((cljs.core.async.impl.dispatch.tasks.length \x3e (0))){\nreturn (cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0 ? cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0() : cljs.core.async.impl.dispatch.queue_dispatcher.call(null));\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.dispatch.queue_dispatcher \x3d (function cljs$core$async$impl$dispatch$queue_dispatcher(){\nif(((cljs.core.async.impl.dispatch.queued_QMARK_) \x26\x26 (cljs.core.async.impl.dispatch.running_QMARK_))){\nreturn null;\n} else {\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d true);\n\nreturn goog.async.nextTick(cljs.core.async.impl.dispatch.process_messages);\n}\n});\ncljs.core.async.impl.dispatch.run \x3d (function cljs$core$async$impl$dispatch$run(f){\ncljs.core.async.impl.dispatch.tasks.unbounded_unshift(f);\n\nreturn cljs.core.async.impl.dispatch.queue_dispatcher();\n});\ncljs.core.async.impl.dispatch.queue_delay \x3d (function cljs$core$async$impl$dispatch$queue_delay(f,delay){\nreturn setTimeout(f,delay);\n});\n"); -SHADOW_ENV.evalLoad("cljs.core.async.impl.channels.js", true , "goog.provide(\x27cljs.core.async.impl.channels\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327 \x3d (function (val,meta16328){\nthis.val \x3d val;\nthis.meta16328 \x3d meta16328;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 425984;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_16329,meta16328__$1){\nvar self__ \x3d this;\nvar _16329__$1 \x3d this;\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327(self__.val,meta16328__$1));\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_16329){\nvar self__ \x3d this;\nvar _16329__$1 \x3d this;\nreturn self__.meta16328;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22meta16328\x22,\x22meta16328\x22,-1576303426,null)], null);\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels16327\x22);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels16327\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/t_cljs$core$async$impl$channels16327.\n */\ncljs.core.async.impl.channels.__GT_t_cljs$core$async$impl$channels16327 \x3d (function cljs$core$async$impl$channels$__GT_t_cljs$core$async$impl$channels16327(val,meta16328){\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327(val,meta16328));\n});\n\n\ncljs.core.async.impl.channels.box \x3d (function cljs$core$async$impl$channels$box(val){\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels16327(val,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.channels.PutBox \x3d (function (handler,val){\nthis.handler \x3d handler;\nthis.val \x3d val;\n});\n\n(cljs.core.async.impl.channels.PutBox.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/PutBox\x22);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.channels/PutBox\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/PutBox.\n */\ncljs.core.async.impl.channels.__GT_PutBox \x3d (function cljs$core$async$impl$channels$__GT_PutBox(handler,val){\nreturn (new cljs.core.async.impl.channels.PutBox(handler,val));\n});\n\ncljs.core.async.impl.channels.put_active_QMARK_ \x3d (function cljs$core$async$impl$channels$put_active_QMARK_(box){\nreturn cljs.core.async.impl.protocols.active_QMARK_(box.handler);\n});\ncljs.core.async.impl.channels.MAX_DIRTY \x3d (64);\n\n/**\n * @interface\n */\ncljs.core.async.impl.channels.MMC \x3d function(){};\n\nvar cljs$core$async$impl$channels$MMC$abort$dyn_16553 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.channels.abort[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.channels.abort[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22MMC.abort\x22,this$);\n}\n}\n});\ncljs.core.async.impl.channels.abort \x3d (function cljs$core$async$impl$channels$abort(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$async$impl$channels$MMC$abort$arity$1(this$);\n} else {\nreturn cljs$core$async$impl$channels$MMC$abort$dyn_16553(this$);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.channels.MMC}\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n*/\ncljs.core.async.impl.channels.ManyToManyChannel \x3d (function (takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nthis.takes \x3d takes;\nthis.dirty_takes \x3d dirty_takes;\nthis.puts \x3d puts;\nthis.dirty_puts \x3d dirty_puts;\nthis.buf \x3d buf;\nthis.closed \x3d closed;\nthis.add_BANG_ \x3d add_BANG_;\n});\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nwhile(true){\nvar putter_16563 \x3d self__.puts.pop();\nif((putter_16563 \x3d\x3d null)){\n} else {\nvar put_handler_16565 \x3d putter_16563.handler;\nvar val_16566 \x3d putter_16563.val;\nif(put_handler_16565.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar put_cb_16567 \x3d put_handler_16565.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\ncljs.core.async.impl.dispatch.run(((function (put_cb_16567,put_handler_16565,val_16566,putter_16563,this$__$1){\nreturn (function (){\nreturn (put_cb_16567.cljs$core$IFn$_invoke$arity$1 ? put_cb_16567.cljs$core$IFn$_invoke$arity$1(true) : put_cb_16567.call(null,true));\n});})(put_cb_16567,put_handler_16565,val_16566,putter_16563,this$__$1))\n);\n} else {\ncontinue;\n}\n}\nbreak;\n}\n\nself__.puts.cleanup(cljs.core.constantly(false));\n\nreturn this$__$1.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (this$,val,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((val \x3d\x3d null)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t put nil on a channel\x22,\x22\\n\x22,\x22(not (nil? val))\x22].join(\x27\x27)));\n}\n\nvar closed__$1 \x3d self__.closed;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn cljs.core.async.impl.channels.box((!(closed__$1)));\n} else {\nif(closed__$1){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nreturn cljs.core.async.impl.channels.box(false);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nvar done_QMARK_ \x3d cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val) : self__.add_BANG_.call(null,self__.buf,val)));\nvar take_cbs \x3d (function (){var takers \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((((self__.takes.length \x3e (0))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar taker \x3d self__.takes.pop();\nif(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar ret \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val__$1 \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar G__16582 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(takers,((function (takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1){\nreturn (function (){\nreturn (ret.cljs$core$IFn$_invoke$arity$1 ? ret.cljs$core$IFn$_invoke$arity$1(val__$1) : ret.call(null,val__$1));\n});})(takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1))\n);\ntakers \x3d G__16582;\ncontinue;\n} else {\nvar G__16584 \x3d takers;\ntakers \x3d G__16584;\ncontinue;\n}\n} else {\nreturn takers;\n}\nbreak;\n}\n})();\nif(done_QMARK_){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nif(cljs.core.seq(take_cbs)){\nvar seq__16380_16587 \x3d cljs.core.seq(take_cbs);\nvar chunk__16381_16588 \x3d null;\nvar count__16382_16589 \x3d (0);\nvar i__16383_16590 \x3d (0);\nwhile(true){\nif((i__16383_16590 \x3c count__16382_16589)){\nvar f_16593 \x3d chunk__16381_16588.cljs$core$IIndexed$_nth$arity$2(null,i__16383_16590);\ncljs.core.async.impl.dispatch.run(f_16593);\n\n\nvar G__16595 \x3d seq__16380_16587;\nvar G__16596 \x3d chunk__16381_16588;\nvar G__16597 \x3d count__16382_16589;\nvar G__16598 \x3d (i__16383_16590 + (1));\nseq__16380_16587 \x3d G__16595;\nchunk__16381_16588 \x3d G__16596;\ncount__16382_16589 \x3d G__16597;\ni__16383_16590 \x3d G__16598;\ncontinue;\n} else {\nvar temp__5804__auto___16600 \x3d cljs.core.seq(seq__16380_16587);\nif(temp__5804__auto___16600){\nvar seq__16380_16603__$1 \x3d temp__5804__auto___16600;\nif(cljs.core.chunked_seq_QMARK_(seq__16380_16603__$1)){\nvar c__5568__auto___16605 \x3d cljs.core.chunk_first(seq__16380_16603__$1);\nvar G__16607 \x3d cljs.core.chunk_rest(seq__16380_16603__$1);\nvar G__16608 \x3d c__5568__auto___16605;\nvar G__16609 \x3d cljs.core.count(c__5568__auto___16605);\nvar G__16610 \x3d (0);\nseq__16380_16587 \x3d G__16607;\nchunk__16381_16588 \x3d G__16608;\ncount__16382_16589 \x3d G__16609;\ni__16383_16590 \x3d G__16610;\ncontinue;\n} else {\nvar f_16612 \x3d cljs.core.first(seq__16380_16603__$1);\ncljs.core.async.impl.dispatch.run(f_16612);\n\n\nvar G__16614 \x3d cljs.core.next(seq__16380_16603__$1);\nvar G__16615 \x3d null;\nvar G__16616 \x3d (0);\nvar G__16617 \x3d (0);\nseq__16380_16587 \x3d G__16614;\nchunk__16381_16588 \x3d G__16615;\ncount__16382_16589 \x3d G__16616;\ni__16383_16590 \x3d G__16617;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nvar taker \x3d (function (){while(true){\nvar taker \x3d self__.takes.pop();\nif(cljs.core.truth_(taker)){\nif(cljs.core.truth_(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null))){\nreturn taker;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(taker)){\nvar take_cb \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (take_cb.cljs$core$IFn$_invoke$arity$1 ? take_cb.cljs$core$IFn$_invoke$arity$1(val) : take_cb.call(null,val));\n}));\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nif((self__.dirty_puts \x3e (64))){\n(self__.dirty_puts \x3d (0));\n\nself__.puts.cleanup(cljs.core.async.impl.channels.put_active_QMARK_);\n} else {\n(self__.dirty_puts \x3d (self__.dirty_puts + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.puts.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending puts are allowed on a single channel.\x22,\x22 Consider using a windowed buffer.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length puts) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.puts.unbounded_unshift((new cljs.core.async.impl.channels.PutBox(handler,val)));\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn null;\n} else {\nif((((!((self__.buf \x3d\x3d null)))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar temp__5802__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar take_cb \x3d temp__5802__auto__;\nvar val \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar vec__16409 \x3d ((((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0)))))?(function (){var cbs \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar putter \x3d self__.puts.pop();\nvar put_handler \x3d putter.handler;\nvar val__$1 \x3d putter.val;\nvar cb \x3d (function (){var and__5043__auto__ \x3d put_handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(and__5043__auto__){\nreturn put_handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5043__auto__;\n}\n})();\nvar cbs__$1 \x3d (cljs.core.truth_(cb)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cbs,cb):cbs);\nvar done_QMARK_ \x3d (cljs.core.truth_(cb)?cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val__$1) : self__.add_BANG_.call(null,self__.buf,val__$1))):null);\nif(((cljs.core.not(done_QMARK_)) \x26\x26 (((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0))))))){\nvar G__16643 \x3d cbs__$1;\ncbs \x3d G__16643;\ncontinue;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [done_QMARK_,cbs__$1], null);\n}\nbreak;\n}\n})():null);\nvar done_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16409,(0),null);\nvar cbs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__16409,(1),null);\nif(cljs.core.truth_(done_QMARK_)){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nvar seq__16426_16647 \x3d cljs.core.seq(cbs);\nvar chunk__16427_16649 \x3d null;\nvar count__16428_16650 \x3d (0);\nvar i__16429_16651 \x3d (0);\nwhile(true){\nif((i__16429_16651 \x3c count__16428_16650)){\nvar cb_16653 \x3d chunk__16427_16649.cljs$core$IIndexed$_nth$arity$2(null,i__16429_16651);\ncljs.core.async.impl.dispatch.run(((function (seq__16426_16647,chunk__16427_16649,count__16428_16650,i__16429_16651,cb_16653,val,vec__16409,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1){\nreturn (function (){\nreturn (cb_16653.cljs$core$IFn$_invoke$arity$1 ? cb_16653.cljs$core$IFn$_invoke$arity$1(true) : cb_16653.call(null,true));\n});})(seq__16426_16647,chunk__16427_16649,count__16428_16650,i__16429_16651,cb_16653,val,vec__16409,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1))\n);\n\n\nvar G__16656 \x3d seq__16426_16647;\nvar G__16657 \x3d chunk__16427_16649;\nvar G__16658 \x3d count__16428_16650;\nvar G__16659 \x3d (i__16429_16651 + (1));\nseq__16426_16647 \x3d G__16656;\nchunk__16427_16649 \x3d G__16657;\ncount__16428_16650 \x3d G__16658;\ni__16429_16651 \x3d G__16659;\ncontinue;\n} else {\nvar temp__5804__auto___16660 \x3d cljs.core.seq(seq__16426_16647);\nif(temp__5804__auto___16660){\nvar seq__16426_16663__$1 \x3d temp__5804__auto___16660;\nif(cljs.core.chunked_seq_QMARK_(seq__16426_16663__$1)){\nvar c__5568__auto___16664 \x3d cljs.core.chunk_first(seq__16426_16663__$1);\nvar G__16665 \x3d cljs.core.chunk_rest(seq__16426_16663__$1);\nvar G__16666 \x3d c__5568__auto___16664;\nvar G__16667 \x3d cljs.core.count(c__5568__auto___16664);\nvar G__16668 \x3d (0);\nseq__16426_16647 \x3d G__16665;\nchunk__16427_16649 \x3d G__16666;\ncount__16428_16650 \x3d G__16667;\ni__16429_16651 \x3d G__16668;\ncontinue;\n} else {\nvar cb_16670 \x3d cljs.core.first(seq__16426_16663__$1);\ncljs.core.async.impl.dispatch.run(((function (seq__16426_16647,chunk__16427_16649,count__16428_16650,i__16429_16651,cb_16670,seq__16426_16663__$1,temp__5804__auto___16660,val,vec__16409,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1){\nreturn (function (){\nreturn (cb_16670.cljs$core$IFn$_invoke$arity$1 ? cb_16670.cljs$core$IFn$_invoke$arity$1(true) : cb_16670.call(null,true));\n});})(seq__16426_16647,chunk__16427_16649,count__16428_16650,i__16429_16651,cb_16670,seq__16426_16663__$1,temp__5804__auto___16660,val,vec__16409,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1))\n);\n\n\nvar G__16674 \x3d cljs.core.next(seq__16426_16663__$1);\nvar G__16675 \x3d null;\nvar G__16676 \x3d (0);\nvar G__16677 \x3d (0);\nseq__16426_16647 \x3d G__16674;\nchunk__16427_16649 \x3d G__16675;\ncount__16428_16650 \x3d G__16676;\ni__16429_16651 \x3d G__16677;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nvar putter \x3d (function (){while(true){\nvar putter \x3d self__.puts.pop();\nif(cljs.core.truth_(putter)){\nif(cljs.core.async.impl.protocols.active_QMARK_(putter.handler)){\nreturn putter;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(putter)){\nvar put_cb \x3d cljs.core.async.impl.protocols.commit(putter.handler);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (put_cb.cljs$core$IFn$_invoke$arity$1 ? put_cb.cljs$core$IFn$_invoke$arity$1(true) : put_cb.call(null,true));\n}));\n\nreturn cljs.core.async.impl.channels.box(putter.val);\n} else {\nif(cljs.core.truth_(self__.closed)){\nif(cljs.core.truth_(self__.buf)){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar has_val \x3d (function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5043__auto__;\n}\n})();\nvar val \x3d (cljs.core.truth_(has_val)?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nif((self__.dirty_takes \x3e (64))){\n(self__.dirty_takes \x3d (0));\n\nself__.takes.cleanup(cljs.core.async.impl.protocols.active_QMARK_);\n} else {\n(self__.dirty_takes \x3d (self__.dirty_takes + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.takes.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending takes are allowed on a single channel.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length takes) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.takes.unbounded_unshift(handler);\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.closed;\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(self__.closed){\nreturn null;\n} else {\n(self__.closed \x3d true);\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (self__.puts.length \x3d\x3d\x3d (0));\n} else {\nreturn and__5043__auto__;\n}\n})())){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nwhile(true){\nvar taker_16700 \x3d self__.takes.pop();\nif((taker_16700 \x3d\x3d null)){\n} else {\nif(taker_16700.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar take_cb_16703 \x3d taker_16700.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val_16704 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5043__auto__;\n}\n})())?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\ncljs.core.async.impl.dispatch.run(((function (take_cb_16703,val_16704,taker_16700,this$__$1){\nreturn (function (){\nreturn (take_cb_16703.cljs$core$IFn$_invoke$arity$1 ? take_cb_16703.cljs$core$IFn$_invoke$arity$1(val_16704) : take_cb_16703.call(null,val_16704));\n});})(take_cb_16703,val_16704,taker_16700,this$__$1))\n);\n} else {\n}\n\ncontinue;\n}\nbreak;\n}\n\nif(cljs.core.truth_(self__.buf)){\nself__.buf.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(null);\n} else {\n}\n\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22takes\x22,\x22takes\x22,298247964,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-takes\x22,\x22dirty-takes\x22,575642138,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22puts\x22,\x22puts\x22,-1883877054,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-puts\x22,\x22dirty-puts\x22,57041148,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22closed\x22,\x22closed\x22,720856168,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22add!\x22,\x22add!\x22,2046056845,null)], null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/ManyToManyChannel.\n */\ncljs.core.async.impl.channels.__GT_ManyToManyChannel \x3d (function cljs$core$async$impl$channels$__GT_ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_));\n});\n\ncljs.core.async.impl.channels.ex_handler \x3d (function cljs$core$async$impl$channels$ex_handler(ex){\nconsole.log(ex);\n\nreturn null;\n});\ncljs.core.async.impl.channels.handle \x3d (function cljs$core$async$impl$channels$handle(buf,exh,t){\nvar else$ \x3d (function (){var fexpr__16476 \x3d (function (){var or__5045__auto__ \x3d exh;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.async.impl.channels.ex_handler;\n}\n})();\nreturn (fexpr__16476.cljs$core$IFn$_invoke$arity$1 ? fexpr__16476.cljs$core$IFn$_invoke$arity$1(t) : fexpr__16476.call(null,t));\n})();\nif((else$ \x3d\x3d null)){\nreturn buf;\n} else {\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2(buf,else$);\n}\n});\ncljs.core.async.impl.channels.chan \x3d (function cljs$core$async$impl$channels$chan(var_args){\nvar G__16500 \x3d arguments.length;\nswitch (G__16500) {\ncase 1:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2(buf,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf,xform){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(buf,xform,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf,xform,exh){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(cljs.core.async.impl.buffers.ring_buffer((32)),(0),cljs.core.async.impl.buffers.ring_buffer((32)),(0),buf,false,(function (){var add_BANG_ \x3d (cljs.core.truth_(xform)?(xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(cljs.core.async.impl.protocols.add_BANG_) : xform.call(null,cljs.core.async.impl.protocols.add_BANG_)):cljs.core.async.impl.protocols.add_BANG_);\nreturn (function() {\nvar G__16742 \x3d null;\nvar G__16742__1 \x3d (function (buf__$1){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$1 ? add_BANG_.cljs$core$IFn$_invoke$arity$1(buf__$1) : add_BANG_.call(null,buf__$1));\n}catch (e16511){var t \x3d e16511;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nvar G__16742__2 \x3d (function (buf__$1,val){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$2 ? add_BANG_.cljs$core$IFn$_invoke$arity$2(buf__$1,val) : add_BANG_.call(null,buf__$1,val));\n}catch (e16514){var t \x3d e16514;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nG__16742 \x3d function(buf__$1,val){\nswitch(arguments.length){\ncase 1:\nreturn G__16742__1.call(this,buf__$1);\ncase 2:\nreturn G__16742__2.call(this,buf__$1,val);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__16742.cljs$core$IFn$_invoke$arity$1 \x3d G__16742__1;\nG__16742.cljs$core$IFn$_invoke$arity$2 \x3d G__16742__2;\nreturn G__16742;\n})()\n})()));\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$lang$maxFixedArity \x3d 3);\n\n"); -SHADOW_ENV.evalLoad("cljs.core.async.impl.timers.js", true , "goog.provide(\x27cljs.core.async.impl.timers\x27);\ncljs.core.async.impl.timers.MAX_LEVEL \x3d (15);\ncljs.core.async.impl.timers.P \x3d ((1) / (2));\ncljs.core.async.impl.timers.random_level \x3d (function cljs$core$async$impl$timers$random_level(var_args){\nvar G__18396 \x3d arguments.length;\nswitch (G__18396) {\ncase 0:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((0));\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nwhile(true){\nif((((Math.random() \x3c cljs.core.async.impl.timers.P)) \x26\x26 ((level \x3c cljs.core.async.impl.timers.MAX_LEVEL)))){\nvar G__18470 \x3d (level + (1));\nlevel \x3d G__18470;\ncontinue;\n} else {\nreturn level;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipListNode \x3d (function (key,val,forward){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.forward \x3d forward;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(null,self__.key,(new cljs.core.List(null,self__.val,null,(1),null)),(2),null));\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22forward\x22,\x22forward\x22,1083186224,null)], null);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipListNode\x22);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.timers/SkipListNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipListNode.\n */\ncljs.core.async.impl.timers.__GT_SkipListNode \x3d (function cljs$core$async$impl$timers$__GT_SkipListNode(key,val,forward){\nreturn (new cljs.core.async.impl.timers.SkipListNode(key,val,forward));\n});\n\ncljs.core.async.impl.timers.skip_list_node \x3d (function cljs$core$async$impl$timers$skip_list_node(var_args){\nvar G__18420 \x3d arguments.length;\nswitch (G__18420) {\ncase 1:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(null,null,level);\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,v,level){\nvar arr \x3d (new Array((level + (1))));\nvar i_18483 \x3d (0);\nwhile(true){\nif((i_18483 \x3c arr.length)){\n(arr[i_18483] \x3d null);\n\nvar G__18484 \x3d (i_18483 + (1));\ni_18483 \x3d G__18484;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.async.impl.timers.SkipListNode(k,v,arr));\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.impl.timers.least_greater_node \x3d (function cljs$core$async$impl$timers$least_greater_node(var_args){\nvar G__18423 \x3d arguments.length;\nswitch (G__18423) {\ncase 3:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,k,level){\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(x,k,level,null);\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,k,level,update){\nwhile(true){\nif((!((level \x3c (0))))){\nvar x__$1 \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar temp__5802__auto__ \x3d (((level \x3c x__$1.forward.length))?(x__$1.forward[level]):null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar x_SINGLEQUOTE_ \x3d temp__5802__auto__;\nif((x_SINGLEQUOTE_.key \x3c k)){\nvar G__18494 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__18494;\ncontinue;\n} else {\nreturn x__$1;\n}\n} else {\nreturn x__$1;\n}\nbreak;\n}\n})();\nif((update \x3d\x3d null)){\n} else {\n(update[level] \x3d x__$1);\n}\n\nvar G__18495 \x3d x__$1;\nvar G__18496 \x3d k;\nvar G__18497 \x3d (level - (1));\nvar G__18498 \x3d update;\nx \x3d G__18495;\nk \x3d G__18496;\nlevel \x3d G__18497;\nupdate \x3d G__18498;\ncontinue;\n} else {\nreturn x;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipList \x3d (function (header,level){\nthis.header \x3d header;\nthis.level \x3d level;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipList.prototype.put \x3d (function (k,v){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (x.forward[(0)]);\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nreturn (x__$1.val \x3d v);\n} else {\nvar new_level \x3d cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\nif((new_level \x3e self__.level)){\nvar i_18502 \x3d (self__.level + (1));\nwhile(true){\nif((i_18502 \x3c\x3d (new_level + (1)))){\n(update[i_18502] \x3d self__.header);\n\nvar G__18505 \x3d (i_18502 + (1));\ni_18502 \x3d G__18505;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(self__.level \x3d new_level);\n} else {\n}\n\nvar x__$2 \x3d cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(k,v,(new Array(new_level)));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c\x3d self__.level)){\nvar links_18507 \x3d (update[i]).forward;\nif((i \x3c x__$2.forward.length)){\n(x__$2.forward[i] \x3d (links_18507[i]));\n} else {\nx__$2.forward.push((((i \x3c links_18507.length))?(links_18507[i]):null));\n}\n\nif((i \x3c links_18507.length)){\n(links_18507[i] \x3d x__$2);\n} else {\nlinks_18507.push(x__$2);\n}\n\nvar G__18508 \x3d (i + (1));\ni \x3d G__18508;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.remove \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (((x.forward.length \x3d\x3d\x3d (0)))?null:(x.forward[(0)]));\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nvar i_18510 \x3d (0);\nwhile(true){\nif((i_18510 \x3c\x3d self__.level)){\nvar links_18511 \x3d (update[i_18510]).forward;\nif((x__$1 \x3d\x3d\x3d (((i_18510 \x3c links_18511.length))?(links_18511[i_18510]):null))){\n(links_18511[i_18510] \x3d (x__$1.forward[i_18510]));\n\nvar G__18514 \x3d (i_18510 + (1));\ni_18510 \x3d G__18514;\ncontinue;\n} else {\nvar G__18515 \x3d (i_18510 + (1));\ni_18510 \x3d G__18515;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nwhile(true){\nif(((((((0) \x3c self__.level)) \x26\x26 ((self__.level \x3c self__.header.forward.length)))) \x26\x26 (((self__.header.forward[self__.level]) \x3d\x3d null)))){\n(self__.level \x3d (self__.level - (1)));\n\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.ceilingEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__18522 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__18522;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__18525 \x3d nx;\nvar G__18526 \x3d (level__$1 - (1));\nx \x3d G__18525;\nlevel__$1 \x3d G__18526;\ncontinue;\n} else {\nvar G__18528 \x3d x;\nvar G__18529 \x3d (level__$1 - (1));\nx \x3d G__18528;\nlevel__$1 \x3d G__18529;\ncontinue;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x.key,k)){\nreturn x;\n} else {\nreturn (x.forward[(0)]);\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.floorEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__18533 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__18533;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__18534 \x3d nx;\nvar G__18535 \x3d (level__$1 - (1));\nx \x3d G__18534;\nlevel__$1 \x3d G__18535;\ncontinue;\n} else {\nvar G__18536 \x3d x;\nvar G__18537 \x3d (level__$1 - (1));\nx \x3d G__18536;\nlevel__$1 \x3d G__18537;\ncontinue;\n}\n} else {\nif((x \x3d\x3d\x3d self__.header)){\nreturn null;\n} else {\nreturn x;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar iter \x3d (function cljs$core$async$impl$timers$iter(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nif((node \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node.key,node.val], null),cljs$core$async$impl$timers$iter((node.forward[(0)])));\n}\n}),null,null));\n});\nreturn iter((self__.header.forward[(0)]));\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar pr_pair \x3d (function (keyval){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts,keyval);\n});\nreturn cljs.core.pr_sequential_writer(writer,pr_pair,\x22{\x22,\x22, \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22header\x22,\x22header\x22,1759972661,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22level\x22,\x22level\x22,-1363938217,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipList\x22);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.timers/SkipList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipList.\n */\ncljs.core.async.impl.timers.__GT_SkipList \x3d (function cljs$core$async$impl$timers$__GT_SkipList(header,level){\nreturn (new cljs.core.async.impl.timers.SkipList(header,level));\n});\n\ncljs.core.async.impl.timers.skip_list \x3d (function cljs$core$async$impl$timers$skip_list(){\nreturn (new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((0)),(0)));\n});\ncljs.core.async.impl.timers.timeouts_map \x3d cljs.core.async.impl.timers.skip_list();\ncljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS \x3d (10);\n/**\n * returns a channel that will close after msecs\n */\ncljs.core.async.impl.timers.timeout \x3d (function cljs$core$async$impl$timers$timeout(msecs){\nvar timeout \x3d ((new Date()).valueOf() + msecs);\nvar me \x3d cljs.core.async.impl.timers.timeouts_map.ceilingEntry(timeout);\nvar or__5045__auto__ \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d me;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (me.key \x3c (timeout + cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS));\n} else {\nreturn and__5043__auto__;\n}\n})())?me.val:null);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar timeout_channel \x3d cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1(null);\ncljs.core.async.impl.timers.timeouts_map.put(timeout,timeout_channel);\n\ncljs.core.async.impl.dispatch.queue_delay((function (){\ncljs.core.async.impl.timers.timeouts_map.remove(timeout);\n\nreturn cljs.core.async.impl.protocols.close_BANG_(timeout_channel);\n}),msecs);\n\nreturn timeout_channel;\n}\n});\n"); -SHADOW_ENV.evalLoad("cljs.core.async.impl.ioc_helpers.js", true , "goog.provide(\x27cljs.core.async.impl.ioc_helpers\x27);\ncljs.core.async.impl.ioc_helpers.FN_IDX \x3d (0);\ncljs.core.async.impl.ioc_helpers.STATE_IDX \x3d (1);\ncljs.core.async.impl.ioc_helpers.VALUE_IDX \x3d (2);\ncljs.core.async.impl.ioc_helpers.BINDINGS_IDX \x3d (3);\ncljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES \x3d (4);\ncljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION \x3d (5);\ncljs.core.async.impl.ioc_helpers.USER_START_IDX \x3d (6);\ncljs.core.async.impl.ioc_helpers.aset_object \x3d (function cljs$core$async$impl$ioc_helpers$aset_object(arr,idx,o){\nreturn (arr[idx][o]);\n});\ncljs.core.async.impl.ioc_helpers.aget_object \x3d (function cljs$core$async$impl$ioc_helpers$aget_object(arr,idx){\nreturn (arr[idx]);\n});\n/**\n * Returns true if the machine is in a finished state\n */\ncljs.core.async.impl.ioc_helpers.finished_QMARK_ \x3d (function cljs$core$async$impl$ioc_helpers$finished_QMARK_(state_array){\nreturn cljs.core.keyword_identical_QMARK_((state_array[(1)]),new cljs.core.Keyword(null,\x22finished\x22,\x22finished\x22,-1018867731));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305 \x3d (function (f,meta18306){\nthis.f \x3d f;\nthis.meta18306 \x3d meta18306;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18307,meta18306__$1){\nvar self__ \x3d this;\nvar _18307__$1 \x3d this;\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305(self__.f,meta18306__$1));\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18307){\nvar self__ \x3d this;\nvar _18307__$1 \x3d this;\nreturn self__.meta18306;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22meta18306\x22,\x22meta18306\x22,2105163520,null)], null);\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers18305\x22);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers18305\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers18305.\n */\ncljs.core.async.impl.ioc_helpers.__GT_t_cljs$core$async$impl$ioc_helpers18305 \x3d (function cljs$core$async$impl$ioc_helpers$__GT_t_cljs$core$async$impl$ioc_helpers18305(f,meta18306){\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305(f,meta18306));\n});\n\n\ncljs.core.async.impl.ioc_helpers.fn_handler \x3d (function cljs$core$async$impl$ioc_helpers$fn_handler(f){\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers18305(f,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine(state){\nvar fexpr__18342 \x3d cljs.core.async.impl.ioc_helpers.aget_object(state,(0));\nreturn (fexpr__18342.cljs$core$IFn$_invoke$arity$1 ? fexpr__18342.cljs$core$IFn$_invoke$arity$1(state) : fexpr__18342.call(null,state));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine_wrapped \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine_wrapped(state){\ntry{return cljs.core.async.impl.ioc_helpers.run_state_machine(state);\n}catch (e18345){if((e18345 instanceof Object)){\nvar ex \x3d e18345;\ncljs.core.async.impl.ioc_helpers.aget_object(state,(6)).cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nthrow ex;\n} else {\nthrow e18345;\n\n}\n}});\ncljs.core.async.impl.ioc_helpers.take_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$take_BANG_(state,blk,c){\nvar temp__5802__auto__ \x3d c.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(null,cljs.core.async.impl.ioc_helpers.fn_handler((function (x){\nvar statearr_18355_18403 \x3d state;\n(statearr_18355_18403[(2)] \x3d x);\n\n(statearr_18355_18403[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar cb \x3d temp__5802__auto__;\nvar statearr_18361_18404 \x3d state;\n(statearr_18361_18404[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_18361_18404[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.put_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$put_BANG_(state,blk,c,val){\nvar temp__5802__auto__ \x3d c.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,val,cljs.core.async.impl.ioc_helpers.fn_handler((function (ret_val){\nvar statearr_18376_18405 \x3d state;\n(statearr_18376_18405[(2)] \x3d ret_val);\n\n(statearr_18376_18405[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar cb \x3d temp__5802__auto__;\nvar statearr_18381_18406 \x3d state;\n(statearr_18381_18406[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_18381_18406[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.return_chan \x3d (function cljs$core$async$impl$ioc_helpers$return_chan(state,value){\nvar c \x3d (state[(6)]);\nif((value \x3d\x3d null)){\n} else {\nc.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,value,cljs.core.async.impl.ioc_helpers.fn_handler((function (_){\nreturn null;\n})));\n}\n\nc.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nreturn c;\n});\n"); -SHADOW_ENV.evalLoad("cljs.core.async.js", true , "goog.provide(\x27cljs.core.async\x27);\ngoog.scope(function(){\n cljs.core.async.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async18674 \x3d (function (f,blockable,meta18675){\nthis.f \x3d f;\nthis.blockable \x3d blockable;\nthis.meta18675 \x3d meta18675;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async18674.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18676,meta18675__$1){\nvar self__ \x3d this;\nvar _18676__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async18674(self__.f,self__.blockable,meta18675__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async18674.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18676){\nvar self__ \x3d this;\nvar _18676__$1 \x3d this;\nreturn self__.meta18675;\n}));\n\n(cljs.core.async.t_cljs$core$async18674.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async18674.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async18674.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.blockable;\n}));\n\n(cljs.core.async.t_cljs$core$async18674.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.t_cljs$core$async18674.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22blockable\x22,\x22blockable\x22,-28395259,null),new cljs.core.Symbol(null,\x22meta18675\x22,\x22meta18675\x22,33505220,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async18674.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async18674.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async18674\x22);\n\n(cljs.core.async.t_cljs$core$async18674.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async18674\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async18674.\n */\ncljs.core.async.__GT_t_cljs$core$async18674 \x3d (function cljs$core$async$__GT_t_cljs$core$async18674(f,blockable,meta18675){\nreturn (new cljs.core.async.t_cljs$core$async18674(f,blockable,meta18675));\n});\n\n\ncljs.core.async.fn_handler \x3d (function cljs$core$async$fn_handler(var_args){\nvar G__18673 \x3d arguments.length;\nswitch (G__18673) {\ncase 1:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(f,true);\n}));\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,blockable){\nreturn (new cljs.core.async.t_cljs$core$async18674(f,blockable,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.async.fn_handler.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a fixed buffer of size n. When full, puts will block/park.\n */\ncljs.core.async.buffer \x3d (function cljs$core$async$buffer(n){\nreturn cljs.core.async.impl.buffers.fixed_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete but\n * val will be dropped (no transfer).\n */\ncljs.core.async.dropping_buffer \x3d (function cljs$core$async$dropping_buffer(n){\nreturn cljs.core.async.impl.buffers.dropping_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete, and be\n * buffered, but oldest elements in buffer will be dropped (not\n * transferred).\n */\ncljs.core.async.sliding_buffer \x3d (function cljs$core$async$sliding_buffer(n){\nreturn cljs.core.async.impl.buffers.sliding_buffer(n);\n});\n/**\n * Returns true if a channel created with buff will never block. That is to say,\n * puts into this buffer will never cause the buffer to be full. \n */\ncljs.core.async.unblocking_buffer_QMARK_ \x3d (function cljs$core$async$unblocking_buffer_QMARK_(buff){\nif((!((buff \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d buff.cljs$core$async$impl$protocols$UnblockingBuffer$)))){\nreturn true;\n} else {\nif((!buff.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n}\n});\n/**\n * Creates a channel with an optional buffer, an optional transducer (like (map f),\n * (filter p) etc or a composition thereof), and an optional exception handler.\n * If buf-or-n is a number, will create and use a fixed buffer of that size. If a\n * transducer is supplied a buffer must be specified. ex-handler must be a\n * fn of one argument - if an exception occurs during transformation it will be called\n * with the thrown value as an argument, and any non-nil return value will be placed\n * in the channel.\n */\ncljs.core.async.chan \x3d (function cljs$core$async$chan(var_args){\nvar G__18694 \x3d arguments.length;\nswitch (G__18694) {\ncase 0:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf_or_n){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,null,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf_or_n,xform){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,xform,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf_or_n,xform,ex_handler){\nvar buf_or_n__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(buf_or_n,(0)))?null:buf_or_n);\nif(cljs.core.truth_(xform)){\nif(cljs.core.truth_(buf_or_n__$1)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22buffer must be supplied when transducer is\x22,\x22\\n\x22,\x22buf-or-n\x22].join(\x27\x27)));\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(((typeof buf_or_n__$1 \x3d\x3d\x3d \x27number\x27)?cljs.core.async.buffer(buf_or_n__$1):buf_or_n__$1),xform,ex_handler);\n}));\n\n(cljs.core.async.chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates a promise channel with an optional transducer, and an optional\n * exception-handler. A promise channel can take exactly one value that consumers\n * will receive. Once full, puts complete but val is dropped (no transfer).\n * Consumers will block until either a value is placed in the channel or the\n * channel is closed. See chan for the semantics of xform and ex-handler.\n */\ncljs.core.async.promise_chan \x3d (function cljs$core$async$promise_chan(var_args){\nvar G__18713 \x3d arguments.length;\nswitch (G__18713) {\ncase 0:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (xform){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2(xform,null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,ex_handler){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(cljs.core.async.impl.buffers.promise_buffer(),xform,ex_handler);\n}));\n\n(cljs.core.async.promise_chan.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel that will close after msecs\n */\ncljs.core.async.timeout \x3d (function cljs$core$async$timeout(msecs){\nreturn cljs.core.async.impl.timers.timeout(msecs);\n});\n/**\n * takes a val from port. Must be called inside a (go ...) block. Will\n * return nil if closed. Will park if nothing is available.\n * Returns true unless port is already closed\n */\ncljs.core.async._LT__BANG_ \x3d (function cljs$core$async$_LT__BANG_(port){\nthrow (new Error(\x22\x3c! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously takes a val from port, passing to fn1. Will pass nil\n * if closed. If on-caller? (default true) is true, and value is\n * immediately available, will call fn1 on calling thread.\n * Returns nil.\n */\ncljs.core.async.take_BANG_ \x3d (function cljs$core$async$take_BANG_(var_args){\nvar G__18726 \x3d arguments.length;\nswitch (G__18726) {\ncase 2:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,fn1){\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3(port,fn1,true);\n}));\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,fn1,on_caller_QMARK_){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(ret)){\nvar val_21841 \x3d cljs.core.deref(ret);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_21841) : fn1.call(null,val_21841));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_21841) : fn1.call(null,val_21841));\n}));\n}\n} else {\n}\n\nreturn null;\n}));\n\n(cljs.core.async.take_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.nop \x3d (function cljs$core$async$nop(_){\nreturn null;\n});\ncljs.core.async.fhnop \x3d cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(cljs.core.async.nop);\n/**\n * puts a val into port. nil values are not allowed. Must be called\n * inside a (go ...) block. Will park if no buffer space is available.\n * Returns true unless port is already closed.\n */\ncljs.core.async._GT__BANG_ \x3d (function cljs$core$async$_GT__BANG_(port,val){\nthrow (new Error(\x22\x3e! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously puts a val into port, calling fn1 (if supplied) when\n * complete. nil values are not allowed. Will throw if closed. If\n * on-caller? (default true) is true, and the put is immediately\n * accepted, will call fn1 on calling thread. Returns nil.\n */\ncljs.core.async.put_BANG_ \x3d (function cljs$core$async$put_BANG_(var_args){\nvar G__18741 \x3d arguments.length;\nswitch (G__18741) {\ncase 2:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,val){\nvar temp__5802__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fhnop);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ret \x3d temp__5802__auto__;\nreturn cljs.core.deref(ret);\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,val,fn1){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4(port,val,fn1,true);\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (port,val,fn1,on_caller_QMARK_){\nvar temp__5802__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar retb \x3d temp__5802__auto__;\nvar ret \x3d cljs.core.deref(retb);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n}));\n}\n\nreturn ret;\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.core.async.close_BANG_ \x3d (function cljs$core$async$close_BANG_(port){\nreturn cljs.core.async.impl.protocols.close_BANG_(port);\n});\ncljs.core.async.random_array \x3d (function cljs$core$async$random_array(n){\nvar a \x3d (new Array(n));\nvar n__5636__auto___21860 \x3d n;\nvar x_21861 \x3d (0);\nwhile(true){\nif((x_21861 \x3c n__5636__auto___21860)){\n(a[x_21861] \x3d x_21861);\n\nvar G__21862 \x3d (x_21861 + (1));\nx_21861 \x3d G__21862;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.core.async.goog$module$goog$array.shuffle(a);\n\nreturn a;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async18771 \x3d (function (flag,meta18772){\nthis.flag \x3d flag;\nthis.meta18772 \x3d meta18772;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async18771.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18773,meta18772__$1){\nvar self__ \x3d this;\nvar _18773__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async18771(self__.flag,meta18772__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async18771.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18773){\nvar self__ \x3d this;\nvar _18773__$1 \x3d this;\nreturn self__.meta18772;\n}));\n\n(cljs.core.async.t_cljs$core$async18771.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async18771.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.deref(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async18771.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async18771.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.flag,null);\n\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async18771.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22meta18772\x22,\x22meta18772\x22,-554933180,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async18771.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async18771.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async18771\x22);\n\n(cljs.core.async.t_cljs$core$async18771.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async18771\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async18771.\n */\ncljs.core.async.__GT_t_cljs$core$async18771 \x3d (function cljs$core$async$__GT_t_cljs$core$async18771(flag,meta18772){\nreturn (new cljs.core.async.t_cljs$core$async18771(flag,meta18772));\n});\n\n\ncljs.core.async.alt_flag \x3d (function cljs$core$async$alt_flag(){\nvar flag \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nreturn (new cljs.core.async.t_cljs$core$async18771(flag,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async18793 \x3d (function (flag,cb,meta18794){\nthis.flag \x3d flag;\nthis.cb \x3d cb;\nthis.meta18794 \x3d meta18794;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async18793.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18795,meta18794__$1){\nvar self__ \x3d this;\nvar _18795__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async18793(self__.flag,self__.cb,meta18794__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async18793.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18795){\nvar self__ \x3d this;\nvar _18795__$1 \x3d this;\nreturn self__.meta18794;\n}));\n\n(cljs.core.async.t_cljs$core$async18793.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async18793.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async18793.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async18793.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.async.impl.protocols.commit(self__.flag);\n\nreturn self__.cb;\n}));\n\n(cljs.core.async.t_cljs$core$async18793.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22cb\x22,\x22cb\x22,-2064487928,null),new cljs.core.Symbol(null,\x22meta18794\x22,\x22meta18794\x22,1177729832,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async18793.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async18793.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async18793\x22);\n\n(cljs.core.async.t_cljs$core$async18793.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async18793\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async18793.\n */\ncljs.core.async.__GT_t_cljs$core$async18793 \x3d (function cljs$core$async$__GT_t_cljs$core$async18793(flag,cb,meta18794){\nreturn (new cljs.core.async.t_cljs$core$async18793(flag,cb,meta18794));\n});\n\n\ncljs.core.async.alt_handler \x3d (function cljs$core$async$alt_handler(flag,cb){\nreturn (new cljs.core.async.t_cljs$core$async18793(flag,cb,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * returns derefable [val port] if immediate, nil if enqueued\n */\ncljs.core.async.do_alts \x3d (function cljs$core$async$do_alts(fret,ports,opts){\nif((cljs.core.count(ports) \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22alts must have at least one channel operation\x22,\x22\\n\x22,\x22(pos? (count ports))\x22].join(\x27\x27)));\n}\n\nvar flag \x3d cljs.core.async.alt_flag();\nvar n \x3d cljs.core.count(ports);\nvar idxs \x3d cljs.core.async.random_array(n);\nvar priority \x3d new cljs.core.Keyword(null,\x22priority\x22,\x22priority\x22,1431093715).cljs$core$IFn$_invoke$arity$1(opts);\nvar ret \x3d (function (){var i \x3d (0);\nwhile(true){\nif((i \x3c n)){\nvar idx \x3d (cljs.core.truth_(priority)?i:(idxs[i]));\nvar port \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ports,idx);\nvar wport \x3d ((cljs.core.vector_QMARK_(port))?(port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((0)) : port.call(null,(0))):null);\nvar vbox \x3d (cljs.core.truth_(wport)?(function (){var val \x3d (port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((1)) : port.call(null,(1)));\nreturn cljs.core.async.impl.protocols.put_BANG_(wport,val,cljs.core.async.alt_handler(flag,((function (i,val,idx,port,wport,flag,n,idxs,priority){\nreturn (function (p1__18805_SHARP_){\nvar G__18812 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__18805_SHARP_,wport], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__18812) : fret.call(null,G__18812));\n});})(i,val,idx,port,wport,flag,n,idxs,priority))\n));\n})():cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.alt_handler(flag,((function (i,idx,port,wport,flag,n,idxs,priority){\nreturn (function (p1__18806_SHARP_){\nvar G__18814 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__18806_SHARP_,port], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__18814) : fret.call(null,G__18814));\n});})(i,idx,port,wport,flag,n,idxs,priority))\n)));\nif(cljs.core.truth_(vbox)){\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(vbox),(function (){var or__5045__auto__ \x3d wport;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn port;\n}\n})()], null));\n} else {\nvar G__21867 \x3d (i + (1));\ni \x3d G__21867;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nvar or__5045__auto__ \x3d ret;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nif(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))){\nvar temp__5804__auto__ \x3d (function (){var and__5043__auto__ \x3d flag.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn flag.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar got \x3d temp__5804__auto__;\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Completes at most one of several channel operations. Must be called\n * inside a (go ...) block. ports is a vector of channel endpoints,\n * which can be either a channel to take from or a vector of\n * [channel-to-put-to val-to-put], in any combination. Takes will be\n * made as if by \x3c!, and puts will be made as if by \x3e!. Unless\n * the :priority option is true, if more than one port operation is\n * ready a non-deterministic choice will be made. If no operation is\n * ready and a :default value is supplied, [default-val :default] will\n * be returned, otherwise alts! will park until the first operation to\n * become ready completes. Returns [val port] of the completed\n * operation, where val is the value taken for takes, and a\n * boolean (true unless already closed, as per put!) for puts.\n * \n * opts are passed as :key val ... Supported options:\n * \n * :default val - the value to use if none of the operations are immediately ready\n * :priority true - (default nil) when true, the operations will be tried in order.\n * \n * Note: there is no guarantee that the port exps or val exprs will be\n * used, nor in what order should they be, so they should not be\n * depended upon for side effects.\n */\ncljs.core.async.alts_BANG_ \x3d (function cljs$core$async$alts_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21872 \x3d arguments.length;\nvar i__5770__auto___21873 \x3d (0);\nwhile(true){\nif((i__5770__auto___21873 \x3c len__5769__auto___21872)){\nargs__5775__auto__.push((arguments[i__5770__auto___21873]));\n\nvar G__21874 \x3d (i__5770__auto___21873 + (1));\ni__5770__auto___21873 \x3d G__21874;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ports,p__18834){\nvar map__18835 \x3d p__18834;\nvar map__18835__$1 \x3d cljs.core.__destructure_map(map__18835);\nvar opts \x3d map__18835__$1;\nthrow (new Error(\x22alts! used not in (go ...) block\x22));\n}));\n\n(cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.async.alts_BANG_.cljs$lang$applyTo \x3d (function (seq18824){\nvar G__18825 \x3d cljs.core.first(seq18824);\nvar seq18824__$1 \x3d cljs.core.next(seq18824);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__18825,seq18824__$1);\n}));\n\n/**\n * Puts a val into port if it\x27s possible to do so immediately.\n * nil values are not allowed. Never blocks. Returns true if offer succeeds.\n */\ncljs.core.async.offer_BANG_ \x3d (function cljs$core$async$offer_BANG_(port,val){\nvar ret \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes a val from port if it\x27s possible to do so immediately.\n * Never blocks. Returns value if successful, nil otherwise.\n */\ncljs.core.async.poll_BANG_ \x3d (function cljs$core$async$poll_BANG_(port){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel. By default, the to channel will be closed when the from\n * channel closes, but can be determined by the close? parameter. Will\n * stop consuming the from channel if the to channel closes\n */\ncljs.core.async.pipe \x3d (function cljs$core$async$pipe(var_args){\nvar G__18845 \x3d arguments.length;\nswitch (G__18845) {\ncase 2:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2 \x3d (function (from,to){\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3(from,to,true);\n}));\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,close_QMARK_){\nvar c__18542__auto___21882 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_18911){\nvar state_val_18919 \x3d (state_18911[(1)]);\nif((state_val_18919 \x3d\x3d\x3d (7))){\nvar inst_18899 \x3d (state_18911[(2)]);\nvar state_18911__$1 \x3d state_18911;\nvar statearr_18942_21883 \x3d state_18911__$1;\n(statearr_18942_21883[(2)] \x3d inst_18899);\n\n(statearr_18942_21883[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (1))){\nvar state_18911__$1 \x3d state_18911;\nvar statearr_18947_21886 \x3d state_18911__$1;\n(statearr_18947_21886[(2)] \x3d null);\n\n(statearr_18947_21886[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (4))){\nvar inst_18870 \x3d (state_18911[(7)]);\nvar inst_18870__$1 \x3d (state_18911[(2)]);\nvar inst_18874 \x3d (inst_18870__$1 \x3d\x3d null);\nvar state_18911__$1 \x3d (function (){var statearr_18950 \x3d state_18911;\n(statearr_18950[(7)] \x3d inst_18870__$1);\n\nreturn statearr_18950;\n})();\nif(cljs.core.truth_(inst_18874)){\nvar statearr_18953_21887 \x3d state_18911__$1;\n(statearr_18953_21887[(1)] \x3d (5));\n\n} else {\nvar statearr_18955_21888 \x3d state_18911__$1;\n(statearr_18955_21888[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (13))){\nvar state_18911__$1 \x3d state_18911;\nvar statearr_18957_21889 \x3d state_18911__$1;\n(statearr_18957_21889[(2)] \x3d null);\n\n(statearr_18957_21889[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (6))){\nvar inst_18870 \x3d (state_18911[(7)]);\nvar state_18911__$1 \x3d state_18911;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_18911__$1,(11),to,inst_18870);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (3))){\nvar inst_18901 \x3d (state_18911[(2)]);\nvar state_18911__$1 \x3d state_18911;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_18911__$1,inst_18901);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (12))){\nvar state_18911__$1 \x3d state_18911;\nvar statearr_18959_21894 \x3d state_18911__$1;\n(statearr_18959_21894[(2)] \x3d null);\n\n(statearr_18959_21894[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (2))){\nvar state_18911__$1 \x3d state_18911;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_18911__$1,(4),from);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (11))){\nvar inst_18887 \x3d (state_18911[(2)]);\nvar state_18911__$1 \x3d state_18911;\nif(cljs.core.truth_(inst_18887)){\nvar statearr_18961_21895 \x3d state_18911__$1;\n(statearr_18961_21895[(1)] \x3d (12));\n\n} else {\nvar statearr_18962_21896 \x3d state_18911__$1;\n(statearr_18962_21896[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (9))){\nvar state_18911__$1 \x3d state_18911;\nvar statearr_18963_21898 \x3d state_18911__$1;\n(statearr_18963_21898[(2)] \x3d null);\n\n(statearr_18963_21898[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (5))){\nvar state_18911__$1 \x3d state_18911;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_18965_21899 \x3d state_18911__$1;\n(statearr_18965_21899[(1)] \x3d (8));\n\n} else {\nvar statearr_18966_21900 \x3d state_18911__$1;\n(statearr_18966_21900[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (14))){\nvar inst_18897 \x3d (state_18911[(2)]);\nvar state_18911__$1 \x3d state_18911;\nvar statearr_18967_21901 \x3d state_18911__$1;\n(statearr_18967_21901[(2)] \x3d inst_18897);\n\n(statearr_18967_21901[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (10))){\nvar inst_18884 \x3d (state_18911[(2)]);\nvar state_18911__$1 \x3d state_18911;\nvar statearr_18970_21902 \x3d state_18911__$1;\n(statearr_18970_21902[(2)] \x3d inst_18884);\n\n(statearr_18970_21902[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_18919 \x3d\x3d\x3d (8))){\nvar inst_18880 \x3d cljs.core.async.close_BANG_(to);\nvar state_18911__$1 \x3d state_18911;\nvar statearr_18972_21903 \x3d state_18911__$1;\n(statearr_18972_21903[(2)] \x3d inst_18880);\n\n(statearr_18972_21903[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_18976 \x3d [null,null,null,null,null,null,null,null];\n(statearr_18976[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_18976[(1)] \x3d (1));\n\nreturn statearr_18976;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_18911){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_18911);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e18977){var ex__18260__auto__ \x3d e18977;\nvar statearr_18978_21905 \x3d state_18911;\n(statearr_18978_21905[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_18911[(4)]))){\nvar statearr_18979_21906 \x3d state_18911;\n(statearr_18979_21906[(1)] \x3d cljs.core.first((state_18911[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__21908 \x3d state_18911;\nstate_18911 \x3d G__21908;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_18911){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_18911);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19000 \x3d f__18543__auto__();\n(statearr_19000[(6)] \x3d c__18542__auto___21882);\n\nreturn statearr_19000;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn to;\n}));\n\n(cljs.core.async.pipe.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.pipeline_STAR_ \x3d (function cljs$core$async$pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,type){\nif((n \x3e (0))){\n} else {\nthrow (new Error(\x22Assert failed: (pos? n)\x22));\n}\n\nvar jobs \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar results \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar process__$1 \x3d (function (p__19002){\nvar vec__19003 \x3d p__19002;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19003,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19003,(1),null);\nvar job \x3d vec__19003;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((1),xf,ex_handler);\nvar c__18542__auto___21909 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_19011){\nvar state_val_19012 \x3d (state_19011[(1)]);\nif((state_val_19012 \x3d\x3d\x3d (1))){\nvar state_19011__$1 \x3d state_19011;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19011__$1,(2),res,v);\n} else {\nif((state_val_19012 \x3d\x3d\x3d (2))){\nvar inst_19008 \x3d (state_19011[(2)]);\nvar inst_19009 \x3d cljs.core.async.close_BANG_(res);\nvar state_19011__$1 \x3d (function (){var statearr_19016 \x3d state_19011;\n(statearr_19016[(7)] \x3d inst_19008);\n\nreturn statearr_19016;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19011__$1,inst_19009);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_19024 \x3d [null,null,null,null,null,null,null,null];\n(statearr_19024[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__);\n\n(statearr_19024[(1)] \x3d (1));\n\nreturn statearr_19024;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1 \x3d (function (state_19011){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19011);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e19033){var ex__18260__auto__ \x3d e19033;\nvar statearr_19034_21914 \x3d state_19011;\n(statearr_19034_21914[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19011[(4)]))){\nvar statearr_19039_21915 \x3d state_19011;\n(statearr_19039_21915[(1)] \x3d cljs.core.first((state_19011[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__21916 \x3d state_19011;\nstate_19011 \x3d G__21916;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d function(state_19011){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1.call(this,state_19011);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19048 \x3d f__18543__auto__();\n(statearr_19048[(6)] \x3d c__18542__auto___21909);\n\nreturn statearr_19048;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar async \x3d (function (p__19049){\nvar vec__19050 \x3d p__19049;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19050,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19050,(1),null);\nvar job \x3d vec__19050;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\n(xf.cljs$core$IFn$_invoke$arity$2 ? xf.cljs$core$IFn$_invoke$arity$2(v,res) : xf.call(null,v,res));\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar n__5636__auto___21917 \x3d n;\nvar __21918 \x3d (0);\nwhile(true){\nif((__21918 \x3c n__5636__auto___21917)){\nvar G__19057_21919 \x3d type;\nvar G__19057_21920__$1 \x3d (((G__19057_21919 instanceof cljs.core.Keyword))?G__19057_21919.fqn:null);\nswitch (G__19057_21920__$1) {\ncase \x22compute\x22:\nvar c__18542__auto___21922 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__21918,c__18542__auto___21922,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async){\nreturn (function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d ((function (__21918,c__18542__auto___21922,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async){\nreturn (function (state_19074){\nvar state_val_19075 \x3d (state_19074[(1)]);\nif((state_val_19075 \x3d\x3d\x3d (1))){\nvar state_19074__$1 \x3d state_19074;\nvar statearr_19076_21929 \x3d state_19074__$1;\n(statearr_19076_21929[(2)] \x3d null);\n\n(statearr_19076_21929[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19075 \x3d\x3d\x3d (2))){\nvar state_19074__$1 \x3d state_19074;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19074__$1,(4),jobs);\n} else {\nif((state_val_19075 \x3d\x3d\x3d (3))){\nvar inst_19072 \x3d (state_19074[(2)]);\nvar state_19074__$1 \x3d state_19074;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19074__$1,inst_19072);\n} else {\nif((state_val_19075 \x3d\x3d\x3d (4))){\nvar inst_19061 \x3d (state_19074[(2)]);\nvar inst_19062 \x3d process__$1(inst_19061);\nvar state_19074__$1 \x3d state_19074;\nif(cljs.core.truth_(inst_19062)){\nvar statearr_19086_21937 \x3d state_19074__$1;\n(statearr_19086_21937[(1)] \x3d (5));\n\n} else {\nvar statearr_19087_21938 \x3d state_19074__$1;\n(statearr_19087_21938[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19075 \x3d\x3d\x3d (5))){\nvar state_19074__$1 \x3d state_19074;\nvar statearr_19088_21939 \x3d state_19074__$1;\n(statearr_19088_21939[(2)] \x3d null);\n\n(statearr_19088_21939[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19075 \x3d\x3d\x3d (6))){\nvar state_19074__$1 \x3d state_19074;\nvar statearr_19089_21940 \x3d state_19074__$1;\n(statearr_19089_21940[(2)] \x3d null);\n\n(statearr_19089_21940[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19075 \x3d\x3d\x3d (7))){\nvar inst_19070 \x3d (state_19074[(2)]);\nvar state_19074__$1 \x3d state_19074;\nvar statearr_19090_21947 \x3d state_19074__$1;\n(statearr_19090_21947[(2)] \x3d inst_19070);\n\n(statearr_19090_21947[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__21918,c__18542__auto___21922,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async))\n;\nreturn ((function (__21918,switch__18256__auto__,c__18542__auto___21922,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_19091 \x3d [null,null,null,null,null,null,null];\n(statearr_19091[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__);\n\n(statearr_19091[(1)] \x3d (1));\n\nreturn statearr_19091;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1 \x3d (function (state_19074){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19074);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e19092){var ex__18260__auto__ \x3d e19092;\nvar statearr_19093_21948 \x3d state_19074;\n(statearr_19093_21948[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19074[(4)]))){\nvar statearr_19094_21949 \x3d state_19074;\n(statearr_19094_21949[(1)] \x3d cljs.core.first((state_19074[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__21950 \x3d state_19074;\nstate_19074 \x3d G__21950;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d function(state_19074){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1.call(this,state_19074);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__;\n})()\n;})(__21918,switch__18256__auto__,c__18542__auto___21922,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async))\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19095 \x3d f__18543__auto__();\n(statearr_19095[(6)] \x3d c__18542__auto___21922);\n\nreturn statearr_19095;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n});})(__21918,c__18542__auto___21922,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async))\n);\n\n\nbreak;\ncase \x22async\x22:\nvar c__18542__auto___21951 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__21918,c__18542__auto___21951,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async){\nreturn (function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d ((function (__21918,c__18542__auto___21951,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async){\nreturn (function (state_19108){\nvar state_val_19109 \x3d (state_19108[(1)]);\nif((state_val_19109 \x3d\x3d\x3d (1))){\nvar state_19108__$1 \x3d state_19108;\nvar statearr_19110_21952 \x3d state_19108__$1;\n(statearr_19110_21952[(2)] \x3d null);\n\n(statearr_19110_21952[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19109 \x3d\x3d\x3d (2))){\nvar state_19108__$1 \x3d state_19108;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19108__$1,(4),jobs);\n} else {\nif((state_val_19109 \x3d\x3d\x3d (3))){\nvar inst_19106 \x3d (state_19108[(2)]);\nvar state_19108__$1 \x3d state_19108;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19108__$1,inst_19106);\n} else {\nif((state_val_19109 \x3d\x3d\x3d (4))){\nvar inst_19098 \x3d (state_19108[(2)]);\nvar inst_19099 \x3d async(inst_19098);\nvar state_19108__$1 \x3d state_19108;\nif(cljs.core.truth_(inst_19099)){\nvar statearr_19111_21953 \x3d state_19108__$1;\n(statearr_19111_21953[(1)] \x3d (5));\n\n} else {\nvar statearr_19112_21954 \x3d state_19108__$1;\n(statearr_19112_21954[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19109 \x3d\x3d\x3d (5))){\nvar state_19108__$1 \x3d state_19108;\nvar statearr_19113_21955 \x3d state_19108__$1;\n(statearr_19113_21955[(2)] \x3d null);\n\n(statearr_19113_21955[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19109 \x3d\x3d\x3d (6))){\nvar state_19108__$1 \x3d state_19108;\nvar statearr_19114_21956 \x3d state_19108__$1;\n(statearr_19114_21956[(2)] \x3d null);\n\n(statearr_19114_21956[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19109 \x3d\x3d\x3d (7))){\nvar inst_19104 \x3d (state_19108[(2)]);\nvar state_19108__$1 \x3d state_19108;\nvar statearr_19117_21957 \x3d state_19108__$1;\n(statearr_19117_21957[(2)] \x3d inst_19104);\n\n(statearr_19117_21957[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__21918,c__18542__auto___21951,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async))\n;\nreturn ((function (__21918,switch__18256__auto__,c__18542__auto___21951,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_19118 \x3d [null,null,null,null,null,null,null];\n(statearr_19118[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__);\n\n(statearr_19118[(1)] \x3d (1));\n\nreturn statearr_19118;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1 \x3d (function (state_19108){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19108);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e19119){var ex__18260__auto__ \x3d e19119;\nvar statearr_19120_21958 \x3d state_19108;\n(statearr_19120_21958[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19108[(4)]))){\nvar statearr_19122_21959 \x3d state_19108;\n(statearr_19122_21959[(1)] \x3d cljs.core.first((state_19108[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__21960 \x3d state_19108;\nstate_19108 \x3d G__21960;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d function(state_19108){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1.call(this,state_19108);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__;\n})()\n;})(__21918,switch__18256__auto__,c__18542__auto___21951,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async))\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19123 \x3d f__18543__auto__();\n(statearr_19123[(6)] \x3d c__18542__auto___21951);\n\nreturn statearr_19123;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n});})(__21918,c__18542__auto___21951,G__19057_21919,G__19057_21920__$1,n__5636__auto___21917,jobs,results,process__$1,async))\n);\n\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__19057_21920__$1)].join(\x27\x27)));\n\n}\n\nvar G__21961 \x3d (__21918 + (1));\n__21918 \x3d G__21961;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar c__18542__auto___21962 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_19154){\nvar state_val_19155 \x3d (state_19154[(1)]);\nif((state_val_19155 \x3d\x3d\x3d (7))){\nvar inst_19150 \x3d (state_19154[(2)]);\nvar state_19154__$1 \x3d state_19154;\nvar statearr_19160_21963 \x3d state_19154__$1;\n(statearr_19160_21963[(2)] \x3d inst_19150);\n\n(statearr_19160_21963[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19155 \x3d\x3d\x3d (1))){\nvar state_19154__$1 \x3d state_19154;\nvar statearr_19163_21964 \x3d state_19154__$1;\n(statearr_19163_21964[(2)] \x3d null);\n\n(statearr_19163_21964[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19155 \x3d\x3d\x3d (4))){\nvar inst_19133 \x3d (state_19154[(7)]);\nvar inst_19133__$1 \x3d (state_19154[(2)]);\nvar inst_19134 \x3d (inst_19133__$1 \x3d\x3d null);\nvar state_19154__$1 \x3d (function (){var statearr_19174 \x3d state_19154;\n(statearr_19174[(7)] \x3d inst_19133__$1);\n\nreturn statearr_19174;\n})();\nif(cljs.core.truth_(inst_19134)){\nvar statearr_19175_21965 \x3d state_19154__$1;\n(statearr_19175_21965[(1)] \x3d (5));\n\n} else {\nvar statearr_19176_21966 \x3d state_19154__$1;\n(statearr_19176_21966[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19155 \x3d\x3d\x3d (6))){\nvar inst_19139 \x3d (state_19154[(8)]);\nvar inst_19133 \x3d (state_19154[(7)]);\nvar inst_19139__$1 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar inst_19141 \x3d cljs.core.PersistentVector.EMPTY_NODE;\nvar inst_19142 \x3d [inst_19133,inst_19139__$1];\nvar inst_19143 \x3d (new cljs.core.PersistentVector(null,2,(5),inst_19141,inst_19142,null));\nvar state_19154__$1 \x3d (function (){var statearr_19183 \x3d state_19154;\n(statearr_19183[(8)] \x3d inst_19139__$1);\n\nreturn statearr_19183;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19154__$1,(8),jobs,inst_19143);\n} else {\nif((state_val_19155 \x3d\x3d\x3d (3))){\nvar inst_19152 \x3d (state_19154[(2)]);\nvar state_19154__$1 \x3d state_19154;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19154__$1,inst_19152);\n} else {\nif((state_val_19155 \x3d\x3d\x3d (2))){\nvar state_19154__$1 \x3d state_19154;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19154__$1,(4),from);\n} else {\nif((state_val_19155 \x3d\x3d\x3d (9))){\nvar inst_19147 \x3d (state_19154[(2)]);\nvar state_19154__$1 \x3d (function (){var statearr_19188 \x3d state_19154;\n(statearr_19188[(9)] \x3d inst_19147);\n\nreturn statearr_19188;\n})();\nvar statearr_19189_21975 \x3d state_19154__$1;\n(statearr_19189_21975[(2)] \x3d null);\n\n(statearr_19189_21975[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19155 \x3d\x3d\x3d (5))){\nvar inst_19137 \x3d cljs.core.async.close_BANG_(jobs);\nvar state_19154__$1 \x3d state_19154;\nvar statearr_19193_21976 \x3d state_19154__$1;\n(statearr_19193_21976[(2)] \x3d inst_19137);\n\n(statearr_19193_21976[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19155 \x3d\x3d\x3d (8))){\nvar inst_19139 \x3d (state_19154[(8)]);\nvar inst_19145 \x3d (state_19154[(2)]);\nvar state_19154__$1 \x3d (function (){var statearr_19196 \x3d state_19154;\n(statearr_19196[(10)] \x3d inst_19145);\n\nreturn statearr_19196;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19154__$1,(9),results,inst_19139);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_19200 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19200[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__);\n\n(statearr_19200[(1)] \x3d (1));\n\nreturn statearr_19200;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1 \x3d (function (state_19154){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19154);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e19201){var ex__18260__auto__ \x3d e19201;\nvar statearr_19203_21983 \x3d state_19154;\n(statearr_19203_21983[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19154[(4)]))){\nvar statearr_19204_21984 \x3d state_19154;\n(statearr_19204_21984[(1)] \x3d cljs.core.first((state_19154[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__21985 \x3d state_19154;\nstate_19154 \x3d G__21985;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d function(state_19154){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1.call(this,state_19154);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19214 \x3d f__18543__auto__();\n(statearr_19214[(6)] \x3d c__18542__auto___21962);\n\nreturn statearr_19214;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nvar c__18542__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_19261){\nvar state_val_19262 \x3d (state_19261[(1)]);\nif((state_val_19262 \x3d\x3d\x3d (7))){\nvar inst_19257 \x3d (state_19261[(2)]);\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19264_21989 \x3d state_19261__$1;\n(statearr_19264_21989[(2)] \x3d inst_19257);\n\n(statearr_19264_21989[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (20))){\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19265_21990 \x3d state_19261__$1;\n(statearr_19265_21990[(2)] \x3d null);\n\n(statearr_19265_21990[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (1))){\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19266_21991 \x3d state_19261__$1;\n(statearr_19266_21991[(2)] \x3d null);\n\n(statearr_19266_21991[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (4))){\nvar inst_19220 \x3d (state_19261[(7)]);\nvar inst_19220__$1 \x3d (state_19261[(2)]);\nvar inst_19221 \x3d (inst_19220__$1 \x3d\x3d null);\nvar state_19261__$1 \x3d (function (){var statearr_19273 \x3d state_19261;\n(statearr_19273[(7)] \x3d inst_19220__$1);\n\nreturn statearr_19273;\n})();\nif(cljs.core.truth_(inst_19221)){\nvar statearr_19278_21992 \x3d state_19261__$1;\n(statearr_19278_21992[(1)] \x3d (5));\n\n} else {\nvar statearr_19285_21993 \x3d state_19261__$1;\n(statearr_19285_21993[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (15))){\nvar inst_19233 \x3d (state_19261[(8)]);\nvar state_19261__$1 \x3d state_19261;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19261__$1,(18),to,inst_19233);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (21))){\nvar inst_19252 \x3d (state_19261[(2)]);\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19297_21994 \x3d state_19261__$1;\n(statearr_19297_21994[(2)] \x3d inst_19252);\n\n(statearr_19297_21994[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (13))){\nvar inst_19254 \x3d (state_19261[(2)]);\nvar state_19261__$1 \x3d (function (){var statearr_19298 \x3d state_19261;\n(statearr_19298[(9)] \x3d inst_19254);\n\nreturn statearr_19298;\n})();\nvar statearr_19299_21995 \x3d state_19261__$1;\n(statearr_19299_21995[(2)] \x3d null);\n\n(statearr_19299_21995[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (6))){\nvar inst_19220 \x3d (state_19261[(7)]);\nvar state_19261__$1 \x3d state_19261;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19261__$1,(11),inst_19220);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (17))){\nvar inst_19247 \x3d (state_19261[(2)]);\nvar state_19261__$1 \x3d state_19261;\nif(cljs.core.truth_(inst_19247)){\nvar statearr_19304_21996 \x3d state_19261__$1;\n(statearr_19304_21996[(1)] \x3d (19));\n\n} else {\nvar statearr_19305_21997 \x3d state_19261__$1;\n(statearr_19305_21997[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (3))){\nvar inst_19259 \x3d (state_19261[(2)]);\nvar state_19261__$1 \x3d state_19261;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19261__$1,inst_19259);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (12))){\nvar inst_19230 \x3d (state_19261[(10)]);\nvar state_19261__$1 \x3d state_19261;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19261__$1,(14),inst_19230);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (2))){\nvar state_19261__$1 \x3d state_19261;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19261__$1,(4),results);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (19))){\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19311_21998 \x3d state_19261__$1;\n(statearr_19311_21998[(2)] \x3d null);\n\n(statearr_19311_21998[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (11))){\nvar inst_19230 \x3d (state_19261[(2)]);\nvar state_19261__$1 \x3d (function (){var statearr_19314 \x3d state_19261;\n(statearr_19314[(10)] \x3d inst_19230);\n\nreturn statearr_19314;\n})();\nvar statearr_19315_21999 \x3d state_19261__$1;\n(statearr_19315_21999[(2)] \x3d null);\n\n(statearr_19315_21999[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (9))){\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19317_22000 \x3d state_19261__$1;\n(statearr_19317_22000[(2)] \x3d null);\n\n(statearr_19317_22000[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (5))){\nvar state_19261__$1 \x3d state_19261;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_19318_22001 \x3d state_19261__$1;\n(statearr_19318_22001[(1)] \x3d (8));\n\n} else {\nvar statearr_19319_22002 \x3d state_19261__$1;\n(statearr_19319_22002[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (14))){\nvar inst_19241 \x3d (state_19261[(11)]);\nvar inst_19233 \x3d (state_19261[(8)]);\nvar inst_19233__$1 \x3d (state_19261[(2)]);\nvar inst_19240 \x3d (inst_19233__$1 \x3d\x3d null);\nvar inst_19241__$1 \x3d cljs.core.not(inst_19240);\nvar state_19261__$1 \x3d (function (){var statearr_19320 \x3d state_19261;\n(statearr_19320[(11)] \x3d inst_19241__$1);\n\n(statearr_19320[(8)] \x3d inst_19233__$1);\n\nreturn statearr_19320;\n})();\nif(inst_19241__$1){\nvar statearr_19328_22003 \x3d state_19261__$1;\n(statearr_19328_22003[(1)] \x3d (15));\n\n} else {\nvar statearr_19334_22004 \x3d state_19261__$1;\n(statearr_19334_22004[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (16))){\nvar inst_19241 \x3d (state_19261[(11)]);\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19347_22005 \x3d state_19261__$1;\n(statearr_19347_22005[(2)] \x3d inst_19241);\n\n(statearr_19347_22005[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (10))){\nvar inst_19227 \x3d (state_19261[(2)]);\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19351_22006 \x3d state_19261__$1;\n(statearr_19351_22006[(2)] \x3d inst_19227);\n\n(statearr_19351_22006[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (18))){\nvar inst_19244 \x3d (state_19261[(2)]);\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19352_22007 \x3d state_19261__$1;\n(statearr_19352_22007[(2)] \x3d inst_19244);\n\n(statearr_19352_22007[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19262 \x3d\x3d\x3d (8))){\nvar inst_19224 \x3d cljs.core.async.close_BANG_(to);\nvar state_19261__$1 \x3d state_19261;\nvar statearr_19369_22009 \x3d state_19261__$1;\n(statearr_19369_22009[(2)] \x3d inst_19224);\n\n(statearr_19369_22009[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_19389 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_19389[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__);\n\n(statearr_19389[(1)] \x3d (1));\n\nreturn statearr_19389;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1 \x3d (function (state_19261){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19261);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e19404){var ex__18260__auto__ \x3d e19404;\nvar statearr_19405_22013 \x3d state_19261;\n(statearr_19405_22013[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19261[(4)]))){\nvar statearr_19406_22014 \x3d state_19261;\n(statearr_19406_22014[(1)] \x3d cljs.core.first((state_19261[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22016 \x3d state_19261;\nstate_19261 \x3d G__22016;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__ \x3d function(state_19261){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1.call(this,state_19261);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__18257__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19408 \x3d f__18543__auto__();\n(statearr_19408[(6)] \x3d c__18542__auto__);\n\nreturn statearr_19408;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\nreturn c__18542__auto__;\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel, subject to the async function af, with parallelism n. af\n * must be a function of two arguments, the first an input value and\n * the second a channel on which to place the result(s). The\n * presumption is that af will return immediately, having launched some\n * asynchronous operation whose completion/callback will put results on\n * the channel, then close! it. Outputs will be returned in order\n * relative to the inputs. By default, the to channel will be closed\n * when the from channel closes, but can be determined by the close?\n * parameter. Will stop consuming the from channel if the to channel\n * closes. See also pipeline, pipeline-blocking.\n */\ncljs.core.async.pipeline_async \x3d (function cljs$core$async$pipeline_async(var_args){\nvar G__19418 \x3d arguments.length;\nswitch (G__19418) {\ncase 4:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,af,from){\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5(n,to,af,from,true);\n}));\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,af,from,close_QMARK_){\nreturn cljs.core.async.pipeline_STAR_(n,to,af,from,close_QMARK_,null,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\n}));\n\n(cljs.core.async.pipeline_async.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel, subject to the transducer xf, with parallelism n. Because\n * it is parallel, the transducer will be applied independently to each\n * element, not across elements, and may produce zero or more outputs\n * per input. Outputs will be returned in order relative to the\n * inputs. By default, the to channel will be closed when the from\n * channel closes, but can be determined by the close? parameter. Will\n * stop consuming the from channel if the to channel closes.\n * \n * Note this is supplied for API compatibility with the Clojure version.\n * Values of N \x3e 1 will not result in actual concurrency in a\n * single-threaded runtime.\n */\ncljs.core.async.pipeline \x3d (function cljs$core$async$pipeline(var_args){\nvar G__19447 \x3d arguments.length;\nswitch (G__19447) {\ncase 4:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,xf,from){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5(n,to,xf,from,true);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,xf,from,close_QMARK_){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6(n,to,xf,from,close_QMARK_,null);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6 \x3d (function (n,to,xf,from,close_QMARK_,ex_handler){\nreturn cljs.core.async.pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,new cljs.core.Keyword(null,\x22compute\x22,\x22compute\x22,1555393130));\n}));\n\n(cljs.core.async.pipeline.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Takes a predicate and a source channel and returns a vector of two\n * channels, the first of which will contain the values for which the\n * predicate returned true, the second those for which it returned\n * false.\n * \n * The out channels will be unbuffered by default, or two buf-or-ns can\n * be supplied. The channels will close after the source channel has\n * closed.\n */\ncljs.core.async.split \x3d (function cljs$core$async$split(var_args){\nvar G__19459 \x3d arguments.length;\nswitch (G__19459) {\ncase 2:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4(p,ch,null,null);\n}));\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,ch,t_buf_or_n,f_buf_or_n){\nvar tc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(t_buf_or_n);\nvar fc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(f_buf_or_n);\nvar c__18542__auto___22027 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_19500){\nvar state_val_19501 \x3d (state_19500[(1)]);\nif((state_val_19501 \x3d\x3d\x3d (7))){\nvar inst_19496 \x3d (state_19500[(2)]);\nvar state_19500__$1 \x3d state_19500;\nvar statearr_19505_22032 \x3d state_19500__$1;\n(statearr_19505_22032[(2)] \x3d inst_19496);\n\n(statearr_19505_22032[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (1))){\nvar state_19500__$1 \x3d state_19500;\nvar statearr_19507_22036 \x3d state_19500__$1;\n(statearr_19507_22036[(2)] \x3d null);\n\n(statearr_19507_22036[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (4))){\nvar inst_19477 \x3d (state_19500[(7)]);\nvar inst_19477__$1 \x3d (state_19500[(2)]);\nvar inst_19478 \x3d (inst_19477__$1 \x3d\x3d null);\nvar state_19500__$1 \x3d (function (){var statearr_19511 \x3d state_19500;\n(statearr_19511[(7)] \x3d inst_19477__$1);\n\nreturn statearr_19511;\n})();\nif(cljs.core.truth_(inst_19478)){\nvar statearr_19512_22037 \x3d state_19500__$1;\n(statearr_19512_22037[(1)] \x3d (5));\n\n} else {\nvar statearr_19514_22038 \x3d state_19500__$1;\n(statearr_19514_22038[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (13))){\nvar state_19500__$1 \x3d state_19500;\nvar statearr_19515_22039 \x3d state_19500__$1;\n(statearr_19515_22039[(2)] \x3d null);\n\n(statearr_19515_22039[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (6))){\nvar inst_19477 \x3d (state_19500[(7)]);\nvar inst_19483 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_19477) : p.call(null,inst_19477));\nvar state_19500__$1 \x3d state_19500;\nif(cljs.core.truth_(inst_19483)){\nvar statearr_19517_22041 \x3d state_19500__$1;\n(statearr_19517_22041[(1)] \x3d (9));\n\n} else {\nvar statearr_19518_22042 \x3d state_19500__$1;\n(statearr_19518_22042[(1)] \x3d (10));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (3))){\nvar inst_19498 \x3d (state_19500[(2)]);\nvar state_19500__$1 \x3d state_19500;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19500__$1,inst_19498);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (12))){\nvar state_19500__$1 \x3d state_19500;\nvar statearr_19519_22048 \x3d state_19500__$1;\n(statearr_19519_22048[(2)] \x3d null);\n\n(statearr_19519_22048[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (2))){\nvar state_19500__$1 \x3d state_19500;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19500__$1,(4),ch);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (11))){\nvar inst_19477 \x3d (state_19500[(7)]);\nvar inst_19487 \x3d (state_19500[(2)]);\nvar state_19500__$1 \x3d state_19500;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19500__$1,(8),inst_19487,inst_19477);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (9))){\nvar state_19500__$1 \x3d state_19500;\nvar statearr_19520_22049 \x3d state_19500__$1;\n(statearr_19520_22049[(2)] \x3d tc);\n\n(statearr_19520_22049[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (5))){\nvar inst_19480 \x3d cljs.core.async.close_BANG_(tc);\nvar inst_19481 \x3d cljs.core.async.close_BANG_(fc);\nvar state_19500__$1 \x3d (function (){var statearr_19522 \x3d state_19500;\n(statearr_19522[(8)] \x3d inst_19480);\n\nreturn statearr_19522;\n})();\nvar statearr_19523_22050 \x3d state_19500__$1;\n(statearr_19523_22050[(2)] \x3d inst_19481);\n\n(statearr_19523_22050[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (14))){\nvar inst_19494 \x3d (state_19500[(2)]);\nvar state_19500__$1 \x3d state_19500;\nvar statearr_19524_22051 \x3d state_19500__$1;\n(statearr_19524_22051[(2)] \x3d inst_19494);\n\n(statearr_19524_22051[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (10))){\nvar state_19500__$1 \x3d state_19500;\nvar statearr_19525_22053 \x3d state_19500__$1;\n(statearr_19525_22053[(2)] \x3d fc);\n\n(statearr_19525_22053[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19501 \x3d\x3d\x3d (8))){\nvar inst_19489 \x3d (state_19500[(2)]);\nvar state_19500__$1 \x3d state_19500;\nif(cljs.core.truth_(inst_19489)){\nvar statearr_19527_22054 \x3d state_19500__$1;\n(statearr_19527_22054[(1)] \x3d (12));\n\n} else {\nvar statearr_19528_22055 \x3d state_19500__$1;\n(statearr_19528_22055[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_19533 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_19533[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_19533[(1)] \x3d (1));\n\nreturn statearr_19533;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_19500){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19500);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e19534){var ex__18260__auto__ \x3d e19534;\nvar statearr_19535_22059 \x3d state_19500;\n(statearr_19535_22059[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19500[(4)]))){\nvar statearr_19536_22060 \x3d state_19500;\n(statearr_19536_22060[(1)] \x3d cljs.core.first((state_19500[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22061 \x3d state_19500;\nstate_19500 \x3d G__22061;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_19500){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_19500);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19537 \x3d f__18543__auto__();\n(statearr_19537[(6)] \x3d c__18542__auto___22027);\n\nreturn statearr_19537;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [tc,fc], null);\n}));\n\n(cljs.core.async.split.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * f should be a function of 2 arguments. Returns a channel containing\n * the single result of applying f to init and the first item from the\n * channel, then applying f to that result and the 2nd item, etc. If\n * the channel closes without yielding items, returns init and f is not\n * called. ch must close before reduce produces a result.\n */\ncljs.core.async.reduce \x3d (function cljs$core$async$reduce(f,init,ch){\nvar c__18542__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_19562){\nvar state_val_19563 \x3d (state_19562[(1)]);\nif((state_val_19563 \x3d\x3d\x3d (7))){\nvar inst_19558 \x3d (state_19562[(2)]);\nvar state_19562__$1 \x3d state_19562;\nvar statearr_19565_22062 \x3d state_19562__$1;\n(statearr_19565_22062[(2)] \x3d inst_19558);\n\n(statearr_19565_22062[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19563 \x3d\x3d\x3d (1))){\nvar inst_19540 \x3d init;\nvar inst_19541 \x3d inst_19540;\nvar state_19562__$1 \x3d (function (){var statearr_19569 \x3d state_19562;\n(statearr_19569[(7)] \x3d inst_19541);\n\nreturn statearr_19569;\n})();\nvar statearr_19570_22063 \x3d state_19562__$1;\n(statearr_19570_22063[(2)] \x3d null);\n\n(statearr_19570_22063[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19563 \x3d\x3d\x3d (4))){\nvar inst_19545 \x3d (state_19562[(8)]);\nvar inst_19545__$1 \x3d (state_19562[(2)]);\nvar inst_19546 \x3d (inst_19545__$1 \x3d\x3d null);\nvar state_19562__$1 \x3d (function (){var statearr_19572 \x3d state_19562;\n(statearr_19572[(8)] \x3d inst_19545__$1);\n\nreturn statearr_19572;\n})();\nif(cljs.core.truth_(inst_19546)){\nvar statearr_19573_22064 \x3d state_19562__$1;\n(statearr_19573_22064[(1)] \x3d (5));\n\n} else {\nvar statearr_19574_22065 \x3d state_19562__$1;\n(statearr_19574_22065[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19563 \x3d\x3d\x3d (6))){\nvar inst_19541 \x3d (state_19562[(7)]);\nvar inst_19549 \x3d (state_19562[(9)]);\nvar inst_19545 \x3d (state_19562[(8)]);\nvar inst_19549__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(inst_19541,inst_19545) : f.call(null,inst_19541,inst_19545));\nvar inst_19550 \x3d cljs.core.reduced_QMARK_(inst_19549__$1);\nvar state_19562__$1 \x3d (function (){var statearr_19576 \x3d state_19562;\n(statearr_19576[(9)] \x3d inst_19549__$1);\n\nreturn statearr_19576;\n})();\nif(inst_19550){\nvar statearr_19577_22066 \x3d state_19562__$1;\n(statearr_19577_22066[(1)] \x3d (8));\n\n} else {\nvar statearr_19578_22067 \x3d state_19562__$1;\n(statearr_19578_22067[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19563 \x3d\x3d\x3d (3))){\nvar inst_19560 \x3d (state_19562[(2)]);\nvar state_19562__$1 \x3d state_19562;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19562__$1,inst_19560);\n} else {\nif((state_val_19563 \x3d\x3d\x3d (2))){\nvar state_19562__$1 \x3d state_19562;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19562__$1,(4),ch);\n} else {\nif((state_val_19563 \x3d\x3d\x3d (9))){\nvar inst_19549 \x3d (state_19562[(9)]);\nvar inst_19541 \x3d inst_19549;\nvar state_19562__$1 \x3d (function (){var statearr_19590 \x3d state_19562;\n(statearr_19590[(7)] \x3d inst_19541);\n\nreturn statearr_19590;\n})();\nvar statearr_19593_22071 \x3d state_19562__$1;\n(statearr_19593_22071[(2)] \x3d null);\n\n(statearr_19593_22071[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19563 \x3d\x3d\x3d (5))){\nvar inst_19541 \x3d (state_19562[(7)]);\nvar state_19562__$1 \x3d state_19562;\nvar statearr_19600_22072 \x3d state_19562__$1;\n(statearr_19600_22072[(2)] \x3d inst_19541);\n\n(statearr_19600_22072[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19563 \x3d\x3d\x3d (10))){\nvar inst_19556 \x3d (state_19562[(2)]);\nvar state_19562__$1 \x3d state_19562;\nvar statearr_19601_22073 \x3d state_19562__$1;\n(statearr_19601_22073[(2)] \x3d inst_19556);\n\n(statearr_19601_22073[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19563 \x3d\x3d\x3d (8))){\nvar inst_19549 \x3d (state_19562[(9)]);\nvar inst_19552 \x3d cljs.core.deref(inst_19549);\nvar state_19562__$1 \x3d state_19562;\nvar statearr_19602_22074 \x3d state_19562__$1;\n(statearr_19602_22074[(2)] \x3d inst_19552);\n\n(statearr_19602_22074[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$reduce_$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$reduce_$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_19603 \x3d [null,null,null,null,null,null,null,null,null,null];\n(statearr_19603[(0)] \x3d cljs$core$async$reduce_$_state_machine__18257__auto__);\n\n(statearr_19603[(1)] \x3d (1));\n\nreturn statearr_19603;\n});\nvar cljs$core$async$reduce_$_state_machine__18257__auto____1 \x3d (function (state_19562){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19562);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e19604){var ex__18260__auto__ \x3d e19604;\nvar statearr_19605_22076 \x3d state_19562;\n(statearr_19605_22076[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19562[(4)]))){\nvar statearr_19606_22077 \x3d state_19562;\n(statearr_19606_22077[(1)] \x3d cljs.core.first((state_19562[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22078 \x3d state_19562;\nstate_19562 \x3d G__22078;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$reduce_$_state_machine__18257__auto__ \x3d function(state_19562){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$reduce_$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$reduce_$_state_machine__18257__auto____1.call(this,state_19562);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$reduce_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$reduce_$_state_machine__18257__auto____0;\ncljs$core$async$reduce_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$reduce_$_state_machine__18257__auto____1;\nreturn cljs$core$async$reduce_$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19607 \x3d f__18543__auto__();\n(statearr_19607[(6)] \x3d c__18542__auto__);\n\nreturn statearr_19607;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\nreturn c__18542__auto__;\n});\n/**\n * async/reduces a channel with a transformation (xform f).\n * Returns a channel containing the result. ch must close before\n * transduce produces a result.\n */\ncljs.core.async.transduce \x3d (function cljs$core$async$transduce(xform,f,init,ch){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar c__18542__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_19613){\nvar state_val_19614 \x3d (state_19613[(1)]);\nif((state_val_19614 \x3d\x3d\x3d (1))){\nvar inst_19608 \x3d cljs.core.async.reduce(f__$1,init,ch);\nvar state_19613__$1 \x3d state_19613;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19613__$1,(2),inst_19608);\n} else {\nif((state_val_19614 \x3d\x3d\x3d (2))){\nvar inst_19610 \x3d (state_19613[(2)]);\nvar inst_19611 \x3d (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(inst_19610) : f__$1.call(null,inst_19610));\nvar state_19613__$1 \x3d state_19613;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19613__$1,inst_19611);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$transduce_$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$transduce_$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_19615 \x3d [null,null,null,null,null,null,null];\n(statearr_19615[(0)] \x3d cljs$core$async$transduce_$_state_machine__18257__auto__);\n\n(statearr_19615[(1)] \x3d (1));\n\nreturn statearr_19615;\n});\nvar cljs$core$async$transduce_$_state_machine__18257__auto____1 \x3d (function (state_19613){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19613);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e19616){var ex__18260__auto__ \x3d e19616;\nvar statearr_19617_22082 \x3d state_19613;\n(statearr_19617_22082[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19613[(4)]))){\nvar statearr_19618_22084 \x3d state_19613;\n(statearr_19618_22084[(1)] \x3d cljs.core.first((state_19613[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22085 \x3d state_19613;\nstate_19613 \x3d G__22085;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$transduce_$_state_machine__18257__auto__ \x3d function(state_19613){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$transduce_$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$transduce_$_state_machine__18257__auto____1.call(this,state_19613);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$transduce_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$transduce_$_state_machine__18257__auto____0;\ncljs$core$async$transduce_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$transduce_$_state_machine__18257__auto____1;\nreturn cljs$core$async$transduce_$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19619 \x3d f__18543__auto__();\n(statearr_19619[(6)] \x3d c__18542__auto__);\n\nreturn statearr_19619;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\nreturn c__18542__auto__;\n});\n/**\n * Puts the contents of coll into the supplied channel.\n * \n * By default the channel will be closed after the items are copied,\n * but can be determined by the close? parameter.\n * \n * Returns a channel which will close after the items are copied.\n */\ncljs.core.async.onto_chan_BANG_ \x3d (function cljs$core$async$onto_chan_BANG_(var_args){\nvar G__19622 \x3d arguments.length;\nswitch (G__19622) {\ncase 2:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nvar c__18542__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_19648){\nvar state_val_19649 \x3d (state_19648[(1)]);\nif((state_val_19649 \x3d\x3d\x3d (7))){\nvar inst_19629 \x3d (state_19648[(2)]);\nvar state_19648__$1 \x3d state_19648;\nvar statearr_19655_22094 \x3d state_19648__$1;\n(statearr_19655_22094[(2)] \x3d inst_19629);\n\n(statearr_19655_22094[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (1))){\nvar inst_19623 \x3d cljs.core.seq(coll);\nvar inst_19624 \x3d inst_19623;\nvar state_19648__$1 \x3d (function (){var statearr_19657 \x3d state_19648;\n(statearr_19657[(7)] \x3d inst_19624);\n\nreturn statearr_19657;\n})();\nvar statearr_19658_22095 \x3d state_19648__$1;\n(statearr_19658_22095[(2)] \x3d null);\n\n(statearr_19658_22095[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (4))){\nvar inst_19624 \x3d (state_19648[(7)]);\nvar inst_19627 \x3d cljs.core.first(inst_19624);\nvar state_19648__$1 \x3d state_19648;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_19648__$1,(7),ch,inst_19627);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (13))){\nvar inst_19642 \x3d (state_19648[(2)]);\nvar state_19648__$1 \x3d state_19648;\nvar statearr_19661_22096 \x3d state_19648__$1;\n(statearr_19661_22096[(2)] \x3d inst_19642);\n\n(statearr_19661_22096[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (6))){\nvar inst_19632 \x3d (state_19648[(2)]);\nvar state_19648__$1 \x3d state_19648;\nif(cljs.core.truth_(inst_19632)){\nvar statearr_19662_22097 \x3d state_19648__$1;\n(statearr_19662_22097[(1)] \x3d (8));\n\n} else {\nvar statearr_19663_22098 \x3d state_19648__$1;\n(statearr_19663_22098[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (3))){\nvar inst_19646 \x3d (state_19648[(2)]);\nvar state_19648__$1 \x3d state_19648;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19648__$1,inst_19646);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (12))){\nvar state_19648__$1 \x3d state_19648;\nvar statearr_19664_22100 \x3d state_19648__$1;\n(statearr_19664_22100[(2)] \x3d null);\n\n(statearr_19664_22100[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (2))){\nvar inst_19624 \x3d (state_19648[(7)]);\nvar state_19648__$1 \x3d state_19648;\nif(cljs.core.truth_(inst_19624)){\nvar statearr_19665_22101 \x3d state_19648__$1;\n(statearr_19665_22101[(1)] \x3d (4));\n\n} else {\nvar statearr_19666_22102 \x3d state_19648__$1;\n(statearr_19666_22102[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (11))){\nvar inst_19639 \x3d cljs.core.async.close_BANG_(ch);\nvar state_19648__$1 \x3d state_19648;\nvar statearr_19667_22103 \x3d state_19648__$1;\n(statearr_19667_22103[(2)] \x3d inst_19639);\n\n(statearr_19667_22103[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (9))){\nvar state_19648__$1 \x3d state_19648;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_19668_22104 \x3d state_19648__$1;\n(statearr_19668_22104[(1)] \x3d (11));\n\n} else {\nvar statearr_19669_22105 \x3d state_19648__$1;\n(statearr_19669_22105[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (5))){\nvar inst_19624 \x3d (state_19648[(7)]);\nvar state_19648__$1 \x3d state_19648;\nvar statearr_19671_22106 \x3d state_19648__$1;\n(statearr_19671_22106[(2)] \x3d inst_19624);\n\n(statearr_19671_22106[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (10))){\nvar inst_19644 \x3d (state_19648[(2)]);\nvar state_19648__$1 \x3d state_19648;\nvar statearr_19672_22108 \x3d state_19648__$1;\n(statearr_19672_22108[(2)] \x3d inst_19644);\n\n(statearr_19672_22108[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19649 \x3d\x3d\x3d (8))){\nvar inst_19624 \x3d (state_19648[(7)]);\nvar inst_19634 \x3d cljs.core.next(inst_19624);\nvar inst_19624__$1 \x3d inst_19634;\nvar state_19648__$1 \x3d (function (){var statearr_19673 \x3d state_19648;\n(statearr_19673[(7)] \x3d inst_19624__$1);\n\nreturn statearr_19673;\n})();\nvar statearr_19674_22109 \x3d state_19648__$1;\n(statearr_19674_22109[(2)] \x3d null);\n\n(statearr_19674_22109[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_19675 \x3d [null,null,null,null,null,null,null,null];\n(statearr_19675[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_19675[(1)] \x3d (1));\n\nreturn statearr_19675;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_19648){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19648);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e19676){var ex__18260__auto__ \x3d e19676;\nvar statearr_19677_22111 \x3d state_19648;\n(statearr_19677_22111[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19648[(4)]))){\nvar statearr_19678_22112 \x3d state_19648;\n(statearr_19678_22112[(1)] \x3d cljs.core.first((state_19648[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22113 \x3d state_19648;\nstate_19648 \x3d G__22113;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_19648){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_19648);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_19679 \x3d f__18543__auto__();\n(statearr_19679[(6)] \x3d c__18542__auto__);\n\nreturn statearr_19679;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\nreturn c__18542__auto__;\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates and returns a channel which contains the contents of coll,\n * closing when exhausted.\n */\ncljs.core.async.to_chan_BANG_ \x3d (function cljs$core$async$to_chan_BANG_(coll){\nvar ch \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.bounded_count((100),coll));\ncljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2(ch,coll);\n\nreturn ch;\n});\n/**\n * Deprecated - use onto-chan!\n */\ncljs.core.async.onto_chan \x3d (function cljs$core$async$onto_chan(var_args){\nvar G__19681 \x3d arguments.length;\nswitch (G__19681) {\ncase 2:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,close_QMARK_);\n}));\n\n(cljs.core.async.onto_chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - use to-chan!\n */\ncljs.core.async.to_chan \x3d (function cljs$core$async$to_chan(coll){\nreturn cljs.core.async.to_chan_BANG_(coll);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mux \x3d function(){};\n\nvar cljs$core$async$Mux$muxch_STAR_$dyn_22115 \x3d (function (_){\nvar x__5393__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5394__auto__ \x3d (cljs.core.async.muxch_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5394__auto__.call(null,_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.muxch_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5392__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mux.muxch*\x22,_);\n}\n}\n});\ncljs.core.async.muxch_STAR_ \x3d (function cljs$core$async$muxch_STAR_(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$core$async$Mux$muxch_STAR_$arity$1(_);\n} else {\nreturn cljs$core$async$Mux$muxch_STAR_$dyn_22115(_);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.Mult \x3d function(){};\n\nvar cljs$core$async$Mult$tap_STAR_$dyn_22116 \x3d (function (m,ch,close_QMARK_){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.tap_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5394__auto__.call(null,m,ch,close_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.tap_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5392__auto__.call(null,m,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.tap*\x22,m);\n}\n}\n});\ncljs.core.async.tap_STAR_ \x3d (function cljs$core$async$tap_STAR_(m,ch,close_QMARK_){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$tap_STAR_$arity$3(m,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Mult$tap_STAR_$dyn_22116(m,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Mult$untap_STAR_$dyn_22118 \x3d (function (m,ch){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.untap_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.untap_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap*\x22,m);\n}\n}\n});\ncljs.core.async.untap_STAR_ \x3d (function cljs$core$async$untap_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mult$untap_STAR_$dyn_22118(m,ch);\n}\n});\n\nvar cljs$core$async$Mult$untap_all_STAR_$dyn_22119 \x3d (function (m){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.untap_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5394__auto__.call(null,m));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.untap_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5392__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap-all*\x22,m);\n}\n}\n});\ncljs.core.async.untap_all_STAR_ \x3d (function cljs$core$async$untap_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mult$untap_all_STAR_$dyn_22119(m);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.Mult}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async19727 \x3d (function (ch,cs,meta19728){\nthis.ch \x3d ch;\nthis.cs \x3d cs;\nthis.meta19728 \x3d meta19728;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async19727.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19729,meta19728__$1){\nvar self__ \x3d this;\nvar _19729__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async19727(self__.ch,self__.cs,meta19728__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async19727.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19729){\nvar self__ \x3d this;\nvar _19729__$1 \x3d this;\nreturn self__.meta19728;\n}));\n\n(cljs.core.async.t_cljs$core$async19727.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19727.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async19727.prototype.cljs$core$async$Mult$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async19727.prototype.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d (function (_,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch__$1,close_QMARK_);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async19727.prototype.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d (function (_,ch__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch__$1);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async19727.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async19727.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22meta19728\x22,\x22meta19728\x22,-69147552,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async19727.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async19727.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async19727\x22);\n\n(cljs.core.async.t_cljs$core$async19727.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async19727\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async19727.\n */\ncljs.core.async.__GT_t_cljs$core$async19727 \x3d (function cljs$core$async$__GT_t_cljs$core$async19727(ch,cs,meta19728){\nreturn (new cljs.core.async.t_cljs$core$async19727(ch,cs,meta19728));\n});\n\n\n/**\n * Creates and returns a mult(iple) of the supplied channel. Channels\n * containing copies of the channel can be created with \x27tap\x27, and\n * detached with \x27untap\x27.\n * \n * Each item is distributed to all taps in parallel and synchronously,\n * i.e. each tap must accept before the next item is distributed. Use\n * buffering/windowing to prevent slow taps from holding up the mult.\n * \n * Items received when there are no taps get dropped.\n * \n * If a tap puts to a closed channel, it will be removed from the mult.\n */\ncljs.core.async.mult \x3d (function cljs$core$async$mult(ch){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar m \x3d (new cljs.core.async.t_cljs$core$async19727(ch,cs,cljs.core.PersistentArrayMap.EMPTY));\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d (function (_){\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,true);\n} else {\nreturn null;\n}\n});\nvar c__18542__auto___22123 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_19896){\nvar state_val_19897 \x3d (state_19896[(1)]);\nif((state_val_19897 \x3d\x3d\x3d (7))){\nvar inst_19892 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19902_22124 \x3d state_19896__$1;\n(statearr_19902_22124[(2)] \x3d inst_19892);\n\n(statearr_19902_22124[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (20))){\nvar inst_19793 \x3d (state_19896[(7)]);\nvar inst_19806 \x3d cljs.core.first(inst_19793);\nvar inst_19807 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_19806,(0),null);\nvar inst_19808 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_19806,(1),null);\nvar state_19896__$1 \x3d (function (){var statearr_19911 \x3d state_19896;\n(statearr_19911[(8)] \x3d inst_19807);\n\nreturn statearr_19911;\n})();\nif(cljs.core.truth_(inst_19808)){\nvar statearr_19912_22126 \x3d state_19896__$1;\n(statearr_19912_22126[(1)] \x3d (22));\n\n} else {\nvar statearr_19913_22127 \x3d state_19896__$1;\n(statearr_19913_22127[(1)] \x3d (23));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (27))){\nvar inst_19755 \x3d (state_19896[(9)]);\nvar inst_19844 \x3d (state_19896[(10)]);\nvar inst_19837 \x3d (state_19896[(11)]);\nvar inst_19839 \x3d (state_19896[(12)]);\nvar inst_19844__$1 \x3d cljs.core._nth(inst_19837,inst_19839);\nvar inst_19845 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_19844__$1,inst_19755,done);\nvar state_19896__$1 \x3d (function (){var statearr_19917 \x3d state_19896;\n(statearr_19917[(10)] \x3d inst_19844__$1);\n\nreturn statearr_19917;\n})();\nif(cljs.core.truth_(inst_19845)){\nvar statearr_19918_22129 \x3d state_19896__$1;\n(statearr_19918_22129[(1)] \x3d (30));\n\n} else {\nvar statearr_19920_22130 \x3d state_19896__$1;\n(statearr_19920_22130[(1)] \x3d (31));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (1))){\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19921_22131 \x3d state_19896__$1;\n(statearr_19921_22131[(2)] \x3d null);\n\n(statearr_19921_22131[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (24))){\nvar inst_19793 \x3d (state_19896[(7)]);\nvar inst_19813 \x3d (state_19896[(2)]);\nvar inst_19814 \x3d cljs.core.next(inst_19793);\nvar inst_19767 \x3d inst_19814;\nvar inst_19768 \x3d null;\nvar inst_19769 \x3d (0);\nvar inst_19770 \x3d (0);\nvar state_19896__$1 \x3d (function (){var statearr_19923 \x3d state_19896;\n(statearr_19923[(13)] \x3d inst_19768);\n\n(statearr_19923[(14)] \x3d inst_19769);\n\n(statearr_19923[(15)] \x3d inst_19767);\n\n(statearr_19923[(16)] \x3d inst_19770);\n\n(statearr_19923[(17)] \x3d inst_19813);\n\nreturn statearr_19923;\n})();\nvar statearr_19926_22132 \x3d state_19896__$1;\n(statearr_19926_22132[(2)] \x3d null);\n\n(statearr_19926_22132[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (39))){\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19933_22133 \x3d state_19896__$1;\n(statearr_19933_22133[(2)] \x3d null);\n\n(statearr_19933_22133[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (4))){\nvar inst_19755 \x3d (state_19896[(9)]);\nvar inst_19755__$1 \x3d (state_19896[(2)]);\nvar inst_19756 \x3d (inst_19755__$1 \x3d\x3d null);\nvar state_19896__$1 \x3d (function (){var statearr_19934 \x3d state_19896;\n(statearr_19934[(9)] \x3d inst_19755__$1);\n\nreturn statearr_19934;\n})();\nif(cljs.core.truth_(inst_19756)){\nvar statearr_19935_22134 \x3d state_19896__$1;\n(statearr_19935_22134[(1)] \x3d (5));\n\n} else {\nvar statearr_19936_22135 \x3d state_19896__$1;\n(statearr_19936_22135[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (15))){\nvar inst_19768 \x3d (state_19896[(13)]);\nvar inst_19769 \x3d (state_19896[(14)]);\nvar inst_19767 \x3d (state_19896[(15)]);\nvar inst_19770 \x3d (state_19896[(16)]);\nvar inst_19788 \x3d (state_19896[(2)]);\nvar inst_19789 \x3d (inst_19770 + (1));\nvar tmp19929 \x3d inst_19768;\nvar tmp19930 \x3d inst_19769;\nvar tmp19931 \x3d inst_19767;\nvar inst_19767__$1 \x3d tmp19931;\nvar inst_19768__$1 \x3d tmp19929;\nvar inst_19769__$1 \x3d tmp19930;\nvar inst_19770__$1 \x3d inst_19789;\nvar state_19896__$1 \x3d (function (){var statearr_19940 \x3d state_19896;\n(statearr_19940[(18)] \x3d inst_19788);\n\n(statearr_19940[(13)] \x3d inst_19768__$1);\n\n(statearr_19940[(14)] \x3d inst_19769__$1);\n\n(statearr_19940[(15)] \x3d inst_19767__$1);\n\n(statearr_19940[(16)] \x3d inst_19770__$1);\n\nreturn statearr_19940;\n})();\nvar statearr_19941_22136 \x3d state_19896__$1;\n(statearr_19941_22136[(2)] \x3d null);\n\n(statearr_19941_22136[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (21))){\nvar inst_19817 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19945_22137 \x3d state_19896__$1;\n(statearr_19945_22137[(2)] \x3d inst_19817);\n\n(statearr_19945_22137[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (31))){\nvar inst_19844 \x3d (state_19896[(10)]);\nvar inst_19848 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_19844);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19948_22142 \x3d state_19896__$1;\n(statearr_19948_22142[(2)] \x3d inst_19848);\n\n(statearr_19948_22142[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (32))){\nvar inst_19838 \x3d (state_19896[(19)]);\nvar inst_19836 \x3d (state_19896[(20)]);\nvar inst_19837 \x3d (state_19896[(11)]);\nvar inst_19839 \x3d (state_19896[(12)]);\nvar inst_19850 \x3d (state_19896[(2)]);\nvar inst_19852 \x3d (inst_19839 + (1));\nvar tmp19942 \x3d inst_19838;\nvar tmp19943 \x3d inst_19836;\nvar tmp19944 \x3d inst_19837;\nvar inst_19836__$1 \x3d tmp19943;\nvar inst_19837__$1 \x3d tmp19944;\nvar inst_19838__$1 \x3d tmp19942;\nvar inst_19839__$1 \x3d inst_19852;\nvar state_19896__$1 \x3d (function (){var statearr_19958 \x3d state_19896;\n(statearr_19958[(21)] \x3d inst_19850);\n\n(statearr_19958[(19)] \x3d inst_19838__$1);\n\n(statearr_19958[(20)] \x3d inst_19836__$1);\n\n(statearr_19958[(11)] \x3d inst_19837__$1);\n\n(statearr_19958[(12)] \x3d inst_19839__$1);\n\nreturn statearr_19958;\n})();\nvar statearr_19961_22146 \x3d state_19896__$1;\n(statearr_19961_22146[(2)] \x3d null);\n\n(statearr_19961_22146[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (40))){\nvar inst_19864 \x3d (state_19896[(22)]);\nvar inst_19869 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_19864);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19962_22147 \x3d state_19896__$1;\n(statearr_19962_22147[(2)] \x3d inst_19869);\n\n(statearr_19962_22147[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (33))){\nvar inst_19855 \x3d (state_19896[(23)]);\nvar inst_19857 \x3d cljs.core.chunked_seq_QMARK_(inst_19855);\nvar state_19896__$1 \x3d state_19896;\nif(inst_19857){\nvar statearr_19966_22149 \x3d state_19896__$1;\n(statearr_19966_22149[(1)] \x3d (36));\n\n} else {\nvar statearr_19969_22150 \x3d state_19896__$1;\n(statearr_19969_22150[(1)] \x3d (37));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (13))){\nvar inst_19779 \x3d (state_19896[(24)]);\nvar inst_19785 \x3d cljs.core.async.close_BANG_(inst_19779);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19973_22152 \x3d state_19896__$1;\n(statearr_19973_22152[(2)] \x3d inst_19785);\n\n(statearr_19973_22152[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (22))){\nvar inst_19807 \x3d (state_19896[(8)]);\nvar inst_19810 \x3d cljs.core.async.close_BANG_(inst_19807);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19974_22153 \x3d state_19896__$1;\n(statearr_19974_22153[(2)] \x3d inst_19810);\n\n(statearr_19974_22153[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (36))){\nvar inst_19855 \x3d (state_19896[(23)]);\nvar inst_19859 \x3d cljs.core.chunk_first(inst_19855);\nvar inst_19860 \x3d cljs.core.chunk_rest(inst_19855);\nvar inst_19861 \x3d cljs.core.count(inst_19859);\nvar inst_19836 \x3d inst_19860;\nvar inst_19837 \x3d inst_19859;\nvar inst_19838 \x3d inst_19861;\nvar inst_19839 \x3d (0);\nvar state_19896__$1 \x3d (function (){var statearr_19975 \x3d state_19896;\n(statearr_19975[(19)] \x3d inst_19838);\n\n(statearr_19975[(20)] \x3d inst_19836);\n\n(statearr_19975[(11)] \x3d inst_19837);\n\n(statearr_19975[(12)] \x3d inst_19839);\n\nreturn statearr_19975;\n})();\nvar statearr_19976_22154 \x3d state_19896__$1;\n(statearr_19976_22154[(2)] \x3d null);\n\n(statearr_19976_22154[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (41))){\nvar inst_19855 \x3d (state_19896[(23)]);\nvar inst_19871 \x3d (state_19896[(2)]);\nvar inst_19872 \x3d cljs.core.next(inst_19855);\nvar inst_19836 \x3d inst_19872;\nvar inst_19837 \x3d null;\nvar inst_19838 \x3d (0);\nvar inst_19839 \x3d (0);\nvar state_19896__$1 \x3d (function (){var statearr_19983 \x3d state_19896;\n(statearr_19983[(19)] \x3d inst_19838);\n\n(statearr_19983[(20)] \x3d inst_19836);\n\n(statearr_19983[(11)] \x3d inst_19837);\n\n(statearr_19983[(25)] \x3d inst_19871);\n\n(statearr_19983[(12)] \x3d inst_19839);\n\nreturn statearr_19983;\n})();\nvar statearr_19988_22155 \x3d state_19896__$1;\n(statearr_19988_22155[(2)] \x3d null);\n\n(statearr_19988_22155[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (43))){\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19989_22156 \x3d state_19896__$1;\n(statearr_19989_22156[(2)] \x3d null);\n\n(statearr_19989_22156[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (29))){\nvar inst_19880 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_19990_22157 \x3d state_19896__$1;\n(statearr_19990_22157[(2)] \x3d inst_19880);\n\n(statearr_19990_22157[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (44))){\nvar inst_19889 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d (function (){var statearr_19991 \x3d state_19896;\n(statearr_19991[(26)] \x3d inst_19889);\n\nreturn statearr_19991;\n})();\nvar statearr_19993_22158 \x3d state_19896__$1;\n(statearr_19993_22158[(2)] \x3d null);\n\n(statearr_19993_22158[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (6))){\nvar inst_19827 \x3d (state_19896[(27)]);\nvar inst_19826 \x3d cljs.core.deref(cs);\nvar inst_19827__$1 \x3d cljs.core.keys(inst_19826);\nvar inst_19828 \x3d cljs.core.count(inst_19827__$1);\nvar inst_19829 \x3d cljs.core.reset_BANG_(dctr,inst_19828);\nvar inst_19835 \x3d cljs.core.seq(inst_19827__$1);\nvar inst_19836 \x3d inst_19835;\nvar inst_19837 \x3d null;\nvar inst_19838 \x3d (0);\nvar inst_19839 \x3d (0);\nvar state_19896__$1 \x3d (function (){var statearr_19995 \x3d state_19896;\n(statearr_19995[(28)] \x3d inst_19829);\n\n(statearr_19995[(19)] \x3d inst_19838);\n\n(statearr_19995[(20)] \x3d inst_19836);\n\n(statearr_19995[(11)] \x3d inst_19837);\n\n(statearr_19995[(27)] \x3d inst_19827__$1);\n\n(statearr_19995[(12)] \x3d inst_19839);\n\nreturn statearr_19995;\n})();\nvar statearr_19997_22161 \x3d state_19896__$1;\n(statearr_19997_22161[(2)] \x3d null);\n\n(statearr_19997_22161[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (28))){\nvar inst_19836 \x3d (state_19896[(20)]);\nvar inst_19855 \x3d (state_19896[(23)]);\nvar inst_19855__$1 \x3d cljs.core.seq(inst_19836);\nvar state_19896__$1 \x3d (function (){var statearr_19999 \x3d state_19896;\n(statearr_19999[(23)] \x3d inst_19855__$1);\n\nreturn statearr_19999;\n})();\nif(inst_19855__$1){\nvar statearr_20001_22163 \x3d state_19896__$1;\n(statearr_20001_22163[(1)] \x3d (33));\n\n} else {\nvar statearr_20002_22164 \x3d state_19896__$1;\n(statearr_20002_22164[(1)] \x3d (34));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (25))){\nvar inst_19838 \x3d (state_19896[(19)]);\nvar inst_19839 \x3d (state_19896[(12)]);\nvar inst_19841 \x3d (inst_19839 \x3c inst_19838);\nvar inst_19842 \x3d inst_19841;\nvar state_19896__$1 \x3d state_19896;\nif(cljs.core.truth_(inst_19842)){\nvar statearr_20004_22168 \x3d state_19896__$1;\n(statearr_20004_22168[(1)] \x3d (27));\n\n} else {\nvar statearr_20005_22169 \x3d state_19896__$1;\n(statearr_20005_22169[(1)] \x3d (28));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (34))){\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20007_22170 \x3d state_19896__$1;\n(statearr_20007_22170[(2)] \x3d null);\n\n(statearr_20007_22170[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (17))){\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20011_22171 \x3d state_19896__$1;\n(statearr_20011_22171[(2)] \x3d null);\n\n(statearr_20011_22171[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (3))){\nvar inst_19894 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_19896__$1,inst_19894);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (12))){\nvar inst_19822 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20013_22172 \x3d state_19896__$1;\n(statearr_20013_22172[(2)] \x3d inst_19822);\n\n(statearr_20013_22172[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (2))){\nvar state_19896__$1 \x3d state_19896;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19896__$1,(4),ch);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (23))){\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20014_22173 \x3d state_19896__$1;\n(statearr_20014_22173[(2)] \x3d null);\n\n(statearr_20014_22173[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (35))){\nvar inst_19878 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20018_22174 \x3d state_19896__$1;\n(statearr_20018_22174[(2)] \x3d inst_19878);\n\n(statearr_20018_22174[(1)] \x3d (29));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (19))){\nvar inst_19793 \x3d (state_19896[(7)]);\nvar inst_19797 \x3d cljs.core.chunk_first(inst_19793);\nvar inst_19798 \x3d cljs.core.chunk_rest(inst_19793);\nvar inst_19799 \x3d cljs.core.count(inst_19797);\nvar inst_19767 \x3d inst_19798;\nvar inst_19768 \x3d inst_19797;\nvar inst_19769 \x3d inst_19799;\nvar inst_19770 \x3d (0);\nvar state_19896__$1 \x3d (function (){var statearr_20020 \x3d state_19896;\n(statearr_20020[(13)] \x3d inst_19768);\n\n(statearr_20020[(14)] \x3d inst_19769);\n\n(statearr_20020[(15)] \x3d inst_19767);\n\n(statearr_20020[(16)] \x3d inst_19770);\n\nreturn statearr_20020;\n})();\nvar statearr_20021_22175 \x3d state_19896__$1;\n(statearr_20021_22175[(2)] \x3d null);\n\n(statearr_20021_22175[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (11))){\nvar inst_19793 \x3d (state_19896[(7)]);\nvar inst_19767 \x3d (state_19896[(15)]);\nvar inst_19793__$1 \x3d cljs.core.seq(inst_19767);\nvar state_19896__$1 \x3d (function (){var statearr_20023 \x3d state_19896;\n(statearr_20023[(7)] \x3d inst_19793__$1);\n\nreturn statearr_20023;\n})();\nif(inst_19793__$1){\nvar statearr_20026_22176 \x3d state_19896__$1;\n(statearr_20026_22176[(1)] \x3d (16));\n\n} else {\nvar statearr_20027_22177 \x3d state_19896__$1;\n(statearr_20027_22177[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (9))){\nvar inst_19824 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20028_22178 \x3d state_19896__$1;\n(statearr_20028_22178[(2)] \x3d inst_19824);\n\n(statearr_20028_22178[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (5))){\nvar inst_19765 \x3d cljs.core.deref(cs);\nvar inst_19766 \x3d cljs.core.seq(inst_19765);\nvar inst_19767 \x3d inst_19766;\nvar inst_19768 \x3d null;\nvar inst_19769 \x3d (0);\nvar inst_19770 \x3d (0);\nvar state_19896__$1 \x3d (function (){var statearr_20032 \x3d state_19896;\n(statearr_20032[(13)] \x3d inst_19768);\n\n(statearr_20032[(14)] \x3d inst_19769);\n\n(statearr_20032[(15)] \x3d inst_19767);\n\n(statearr_20032[(16)] \x3d inst_19770);\n\nreturn statearr_20032;\n})();\nvar statearr_20033_22179 \x3d state_19896__$1;\n(statearr_20033_22179[(2)] \x3d null);\n\n(statearr_20033_22179[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (14))){\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20034_22180 \x3d state_19896__$1;\n(statearr_20034_22180[(2)] \x3d null);\n\n(statearr_20034_22180[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (45))){\nvar inst_19886 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20035_22181 \x3d state_19896__$1;\n(statearr_20035_22181[(2)] \x3d inst_19886);\n\n(statearr_20035_22181[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (26))){\nvar inst_19827 \x3d (state_19896[(27)]);\nvar inst_19882 \x3d (state_19896[(2)]);\nvar inst_19883 \x3d cljs.core.seq(inst_19827);\nvar state_19896__$1 \x3d (function (){var statearr_20037 \x3d state_19896;\n(statearr_20037[(29)] \x3d inst_19882);\n\nreturn statearr_20037;\n})();\nif(inst_19883){\nvar statearr_20038_22182 \x3d state_19896__$1;\n(statearr_20038_22182[(1)] \x3d (42));\n\n} else {\nvar statearr_20039_22183 \x3d state_19896__$1;\n(statearr_20039_22183[(1)] \x3d (43));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (16))){\nvar inst_19793 \x3d (state_19896[(7)]);\nvar inst_19795 \x3d cljs.core.chunked_seq_QMARK_(inst_19793);\nvar state_19896__$1 \x3d state_19896;\nif(inst_19795){\nvar statearr_20040_22184 \x3d state_19896__$1;\n(statearr_20040_22184[(1)] \x3d (19));\n\n} else {\nvar statearr_20041_22185 \x3d state_19896__$1;\n(statearr_20041_22185[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (38))){\nvar inst_19875 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20042_22186 \x3d state_19896__$1;\n(statearr_20042_22186[(2)] \x3d inst_19875);\n\n(statearr_20042_22186[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (30))){\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20043_22191 \x3d state_19896__$1;\n(statearr_20043_22191[(2)] \x3d null);\n\n(statearr_20043_22191[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (10))){\nvar inst_19768 \x3d (state_19896[(13)]);\nvar inst_19770 \x3d (state_19896[(16)]);\nvar inst_19778 \x3d cljs.core._nth(inst_19768,inst_19770);\nvar inst_19779 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_19778,(0),null);\nvar inst_19780 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_19778,(1),null);\nvar state_19896__$1 \x3d (function (){var statearr_20046 \x3d state_19896;\n(statearr_20046[(24)] \x3d inst_19779);\n\nreturn statearr_20046;\n})();\nif(cljs.core.truth_(inst_19780)){\nvar statearr_20049_22192 \x3d state_19896__$1;\n(statearr_20049_22192[(1)] \x3d (13));\n\n} else {\nvar statearr_20050_22193 \x3d state_19896__$1;\n(statearr_20050_22193[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (18))){\nvar inst_19820 \x3d (state_19896[(2)]);\nvar state_19896__$1 \x3d state_19896;\nvar statearr_20051_22194 \x3d state_19896__$1;\n(statearr_20051_22194[(2)] \x3d inst_19820);\n\n(statearr_20051_22194[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (42))){\nvar state_19896__$1 \x3d state_19896;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_19896__$1,(45),dchan);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (37))){\nvar inst_19755 \x3d (state_19896[(9)]);\nvar inst_19855 \x3d (state_19896[(23)]);\nvar inst_19864 \x3d (state_19896[(22)]);\nvar inst_19864__$1 \x3d cljs.core.first(inst_19855);\nvar inst_19866 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_19864__$1,inst_19755,done);\nvar state_19896__$1 \x3d (function (){var statearr_20059 \x3d state_19896;\n(statearr_20059[(22)] \x3d inst_19864__$1);\n\nreturn statearr_20059;\n})();\nif(cljs.core.truth_(inst_19866)){\nvar statearr_20060_22195 \x3d state_19896__$1;\n(statearr_20060_22195[(1)] \x3d (39));\n\n} else {\nvar statearr_20062_22196 \x3d state_19896__$1;\n(statearr_20062_22196[(1)] \x3d (40));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_19897 \x3d\x3d\x3d (8))){\nvar inst_19769 \x3d (state_19896[(14)]);\nvar inst_19770 \x3d (state_19896[(16)]);\nvar inst_19772 \x3d (inst_19770 \x3c inst_19769);\nvar inst_19773 \x3d inst_19772;\nvar state_19896__$1 \x3d state_19896;\nif(cljs.core.truth_(inst_19773)){\nvar statearr_20063_22197 \x3d state_19896__$1;\n(statearr_20063_22197[(1)] \x3d (10));\n\n} else {\nvar statearr_20064_22198 \x3d state_19896__$1;\n(statearr_20064_22198[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mult_$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$mult_$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_20065 \x3d [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];\n(statearr_20065[(0)] \x3d cljs$core$async$mult_$_state_machine__18257__auto__);\n\n(statearr_20065[(1)] \x3d (1));\n\nreturn statearr_20065;\n});\nvar cljs$core$async$mult_$_state_machine__18257__auto____1 \x3d (function (state_19896){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_19896);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e20069){var ex__18260__auto__ \x3d e20069;\nvar statearr_20072_22199 \x3d state_19896;\n(statearr_20072_22199[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_19896[(4)]))){\nvar statearr_20074_22200 \x3d state_19896;\n(statearr_20074_22200[(1)] \x3d cljs.core.first((state_19896[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22202 \x3d state_19896;\nstate_19896 \x3d G__22202;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mult_$_state_machine__18257__auto__ \x3d function(state_19896){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mult_$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mult_$_state_machine__18257__auto____1.call(this,state_19896);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mult_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mult_$_state_machine__18257__auto____0;\ncljs$core$async$mult_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mult_$_state_machine__18257__auto____1;\nreturn cljs$core$async$mult_$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_20077 \x3d f__18543__auto__();\n(statearr_20077[(6)] \x3d c__18542__auto___22123);\n\nreturn statearr_20077;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Copies the mult source onto the supplied channel.\n * \n * By default the channel will be closed when the source closes,\n * but can be determined by the close? parameter.\n */\ncljs.core.async.tap \x3d (function cljs$core$async$tap(var_args){\nvar G__20083 \x3d arguments.length;\nswitch (G__20083) {\ncase 2:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2 \x3d (function (mult,ch){\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(mult,ch,true);\n}));\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3 \x3d (function (mult,ch,close_QMARK_){\ncljs.core.async.tap_STAR_(mult,ch,close_QMARK_);\n\nreturn ch;\n}));\n\n(cljs.core.async.tap.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Disconnects a target channel from a mult\n */\ncljs.core.async.untap \x3d (function cljs$core$async$untap(mult,ch){\nreturn cljs.core.async.untap_STAR_(mult,ch);\n});\n/**\n * Disconnects all target channels from a mult\n */\ncljs.core.async.untap_all \x3d (function cljs$core$async$untap_all(mult){\nreturn cljs.core.async.untap_all_STAR_(mult);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mix \x3d function(){};\n\nvar cljs$core$async$Mix$admix_STAR_$dyn_22207 \x3d (function (m,ch){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.admix_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.admix_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.admix*\x22,m);\n}\n}\n});\ncljs.core.async.admix_STAR_ \x3d (function cljs$core$async$admix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$admix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$admix_STAR_$dyn_22207(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_STAR_$dyn_22208 \x3d (function (m,ch){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.unmix_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unmix_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_STAR_ \x3d (function cljs$core$async$unmix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$unmix_STAR_$dyn_22208(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_all_STAR_$dyn_22213 \x3d (function (m){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5394__auto__.call(null,m));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unmix_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5392__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix-all*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_all_STAR_ \x3d (function cljs$core$async$unmix_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mix$unmix_all_STAR_$dyn_22213(m);\n}\n});\n\nvar cljs$core$async$Mix$toggle_STAR_$dyn_22217 \x3d (function (m,state_map){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.toggle_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5394__auto__.call(null,m,state_map));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.toggle_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5392__auto__.call(null,m,state_map));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.toggle*\x22,m);\n}\n}\n});\ncljs.core.async.toggle_STAR_ \x3d (function cljs$core$async$toggle_STAR_(m,state_map){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$toggle_STAR_$arity$2(m,state_map);\n} else {\nreturn cljs$core$async$Mix$toggle_STAR_$dyn_22217(m,state_map);\n}\n});\n\nvar cljs$core$async$Mix$solo_mode_STAR_$dyn_22218 \x3d (function (m,mode){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5394__auto__.call(null,m,mode));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.solo_mode_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5392__auto__.call(null,m,mode));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.solo-mode*\x22,m);\n}\n}\n});\ncljs.core.async.solo_mode_STAR_ \x3d (function cljs$core$async$solo_mode_STAR_(m,mode){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$solo_mode_STAR_$arity$2(m,mode);\n} else {\nreturn cljs$core$async$Mix$solo_mode_STAR_$dyn_22218(m,mode);\n}\n});\n\ncljs.core.async.ioc_alts_BANG_ \x3d (function cljs$core$async$ioc_alts_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___22219 \x3d arguments.length;\nvar i__5770__auto___22220 \x3d (0);\nwhile(true){\nif((i__5770__auto___22220 \x3c len__5769__auto___22219)){\nargs__5775__auto__.push((arguments[i__5770__auto___22220]));\n\nvar G__22221 \x3d (i__5770__auto___22220 + (1));\ni__5770__auto___22220 \x3d G__22221;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((3) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5776__auto__);\n});\n\n(cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (state,cont_block,ports,p__20109){\nvar map__20110 \x3d p__20109;\nvar map__20110__$1 \x3d cljs.core.__destructure_map(map__20110);\nvar opts \x3d map__20110__$1;\nvar statearr_20111_22222 \x3d state;\n(statearr_20111_22222[(1)] \x3d cont_block);\n\n\nvar temp__5804__auto__ \x3d cljs.core.async.do_alts((function (val){\nvar statearr_20112_22224 \x3d state;\n(statearr_20112_22224[(2)] \x3d val);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n}),ports,opts);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar cb \x3d temp__5804__auto__;\nvar statearr_20114_22225 \x3d state;\n(statearr_20114_22225[(2)] \x3d cljs.core.deref(cb));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$applyTo \x3d (function (seq20104){\nvar G__20105 \x3d cljs.core.first(seq20104);\nvar seq20104__$1 \x3d cljs.core.next(seq20104);\nvar G__20106 \x3d cljs.core.first(seq20104__$1);\nvar seq20104__$2 \x3d cljs.core.next(seq20104__$1);\nvar G__20107 \x3d cljs.core.first(seq20104__$2);\nvar seq20104__$3 \x3d cljs.core.next(seq20104__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__20105,G__20106,G__20107,seq20104__$3);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mix}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async20124 \x3d (function (change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta20125){\nthis.change \x3d change;\nthis.solo_mode \x3d solo_mode;\nthis.pick \x3d pick;\nthis.cs \x3d cs;\nthis.calc_state \x3d calc_state;\nthis.out \x3d out;\nthis.changed \x3d changed;\nthis.solo_modes \x3d solo_modes;\nthis.attrs \x3d attrs;\nthis.meta20125 \x3d meta20125;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20126,meta20125__$1){\nvar self__ \x3d this;\nvar _20126__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async20124(self__.change,self__.solo_mode,self__.pick,self__.cs,self__.calc_state,self__.out,self__.changed,self__.solo_modes,self__.attrs,meta20125__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20126){\nvar self__ \x3d this;\nvar _20126__$1 \x3d this;\nreturn self__.meta20125;\n}));\n\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.out;\n}));\n\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$async$Mix$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d (function (_,state_map){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.merge_with,cljs.core.merge),state_map);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async20124.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d (function (_,mode){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.solo_modes.cljs$core$IFn$_invoke$arity$1 ? self__.solo_modes.cljs$core$IFn$_invoke$arity$1(mode) : self__.solo_modes.call(null,mode)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22mode must be one of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.solo_modes)].join(\x27\x27),\x22\\n\x22,\x22(solo-modes mode)\x22].join(\x27\x27)));\n}\n\ncljs.core.reset_BANG_(self__.solo_mode,mode);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async20124.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22change\x22,\x22change\x22,477485025,null),new cljs.core.Symbol(null,\x22solo-mode\x22,\x22solo-mode\x22,2031788074,null),new cljs.core.Symbol(null,\x22pick\x22,\x22pick\x22,1300068175,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22calc-state\x22,\x22calc-state\x22,-349968968,null),new cljs.core.Symbol(null,\x22out\x22,\x22out\x22,729986010,null),new cljs.core.Symbol(null,\x22changed\x22,\x22changed\x22,-2083710852,null),new cljs.core.Symbol(null,\x22solo-modes\x22,\x22solo-modes\x22,882180540,null),new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta20125\x22,\x22meta20125\x22,-1441164041,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async20124.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async20124.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async20124\x22);\n\n(cljs.core.async.t_cljs$core$async20124.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async20124\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async20124.\n */\ncljs.core.async.__GT_t_cljs$core$async20124 \x3d (function cljs$core$async$__GT_t_cljs$core$async20124(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta20125){\nreturn (new cljs.core.async.t_cljs$core$async20124(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta20125));\n});\n\n\n/**\n * Creates and returns a mix of one or more input channels which will\n * be put on the supplied out channel. Input sources can be added to\n * the mix with \x27admix\x27, and removed with \x27unmix\x27. A mix supports\n * soloing, muting and pausing multiple inputs atomically using\n * \x27toggle\x27, and can solo using either muting or pausing as determined\n * by \x27solo-mode\x27.\n * \n * Each channel can have zero or more boolean modes set via \x27toggle\x27:\n * \n * :solo - when true, only this (ond other soloed) channel(s) will appear\n * in the mix output channel. :mute and :pause states of soloed\n * channels are ignored. If solo-mode is :mute, non-soloed\n * channels are muted, if :pause, non-soloed channels are\n * paused.\n * \n * :mute - muted channels will have their contents consumed but not included in the mix\n * :pause - paused channels will not have their contents consumed (and thus also not included in the mix)\n */\ncljs.core.async.mix \x3d (function cljs$core$async$mix(out){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar solo_modes \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),null,new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),null], null), null);\nvar attrs \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(solo_modes,new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075));\nvar solo_mode \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646));\nvar change \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.async.sliding_buffer((1)));\nvar changed \x3d (function (){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(change,true);\n});\nvar pick \x3d (function (attr,chs){\nreturn cljs.core.reduce_kv((function (ret,c,v){\nif(cljs.core.truth_((attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(v) : attr.call(null,v)))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,c);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,chs);\n});\nvar calc_state \x3d (function (){\nvar chs \x3d cljs.core.deref(cs);\nvar mode \x3d cljs.core.deref(solo_mode);\nvar solos \x3d pick(new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075),chs);\nvar pauses \x3d pick(new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),chs);\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643),solos,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309),pick(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),chs),new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672))) \x26\x26 ((!(cljs.core.empty_QMARK_(solos))))))?cljs.core.vec(solos):cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(pauses,cljs.core.keys(chs)))),change)], null);\n});\nvar m \x3d (new cljs.core.async.t_cljs$core$async20124(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,cljs.core.PersistentArrayMap.EMPTY));\nvar c__18542__auto___22232 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_20222){\nvar state_val_20223 \x3d (state_20222[(1)]);\nif((state_val_20223 \x3d\x3d\x3d (7))){\nvar inst_20181 \x3d (state_20222[(2)]);\nvar state_20222__$1 \x3d state_20222;\nif(cljs.core.truth_(inst_20181)){\nvar statearr_20224_22233 \x3d state_20222__$1;\n(statearr_20224_22233[(1)] \x3d (8));\n\n} else {\nvar statearr_20225_22234 \x3d state_20222__$1;\n(statearr_20225_22234[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (20))){\nvar inst_20174 \x3d (state_20222[(7)]);\nvar state_20222__$1 \x3d state_20222;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_20222__$1,(23),out,inst_20174);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (1))){\nvar inst_20149 \x3d calc_state();\nvar inst_20150 \x3d cljs.core.__destructure_map(inst_20149);\nvar inst_20151 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_20150,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_20152 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_20150,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_20157 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_20150,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar inst_20158 \x3d inst_20149;\nvar state_20222__$1 \x3d (function (){var statearr_20229 \x3d state_20222;\n(statearr_20229[(8)] \x3d inst_20158);\n\n(statearr_20229[(9)] \x3d inst_20152);\n\n(statearr_20229[(10)] \x3d inst_20157);\n\n(statearr_20229[(11)] \x3d inst_20151);\n\nreturn statearr_20229;\n})();\nvar statearr_20231_22239 \x3d state_20222__$1;\n(statearr_20231_22239[(2)] \x3d null);\n\n(statearr_20231_22239[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (24))){\nvar inst_20165 \x3d (state_20222[(12)]);\nvar inst_20158 \x3d inst_20165;\nvar state_20222__$1 \x3d (function (){var statearr_20232 \x3d state_20222;\n(statearr_20232[(8)] \x3d inst_20158);\n\nreturn statearr_20232;\n})();\nvar statearr_20233_22243 \x3d state_20222__$1;\n(statearr_20233_22243[(2)] \x3d null);\n\n(statearr_20233_22243[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (4))){\nvar inst_20176 \x3d (state_20222[(13)]);\nvar inst_20174 \x3d (state_20222[(7)]);\nvar inst_20173 \x3d (state_20222[(2)]);\nvar inst_20174__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_20173,(0),null);\nvar inst_20175 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_20173,(1),null);\nvar inst_20176__$1 \x3d (inst_20174__$1 \x3d\x3d null);\nvar state_20222__$1 \x3d (function (){var statearr_20236 \x3d state_20222;\n(statearr_20236[(14)] \x3d inst_20175);\n\n(statearr_20236[(13)] \x3d inst_20176__$1);\n\n(statearr_20236[(7)] \x3d inst_20174__$1);\n\nreturn statearr_20236;\n})();\nif(cljs.core.truth_(inst_20176__$1)){\nvar statearr_20237_22244 \x3d state_20222__$1;\n(statearr_20237_22244[(1)] \x3d (5));\n\n} else {\nvar statearr_20238_22245 \x3d state_20222__$1;\n(statearr_20238_22245[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (15))){\nvar inst_20196 \x3d (state_20222[(15)]);\nvar inst_20166 \x3d (state_20222[(16)]);\nvar inst_20196__$1 \x3d cljs.core.empty_QMARK_(inst_20166);\nvar state_20222__$1 \x3d (function (){var statearr_20242 \x3d state_20222;\n(statearr_20242[(15)] \x3d inst_20196__$1);\n\nreturn statearr_20242;\n})();\nif(inst_20196__$1){\nvar statearr_20244_22249 \x3d state_20222__$1;\n(statearr_20244_22249[(1)] \x3d (17));\n\n} else {\nvar statearr_20245_22250 \x3d state_20222__$1;\n(statearr_20245_22250[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (21))){\nvar inst_20165 \x3d (state_20222[(12)]);\nvar inst_20158 \x3d inst_20165;\nvar state_20222__$1 \x3d (function (){var statearr_20247 \x3d state_20222;\n(statearr_20247[(8)] \x3d inst_20158);\n\nreturn statearr_20247;\n})();\nvar statearr_20249_22251 \x3d state_20222__$1;\n(statearr_20249_22251[(2)] \x3d null);\n\n(statearr_20249_22251[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (13))){\nvar inst_20188 \x3d (state_20222[(2)]);\nvar inst_20189 \x3d calc_state();\nvar inst_20158 \x3d inst_20189;\nvar state_20222__$1 \x3d (function (){var statearr_20252 \x3d state_20222;\n(statearr_20252[(8)] \x3d inst_20158);\n\n(statearr_20252[(17)] \x3d inst_20188);\n\nreturn statearr_20252;\n})();\nvar statearr_20256_22252 \x3d state_20222__$1;\n(statearr_20256_22252[(2)] \x3d null);\n\n(statearr_20256_22252[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (22))){\nvar inst_20216 \x3d (state_20222[(2)]);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20257_22253 \x3d state_20222__$1;\n(statearr_20257_22253[(2)] \x3d inst_20216);\n\n(statearr_20257_22253[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (6))){\nvar inst_20175 \x3d (state_20222[(14)]);\nvar inst_20179 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_20175,change);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20258_22254 \x3d state_20222__$1;\n(statearr_20258_22254[(2)] \x3d inst_20179);\n\n(statearr_20258_22254[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (25))){\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20259_22255 \x3d state_20222__$1;\n(statearr_20259_22255[(2)] \x3d null);\n\n(statearr_20259_22255[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (17))){\nvar inst_20175 \x3d (state_20222[(14)]);\nvar inst_20167 \x3d (state_20222[(18)]);\nvar inst_20198 \x3d (inst_20167.cljs$core$IFn$_invoke$arity$1 ? inst_20167.cljs$core$IFn$_invoke$arity$1(inst_20175) : inst_20167.call(null,inst_20175));\nvar inst_20199 \x3d cljs.core.not(inst_20198);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20260_22256 \x3d state_20222__$1;\n(statearr_20260_22256[(2)] \x3d inst_20199);\n\n(statearr_20260_22256[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (3))){\nvar inst_20220 \x3d (state_20222[(2)]);\nvar state_20222__$1 \x3d state_20222;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_20222__$1,inst_20220);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (12))){\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20261_22257 \x3d state_20222__$1;\n(statearr_20261_22257[(2)] \x3d null);\n\n(statearr_20261_22257[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (2))){\nvar inst_20158 \x3d (state_20222[(8)]);\nvar inst_20165 \x3d (state_20222[(12)]);\nvar inst_20165__$1 \x3d cljs.core.__destructure_map(inst_20158);\nvar inst_20166 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_20165__$1,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_20167 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_20165__$1,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_20168 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_20165__$1,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar state_20222__$1 \x3d (function (){var statearr_20263 \x3d state_20222;\n(statearr_20263[(12)] \x3d inst_20165__$1);\n\n(statearr_20263[(18)] \x3d inst_20167);\n\n(statearr_20263[(16)] \x3d inst_20166);\n\nreturn statearr_20263;\n})();\nreturn cljs.core.async.ioc_alts_BANG_(state_20222__$1,(4),inst_20168);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (23))){\nvar inst_20207 \x3d (state_20222[(2)]);\nvar state_20222__$1 \x3d state_20222;\nif(cljs.core.truth_(inst_20207)){\nvar statearr_20265_22258 \x3d state_20222__$1;\n(statearr_20265_22258[(1)] \x3d (24));\n\n} else {\nvar statearr_20266_22259 \x3d state_20222__$1;\n(statearr_20266_22259[(1)] \x3d (25));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (19))){\nvar inst_20202 \x3d (state_20222[(2)]);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20269_22260 \x3d state_20222__$1;\n(statearr_20269_22260[(2)] \x3d inst_20202);\n\n(statearr_20269_22260[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (11))){\nvar inst_20175 \x3d (state_20222[(14)]);\nvar inst_20185 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cs,cljs.core.dissoc,inst_20175);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20271_22261 \x3d state_20222__$1;\n(statearr_20271_22261[(2)] \x3d inst_20185);\n\n(statearr_20271_22261[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (9))){\nvar inst_20193 \x3d (state_20222[(19)]);\nvar inst_20175 \x3d (state_20222[(14)]);\nvar inst_20166 \x3d (state_20222[(16)]);\nvar inst_20193__$1 \x3d (inst_20166.cljs$core$IFn$_invoke$arity$1 ? inst_20166.cljs$core$IFn$_invoke$arity$1(inst_20175) : inst_20166.call(null,inst_20175));\nvar state_20222__$1 \x3d (function (){var statearr_20274 \x3d state_20222;\n(statearr_20274[(19)] \x3d inst_20193__$1);\n\nreturn statearr_20274;\n})();\nif(cljs.core.truth_(inst_20193__$1)){\nvar statearr_20275_22262 \x3d state_20222__$1;\n(statearr_20275_22262[(1)] \x3d (14));\n\n} else {\nvar statearr_20276_22263 \x3d state_20222__$1;\n(statearr_20276_22263[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (5))){\nvar inst_20176 \x3d (state_20222[(13)]);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20277_22264 \x3d state_20222__$1;\n(statearr_20277_22264[(2)] \x3d inst_20176);\n\n(statearr_20277_22264[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (14))){\nvar inst_20193 \x3d (state_20222[(19)]);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20278_22265 \x3d state_20222__$1;\n(statearr_20278_22265[(2)] \x3d inst_20193);\n\n(statearr_20278_22265[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (26))){\nvar inst_20212 \x3d (state_20222[(2)]);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20279_22266 \x3d state_20222__$1;\n(statearr_20279_22266[(2)] \x3d inst_20212);\n\n(statearr_20279_22266[(1)] \x3d (22));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (16))){\nvar inst_20204 \x3d (state_20222[(2)]);\nvar state_20222__$1 \x3d state_20222;\nif(cljs.core.truth_(inst_20204)){\nvar statearr_20280_22267 \x3d state_20222__$1;\n(statearr_20280_22267[(1)] \x3d (20));\n\n} else {\nvar statearr_20281_22268 \x3d state_20222__$1;\n(statearr_20281_22268[(1)] \x3d (21));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (10))){\nvar inst_20218 \x3d (state_20222[(2)]);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20286_22269 \x3d state_20222__$1;\n(statearr_20286_22269[(2)] \x3d inst_20218);\n\n(statearr_20286_22269[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (18))){\nvar inst_20196 \x3d (state_20222[(15)]);\nvar state_20222__$1 \x3d state_20222;\nvar statearr_20288_22270 \x3d state_20222__$1;\n(statearr_20288_22270[(2)] \x3d inst_20196);\n\n(statearr_20288_22270[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20223 \x3d\x3d\x3d (8))){\nvar inst_20174 \x3d (state_20222[(7)]);\nvar inst_20183 \x3d (inst_20174 \x3d\x3d null);\nvar state_20222__$1 \x3d state_20222;\nif(cljs.core.truth_(inst_20183)){\nvar statearr_20290_22271 \x3d state_20222__$1;\n(statearr_20290_22271[(1)] \x3d (11));\n\n} else {\nvar statearr_20291_22272 \x3d state_20222__$1;\n(statearr_20291_22272[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mix_$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$mix_$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_20292 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_20292[(0)] \x3d cljs$core$async$mix_$_state_machine__18257__auto__);\n\n(statearr_20292[(1)] \x3d (1));\n\nreturn statearr_20292;\n});\nvar cljs$core$async$mix_$_state_machine__18257__auto____1 \x3d (function (state_20222){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_20222);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e20293){var ex__18260__auto__ \x3d e20293;\nvar statearr_20294_22273 \x3d state_20222;\n(statearr_20294_22273[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_20222[(4)]))){\nvar statearr_20296_22280 \x3d state_20222;\n(statearr_20296_22280[(1)] \x3d cljs.core.first((state_20222[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22281 \x3d state_20222;\nstate_20222 \x3d G__22281;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mix_$_state_machine__18257__auto__ \x3d function(state_20222){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mix_$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mix_$_state_machine__18257__auto____1.call(this,state_20222);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mix_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mix_$_state_machine__18257__auto____0;\ncljs$core$async$mix_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mix_$_state_machine__18257__auto____1;\nreturn cljs$core$async$mix_$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_20298 \x3d f__18543__auto__();\n(statearr_20298[(6)] \x3d c__18542__auto___22232);\n\nreturn statearr_20298;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Adds ch as an input to the mix\n */\ncljs.core.async.admix \x3d (function cljs$core$async$admix(mix,ch){\nreturn cljs.core.async.admix_STAR_(mix,ch);\n});\n/**\n * Removes ch as an input to the mix\n */\ncljs.core.async.unmix \x3d (function cljs$core$async$unmix(mix,ch){\nreturn cljs.core.async.unmix_STAR_(mix,ch);\n});\n/**\n * removes all inputs from the mix\n */\ncljs.core.async.unmix_all \x3d (function cljs$core$async$unmix_all(mix){\nreturn cljs.core.async.unmix_all_STAR_(mix);\n});\n/**\n * Atomically sets the state(s) of one or more channels in a mix. The\n * state map is a map of channels -\x3e channel-state-map. A\n * channel-state-map is a map of attrs -\x3e boolean, where attr is one or\n * more of :mute, :pause or :solo. Any states supplied are merged with\n * the current state.\n * \n * Note that channels can be added to a mix via toggle, which can be\n * used to add channels in a particular (e.g. paused) state.\n */\ncljs.core.async.toggle \x3d (function cljs$core$async$toggle(mix,state_map){\nreturn cljs.core.async.toggle_STAR_(mix,state_map);\n});\n/**\n * Sets the solo mode of the mix. mode must be one of :mute or :pause\n */\ncljs.core.async.solo_mode \x3d (function cljs$core$async$solo_mode(mix,mode){\nreturn cljs.core.async.solo_mode_STAR_(mix,mode);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Pub \x3d function(){};\n\nvar cljs$core$async$Pub$sub_STAR_$dyn_22285 \x3d (function (p,v,ch,close_QMARK_){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.sub_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5394__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.sub_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5392__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.sub*\x22,p);\n}\n}\n});\ncljs.core.async.sub_STAR_ \x3d (function cljs$core$async$sub_STAR_(p,v,ch,close_QMARK_){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$sub_STAR_$arity$4(p,v,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Pub$sub_STAR_$dyn_22285(p,v,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Pub$unsub_STAR_$dyn_22286 \x3d (function (p,v,ch){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.unsub_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5394__auto__.call(null,p,v,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unsub_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5392__auto__.call(null,p,v,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub*\x22,p);\n}\n}\n});\ncljs.core.async.unsub_STAR_ \x3d (function cljs$core$async$unsub_STAR_(p,v,ch){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_STAR_$arity$3(p,v,ch);\n} else {\nreturn cljs$core$async$Pub$unsub_STAR_$dyn_22286(p,v,ch);\n}\n});\n\nvar cljs$core$async$Pub$unsub_all_STAR_$dyn_22287 \x3d (function() {\nvar G__22288 \x3d null;\nvar G__22288__1 \x3d (function (p){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5394__auto__.call(null,p));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5392__auto__.call(null,p));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nvar G__22288__2 \x3d (function (p,v){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5394__auto__.call(null,p,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5392__auto__.call(null,p,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nG__22288 \x3d function(p,v){\nswitch(arguments.length){\ncase 1:\nreturn G__22288__1.call(this,p);\ncase 2:\nreturn G__22288__2.call(this,p,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__22288.cljs$core$IFn$_invoke$arity$1 \x3d G__22288__1;\nG__22288.cljs$core$IFn$_invoke$arity$2 \x3d G__22288__2;\nreturn G__22288;\n})()\n;\ncljs.core.async.unsub_all_STAR_ \x3d (function cljs$core$async$unsub_all_STAR_(var_args){\nvar G__20317 \x3d arguments.length;\nswitch (G__20317) {\ncase 1:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$1(p);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_22287(p);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,v){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$2(p,v);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_22287(p,v);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.Pub}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async20325 \x3d (function (ch,topic_fn,buf_fn,mults,ensure_mult,meta20326){\nthis.ch \x3d ch;\nthis.topic_fn \x3d topic_fn;\nthis.buf_fn \x3d buf_fn;\nthis.mults \x3d mults;\nthis.ensure_mult \x3d ensure_mult;\nthis.meta20326 \x3d meta20326;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async20325.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20327,meta20326__$1){\nvar self__ \x3d this;\nvar _20327__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async20325(self__.ch,self__.topic_fn,self__.buf_fn,self__.mults,self__.ensure_mult,meta20326__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async20325.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20327){\nvar self__ \x3d this;\nvar _20327__$1 \x3d this;\nreturn self__.meta20326;\n}));\n\n(cljs.core.async.t_cljs$core$async20325.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async20325.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async20325.prototype.cljs$core$async$Pub$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async20325.prototype.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d (function (p,topic,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar m \x3d (self__.ensure_mult.cljs$core$IFn$_invoke$arity$1 ? self__.ensure_mult.cljs$core$IFn$_invoke$arity$1(topic) : self__.ensure_mult.call(null,topic));\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(m,ch__$1,close_QMARK_);\n}));\n\n(cljs.core.async.t_cljs$core$async20325.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d (function (p,topic,ch__$1){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.mults),topic);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar m \x3d temp__5804__auto__;\nreturn cljs.core.async.untap(m,ch__$1);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async20325.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reset_BANG_(self__.mults,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cljs.core.async.t_cljs$core$async20325.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d (function (_,topic){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.mults,cljs.core.dissoc,topic);\n}));\n\n(cljs.core.async.t_cljs$core$async20325.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22topic-fn\x22,\x22topic-fn\x22,-862449736,null),new cljs.core.Symbol(null,\x22buf-fn\x22,\x22buf-fn\x22,-1200281591,null),new cljs.core.Symbol(null,\x22mults\x22,\x22mults\x22,-461114485,null),new cljs.core.Symbol(null,\x22ensure-mult\x22,\x22ensure-mult\x22,1796584816,null),new cljs.core.Symbol(null,\x22meta20326\x22,\x22meta20326\x22,-512596275,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async20325.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async20325.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async20325\x22);\n\n(cljs.core.async.t_cljs$core$async20325.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async20325\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async20325.\n */\ncljs.core.async.__GT_t_cljs$core$async20325 \x3d (function cljs$core$async$__GT_t_cljs$core$async20325(ch,topic_fn,buf_fn,mults,ensure_mult,meta20326){\nreturn (new cljs.core.async.t_cljs$core$async20325(ch,topic_fn,buf_fn,mults,ensure_mult,meta20326));\n});\n\n\n/**\n * Creates and returns a pub(lication) of the supplied channel,\n * partitioned into topics by the topic-fn. topic-fn will be applied to\n * each value on the channel and the result will determine the \x27topic\x27\n * on which that value will be put. Channels can be subscribed to\n * receive copies of topics using \x27sub\x27, and unsubscribed using\n * \x27unsub\x27. Each topic will be handled by an internal mult on a\n * dedicated channel. By default these internal channels are\n * unbuffered, but a buf-fn can be supplied which, given a topic,\n * creates a buffer with desired properties.\n * \n * Each item is distributed to all subs in parallel and synchronously,\n * i.e. each sub must accept before the next item is distributed. Use\n * buffering/windowing to prevent slow subs from holding up the pub.\n * \n * Items received when there are no matching subs get dropped.\n * \n * Note that if buf-fns are used then each topic is handled\n * asynchronously, i.e. if a channel is subscribed to more than one\n * topic it should not expect them to be interleaved identically with\n * the source.\n */\ncljs.core.async.pub \x3d (function cljs$core$async$pub(var_args){\nvar G__20321 \x3d arguments.length;\nswitch (G__20321) {\ncase 2:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,topic_fn){\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3(ch,topic_fn,cljs.core.constantly(null));\n}));\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,topic_fn,buf_fn){\nvar mults \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar ensure_mult \x3d (function (topic){\nvar or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mults),topic);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(mults,(function (p1__20319_SHARP_){\nif(cljs.core.truth_((p1__20319_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__20319_SHARP_.cljs$core$IFn$_invoke$arity$1(topic) : p1__20319_SHARP_.call(null,topic)))){\nreturn p1__20319_SHARP_;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__20319_SHARP_,topic,cljs.core.async.mult(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((buf_fn.cljs$core$IFn$_invoke$arity$1 ? buf_fn.cljs$core$IFn$_invoke$arity$1(topic) : buf_fn.call(null,topic)))));\n}\n})),topic);\n}\n});\nvar p \x3d (new cljs.core.async.t_cljs$core$async20325(ch,topic_fn,buf_fn,mults,ensure_mult,cljs.core.PersistentArrayMap.EMPTY));\nvar c__18542__auto___22298 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_20451){\nvar state_val_20452 \x3d (state_20451[(1)]);\nif((state_val_20452 \x3d\x3d\x3d (7))){\nvar inst_20444 \x3d (state_20451[(2)]);\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20458_22302 \x3d state_20451__$1;\n(statearr_20458_22302[(2)] \x3d inst_20444);\n\n(statearr_20458_22302[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (20))){\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20461_22306 \x3d state_20451__$1;\n(statearr_20461_22306[(2)] \x3d null);\n\n(statearr_20461_22306[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (1))){\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20463_22307 \x3d state_20451__$1;\n(statearr_20463_22307[(2)] \x3d null);\n\n(statearr_20463_22307[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (24))){\nvar inst_20425 \x3d (state_20451[(7)]);\nvar inst_20436 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(mults,cljs.core.dissoc,inst_20425);\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20469_22310 \x3d state_20451__$1;\n(statearr_20469_22310[(2)] \x3d inst_20436);\n\n(statearr_20469_22310[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (4))){\nvar inst_20342 \x3d (state_20451[(8)]);\nvar inst_20342__$1 \x3d (state_20451[(2)]);\nvar inst_20343 \x3d (inst_20342__$1 \x3d\x3d null);\nvar state_20451__$1 \x3d (function (){var statearr_20473 \x3d state_20451;\n(statearr_20473[(8)] \x3d inst_20342__$1);\n\nreturn statearr_20473;\n})();\nif(cljs.core.truth_(inst_20343)){\nvar statearr_20474_22313 \x3d state_20451__$1;\n(statearr_20474_22313[(1)] \x3d (5));\n\n} else {\nvar statearr_20476_22314 \x3d state_20451__$1;\n(statearr_20476_22314[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (15))){\nvar inst_20419 \x3d (state_20451[(2)]);\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20478_22315 \x3d state_20451__$1;\n(statearr_20478_22315[(2)] \x3d inst_20419);\n\n(statearr_20478_22315[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (21))){\nvar inst_20441 \x3d (state_20451[(2)]);\nvar state_20451__$1 \x3d (function (){var statearr_20480 \x3d state_20451;\n(statearr_20480[(9)] \x3d inst_20441);\n\nreturn statearr_20480;\n})();\nvar statearr_20481_22316 \x3d state_20451__$1;\n(statearr_20481_22316[(2)] \x3d null);\n\n(statearr_20481_22316[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (13))){\nvar inst_20388 \x3d (state_20451[(10)]);\nvar inst_20397 \x3d cljs.core.chunked_seq_QMARK_(inst_20388);\nvar state_20451__$1 \x3d state_20451;\nif(inst_20397){\nvar statearr_20486_22321 \x3d state_20451__$1;\n(statearr_20486_22321[(1)] \x3d (16));\n\n} else {\nvar statearr_20487_22322 \x3d state_20451__$1;\n(statearr_20487_22322[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (22))){\nvar inst_20431 \x3d (state_20451[(2)]);\nvar state_20451__$1 \x3d state_20451;\nif(cljs.core.truth_(inst_20431)){\nvar statearr_20489_22323 \x3d state_20451__$1;\n(statearr_20489_22323[(1)] \x3d (23));\n\n} else {\nvar statearr_20490_22324 \x3d state_20451__$1;\n(statearr_20490_22324[(1)] \x3d (24));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (6))){\nvar inst_20342 \x3d (state_20451[(8)]);\nvar inst_20427 \x3d (state_20451[(11)]);\nvar inst_20425 \x3d (state_20451[(7)]);\nvar inst_20425__$1 \x3d (topic_fn.cljs$core$IFn$_invoke$arity$1 ? topic_fn.cljs$core$IFn$_invoke$arity$1(inst_20342) : topic_fn.call(null,inst_20342));\nvar inst_20426 \x3d cljs.core.deref(mults);\nvar inst_20427__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_20426,inst_20425__$1);\nvar state_20451__$1 \x3d (function (){var statearr_20493 \x3d state_20451;\n(statearr_20493[(11)] \x3d inst_20427__$1);\n\n(statearr_20493[(7)] \x3d inst_20425__$1);\n\nreturn statearr_20493;\n})();\nif(cljs.core.truth_(inst_20427__$1)){\nvar statearr_20495_22331 \x3d state_20451__$1;\n(statearr_20495_22331[(1)] \x3d (19));\n\n} else {\nvar statearr_20496_22332 \x3d state_20451__$1;\n(statearr_20496_22332[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (25))){\nvar inst_20438 \x3d (state_20451[(2)]);\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20502_22333 \x3d state_20451__$1;\n(statearr_20502_22333[(2)] \x3d inst_20438);\n\n(statearr_20502_22333[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (17))){\nvar inst_20388 \x3d (state_20451[(10)]);\nvar inst_20407 \x3d cljs.core.first(inst_20388);\nvar inst_20409 \x3d cljs.core.async.muxch_STAR_(inst_20407);\nvar inst_20410 \x3d cljs.core.async.close_BANG_(inst_20409);\nvar inst_20412 \x3d cljs.core.next(inst_20388);\nvar inst_20364 \x3d inst_20412;\nvar inst_20365 \x3d null;\nvar inst_20366 \x3d (0);\nvar inst_20367 \x3d (0);\nvar state_20451__$1 \x3d (function (){var statearr_20504 \x3d state_20451;\n(statearr_20504[(12)] \x3d inst_20364);\n\n(statearr_20504[(13)] \x3d inst_20410);\n\n(statearr_20504[(14)] \x3d inst_20367);\n\n(statearr_20504[(15)] \x3d inst_20366);\n\n(statearr_20504[(16)] \x3d inst_20365);\n\nreturn statearr_20504;\n})();\nvar statearr_20505_22340 \x3d state_20451__$1;\n(statearr_20505_22340[(2)] \x3d null);\n\n(statearr_20505_22340[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (3))){\nvar inst_20446 \x3d (state_20451[(2)]);\nvar state_20451__$1 \x3d state_20451;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_20451__$1,inst_20446);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (12))){\nvar inst_20421 \x3d (state_20451[(2)]);\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20506_22341 \x3d state_20451__$1;\n(statearr_20506_22341[(2)] \x3d inst_20421);\n\n(statearr_20506_22341[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (2))){\nvar state_20451__$1 \x3d state_20451;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_20451__$1,(4),ch);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (23))){\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20507_22342 \x3d state_20451__$1;\n(statearr_20507_22342[(2)] \x3d null);\n\n(statearr_20507_22342[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (19))){\nvar inst_20342 \x3d (state_20451[(8)]);\nvar inst_20427 \x3d (state_20451[(11)]);\nvar inst_20429 \x3d cljs.core.async.muxch_STAR_(inst_20427);\nvar state_20451__$1 \x3d state_20451;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_20451__$1,(22),inst_20429,inst_20342);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (11))){\nvar inst_20364 \x3d (state_20451[(12)]);\nvar inst_20388 \x3d (state_20451[(10)]);\nvar inst_20388__$1 \x3d cljs.core.seq(inst_20364);\nvar state_20451__$1 \x3d (function (){var statearr_20510 \x3d state_20451;\n(statearr_20510[(10)] \x3d inst_20388__$1);\n\nreturn statearr_20510;\n})();\nif(inst_20388__$1){\nvar statearr_20513_22346 \x3d state_20451__$1;\n(statearr_20513_22346[(1)] \x3d (13));\n\n} else {\nvar statearr_20514_22347 \x3d state_20451__$1;\n(statearr_20514_22347[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (9))){\nvar inst_20423 \x3d (state_20451[(2)]);\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20518_22348 \x3d state_20451__$1;\n(statearr_20518_22348[(2)] \x3d inst_20423);\n\n(statearr_20518_22348[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (5))){\nvar inst_20361 \x3d cljs.core.deref(mults);\nvar inst_20362 \x3d cljs.core.vals(inst_20361);\nvar inst_20363 \x3d cljs.core.seq(inst_20362);\nvar inst_20364 \x3d inst_20363;\nvar inst_20365 \x3d null;\nvar inst_20366 \x3d (0);\nvar inst_20367 \x3d (0);\nvar state_20451__$1 \x3d (function (){var statearr_20519 \x3d state_20451;\n(statearr_20519[(12)] \x3d inst_20364);\n\n(statearr_20519[(14)] \x3d inst_20367);\n\n(statearr_20519[(15)] \x3d inst_20366);\n\n(statearr_20519[(16)] \x3d inst_20365);\n\nreturn statearr_20519;\n})();\nvar statearr_20522_22353 \x3d state_20451__$1;\n(statearr_20522_22353[(2)] \x3d null);\n\n(statearr_20522_22353[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (14))){\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20527_22354 \x3d state_20451__$1;\n(statearr_20527_22354[(2)] \x3d null);\n\n(statearr_20527_22354[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (16))){\nvar inst_20388 \x3d (state_20451[(10)]);\nvar inst_20402 \x3d cljs.core.chunk_first(inst_20388);\nvar inst_20403 \x3d cljs.core.chunk_rest(inst_20388);\nvar inst_20404 \x3d cljs.core.count(inst_20402);\nvar inst_20364 \x3d inst_20403;\nvar inst_20365 \x3d inst_20402;\nvar inst_20366 \x3d inst_20404;\nvar inst_20367 \x3d (0);\nvar state_20451__$1 \x3d (function (){var statearr_20528 \x3d state_20451;\n(statearr_20528[(12)] \x3d inst_20364);\n\n(statearr_20528[(14)] \x3d inst_20367);\n\n(statearr_20528[(15)] \x3d inst_20366);\n\n(statearr_20528[(16)] \x3d inst_20365);\n\nreturn statearr_20528;\n})();\nvar statearr_20529_22358 \x3d state_20451__$1;\n(statearr_20529_22358[(2)] \x3d null);\n\n(statearr_20529_22358[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (10))){\nvar inst_20364 \x3d (state_20451[(12)]);\nvar inst_20367 \x3d (state_20451[(14)]);\nvar inst_20366 \x3d (state_20451[(15)]);\nvar inst_20365 \x3d (state_20451[(16)]);\nvar inst_20375 \x3d cljs.core._nth(inst_20365,inst_20367);\nvar inst_20376 \x3d cljs.core.async.muxch_STAR_(inst_20375);\nvar inst_20377 \x3d cljs.core.async.close_BANG_(inst_20376);\nvar inst_20378 \x3d (inst_20367 + (1));\nvar tmp20523 \x3d inst_20364;\nvar tmp20524 \x3d inst_20366;\nvar tmp20525 \x3d inst_20365;\nvar inst_20364__$1 \x3d tmp20523;\nvar inst_20365__$1 \x3d tmp20525;\nvar inst_20366__$1 \x3d tmp20524;\nvar inst_20367__$1 \x3d inst_20378;\nvar state_20451__$1 \x3d (function (){var statearr_20538 \x3d state_20451;\n(statearr_20538[(12)] \x3d inst_20364__$1);\n\n(statearr_20538[(14)] \x3d inst_20367__$1);\n\n(statearr_20538[(17)] \x3d inst_20377);\n\n(statearr_20538[(15)] \x3d inst_20366__$1);\n\n(statearr_20538[(16)] \x3d inst_20365__$1);\n\nreturn statearr_20538;\n})();\nvar statearr_20544_22359 \x3d state_20451__$1;\n(statearr_20544_22359[(2)] \x3d null);\n\n(statearr_20544_22359[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (18))){\nvar inst_20415 \x3d (state_20451[(2)]);\nvar state_20451__$1 \x3d state_20451;\nvar statearr_20545_22360 \x3d state_20451__$1;\n(statearr_20545_22360[(2)] \x3d inst_20415);\n\n(statearr_20545_22360[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20452 \x3d\x3d\x3d (8))){\nvar inst_20367 \x3d (state_20451[(14)]);\nvar inst_20366 \x3d (state_20451[(15)]);\nvar inst_20372 \x3d (inst_20367 \x3c inst_20366);\nvar inst_20373 \x3d inst_20372;\nvar state_20451__$1 \x3d state_20451;\nif(cljs.core.truth_(inst_20373)){\nvar statearr_20550_22361 \x3d state_20451__$1;\n(statearr_20550_22361[(1)] \x3d (10));\n\n} else {\nvar statearr_20551_22362 \x3d state_20451__$1;\n(statearr_20551_22362[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_20552 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_20552[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_20552[(1)] \x3d (1));\n\nreturn statearr_20552;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_20451){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_20451);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e20553){var ex__18260__auto__ \x3d e20553;\nvar statearr_20554_22364 \x3d state_20451;\n(statearr_20554_22364[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_20451[(4)]))){\nvar statearr_20556_22365 \x3d state_20451;\n(statearr_20556_22365[(1)] \x3d cljs.core.first((state_20451[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22366 \x3d state_20451;\nstate_20451 \x3d G__22366;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_20451){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_20451);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_20560 \x3d f__18543__auto__();\n(statearr_20560[(6)] \x3d c__18542__auto___22298);\n\nreturn statearr_20560;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn p;\n}));\n\n(cljs.core.async.pub.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Subscribes a channel to a topic of a pub.\n * \n * By default the channel will be closed when the source closes,\n * but can be determined by the close? parameter.\n */\ncljs.core.async.sub \x3d (function cljs$core$async$sub(var_args){\nvar G__20571 \x3d arguments.length;\nswitch (G__20571) {\ncase 3:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,topic,ch){\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4(p,topic,ch,true);\n}));\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,topic,ch,close_QMARK_){\nreturn cljs.core.async.sub_STAR_(p,topic,ch,close_QMARK_);\n}));\n\n(cljs.core.async.sub.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Unsubscribes a channel from a topic of a pub\n */\ncljs.core.async.unsub \x3d (function cljs$core$async$unsub(p,topic,ch){\nreturn cljs.core.async.unsub_STAR_(p,topic,ch);\n});\n/**\n * Unsubscribes all channels from a pub, or a topic of a pub\n */\ncljs.core.async.unsub_all \x3d (function cljs$core$async$unsub_all(var_args){\nvar G__20595 \x3d arguments.length;\nswitch (G__20595) {\ncase 1:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn cljs.core.async.unsub_all_STAR_(p);\n}));\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,topic){\nreturn cljs.core.async.unsub_all_STAR_(p,topic);\n}));\n\n(cljs.core.async.unsub_all.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a function and a collection of source channels, and returns a\n * channel which contains the values produced by applying f to the set\n * of first items taken from each source channel, followed by applying\n * f to the set of second items from each channel, until any one of the\n * channels is closed, at which point the output channel will be\n * closed. The returned channel will be unbuffered by default, or a\n * buf-or-n can be supplied\n */\ncljs.core.async.map \x3d (function cljs$core$async$map(var_args){\nvar G__20602 \x3d arguments.length;\nswitch (G__20602) {\ncase 2:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,chs){\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3(f,chs,null);\n}));\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,chs,buf_or_n){\nvar chs__$1 \x3d cljs.core.vec(chs);\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar cnt \x3d cljs.core.count(chs__$1);\nvar rets \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(cnt);\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (i){\nreturn (function (ret){\n(rets[i] \x3d ret);\n\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,rets.slice((0)));\n} else {\nreturn null;\n}\n});\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cnt));\nif((cnt \x3d\x3d\x3d (0))){\ncljs.core.async.close_BANG_(out);\n} else {\nvar c__18542__auto___22370 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_20663){\nvar state_val_20664 \x3d (state_20663[(1)]);\nif((state_val_20664 \x3d\x3d\x3d (7))){\nvar state_20663__$1 \x3d state_20663;\nvar statearr_20667_22371 \x3d state_20663__$1;\n(statearr_20667_22371[(2)] \x3d null);\n\n(statearr_20667_22371[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (1))){\nvar state_20663__$1 \x3d state_20663;\nvar statearr_20669_22372 \x3d state_20663__$1;\n(statearr_20669_22372[(2)] \x3d null);\n\n(statearr_20669_22372[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (4))){\nvar inst_20617 \x3d (state_20663[(7)]);\nvar inst_20616 \x3d (state_20663[(8)]);\nvar inst_20621 \x3d (inst_20617 \x3c inst_20616);\nvar state_20663__$1 \x3d state_20663;\nif(cljs.core.truth_(inst_20621)){\nvar statearr_20672_22373 \x3d state_20663__$1;\n(statearr_20672_22373[(1)] \x3d (6));\n\n} else {\nvar statearr_20673_22374 \x3d state_20663__$1;\n(statearr_20673_22374[(1)] \x3d (7));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (15))){\nvar inst_20648 \x3d (state_20663[(9)]);\nvar inst_20654 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,inst_20648);\nvar state_20663__$1 \x3d state_20663;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_20663__$1,(17),out,inst_20654);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (13))){\nvar inst_20648 \x3d (state_20663[(9)]);\nvar inst_20648__$1 \x3d (state_20663[(2)]);\nvar inst_20649 \x3d cljs.core.some(cljs.core.nil_QMARK_,inst_20648__$1);\nvar state_20663__$1 \x3d (function (){var statearr_20684 \x3d state_20663;\n(statearr_20684[(9)] \x3d inst_20648__$1);\n\nreturn statearr_20684;\n})();\nif(cljs.core.truth_(inst_20649)){\nvar statearr_20685_22375 \x3d state_20663__$1;\n(statearr_20685_22375[(1)] \x3d (14));\n\n} else {\nvar statearr_20686_22376 \x3d state_20663__$1;\n(statearr_20686_22376[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (6))){\nvar state_20663__$1 \x3d state_20663;\nvar statearr_20687_22377 \x3d state_20663__$1;\n(statearr_20687_22377[(2)] \x3d null);\n\n(statearr_20687_22377[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (17))){\nvar inst_20656 \x3d (state_20663[(2)]);\nvar state_20663__$1 \x3d (function (){var statearr_20689 \x3d state_20663;\n(statearr_20689[(10)] \x3d inst_20656);\n\nreturn statearr_20689;\n})();\nvar statearr_20690_22378 \x3d state_20663__$1;\n(statearr_20690_22378[(2)] \x3d null);\n\n(statearr_20690_22378[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (3))){\nvar inst_20661 \x3d (state_20663[(2)]);\nvar state_20663__$1 \x3d state_20663;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_20663__$1,inst_20661);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (12))){\nvar _ \x3d (function (){var statearr_20695 \x3d state_20663;\n(statearr_20695[(4)] \x3d cljs.core.rest((state_20663[(4)])));\n\nreturn statearr_20695;\n})();\nvar state_20663__$1 \x3d state_20663;\nvar ex20688 \x3d (state_20663__$1[(2)]);\nvar statearr_20697_22385 \x3d state_20663__$1;\n(statearr_20697_22385[(5)] \x3d ex20688);\n\n\nif((ex20688 instanceof Object)){\nvar statearr_20704_22386 \x3d state_20663__$1;\n(statearr_20704_22386[(1)] \x3d (11));\n\n(statearr_20704_22386[(5)] \x3d null);\n\n} else {\nthrow ex20688;\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (2))){\nvar inst_20615 \x3d cljs.core.reset_BANG_(dctr,cnt);\nvar inst_20616 \x3d cnt;\nvar inst_20617 \x3d (0);\nvar state_20663__$1 \x3d (function (){var statearr_20723 \x3d state_20663;\n(statearr_20723[(7)] \x3d inst_20617);\n\n(statearr_20723[(8)] \x3d inst_20616);\n\n(statearr_20723[(11)] \x3d inst_20615);\n\nreturn statearr_20723;\n})();\nvar statearr_20726_22387 \x3d state_20663__$1;\n(statearr_20726_22387[(2)] \x3d null);\n\n(statearr_20726_22387[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (11))){\nvar inst_20627 \x3d (state_20663[(2)]);\nvar inst_20628 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec);\nvar state_20663__$1 \x3d (function (){var statearr_20731 \x3d state_20663;\n(statearr_20731[(12)] \x3d inst_20627);\n\nreturn statearr_20731;\n})();\nvar statearr_20734_22388 \x3d state_20663__$1;\n(statearr_20734_22388[(2)] \x3d inst_20628);\n\n(statearr_20734_22388[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (9))){\nvar inst_20617 \x3d (state_20663[(7)]);\nvar _ \x3d (function (){var statearr_20738 \x3d state_20663;\n(statearr_20738[(4)] \x3d cljs.core.cons((12),(state_20663[(4)])));\n\nreturn statearr_20738;\n})();\nvar inst_20634 \x3d (chs__$1.cljs$core$IFn$_invoke$arity$1 ? chs__$1.cljs$core$IFn$_invoke$arity$1(inst_20617) : chs__$1.call(null,inst_20617));\nvar inst_20635 \x3d (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(inst_20617) : done.call(null,inst_20617));\nvar inst_20636 \x3d cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(inst_20634,inst_20635);\nvar ___$1 \x3d (function (){var statearr_20741 \x3d state_20663;\n(statearr_20741[(4)] \x3d cljs.core.rest((state_20663[(4)])));\n\nreturn statearr_20741;\n})();\nvar state_20663__$1 \x3d state_20663;\nvar statearr_20743_22389 \x3d state_20663__$1;\n(statearr_20743_22389[(2)] \x3d inst_20636);\n\n(statearr_20743_22389[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (5))){\nvar inst_20646 \x3d (state_20663[(2)]);\nvar state_20663__$1 \x3d (function (){var statearr_20747 \x3d state_20663;\n(statearr_20747[(13)] \x3d inst_20646);\n\nreturn statearr_20747;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_20663__$1,(13),dchan);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (14))){\nvar inst_20652 \x3d cljs.core.async.close_BANG_(out);\nvar state_20663__$1 \x3d state_20663;\nvar statearr_20753_22390 \x3d state_20663__$1;\n(statearr_20753_22390[(2)] \x3d inst_20652);\n\n(statearr_20753_22390[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (16))){\nvar inst_20659 \x3d (state_20663[(2)]);\nvar state_20663__$1 \x3d state_20663;\nvar statearr_20755_22391 \x3d state_20663__$1;\n(statearr_20755_22391[(2)] \x3d inst_20659);\n\n(statearr_20755_22391[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (10))){\nvar inst_20617 \x3d (state_20663[(7)]);\nvar inst_20639 \x3d (state_20663[(2)]);\nvar inst_20640 \x3d (inst_20617 + (1));\nvar inst_20617__$1 \x3d inst_20640;\nvar state_20663__$1 \x3d (function (){var statearr_20758 \x3d state_20663;\n(statearr_20758[(14)] \x3d inst_20639);\n\n(statearr_20758[(7)] \x3d inst_20617__$1);\n\nreturn statearr_20758;\n})();\nvar statearr_20760_22392 \x3d state_20663__$1;\n(statearr_20760_22392[(2)] \x3d null);\n\n(statearr_20760_22392[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20664 \x3d\x3d\x3d (8))){\nvar inst_20644 \x3d (state_20663[(2)]);\nvar state_20663__$1 \x3d state_20663;\nvar statearr_20762_22393 \x3d state_20663__$1;\n(statearr_20762_22393[(2)] \x3d inst_20644);\n\n(statearr_20762_22393[(1)] \x3d (5));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_20768 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_20768[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_20768[(1)] \x3d (1));\n\nreturn statearr_20768;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_20663){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_20663);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e20770){var ex__18260__auto__ \x3d e20770;\nvar statearr_20771_22394 \x3d state_20663;\n(statearr_20771_22394[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_20663[(4)]))){\nvar statearr_20772_22395 \x3d state_20663;\n(statearr_20772_22395[(1)] \x3d cljs.core.first((state_20663[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22396 \x3d state_20663;\nstate_20663 \x3d G__22396;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_20663){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_20663);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_20777 \x3d f__18543__auto__();\n(statearr_20777[(6)] \x3d c__18542__auto___22370);\n\nreturn statearr_20777;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n}\n\nreturn out;\n}));\n\n(cljs.core.async.map.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a collection of source channels and returns a channel which\n * contains all values taken from them. The returned channel will be\n * unbuffered by default, or a buf-or-n can be supplied. The channel\n * will close after all the source channels have closed.\n */\ncljs.core.async.merge \x3d (function cljs$core$async$merge(var_args){\nvar G__20786 \x3d arguments.length;\nswitch (G__20786) {\ncase 1:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1 \x3d (function (chs){\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2(chs,null);\n}));\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2 \x3d (function (chs,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__18542__auto___22398 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_20832){\nvar state_val_20833 \x3d (state_20832[(1)]);\nif((state_val_20833 \x3d\x3d\x3d (7))){\nvar inst_20807 \x3d (state_20832[(7)]);\nvar inst_20808 \x3d (state_20832[(8)]);\nvar inst_20807__$1 \x3d (state_20832[(2)]);\nvar inst_20808__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_20807__$1,(0),null);\nvar inst_20810 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_20807__$1,(1),null);\nvar inst_20812 \x3d (inst_20808__$1 \x3d\x3d null);\nvar state_20832__$1 \x3d (function (){var statearr_20838 \x3d state_20832;\n(statearr_20838[(7)] \x3d inst_20807__$1);\n\n(statearr_20838[(9)] \x3d inst_20810);\n\n(statearr_20838[(8)] \x3d inst_20808__$1);\n\nreturn statearr_20838;\n})();\nif(cljs.core.truth_(inst_20812)){\nvar statearr_20844_22401 \x3d state_20832__$1;\n(statearr_20844_22401[(1)] \x3d (8));\n\n} else {\nvar statearr_20846_22402 \x3d state_20832__$1;\n(statearr_20846_22402[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (1))){\nvar inst_20795 \x3d cljs.core.vec(chs);\nvar inst_20796 \x3d inst_20795;\nvar state_20832__$1 \x3d (function (){var statearr_20847 \x3d state_20832;\n(statearr_20847[(10)] \x3d inst_20796);\n\nreturn statearr_20847;\n})();\nvar statearr_20849_22406 \x3d state_20832__$1;\n(statearr_20849_22406[(2)] \x3d null);\n\n(statearr_20849_22406[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (4))){\nvar inst_20796 \x3d (state_20832[(10)]);\nvar state_20832__$1 \x3d state_20832;\nreturn cljs.core.async.ioc_alts_BANG_(state_20832__$1,(7),inst_20796);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (6))){\nvar inst_20828 \x3d (state_20832[(2)]);\nvar state_20832__$1 \x3d state_20832;\nvar statearr_20853_22408 \x3d state_20832__$1;\n(statearr_20853_22408[(2)] \x3d inst_20828);\n\n(statearr_20853_22408[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (3))){\nvar inst_20830 \x3d (state_20832[(2)]);\nvar state_20832__$1 \x3d state_20832;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_20832__$1,inst_20830);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (2))){\nvar inst_20796 \x3d (state_20832[(10)]);\nvar inst_20799 \x3d cljs.core.count(inst_20796);\nvar inst_20800 \x3d (inst_20799 \x3e (0));\nvar state_20832__$1 \x3d state_20832;\nif(cljs.core.truth_(inst_20800)){\nvar statearr_20859_22412 \x3d state_20832__$1;\n(statearr_20859_22412[(1)] \x3d (4));\n\n} else {\nvar statearr_20861_22413 \x3d state_20832__$1;\n(statearr_20861_22413[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (11))){\nvar inst_20796 \x3d (state_20832[(10)]);\nvar inst_20820 \x3d (state_20832[(2)]);\nvar tmp20854 \x3d inst_20796;\nvar inst_20796__$1 \x3d tmp20854;\nvar state_20832__$1 \x3d (function (){var statearr_20863 \x3d state_20832;\n(statearr_20863[(10)] \x3d inst_20796__$1);\n\n(statearr_20863[(11)] \x3d inst_20820);\n\nreturn statearr_20863;\n})();\nvar statearr_20865_22414 \x3d state_20832__$1;\n(statearr_20865_22414[(2)] \x3d null);\n\n(statearr_20865_22414[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (9))){\nvar inst_20808 \x3d (state_20832[(8)]);\nvar state_20832__$1 \x3d state_20832;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_20832__$1,(11),out,inst_20808);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (5))){\nvar inst_20826 \x3d cljs.core.async.close_BANG_(out);\nvar state_20832__$1 \x3d state_20832;\nvar statearr_20876_22417 \x3d state_20832__$1;\n(statearr_20876_22417[(2)] \x3d inst_20826);\n\n(statearr_20876_22417[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (10))){\nvar inst_20823 \x3d (state_20832[(2)]);\nvar state_20832__$1 \x3d state_20832;\nvar statearr_20878_22418 \x3d state_20832__$1;\n(statearr_20878_22418[(2)] \x3d inst_20823);\n\n(statearr_20878_22418[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20833 \x3d\x3d\x3d (8))){\nvar inst_20807 \x3d (state_20832[(7)]);\nvar inst_20796 \x3d (state_20832[(10)]);\nvar inst_20810 \x3d (state_20832[(9)]);\nvar inst_20808 \x3d (state_20832[(8)]);\nvar inst_20815 \x3d (function (){var cs \x3d inst_20796;\nvar vec__20802 \x3d inst_20807;\nvar v \x3d inst_20808;\nvar c \x3d inst_20810;\nreturn (function (p1__20783_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(c,p1__20783_SHARP_);\n});\n})();\nvar inst_20816 \x3d cljs.core.filterv(inst_20815,inst_20796);\nvar inst_20796__$1 \x3d inst_20816;\nvar state_20832__$1 \x3d (function (){var statearr_20883 \x3d state_20832;\n(statearr_20883[(10)] \x3d inst_20796__$1);\n\nreturn statearr_20883;\n})();\nvar statearr_20884_22419 \x3d state_20832__$1;\n(statearr_20884_22419[(2)] \x3d null);\n\n(statearr_20884_22419[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_20888 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_20888[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_20888[(1)] \x3d (1));\n\nreturn statearr_20888;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_20832){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_20832);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e20892){var ex__18260__auto__ \x3d e20892;\nvar statearr_20893_22420 \x3d state_20832;\n(statearr_20893_22420[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_20832[(4)]))){\nvar statearr_20894_22421 \x3d state_20832;\n(statearr_20894_22421[(1)] \x3d cljs.core.first((state_20832[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22422 \x3d state_20832;\nstate_20832 \x3d G__22422;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_20832){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_20832);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_20896 \x3d f__18543__auto__();\n(statearr_20896[(6)] \x3d c__18542__auto___22398);\n\nreturn statearr_20896;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.merge.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel containing the single (collection) result of the\n * items taken from the channel conjoined to the supplied\n * collection. ch must close before into produces a result.\n */\ncljs.core.async.into \x3d (function cljs$core$async$into(coll,ch){\nreturn cljs.core.async.reduce(cljs.core.conj,coll,ch);\n});\n/**\n * Returns a channel that will return, at most, n items from ch. After n items\n * have been returned, or ch has been closed, the return chanel will close.\n * \n * The output channel is unbuffered by default, unless buf-or-n is given.\n */\ncljs.core.async.take \x3d (function cljs$core$async$take(var_args){\nvar G__20908 \x3d arguments.length;\nswitch (G__20908) {\ncase 2:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__18542__auto___22424 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_20943){\nvar state_val_20944 \x3d (state_20943[(1)]);\nif((state_val_20944 \x3d\x3d\x3d (7))){\nvar inst_20924 \x3d (state_20943[(7)]);\nvar inst_20924__$1 \x3d (state_20943[(2)]);\nvar inst_20925 \x3d (inst_20924__$1 \x3d\x3d null);\nvar inst_20926 \x3d cljs.core.not(inst_20925);\nvar state_20943__$1 \x3d (function (){var statearr_20952 \x3d state_20943;\n(statearr_20952[(7)] \x3d inst_20924__$1);\n\nreturn statearr_20952;\n})();\nif(inst_20926){\nvar statearr_20955_22426 \x3d state_20943__$1;\n(statearr_20955_22426[(1)] \x3d (8));\n\n} else {\nvar statearr_20957_22427 \x3d state_20943__$1;\n(statearr_20957_22427[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (1))){\nvar inst_20919 \x3d (0);\nvar state_20943__$1 \x3d (function (){var statearr_20958 \x3d state_20943;\n(statearr_20958[(8)] \x3d inst_20919);\n\nreturn statearr_20958;\n})();\nvar statearr_20959_22428 \x3d state_20943__$1;\n(statearr_20959_22428[(2)] \x3d null);\n\n(statearr_20959_22428[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (4))){\nvar state_20943__$1 \x3d state_20943;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_20943__$1,(7),ch);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (6))){\nvar inst_20938 \x3d (state_20943[(2)]);\nvar state_20943__$1 \x3d state_20943;\nvar statearr_20966_22440 \x3d state_20943__$1;\n(statearr_20966_22440[(2)] \x3d inst_20938);\n\n(statearr_20966_22440[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (3))){\nvar inst_20940 \x3d (state_20943[(2)]);\nvar inst_20941 \x3d cljs.core.async.close_BANG_(out);\nvar state_20943__$1 \x3d (function (){var statearr_20968 \x3d state_20943;\n(statearr_20968[(9)] \x3d inst_20940);\n\nreturn statearr_20968;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_20943__$1,inst_20941);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (2))){\nvar inst_20919 \x3d (state_20943[(8)]);\nvar inst_20921 \x3d (inst_20919 \x3c n);\nvar state_20943__$1 \x3d state_20943;\nif(cljs.core.truth_(inst_20921)){\nvar statearr_20972_22447 \x3d state_20943__$1;\n(statearr_20972_22447[(1)] \x3d (4));\n\n} else {\nvar statearr_20973_22448 \x3d state_20943__$1;\n(statearr_20973_22448[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (11))){\nvar inst_20919 \x3d (state_20943[(8)]);\nvar inst_20929 \x3d (state_20943[(2)]);\nvar inst_20931 \x3d (inst_20919 + (1));\nvar inst_20919__$1 \x3d inst_20931;\nvar state_20943__$1 \x3d (function (){var statearr_20976 \x3d state_20943;\n(statearr_20976[(10)] \x3d inst_20929);\n\n(statearr_20976[(8)] \x3d inst_20919__$1);\n\nreturn statearr_20976;\n})();\nvar statearr_20977_22449 \x3d state_20943__$1;\n(statearr_20977_22449[(2)] \x3d null);\n\n(statearr_20977_22449[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (9))){\nvar state_20943__$1 \x3d state_20943;\nvar statearr_20981_22458 \x3d state_20943__$1;\n(statearr_20981_22458[(2)] \x3d null);\n\n(statearr_20981_22458[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (5))){\nvar state_20943__$1 \x3d state_20943;\nvar statearr_20983_22459 \x3d state_20943__$1;\n(statearr_20983_22459[(2)] \x3d null);\n\n(statearr_20983_22459[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (10))){\nvar inst_20935 \x3d (state_20943[(2)]);\nvar state_20943__$1 \x3d state_20943;\nvar statearr_20985_22462 \x3d state_20943__$1;\n(statearr_20985_22462[(2)] \x3d inst_20935);\n\n(statearr_20985_22462[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_20944 \x3d\x3d\x3d (8))){\nvar inst_20924 \x3d (state_20943[(7)]);\nvar state_20943__$1 \x3d state_20943;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_20943__$1,(11),out,inst_20924);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_20990 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_20990[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_20990[(1)] \x3d (1));\n\nreturn statearr_20990;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_20943){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_20943);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e20992){var ex__18260__auto__ \x3d e20992;\nvar statearr_20994_22463 \x3d state_20943;\n(statearr_20994_22463[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_20943[(4)]))){\nvar statearr_20997_22464 \x3d state_20943;\n(statearr_20997_22464[(1)] \x3d cljs.core.first((state_20943[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22465 \x3d state_20943;\nstate_20943 \x3d G__22465;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_20943){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_20943);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_21002 \x3d f__18543__auto__();\n(statearr_21002[(6)] \x3d c__18542__auto___22424);\n\nreturn statearr_21002;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.take.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async21027 \x3d (function (f,ch,meta21015,_,fn1,meta21028){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta21015 \x3d meta21015;\nthis._ \x3d _;\nthis.fn1 \x3d fn1;\nthis.meta21028 \x3d meta21028;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async21027.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_21029,meta21028__$1){\nvar self__ \x3d this;\nvar _21029__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async21027(self__.f,self__.ch,self__.meta21015,self__._,self__.fn1,meta21028__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async21027.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_21029){\nvar self__ \x3d this;\nvar _21029__$1 \x3d this;\nreturn self__.meta21028;\n}));\n\n(cljs.core.async.t_cljs$core$async21027.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21027.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async21027.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async21027.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nvar f1 \x3d cljs.core.async.impl.protocols.commit(self__.fn1);\nreturn (function (p1__21010_SHARP_){\nvar G__21043 \x3d (((p1__21010_SHARP_ \x3d\x3d null))?null:(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(p1__21010_SHARP_) : self__.f.call(null,p1__21010_SHARP_)));\nreturn (f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(G__21043) : f1.call(null,G__21043));\n});\n}));\n\n(cljs.core.async.t_cljs$core$async21027.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta21015\x22,\x22meta21015\x22,-1975561661,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_\x22,\x22_\x22,-1201019570,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(\x22cljs.core.async\x22,\x22t_cljs$core$async21014\x22,\x22cljs.core.async/t_cljs$core$async21014\x22,1525889702,null)], null)),new cljs.core.Symbol(null,\x22fn1\x22,\x22fn1\x22,895834444,null),new cljs.core.Symbol(null,\x22meta21028\x22,\x22meta21028\x22,-304230203,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async21027.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async21027.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async21027\x22);\n\n(cljs.core.async.t_cljs$core$async21027.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async21027\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async21027.\n */\ncljs.core.async.__GT_t_cljs$core$async21027 \x3d (function cljs$core$async$__GT_t_cljs$core$async21027(f,ch,meta21015,_,fn1,meta21028){\nreturn (new cljs.core.async.t_cljs$core$async21027(f,ch,meta21015,_,fn1,meta21028));\n});\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async21014 \x3d (function (f,ch,meta21015){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta21015 \x3d meta21015;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async21014.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_21016,meta21015__$1){\nvar self__ \x3d this;\nvar _21016__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async21014(self__.f,self__.ch,meta21015__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async21014.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_21016){\nvar self__ \x3d this;\nvar _21016__$1 \x3d this;\nreturn self__.meta21015;\n}));\n\n(cljs.core.async.t_cljs$core$async21014.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21014.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async21014.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async21014.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21014.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(self__.ch,(new cljs.core.async.t_cljs$core$async21027(self__.f,self__.ch,self__.meta21015,___$1,fn1,cljs.core.PersistentArrayMap.EMPTY)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d ret;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!((cljs.core.deref(ret) \x3d\x3d null)));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.async.impl.channels.box((function (){var G__21060 \x3d cljs.core.deref(ret);\nreturn (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(G__21060) : self__.f.call(null,G__21060));\n})());\n} else {\nreturn ret;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async21014.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21014.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async21014.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta21015\x22,\x22meta21015\x22,-1975561661,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async21014.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async21014.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async21014\x22);\n\n(cljs.core.async.t_cljs$core$async21014.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async21014\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async21014.\n */\ncljs.core.async.__GT_t_cljs$core$async21014 \x3d (function cljs$core$async$__GT_t_cljs$core$async21014(f,ch,meta21015){\nreturn (new cljs.core.async.t_cljs$core$async21014(f,ch,meta21015));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_LT_ \x3d (function cljs$core$async$map_LT_(f,ch){\nreturn (new cljs.core.async.t_cljs$core$async21014(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async21090 \x3d (function (f,ch,meta21091){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta21091 \x3d meta21091;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async21090.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_21092,meta21091__$1){\nvar self__ \x3d this;\nvar _21092__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async21090(self__.f,self__.ch,meta21091__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async21090.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_21092){\nvar self__ \x3d this;\nvar _21092__$1 \x3d this;\nreturn self__.meta21091;\n}));\n\n(cljs.core.async.t_cljs$core$async21090.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21090.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async21090.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21090.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async21090.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21090.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(val) : self__.f.call(null,val)),fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async21090.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta21091\x22,\x22meta21091\x22,-1409877504,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async21090.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async21090.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async21090\x22);\n\n(cljs.core.async.t_cljs$core$async21090.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async21090\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async21090.\n */\ncljs.core.async.__GT_t_cljs$core$async21090 \x3d (function cljs$core$async$__GT_t_cljs$core$async21090(f,ch,meta21091){\nreturn (new cljs.core.async.t_cljs$core$async21090(f,ch,meta21091));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_GT_ \x3d (function cljs$core$async$map_GT_(f,ch){\nreturn (new cljs.core.async.t_cljs$core$async21090(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async21095 \x3d (function (p,ch,meta21096){\nthis.p \x3d p;\nthis.ch \x3d ch;\nthis.meta21096 \x3d meta21096;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async21095.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_21097,meta21096__$1){\nvar self__ \x3d this;\nvar _21097__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async21095(self__.p,self__.ch,meta21096__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async21095.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_21097){\nvar self__ \x3d this;\nvar _21097__$1 \x3d this;\nreturn self__.meta21096;\n}));\n\n(cljs.core.async.t_cljs$core$async21095.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21095.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async21095.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async21095.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21095.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async21095.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async21095.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.p.cljs$core$IFn$_invoke$arity$1 ? self__.p.cljs$core$IFn$_invoke$arity$1(val) : self__.p.call(null,val)))){\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n} else {\nreturn cljs.core.async.impl.channels.box(cljs.core.not(cljs.core.async.impl.protocols.closed_QMARK_(self__.ch)));\n}\n}));\n\n(cljs.core.async.t_cljs$core$async21095.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p\x22,\x22p\x22,1791580836,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta21096\x22,\x22meta21096\x22,-1960459762,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async21095.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async21095.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async21095\x22);\n\n(cljs.core.async.t_cljs$core$async21095.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async21095\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async21095.\n */\ncljs.core.async.__GT_t_cljs$core$async21095 \x3d (function cljs$core$async$__GT_t_cljs$core$async21095(p,ch,meta21096){\nreturn (new cljs.core.async.t_cljs$core$async21095(p,ch,meta21096));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_GT_ \x3d (function cljs$core$async$filter_GT_(p,ch){\nreturn (new cljs.core.async.t_cljs$core$async21095(p,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_GT_ \x3d (function cljs$core$async$remove_GT_(p,ch){\nreturn cljs.core.async.filter_GT_(cljs.core.complement(p),ch);\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_LT_ \x3d (function cljs$core$async$filter_LT_(var_args){\nvar G__21132 \x3d arguments.length;\nswitch (G__21132) {\ncase 2:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__18542__auto___22509 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_21165){\nvar state_val_21166 \x3d (state_21165[(1)]);\nif((state_val_21166 \x3d\x3d\x3d (7))){\nvar inst_21161 \x3d (state_21165[(2)]);\nvar state_21165__$1 \x3d state_21165;\nvar statearr_21173_22510 \x3d state_21165__$1;\n(statearr_21173_22510[(2)] \x3d inst_21161);\n\n(statearr_21173_22510[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (1))){\nvar state_21165__$1 \x3d state_21165;\nvar statearr_21174_22511 \x3d state_21165__$1;\n(statearr_21174_22511[(2)] \x3d null);\n\n(statearr_21174_22511[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (4))){\nvar inst_21143 \x3d (state_21165[(7)]);\nvar inst_21143__$1 \x3d (state_21165[(2)]);\nvar inst_21148 \x3d (inst_21143__$1 \x3d\x3d null);\nvar state_21165__$1 \x3d (function (){var statearr_21177 \x3d state_21165;\n(statearr_21177[(7)] \x3d inst_21143__$1);\n\nreturn statearr_21177;\n})();\nif(cljs.core.truth_(inst_21148)){\nvar statearr_21179_22512 \x3d state_21165__$1;\n(statearr_21179_22512[(1)] \x3d (5));\n\n} else {\nvar statearr_21180_22516 \x3d state_21165__$1;\n(statearr_21180_22516[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (6))){\nvar inst_21143 \x3d (state_21165[(7)]);\nvar inst_21152 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_21143) : p.call(null,inst_21143));\nvar state_21165__$1 \x3d state_21165;\nif(cljs.core.truth_(inst_21152)){\nvar statearr_21183_22517 \x3d state_21165__$1;\n(statearr_21183_22517[(1)] \x3d (8));\n\n} else {\nvar statearr_21185_22518 \x3d state_21165__$1;\n(statearr_21185_22518[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (3))){\nvar inst_21163 \x3d (state_21165[(2)]);\nvar state_21165__$1 \x3d state_21165;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_21165__$1,inst_21163);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (2))){\nvar state_21165__$1 \x3d state_21165;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_21165__$1,(4),ch);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (11))){\nvar inst_21155 \x3d (state_21165[(2)]);\nvar state_21165__$1 \x3d state_21165;\nvar statearr_21194_22519 \x3d state_21165__$1;\n(statearr_21194_22519[(2)] \x3d inst_21155);\n\n(statearr_21194_22519[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (9))){\nvar state_21165__$1 \x3d state_21165;\nvar statearr_21200_22520 \x3d state_21165__$1;\n(statearr_21200_22520[(2)] \x3d null);\n\n(statearr_21200_22520[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (5))){\nvar inst_21150 \x3d cljs.core.async.close_BANG_(out);\nvar state_21165__$1 \x3d state_21165;\nvar statearr_21202_22521 \x3d state_21165__$1;\n(statearr_21202_22521[(2)] \x3d inst_21150);\n\n(statearr_21202_22521[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (10))){\nvar inst_21158 \x3d (state_21165[(2)]);\nvar state_21165__$1 \x3d (function (){var statearr_21206 \x3d state_21165;\n(statearr_21206[(8)] \x3d inst_21158);\n\nreturn statearr_21206;\n})();\nvar statearr_21207_22522 \x3d state_21165__$1;\n(statearr_21207_22522[(2)] \x3d null);\n\n(statearr_21207_22522[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21166 \x3d\x3d\x3d (8))){\nvar inst_21143 \x3d (state_21165[(7)]);\nvar state_21165__$1 \x3d state_21165;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_21165__$1,(11),out,inst_21143);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_21211 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_21211[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_21211[(1)] \x3d (1));\n\nreturn statearr_21211;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_21165){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_21165);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e21219){var ex__18260__auto__ \x3d e21219;\nvar statearr_21220_22529 \x3d state_21165;\n(statearr_21220_22529[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_21165[(4)]))){\nvar statearr_21224_22530 \x3d state_21165;\n(statearr_21224_22530[(1)] \x3d cljs.core.first((state_21165[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22531 \x3d state_21165;\nstate_21165 \x3d G__22531;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_21165){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_21165);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_21226 \x3d f__18543__auto__();\n(statearr_21226[(6)] \x3d c__18542__auto___22509);\n\nreturn statearr_21226;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.filter_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_LT_ \x3d (function cljs$core$async$remove_LT_(var_args){\nvar G__21241 \x3d arguments.length;\nswitch (G__21241) {\ncase 2:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(cljs.core.complement(p),ch,buf_or_n);\n}));\n\n(cljs.core.async.remove_LT_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.mapcat_STAR_ \x3d (function cljs$core$async$mapcat_STAR_(f,in$,out){\nvar c__18542__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_21317){\nvar state_val_21318 \x3d (state_21317[(1)]);\nif((state_val_21318 \x3d\x3d\x3d (7))){\nvar inst_21313 \x3d (state_21317[(2)]);\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21319_22535 \x3d state_21317__$1;\n(statearr_21319_22535[(2)] \x3d inst_21313);\n\n(statearr_21319_22535[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (20))){\nvar inst_21283 \x3d (state_21317[(7)]);\nvar inst_21294 \x3d (state_21317[(2)]);\nvar inst_21295 \x3d cljs.core.next(inst_21283);\nvar inst_21268 \x3d inst_21295;\nvar inst_21269 \x3d null;\nvar inst_21270 \x3d (0);\nvar inst_21271 \x3d (0);\nvar state_21317__$1 \x3d (function (){var statearr_21320 \x3d state_21317;\n(statearr_21320[(8)] \x3d inst_21268);\n\n(statearr_21320[(9)] \x3d inst_21270);\n\n(statearr_21320[(10)] \x3d inst_21269);\n\n(statearr_21320[(11)] \x3d inst_21271);\n\n(statearr_21320[(12)] \x3d inst_21294);\n\nreturn statearr_21320;\n})();\nvar statearr_21321_22537 \x3d state_21317__$1;\n(statearr_21321_22537[(2)] \x3d null);\n\n(statearr_21321_22537[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (1))){\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21322_22538 \x3d state_21317__$1;\n(statearr_21322_22538[(2)] \x3d null);\n\n(statearr_21322_22538[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (4))){\nvar inst_21254 \x3d (state_21317[(13)]);\nvar inst_21254__$1 \x3d (state_21317[(2)]);\nvar inst_21255 \x3d (inst_21254__$1 \x3d\x3d null);\nvar state_21317__$1 \x3d (function (){var statearr_21323 \x3d state_21317;\n(statearr_21323[(13)] \x3d inst_21254__$1);\n\nreturn statearr_21323;\n})();\nif(cljs.core.truth_(inst_21255)){\nvar statearr_21324_22539 \x3d state_21317__$1;\n(statearr_21324_22539[(1)] \x3d (5));\n\n} else {\nvar statearr_21325_22540 \x3d state_21317__$1;\n(statearr_21325_22540[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (15))){\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21329_22541 \x3d state_21317__$1;\n(statearr_21329_22541[(2)] \x3d null);\n\n(statearr_21329_22541[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (21))){\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21330_22542 \x3d state_21317__$1;\n(statearr_21330_22542[(2)] \x3d null);\n\n(statearr_21330_22542[(1)] \x3d (23));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (13))){\nvar inst_21268 \x3d (state_21317[(8)]);\nvar inst_21270 \x3d (state_21317[(9)]);\nvar inst_21269 \x3d (state_21317[(10)]);\nvar inst_21271 \x3d (state_21317[(11)]);\nvar inst_21278 \x3d (state_21317[(2)]);\nvar inst_21279 \x3d (inst_21271 + (1));\nvar tmp21326 \x3d inst_21268;\nvar tmp21327 \x3d inst_21270;\nvar tmp21328 \x3d inst_21269;\nvar inst_21268__$1 \x3d tmp21326;\nvar inst_21269__$1 \x3d tmp21328;\nvar inst_21270__$1 \x3d tmp21327;\nvar inst_21271__$1 \x3d inst_21279;\nvar state_21317__$1 \x3d (function (){var statearr_21332 \x3d state_21317;\n(statearr_21332[(8)] \x3d inst_21268__$1);\n\n(statearr_21332[(9)] \x3d inst_21270__$1);\n\n(statearr_21332[(10)] \x3d inst_21269__$1);\n\n(statearr_21332[(14)] \x3d inst_21278);\n\n(statearr_21332[(11)] \x3d inst_21271__$1);\n\nreturn statearr_21332;\n})();\nvar statearr_21333_22543 \x3d state_21317__$1;\n(statearr_21333_22543[(2)] \x3d null);\n\n(statearr_21333_22543[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (22))){\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21334_22544 \x3d state_21317__$1;\n(statearr_21334_22544[(2)] \x3d null);\n\n(statearr_21334_22544[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (6))){\nvar inst_21254 \x3d (state_21317[(13)]);\nvar inst_21266 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_21254) : f.call(null,inst_21254));\nvar inst_21267 \x3d cljs.core.seq(inst_21266);\nvar inst_21268 \x3d inst_21267;\nvar inst_21269 \x3d null;\nvar inst_21270 \x3d (0);\nvar inst_21271 \x3d (0);\nvar state_21317__$1 \x3d (function (){var statearr_21339 \x3d state_21317;\n(statearr_21339[(8)] \x3d inst_21268);\n\n(statearr_21339[(9)] \x3d inst_21270);\n\n(statearr_21339[(10)] \x3d inst_21269);\n\n(statearr_21339[(11)] \x3d inst_21271);\n\nreturn statearr_21339;\n})();\nvar statearr_21340_22545 \x3d state_21317__$1;\n(statearr_21340_22545[(2)] \x3d null);\n\n(statearr_21340_22545[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (17))){\nvar inst_21283 \x3d (state_21317[(7)]);\nvar inst_21287 \x3d cljs.core.chunk_first(inst_21283);\nvar inst_21288 \x3d cljs.core.chunk_rest(inst_21283);\nvar inst_21289 \x3d cljs.core.count(inst_21287);\nvar inst_21268 \x3d inst_21288;\nvar inst_21269 \x3d inst_21287;\nvar inst_21270 \x3d inst_21289;\nvar inst_21271 \x3d (0);\nvar state_21317__$1 \x3d (function (){var statearr_21341 \x3d state_21317;\n(statearr_21341[(8)] \x3d inst_21268);\n\n(statearr_21341[(9)] \x3d inst_21270);\n\n(statearr_21341[(10)] \x3d inst_21269);\n\n(statearr_21341[(11)] \x3d inst_21271);\n\nreturn statearr_21341;\n})();\nvar statearr_21342_22555 \x3d state_21317__$1;\n(statearr_21342_22555[(2)] \x3d null);\n\n(statearr_21342_22555[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (3))){\nvar inst_21315 \x3d (state_21317[(2)]);\nvar state_21317__$1 \x3d state_21317;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_21317__$1,inst_21315);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (12))){\nvar inst_21303 \x3d (state_21317[(2)]);\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21347_22556 \x3d state_21317__$1;\n(statearr_21347_22556[(2)] \x3d inst_21303);\n\n(statearr_21347_22556[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (2))){\nvar state_21317__$1 \x3d state_21317;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_21317__$1,(4),in$);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (23))){\nvar inst_21311 \x3d (state_21317[(2)]);\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21348_22557 \x3d state_21317__$1;\n(statearr_21348_22557[(2)] \x3d inst_21311);\n\n(statearr_21348_22557[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (19))){\nvar inst_21298 \x3d (state_21317[(2)]);\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21352_22558 \x3d state_21317__$1;\n(statearr_21352_22558[(2)] \x3d inst_21298);\n\n(statearr_21352_22558[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (11))){\nvar inst_21268 \x3d (state_21317[(8)]);\nvar inst_21283 \x3d (state_21317[(7)]);\nvar inst_21283__$1 \x3d cljs.core.seq(inst_21268);\nvar state_21317__$1 \x3d (function (){var statearr_21354 \x3d state_21317;\n(statearr_21354[(7)] \x3d inst_21283__$1);\n\nreturn statearr_21354;\n})();\nif(inst_21283__$1){\nvar statearr_21355_22559 \x3d state_21317__$1;\n(statearr_21355_22559[(1)] \x3d (14));\n\n} else {\nvar statearr_21356_22560 \x3d state_21317__$1;\n(statearr_21356_22560[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (9))){\nvar inst_21305 \x3d (state_21317[(2)]);\nvar inst_21306 \x3d cljs.core.async.impl.protocols.closed_QMARK_(out);\nvar state_21317__$1 \x3d (function (){var statearr_21357 \x3d state_21317;\n(statearr_21357[(15)] \x3d inst_21305);\n\nreturn statearr_21357;\n})();\nif(cljs.core.truth_(inst_21306)){\nvar statearr_21360_22561 \x3d state_21317__$1;\n(statearr_21360_22561[(1)] \x3d (21));\n\n} else {\nvar statearr_21362_22562 \x3d state_21317__$1;\n(statearr_21362_22562[(1)] \x3d (22));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (5))){\nvar inst_21260 \x3d cljs.core.async.close_BANG_(out);\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21363_22563 \x3d state_21317__$1;\n(statearr_21363_22563[(2)] \x3d inst_21260);\n\n(statearr_21363_22563[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (14))){\nvar inst_21283 \x3d (state_21317[(7)]);\nvar inst_21285 \x3d cljs.core.chunked_seq_QMARK_(inst_21283);\nvar state_21317__$1 \x3d state_21317;\nif(inst_21285){\nvar statearr_21364_22564 \x3d state_21317__$1;\n(statearr_21364_22564[(1)] \x3d (17));\n\n} else {\nvar statearr_21365_22565 \x3d state_21317__$1;\n(statearr_21365_22565[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (16))){\nvar inst_21301 \x3d (state_21317[(2)]);\nvar state_21317__$1 \x3d state_21317;\nvar statearr_21367_22566 \x3d state_21317__$1;\n(statearr_21367_22566[(2)] \x3d inst_21301);\n\n(statearr_21367_22566[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (10))){\nvar inst_21269 \x3d (state_21317[(10)]);\nvar inst_21271 \x3d (state_21317[(11)]);\nvar inst_21276 \x3d cljs.core._nth(inst_21269,inst_21271);\nvar state_21317__$1 \x3d state_21317;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_21317__$1,(13),out,inst_21276);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (18))){\nvar inst_21283 \x3d (state_21317[(7)]);\nvar inst_21292 \x3d cljs.core.first(inst_21283);\nvar state_21317__$1 \x3d state_21317;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_21317__$1,(20),out,inst_21292);\n} else {\nif((state_val_21318 \x3d\x3d\x3d (8))){\nvar inst_21270 \x3d (state_21317[(9)]);\nvar inst_21271 \x3d (state_21317[(11)]);\nvar inst_21273 \x3d (inst_21271 \x3c inst_21270);\nvar inst_21274 \x3d inst_21273;\nvar state_21317__$1 \x3d state_21317;\nif(cljs.core.truth_(inst_21274)){\nvar statearr_21372_22567 \x3d state_21317__$1;\n(statearr_21372_22567[(1)] \x3d (10));\n\n} else {\nvar statearr_21373_22568 \x3d state_21317__$1;\n(statearr_21373_22568[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mapcat_STAR__$_state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$mapcat_STAR__$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_21377 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_21377[(0)] \x3d cljs$core$async$mapcat_STAR__$_state_machine__18257__auto__);\n\n(statearr_21377[(1)] \x3d (1));\n\nreturn statearr_21377;\n});\nvar cljs$core$async$mapcat_STAR__$_state_machine__18257__auto____1 \x3d (function (state_21317){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_21317);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e21379){var ex__18260__auto__ \x3d e21379;\nvar statearr_21381_22569 \x3d state_21317;\n(statearr_21381_22569[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_21317[(4)]))){\nvar statearr_21383_22570 \x3d state_21317;\n(statearr_21383_22570[(1)] \x3d cljs.core.first((state_21317[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22571 \x3d state_21317;\nstate_21317 \x3d G__22571;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mapcat_STAR__$_state_machine__18257__auto__ \x3d function(state_21317){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__18257__auto____1.call(this,state_21317);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mapcat_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mapcat_STAR__$_state_machine__18257__auto____0;\ncljs$core$async$mapcat_STAR__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mapcat_STAR__$_state_machine__18257__auto____1;\nreturn cljs$core$async$mapcat_STAR__$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_21385 \x3d f__18543__auto__();\n(statearr_21385[(6)] \x3d c__18542__auto__);\n\nreturn statearr_21385;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\nreturn c__18542__auto__;\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_LT_ \x3d (function cljs$core$async$mapcat_LT_(var_args){\nvar G__21388 \x3d arguments.length;\nswitch (G__21388) {\ncase 2:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,in$){\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3(f,in$,null);\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,in$,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn out;\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_GT_ \x3d (function cljs$core$async$mapcat_GT_(var_args){\nvar G__21399 \x3d arguments.length;\nswitch (G__21399) {\ncase 2:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,out){\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3(f,out,null);\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,out,buf_or_n){\nvar in$ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn in$;\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.unique \x3d (function cljs$core$async$unique(var_args){\nvar G__21411 \x3d arguments.length;\nswitch (G__21411) {\ncase 1:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1 \x3d (function (ch){\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2(ch,null);\n}));\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__18542__auto___22575 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_21449){\nvar state_val_21450 \x3d (state_21449[(1)]);\nif((state_val_21450 \x3d\x3d\x3d (7))){\nvar inst_21444 \x3d (state_21449[(2)]);\nvar state_21449__$1 \x3d state_21449;\nvar statearr_21454_22576 \x3d state_21449__$1;\n(statearr_21454_22576[(2)] \x3d inst_21444);\n\n(statearr_21454_22576[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (1))){\nvar inst_21422 \x3d null;\nvar state_21449__$1 \x3d (function (){var statearr_21456 \x3d state_21449;\n(statearr_21456[(7)] \x3d inst_21422);\n\nreturn statearr_21456;\n})();\nvar statearr_21460_22577 \x3d state_21449__$1;\n(statearr_21460_22577[(2)] \x3d null);\n\n(statearr_21460_22577[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (4))){\nvar inst_21425 \x3d (state_21449[(8)]);\nvar inst_21425__$1 \x3d (state_21449[(2)]);\nvar inst_21426 \x3d (inst_21425__$1 \x3d\x3d null);\nvar inst_21427 \x3d cljs.core.not(inst_21426);\nvar state_21449__$1 \x3d (function (){var statearr_21464 \x3d state_21449;\n(statearr_21464[(8)] \x3d inst_21425__$1);\n\nreturn statearr_21464;\n})();\nif(inst_21427){\nvar statearr_21465_22578 \x3d state_21449__$1;\n(statearr_21465_22578[(1)] \x3d (5));\n\n} else {\nvar statearr_21466_22579 \x3d state_21449__$1;\n(statearr_21466_22579[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (6))){\nvar state_21449__$1 \x3d state_21449;\nvar statearr_21467_22580 \x3d state_21449__$1;\n(statearr_21467_22580[(2)] \x3d null);\n\n(statearr_21467_22580[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (3))){\nvar inst_21446 \x3d (state_21449[(2)]);\nvar inst_21447 \x3d cljs.core.async.close_BANG_(out);\nvar state_21449__$1 \x3d (function (){var statearr_21482 \x3d state_21449;\n(statearr_21482[(9)] \x3d inst_21446);\n\nreturn statearr_21482;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_21449__$1,inst_21447);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (2))){\nvar state_21449__$1 \x3d state_21449;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_21449__$1,(4),ch);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (11))){\nvar inst_21425 \x3d (state_21449[(8)]);\nvar inst_21435 \x3d (state_21449[(2)]);\nvar inst_21422 \x3d inst_21425;\nvar state_21449__$1 \x3d (function (){var statearr_21502 \x3d state_21449;\n(statearr_21502[(7)] \x3d inst_21422);\n\n(statearr_21502[(10)] \x3d inst_21435);\n\nreturn statearr_21502;\n})();\nvar statearr_21507_22586 \x3d state_21449__$1;\n(statearr_21507_22586[(2)] \x3d null);\n\n(statearr_21507_22586[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (9))){\nvar inst_21425 \x3d (state_21449[(8)]);\nvar state_21449__$1 \x3d state_21449;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_21449__$1,(11),out,inst_21425);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (5))){\nvar inst_21422 \x3d (state_21449[(7)]);\nvar inst_21425 \x3d (state_21449[(8)]);\nvar inst_21429 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_21425,inst_21422);\nvar state_21449__$1 \x3d state_21449;\nif(inst_21429){\nvar statearr_21530_22587 \x3d state_21449__$1;\n(statearr_21530_22587[(1)] \x3d (8));\n\n} else {\nvar statearr_21531_22588 \x3d state_21449__$1;\n(statearr_21531_22588[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (10))){\nvar inst_21441 \x3d (state_21449[(2)]);\nvar state_21449__$1 \x3d state_21449;\nvar statearr_21533_22589 \x3d state_21449__$1;\n(statearr_21533_22589[(2)] \x3d inst_21441);\n\n(statearr_21533_22589[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21450 \x3d\x3d\x3d (8))){\nvar inst_21422 \x3d (state_21449[(7)]);\nvar tmp21524 \x3d inst_21422;\nvar inst_21422__$1 \x3d tmp21524;\nvar state_21449__$1 \x3d (function (){var statearr_21534 \x3d state_21449;\n(statearr_21534[(7)] \x3d inst_21422__$1);\n\nreturn statearr_21534;\n})();\nvar statearr_21536_22590 \x3d state_21449__$1;\n(statearr_21536_22590[(2)] \x3d null);\n\n(statearr_21536_22590[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_21540 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_21540[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_21540[(1)] \x3d (1));\n\nreturn statearr_21540;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_21449){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_21449);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e21541){var ex__18260__auto__ \x3d e21541;\nvar statearr_21542_22591 \x3d state_21449;\n(statearr_21542_22591[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_21449[(4)]))){\nvar statearr_21543_22592 \x3d state_21449;\n(statearr_21543_22592[(1)] \x3d cljs.core.first((state_21449[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22593 \x3d state_21449;\nstate_21449 \x3d G__22593;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_21449){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_21449);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_21544 \x3d f__18543__auto__();\n(statearr_21544[(6)] \x3d c__18542__auto___22575);\n\nreturn statearr_21544;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.unique.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition \x3d (function cljs$core$async$partition(var_args){\nvar G__21558 \x3d arguments.length;\nswitch (G__21558) {\ncase 2:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__18542__auto___22595 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_21606){\nvar state_val_21607 \x3d (state_21606[(1)]);\nif((state_val_21607 \x3d\x3d\x3d (7))){\nvar inst_21602 \x3d (state_21606[(2)]);\nvar state_21606__$1 \x3d state_21606;\nvar statearr_21618_22596 \x3d state_21606__$1;\n(statearr_21618_22596[(2)] \x3d inst_21602);\n\n(statearr_21618_22596[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (1))){\nvar inst_21564 \x3d (new Array(n));\nvar inst_21565 \x3d inst_21564;\nvar inst_21566 \x3d (0);\nvar state_21606__$1 \x3d (function (){var statearr_21620 \x3d state_21606;\n(statearr_21620[(7)] \x3d inst_21565);\n\n(statearr_21620[(8)] \x3d inst_21566);\n\nreturn statearr_21620;\n})();\nvar statearr_21622_22609 \x3d state_21606__$1;\n(statearr_21622_22609[(2)] \x3d null);\n\n(statearr_21622_22609[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (4))){\nvar inst_21569 \x3d (state_21606[(9)]);\nvar inst_21569__$1 \x3d (state_21606[(2)]);\nvar inst_21570 \x3d (inst_21569__$1 \x3d\x3d null);\nvar inst_21571 \x3d cljs.core.not(inst_21570);\nvar state_21606__$1 \x3d (function (){var statearr_21623 \x3d state_21606;\n(statearr_21623[(9)] \x3d inst_21569__$1);\n\nreturn statearr_21623;\n})();\nif(inst_21571){\nvar statearr_21624_22610 \x3d state_21606__$1;\n(statearr_21624_22610[(1)] \x3d (5));\n\n} else {\nvar statearr_21625_22611 \x3d state_21606__$1;\n(statearr_21625_22611[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (15))){\nvar inst_21595 \x3d (state_21606[(2)]);\nvar state_21606__$1 \x3d state_21606;\nvar statearr_21626_22612 \x3d state_21606__$1;\n(statearr_21626_22612[(2)] \x3d inst_21595);\n\n(statearr_21626_22612[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (13))){\nvar state_21606__$1 \x3d state_21606;\nvar statearr_21627_22613 \x3d state_21606__$1;\n(statearr_21627_22613[(2)] \x3d null);\n\n(statearr_21627_22613[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (6))){\nvar inst_21566 \x3d (state_21606[(8)]);\nvar inst_21591 \x3d (inst_21566 \x3e (0));\nvar state_21606__$1 \x3d state_21606;\nif(cljs.core.truth_(inst_21591)){\nvar statearr_21629_22615 \x3d state_21606__$1;\n(statearr_21629_22615[(1)] \x3d (12));\n\n} else {\nvar statearr_21630_22616 \x3d state_21606__$1;\n(statearr_21630_22616[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (3))){\nvar inst_21604 \x3d (state_21606[(2)]);\nvar state_21606__$1 \x3d state_21606;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_21606__$1,inst_21604);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (12))){\nvar inst_21565 \x3d (state_21606[(7)]);\nvar inst_21593 \x3d cljs.core.vec(inst_21565);\nvar state_21606__$1 \x3d state_21606;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_21606__$1,(15),out,inst_21593);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (2))){\nvar state_21606__$1 \x3d state_21606;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_21606__$1,(4),ch);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (11))){\nvar inst_21584 \x3d (state_21606[(2)]);\nvar inst_21585 \x3d (new Array(n));\nvar inst_21565 \x3d inst_21585;\nvar inst_21566 \x3d (0);\nvar state_21606__$1 \x3d (function (){var statearr_21633 \x3d state_21606;\n(statearr_21633[(7)] \x3d inst_21565);\n\n(statearr_21633[(10)] \x3d inst_21584);\n\n(statearr_21633[(8)] \x3d inst_21566);\n\nreturn statearr_21633;\n})();\nvar statearr_21636_22618 \x3d state_21606__$1;\n(statearr_21636_22618[(2)] \x3d null);\n\n(statearr_21636_22618[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (9))){\nvar inst_21565 \x3d (state_21606[(7)]);\nvar inst_21582 \x3d cljs.core.vec(inst_21565);\nvar state_21606__$1 \x3d state_21606;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_21606__$1,(11),out,inst_21582);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (5))){\nvar inst_21569 \x3d (state_21606[(9)]);\nvar inst_21574 \x3d (state_21606[(11)]);\nvar inst_21565 \x3d (state_21606[(7)]);\nvar inst_21566 \x3d (state_21606[(8)]);\nvar inst_21573 \x3d (inst_21565[inst_21566] \x3d inst_21569);\nvar inst_21574__$1 \x3d (inst_21566 + (1));\nvar inst_21575 \x3d (inst_21574__$1 \x3c n);\nvar state_21606__$1 \x3d (function (){var statearr_21638 \x3d state_21606;\n(statearr_21638[(11)] \x3d inst_21574__$1);\n\n(statearr_21638[(12)] \x3d inst_21573);\n\nreturn statearr_21638;\n})();\nif(cljs.core.truth_(inst_21575)){\nvar statearr_21639_22619 \x3d state_21606__$1;\n(statearr_21639_22619[(1)] \x3d (8));\n\n} else {\nvar statearr_21640_22620 \x3d state_21606__$1;\n(statearr_21640_22620[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (14))){\nvar inst_21598 \x3d (state_21606[(2)]);\nvar inst_21600 \x3d cljs.core.async.close_BANG_(out);\nvar state_21606__$1 \x3d (function (){var statearr_21647 \x3d state_21606;\n(statearr_21647[(13)] \x3d inst_21598);\n\nreturn statearr_21647;\n})();\nvar statearr_21648_22623 \x3d state_21606__$1;\n(statearr_21648_22623[(2)] \x3d inst_21600);\n\n(statearr_21648_22623[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (10))){\nvar inst_21588 \x3d (state_21606[(2)]);\nvar state_21606__$1 \x3d state_21606;\nvar statearr_21674_22624 \x3d state_21606__$1;\n(statearr_21674_22624[(2)] \x3d inst_21588);\n\n(statearr_21674_22624[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21607 \x3d\x3d\x3d (8))){\nvar inst_21574 \x3d (state_21606[(11)]);\nvar inst_21565 \x3d (state_21606[(7)]);\nvar tmp21641 \x3d inst_21565;\nvar inst_21565__$1 \x3d tmp21641;\nvar inst_21566 \x3d inst_21574;\nvar state_21606__$1 \x3d (function (){var statearr_21675 \x3d state_21606;\n(statearr_21675[(7)] \x3d inst_21565__$1);\n\n(statearr_21675[(8)] \x3d inst_21566);\n\nreturn statearr_21675;\n})();\nvar statearr_21677_22625 \x3d state_21606__$1;\n(statearr_21677_22625[(2)] \x3d null);\n\n(statearr_21677_22625[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_21680 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_21680[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_21680[(1)] \x3d (1));\n\nreturn statearr_21680;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_21606){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_21606);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e21682){var ex__18260__auto__ \x3d e21682;\nvar statearr_21683_22626 \x3d state_21606;\n(statearr_21683_22626[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_21606[(4)]))){\nvar statearr_21684_22627 \x3d state_21606;\n(statearr_21684_22627[(1)] \x3d cljs.core.first((state_21606[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22628 \x3d state_21606;\nstate_21606 \x3d G__22628;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_21606){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_21606);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_21690 \x3d f__18543__auto__();\n(statearr_21690[(6)] \x3d c__18542__auto___22595);\n\nreturn statearr_21690;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition_by \x3d (function cljs$core$async$partition_by(var_args){\nvar G__21695 \x3d arguments.length;\nswitch (G__21695) {\ncase 2:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,ch){\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3(f,ch,null);\n}));\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__18542__auto___22630 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_21748){\nvar state_val_21749 \x3d (state_21748[(1)]);\nif((state_val_21749 \x3d\x3d\x3d (7))){\nvar inst_21742 \x3d (state_21748[(2)]);\nvar state_21748__$1 \x3d state_21748;\nvar statearr_21750_22633 \x3d state_21748__$1;\n(statearr_21750_22633[(2)] \x3d inst_21742);\n\n(statearr_21750_22633[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (1))){\nvar inst_21700 \x3d [];\nvar inst_21701 \x3d inst_21700;\nvar inst_21702 \x3d new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123);\nvar state_21748__$1 \x3d (function (){var statearr_21751 \x3d state_21748;\n(statearr_21751[(7)] \x3d inst_21702);\n\n(statearr_21751[(8)] \x3d inst_21701);\n\nreturn statearr_21751;\n})();\nvar statearr_21752_22634 \x3d state_21748__$1;\n(statearr_21752_22634[(2)] \x3d null);\n\n(statearr_21752_22634[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (4))){\nvar inst_21705 \x3d (state_21748[(9)]);\nvar inst_21705__$1 \x3d (state_21748[(2)]);\nvar inst_21706 \x3d (inst_21705__$1 \x3d\x3d null);\nvar inst_21707 \x3d cljs.core.not(inst_21706);\nvar state_21748__$1 \x3d (function (){var statearr_21753 \x3d state_21748;\n(statearr_21753[(9)] \x3d inst_21705__$1);\n\nreturn statearr_21753;\n})();\nif(inst_21707){\nvar statearr_21754_22635 \x3d state_21748__$1;\n(statearr_21754_22635[(1)] \x3d (5));\n\n} else {\nvar statearr_21757_22636 \x3d state_21748__$1;\n(statearr_21757_22636[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (15))){\nvar inst_21701 \x3d (state_21748[(8)]);\nvar inst_21734 \x3d cljs.core.vec(inst_21701);\nvar state_21748__$1 \x3d state_21748;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_21748__$1,(18),out,inst_21734);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (13))){\nvar inst_21729 \x3d (state_21748[(2)]);\nvar state_21748__$1 \x3d state_21748;\nvar statearr_21758_22637 \x3d state_21748__$1;\n(statearr_21758_22637[(2)] \x3d inst_21729);\n\n(statearr_21758_22637[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (6))){\nvar inst_21701 \x3d (state_21748[(8)]);\nvar inst_21731 \x3d inst_21701.length;\nvar inst_21732 \x3d (inst_21731 \x3e (0));\nvar state_21748__$1 \x3d state_21748;\nif(cljs.core.truth_(inst_21732)){\nvar statearr_21759_22638 \x3d state_21748__$1;\n(statearr_21759_22638[(1)] \x3d (15));\n\n} else {\nvar statearr_21760_22639 \x3d state_21748__$1;\n(statearr_21760_22639[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (17))){\nvar inst_21739 \x3d (state_21748[(2)]);\nvar inst_21740 \x3d cljs.core.async.close_BANG_(out);\nvar state_21748__$1 \x3d (function (){var statearr_21761 \x3d state_21748;\n(statearr_21761[(10)] \x3d inst_21739);\n\nreturn statearr_21761;\n})();\nvar statearr_21762_22640 \x3d state_21748__$1;\n(statearr_21762_22640[(2)] \x3d inst_21740);\n\n(statearr_21762_22640[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (3))){\nvar inst_21745 \x3d (state_21748[(2)]);\nvar state_21748__$1 \x3d state_21748;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_21748__$1,inst_21745);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (12))){\nvar inst_21701 \x3d (state_21748[(8)]);\nvar inst_21722 \x3d cljs.core.vec(inst_21701);\nvar state_21748__$1 \x3d state_21748;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_21748__$1,(14),out,inst_21722);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (2))){\nvar state_21748__$1 \x3d state_21748;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_21748__$1,(4),ch);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (11))){\nvar inst_21705 \x3d (state_21748[(9)]);\nvar inst_21701 \x3d (state_21748[(8)]);\nvar inst_21711 \x3d (state_21748[(11)]);\nvar inst_21719 \x3d inst_21701.push(inst_21705);\nvar tmp21763 \x3d inst_21701;\nvar inst_21701__$1 \x3d tmp21763;\nvar inst_21702 \x3d inst_21711;\nvar state_21748__$1 \x3d (function (){var statearr_21769 \x3d state_21748;\n(statearr_21769[(7)] \x3d inst_21702);\n\n(statearr_21769[(12)] \x3d inst_21719);\n\n(statearr_21769[(8)] \x3d inst_21701__$1);\n\nreturn statearr_21769;\n})();\nvar statearr_21770_22641 \x3d state_21748__$1;\n(statearr_21770_22641[(2)] \x3d null);\n\n(statearr_21770_22641[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (9))){\nvar inst_21702 \x3d (state_21748[(7)]);\nvar inst_21715 \x3d cljs.core.keyword_identical_QMARK_(inst_21702,new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123));\nvar state_21748__$1 \x3d state_21748;\nvar statearr_21771_22642 \x3d state_21748__$1;\n(statearr_21771_22642[(2)] \x3d inst_21715);\n\n(statearr_21771_22642[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (5))){\nvar inst_21705 \x3d (state_21748[(9)]);\nvar inst_21702 \x3d (state_21748[(7)]);\nvar inst_21712 \x3d (state_21748[(13)]);\nvar inst_21711 \x3d (state_21748[(11)]);\nvar inst_21711__$1 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_21705) : f.call(null,inst_21705));\nvar inst_21712__$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_21711__$1,inst_21702);\nvar state_21748__$1 \x3d (function (){var statearr_21772 \x3d state_21748;\n(statearr_21772[(13)] \x3d inst_21712__$1);\n\n(statearr_21772[(11)] \x3d inst_21711__$1);\n\nreturn statearr_21772;\n})();\nif(inst_21712__$1){\nvar statearr_21773_22643 \x3d state_21748__$1;\n(statearr_21773_22643[(1)] \x3d (8));\n\n} else {\nvar statearr_21774_22644 \x3d state_21748__$1;\n(statearr_21774_22644[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (14))){\nvar inst_21705 \x3d (state_21748[(9)]);\nvar inst_21711 \x3d (state_21748[(11)]);\nvar inst_21724 \x3d (state_21748[(2)]);\nvar inst_21725 \x3d [];\nvar inst_21726 \x3d inst_21725.push(inst_21705);\nvar inst_21701 \x3d inst_21725;\nvar inst_21702 \x3d inst_21711;\nvar state_21748__$1 \x3d (function (){var statearr_21775 \x3d state_21748;\n(statearr_21775[(14)] \x3d inst_21724);\n\n(statearr_21775[(7)] \x3d inst_21702);\n\n(statearr_21775[(15)] \x3d inst_21726);\n\n(statearr_21775[(8)] \x3d inst_21701);\n\nreturn statearr_21775;\n})();\nvar statearr_21776_22645 \x3d state_21748__$1;\n(statearr_21776_22645[(2)] \x3d null);\n\n(statearr_21776_22645[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (16))){\nvar state_21748__$1 \x3d state_21748;\nvar statearr_21777_22646 \x3d state_21748__$1;\n(statearr_21777_22646[(2)] \x3d null);\n\n(statearr_21777_22646[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (10))){\nvar inst_21717 \x3d (state_21748[(2)]);\nvar state_21748__$1 \x3d state_21748;\nif(cljs.core.truth_(inst_21717)){\nvar statearr_21778_22647 \x3d state_21748__$1;\n(statearr_21778_22647[(1)] \x3d (11));\n\n} else {\nvar statearr_21779_22648 \x3d state_21748__$1;\n(statearr_21779_22648[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (18))){\nvar inst_21736 \x3d (state_21748[(2)]);\nvar state_21748__$1 \x3d state_21748;\nvar statearr_21780_22649 \x3d state_21748__$1;\n(statearr_21780_22649[(2)] \x3d inst_21736);\n\n(statearr_21780_22649[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_21749 \x3d\x3d\x3d (8))){\nvar inst_21712 \x3d (state_21748[(13)]);\nvar state_21748__$1 \x3d state_21748;\nvar statearr_21781_22650 \x3d state_21748__$1;\n(statearr_21781_22650[(2)] \x3d inst_21712);\n\n(statearr_21781_22650[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__18257__auto__ \x3d null;\nvar cljs$core$async$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_21782 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_21782[(0)] \x3d cljs$core$async$state_machine__18257__auto__);\n\n(statearr_21782[(1)] \x3d (1));\n\nreturn statearr_21782;\n});\nvar cljs$core$async$state_machine__18257__auto____1 \x3d (function (state_21748){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_21748);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e21783){var ex__18260__auto__ \x3d e21783;\nvar statearr_21784_22654 \x3d state_21748;\n(statearr_21784_22654[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_21748[(4)]))){\nvar statearr_21785_22655 \x3d state_21748;\n(statearr_21785_22655[(1)] \x3d cljs.core.first((state_21748[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__22656 \x3d state_21748;\nstate_21748 \x3d G__22656;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__18257__auto__ \x3d function(state_21748){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__18257__auto____1.call(this,state_21748);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__18257__auto____0;\ncljs$core$async$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__18257__auto____1;\nreturn cljs$core$async$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_21790 \x3d f__18543__auto__();\n(statearr_21790[(6)] \x3d c__18542__auto___22630);\n\nreturn statearr_21790;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition_by.cljs$lang$maxFixedArity \x3d 3);\n\n"); -SHADOW_ENV.evalLoad("shadow.dom.js", true , "goog.provide(\x27shadow.dom\x27);\nshadow.dom.transition_supported_QMARK_ \x3d (((typeof window !\x3d\x3d \x27undefined\x27))?goog.style.transition.isSupported():null);\n\n/**\n * @interface\n */\nshadow.dom.IElement \x3d function(){};\n\nvar shadow$dom$IElement$_to_dom$dyn_23187 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.dom._to_dom[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.dom._to_dom[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IElement.-to-dom\x22,this$);\n}\n}\n});\nshadow.dom._to_dom \x3d (function shadow$dom$_to_dom(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$IElement$_to_dom$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$IElement$_to_dom$arity$1(this$);\n} else {\nreturn shadow$dom$IElement$_to_dom$dyn_23187(this$);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.dom.SVGElement \x3d function(){};\n\nvar shadow$dom$SVGElement$_to_svg$dyn_23191 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.dom._to_svg[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.dom._to_svg[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22SVGElement.-to-svg\x22,this$);\n}\n}\n});\nshadow.dom._to_svg \x3d (function shadow$dom$_to_svg(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$SVGElement$_to_svg$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$SVGElement$_to_svg$arity$1(this$);\n} else {\nreturn shadow$dom$SVGElement$_to_svg$dyn_23191(this$);\n}\n});\n\nshadow.dom.lazy_native_coll_seq \x3d (function shadow$dom$lazy_native_coll_seq(coll,idx){\nif((idx \x3c coll.length)){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons((coll[idx]),(function (){var G__21884 \x3d coll;\nvar G__21885 \x3d (idx + (1));\nreturn (shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2 ? shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2(G__21884,G__21885) : shadow.dom.lazy_native_coll_seq.call(null,G__21884,G__21885));\n})());\n}),null,null));\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n*/\nshadow.dom.NativeColl \x3d (function (coll){\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8421394;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.dom.NativeColl.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (this$,n){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.coll[n]);\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (this$,n,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar or__5045__auto__ \x3d (self__.coll[n]);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn not_found;\n}\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll.length;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.dom.lazy_native_coll_seq(self__.coll,(0));\n}));\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(shadow.dom.NativeColl.cljs$lang$type \x3d true);\n\n(shadow.dom.NativeColl.cljs$lang$ctorStr \x3d \x22shadow.dom/NativeColl\x22);\n\n(shadow.dom.NativeColl.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.dom/NativeColl\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/NativeColl.\n */\nshadow.dom.__GT_NativeColl \x3d (function shadow$dom$__GT_NativeColl(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\n\nshadow.dom.native_coll \x3d (function shadow$dom$native_coll(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\nshadow.dom.dom_node \x3d (function shadow$dom$dom_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$IElement$))))?true:false):false)){\nreturn el.shadow$dom$IElement$_to_dom$arity$1(null);\n} else {\nif(typeof el \x3d\x3d\x3d \x27string\x27){\nreturn document.createTextNode(el);\n} else {\nif(typeof el \x3d\x3d\x3d \x27number\x27){\nreturn document.createTextNode(cljs.core.str.cljs$core$IFn$_invoke$arity$1(el));\n} else {\nreturn el;\n\n}\n}\n}\n}\n});\nshadow.dom.query_one \x3d (function shadow$dom$query_one(var_args){\nvar G__22058 \x3d arguments.length;\nswitch (G__22058) {\ncase 1:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn document.querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn shadow.dom.dom_node(root).querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.query \x3d (function shadow$dom$query(var_args){\nvar G__22080 \x3d arguments.length;\nswitch (G__22080) {\ncase 1:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn (new shadow.dom.NativeColl(document.querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(root).querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.by_id \x3d (function shadow$dom$by_id(var_args){\nvar G__22089 \x3d arguments.length;\nswitch (G__22089) {\ncase 2:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2 \x3d (function (id,el){\nreturn shadow.dom.dom_node(el).getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1 \x3d (function (id){\nreturn document.getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.build \x3d shadow.dom.dom_node;\nshadow.dom.ev_stop \x3d (function shadow$dom$ev_stop(var_args){\nvar G__22110 \x3d arguments.length;\nswitch (G__22110) {\ncase 1:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1 \x3d (function (e){\nif(cljs.core.truth_(e.stopPropagation)){\ne.stopPropagation();\n\ne.preventDefault();\n} else {\n(e.cancelBubble \x3d true);\n\n(e.returnValue \x3d false);\n}\n\nreturn e;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2 \x3d (function (e,el){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4 \x3d (function (e,el,scope,owner){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * check wether a parent node (or the document) contains the child\n */\nshadow.dom.contains_QMARK_ \x3d (function shadow$dom$contains_QMARK_(var_args){\nvar G__22128 \x3d arguments.length;\nswitch (G__22128) {\ncase 1:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn goog.dom.contains(document,shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (parent,el){\nreturn goog.dom.contains(shadow.dom.dom_node(parent),shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.add_class \x3d (function shadow$dom$add_class(el,cls){\nreturn goog.dom.classlist.add(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.remove_class \x3d (function shadow$dom$remove_class(el,cls){\nreturn goog.dom.classlist.remove(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.toggle_class \x3d (function shadow$dom$toggle_class(var_args){\nvar G__22145 \x3d arguments.length;\nswitch (G__22145) {\ncase 2:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,cls){\nreturn goog.dom.classlist.toggle(shadow.dom.dom_node(el),cls);\n}));\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,cls,v){\nif(cljs.core.truth_(v)){\nreturn shadow.dom.add_class(el,cls);\n} else {\nreturn shadow.dom.remove_class(el,cls);\n}\n}));\n\n(shadow.dom.toggle_class.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.dom_listen \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn document.addEventListener;\n}\n})())?(function shadow$dom$dom_listen_good(el,ev,handler){\nreturn el.addEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_ie(el,ev,handler){\ntry{return el.attachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),(function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n}));\n}catch (e22162){if((e22162 instanceof Object)){\nvar e \x3d e22162;\nreturn console.log(\x22didnt support attachEvent\x22,el,e);\n} else {\nthrow e22162;\n\n}\n}}));\nshadow.dom.dom_listen_remove \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn document.removeEventListener;\n}\n})())?(function shadow$dom$dom_listen_remove_good(el,ev,handler){\nreturn el.removeEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_remove_ie(el,ev,handler){\nreturn el.detachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),handler);\n}));\nshadow.dom.on_query \x3d (function shadow$dom$on_query(root_el,ev,selector,handler){\nvar seq__22187 \x3d cljs.core.seq(shadow.dom.query.cljs$core$IFn$_invoke$arity$2(selector,root_el));\nvar chunk__22188 \x3d null;\nvar count__22189 \x3d (0);\nvar i__22190 \x3d (0);\nwhile(true){\nif((i__22190 \x3c count__22189)){\nvar el \x3d chunk__22188.cljs$core$IIndexed$_nth$arity$2(null,i__22190);\nvar handler_23212__$1 \x3d ((function (seq__22187,chunk__22188,count__22189,i__22190,el){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__22187,chunk__22188,count__22189,i__22190,el))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_23212__$1);\n\n\nvar G__23214 \x3d seq__22187;\nvar G__23215 \x3d chunk__22188;\nvar G__23216 \x3d count__22189;\nvar G__23217 \x3d (i__22190 + (1));\nseq__22187 \x3d G__23214;\nchunk__22188 \x3d G__23215;\ncount__22189 \x3d G__23216;\ni__22190 \x3d G__23217;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22187);\nif(temp__5804__auto__){\nvar seq__22187__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22187__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22187__$1);\nvar G__23221 \x3d cljs.core.chunk_rest(seq__22187__$1);\nvar G__23222 \x3d c__5568__auto__;\nvar G__23223 \x3d cljs.core.count(c__5568__auto__);\nvar G__23224 \x3d (0);\nseq__22187 \x3d G__23221;\nchunk__22188 \x3d G__23222;\ncount__22189 \x3d G__23223;\ni__22190 \x3d G__23224;\ncontinue;\n} else {\nvar el \x3d cljs.core.first(seq__22187__$1);\nvar handler_23225__$1 \x3d ((function (seq__22187,chunk__22188,count__22189,i__22190,el,seq__22187__$1,temp__5804__auto__){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__22187,chunk__22188,count__22189,i__22190,el,seq__22187__$1,temp__5804__auto__))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_23225__$1);\n\n\nvar G__23226 \x3d cljs.core.next(seq__22187__$1);\nvar G__23227 \x3d null;\nvar G__23228 \x3d (0);\nvar G__23229 \x3d (0);\nseq__22187 \x3d G__23226;\nchunk__22188 \x3d G__23227;\ncount__22189 \x3d G__23228;\ni__22190 \x3d G__23229;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.on \x3d (function shadow$dom$on(var_args){\nvar G__22226 \x3d arguments.length;\nswitch (G__22226) {\ncase 3:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,ev,handler){\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4(el,ev,handler,false);\n}));\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$4 \x3d (function (el,ev,handler,capture){\nif(cljs.core.vector_QMARK_(ev)){\nreturn shadow.dom.on_query(el,cljs.core.first(ev),cljs.core.second(ev),handler);\n} else {\nvar handler__$1 \x3d (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});\nreturn shadow.dom.dom_listen(shadow.dom.dom_node(el),cljs.core.name(ev),handler__$1);\n}\n}));\n\n(shadow.dom.on.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.dom.remove_event_handler \x3d (function shadow$dom$remove_event_handler(el,ev,handler){\nreturn shadow.dom.dom_listen_remove(shadow.dom.dom_node(el),cljs.core.name(ev),handler);\n});\nshadow.dom.add_event_listeners \x3d (function shadow$dom$add_event_listeners(el,events){\nvar seq__22235 \x3d cljs.core.seq(events);\nvar chunk__22236 \x3d null;\nvar count__22237 \x3d (0);\nvar i__22238 \x3d (0);\nwhile(true){\nif((i__22238 \x3c count__22237)){\nvar vec__22282 \x3d chunk__22236.cljs$core$IIndexed$_nth$arity$2(null,i__22238);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22282,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22282,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__23231 \x3d seq__22235;\nvar G__23232 \x3d chunk__22236;\nvar G__23233 \x3d count__22237;\nvar G__23234 \x3d (i__22238 + (1));\nseq__22235 \x3d G__23231;\nchunk__22236 \x3d G__23232;\ncount__22237 \x3d G__23233;\ni__22238 \x3d G__23234;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22235);\nif(temp__5804__auto__){\nvar seq__22235__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22235__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22235__$1);\nvar G__23235 \x3d cljs.core.chunk_rest(seq__22235__$1);\nvar G__23236 \x3d c__5568__auto__;\nvar G__23237 \x3d cljs.core.count(c__5568__auto__);\nvar G__23238 \x3d (0);\nseq__22235 \x3d G__23235;\nchunk__22236 \x3d G__23236;\ncount__22237 \x3d G__23237;\ni__22238 \x3d G__23238;\ncontinue;\n} else {\nvar vec__22289 \x3d cljs.core.first(seq__22235__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22289,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22289,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__23239 \x3d cljs.core.next(seq__22235__$1);\nvar G__23240 \x3d null;\nvar G__23241 \x3d (0);\nvar G__23242 \x3d (0);\nseq__22235 \x3d G__23239;\nchunk__22236 \x3d G__23240;\ncount__22237 \x3d G__23241;\ni__22238 \x3d G__23242;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_style \x3d (function shadow$dom$set_style(el,styles){\nvar dom \x3d shadow.dom.dom_node(el);\nvar seq__22317 \x3d cljs.core.seq(styles);\nvar chunk__22318 \x3d null;\nvar count__22319 \x3d (0);\nvar i__22320 \x3d (0);\nwhile(true){\nif((i__22320 \x3c count__22319)){\nvar vec__22343 \x3d chunk__22318.cljs$core$IIndexed$_nth$arity$2(null,i__22320);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22343,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22343,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__23243 \x3d seq__22317;\nvar G__23244 \x3d chunk__22318;\nvar G__23245 \x3d count__22319;\nvar G__23246 \x3d (i__22320 + (1));\nseq__22317 \x3d G__23243;\nchunk__22318 \x3d G__23244;\ncount__22319 \x3d G__23245;\ni__22320 \x3d G__23246;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22317);\nif(temp__5804__auto__){\nvar seq__22317__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22317__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22317__$1);\nvar G__23247 \x3d cljs.core.chunk_rest(seq__22317__$1);\nvar G__23248 \x3d c__5568__auto__;\nvar G__23249 \x3d cljs.core.count(c__5568__auto__);\nvar G__23250 \x3d (0);\nseq__22317 \x3d G__23247;\nchunk__22318 \x3d G__23248;\ncount__22319 \x3d G__23249;\ni__22320 \x3d G__23250;\ncontinue;\n} else {\nvar vec__22355 \x3d cljs.core.first(seq__22317__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22355,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22355,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__23251 \x3d cljs.core.next(seq__22317__$1);\nvar G__23252 \x3d null;\nvar G__23253 \x3d (0);\nvar G__23254 \x3d (0);\nseq__22317 \x3d G__23251;\nchunk__22318 \x3d G__23252;\ncount__22319 \x3d G__23253;\ni__22320 \x3d G__23254;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_attr_STAR_ \x3d (function shadow$dom$set_attr_STAR_(el,key,value){\nvar G__22363_23256 \x3d key;\nvar G__22363_23257__$1 \x3d (((G__22363_23256 instanceof cljs.core.Keyword))?G__22363_23256.fqn:null);\nswitch (G__22363_23257__$1) {\ncase \x22id\x22:\n(el.id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22class\x22:\n(el.className \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22for\x22:\n(el.htmlFor \x3d value);\n\nbreak;\ncase \x22cellpadding\x22:\nel.setAttribute(\x22cellPadding\x22,value);\n\nbreak;\ncase \x22cellspacing\x22:\nel.setAttribute(\x22cellSpacing\x22,value);\n\nbreak;\ncase \x22colspan\x22:\nel.setAttribute(\x22colSpan\x22,value);\n\nbreak;\ncase \x22frameborder\x22:\nel.setAttribute(\x22frameBorder\x22,value);\n\nbreak;\ncase \x22height\x22:\nel.setAttribute(\x22height\x22,value);\n\nbreak;\ncase \x22maxlength\x22:\nel.setAttribute(\x22maxLength\x22,value);\n\nbreak;\ncase \x22role\x22:\nel.setAttribute(\x22role\x22,value);\n\nbreak;\ncase \x22rowspan\x22:\nel.setAttribute(\x22rowSpan\x22,value);\n\nbreak;\ncase \x22type\x22:\nel.setAttribute(\x22type\x22,value);\n\nbreak;\ncase \x22usemap\x22:\nel.setAttribute(\x22useMap\x22,value);\n\nbreak;\ncase \x22valign\x22:\nel.setAttribute(\x22vAlign\x22,value);\n\nbreak;\ncase \x22width\x22:\nel.setAttribute(\x22width\x22,value);\n\nbreak;\ncase \x22on\x22:\nshadow.dom.add_event_listeners(el,value);\n\nbreak;\ncase \x22style\x22:\nif((value \x3d\x3d null)){\n} else {\nif(typeof value \x3d\x3d\x3d \x27string\x27){\nel.setAttribute(\x22style\x22,value);\n} else {\nif(cljs.core.map_QMARK_(value)){\nshadow.dom.set_style(el,value);\n} else {\ngoog.style.setStyle(el,value);\n\n}\n}\n}\n\nbreak;\ndefault:\nvar ks_23262 \x3d cljs.core.name(key);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d goog.string.startsWith(ks_23262,\x22data-\x22);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn goog.string.startsWith(ks_23262,\x22aria-\x22);\n}\n})())){\nel.setAttribute(ks_23262,value);\n} else {\n(el[ks_23262] \x3d value);\n}\n\n}\n\nreturn el;\n});\nshadow.dom.set_attrs \x3d (function shadow$dom$set_attrs(el,attrs){\nreturn cljs.core.reduce_kv((function (el__$1,key,value){\nshadow.dom.set_attr_STAR_(el__$1,key,value);\n\nreturn el__$1;\n}),shadow.dom.dom_node(el),attrs);\n});\nshadow.dom.set_attr \x3d (function shadow$dom$set_attr(el,key,value){\nreturn shadow.dom.set_attr_STAR_(shadow.dom.dom_node(el),key,value);\n});\nshadow.dom.has_class_QMARK_ \x3d (function shadow$dom$has_class_QMARK_(el,cls){\nreturn goog.dom.classlist.contains(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.merge_class_string \x3d (function shadow$dom$merge_class_string(current,extra_class){\nif(cljs.core.seq(current)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(current),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(extra_class)].join(\x27\x27);\n} else {\nreturn extra_class;\n}\n});\nshadow.dom.parse_tag \x3d (function shadow$dom$parse_tag(spec){\nvar spec__$1 \x3d cljs.core.name(spec);\nvar fdot \x3d spec__$1.indexOf(\x22.\x22);\nvar fhash \x3d spec__$1.indexOf(\x22#\x22);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1,null,null], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fdot),null,clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1))),null], null);\n} else {\nif((fhash \x3e fdot)){\nthrow [\x22cant have id after class?\x22,spec__$1].join(\x27\x27);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1)),fdot),clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n\n}\n}\n}\n}\n});\nshadow.dom.create_dom_node \x3d (function shadow$dom$create_dom_node(tag_def,p__22399){\nvar map__22400 \x3d p__22399;\nvar map__22400__$1 \x3d cljs.core.__destructure_map(map__22400);\nvar props \x3d map__22400__$1;\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22400__$1,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996));\nvar tag_props \x3d ({});\nvar vec__22403 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22403,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22403,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22403,(2),null);\nif(cljs.core.truth_(tag_id)){\n(tag_props[\x22id\x22] \x3d tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\n(tag_props[\x22class\x22] \x3d shadow.dom.merge_class_string(class$,tag_classes));\n} else {\n}\n\nvar G__22407 \x3d goog.dom.createDom(tag_name,tag_props);\nshadow.dom.set_attrs(G__22407,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(props,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)));\n\nreturn G__22407;\n});\nshadow.dom.append \x3d (function shadow$dom$append(var_args){\nvar G__22416 \x3d arguments.length;\nswitch (G__22416) {\ncase 1:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nif(cljs.core.truth_(node)){\nvar temp__5804__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar n \x3d temp__5804__auto__;\ndocument.body.appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,node){\nif(cljs.core.truth_(node)){\nvar temp__5804__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar n \x3d temp__5804__auto__;\nshadow.dom.dom_node(el).appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.destructure_node \x3d (function shadow$dom$destructure_node(create_fn,p__22425){\nvar vec__22429 \x3d p__22425;\nvar seq__22430 \x3d cljs.core.seq(vec__22429);\nvar first__22431 \x3d cljs.core.first(seq__22430);\nvar seq__22430__$1 \x3d cljs.core.next(seq__22430);\nvar nn \x3d first__22431;\nvar first__22431__$1 \x3d cljs.core.first(seq__22430__$1);\nvar seq__22430__$2 \x3d cljs.core.next(seq__22430__$1);\nvar np \x3d first__22431__$1;\nvar nc \x3d seq__22430__$2;\nvar node \x3d vec__22429;\nif((nn instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid dom node\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22node\x22,\x22node\x22,581201198),node], null));\n}\n\nif((((np \x3d\x3d null)) \x26\x26 ((nc \x3d\x3d null)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__22450 \x3d nn;\nvar G__22451 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__22450,G__22451) : create_fn.call(null,G__22450,G__22451));\n})(),cljs.core.List.EMPTY], null);\n} else {\nif(cljs.core.map_QMARK_(np)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(nn,np) : create_fn.call(null,nn,np)),nc], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__22460 \x3d nn;\nvar G__22461 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__22460,G__22461) : create_fn.call(null,G__22460,G__22461));\n})(),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(nc,np)], null);\n\n}\n}\n});\nshadow.dom.make_dom_node \x3d (function shadow$dom$make_dom_node(structure){\nvar vec__22466 \x3d shadow.dom.destructure_node(shadow.dom.create_dom_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22466,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22466,(1),null);\nvar seq__22477_23277 \x3d cljs.core.seq(node_children);\nvar chunk__22478_23278 \x3d null;\nvar count__22479_23279 \x3d (0);\nvar i__22480_23280 \x3d (0);\nwhile(true){\nif((i__22480_23280 \x3c count__22479_23279)){\nvar child_struct_23281 \x3d chunk__22478_23278.cljs$core$IIndexed$_nth$arity$2(null,i__22480_23280);\nvar children_23282 \x3d shadow.dom.dom_node(child_struct_23281);\nif(cljs.core.seq_QMARK_(children_23282)){\nvar seq__22523_23283 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_23282));\nvar chunk__22525_23284 \x3d null;\nvar count__22526_23285 \x3d (0);\nvar i__22527_23286 \x3d (0);\nwhile(true){\nif((i__22527_23286 \x3c count__22526_23285)){\nvar child_23287 \x3d chunk__22525_23284.cljs$core$IIndexed$_nth$arity$2(null,i__22527_23286);\nif(cljs.core.truth_(child_23287)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_23287);\n\n\nvar G__23288 \x3d seq__22523_23283;\nvar G__23289 \x3d chunk__22525_23284;\nvar G__23290 \x3d count__22526_23285;\nvar G__23291 \x3d (i__22527_23286 + (1));\nseq__22523_23283 \x3d G__23288;\nchunk__22525_23284 \x3d G__23289;\ncount__22526_23285 \x3d G__23290;\ni__22527_23286 \x3d G__23291;\ncontinue;\n} else {\nvar G__23292 \x3d seq__22523_23283;\nvar G__23293 \x3d chunk__22525_23284;\nvar G__23294 \x3d count__22526_23285;\nvar G__23295 \x3d (i__22527_23286 + (1));\nseq__22523_23283 \x3d G__23292;\nchunk__22525_23284 \x3d G__23293;\ncount__22526_23285 \x3d G__23294;\ni__22527_23286 \x3d G__23295;\ncontinue;\n}\n} else {\nvar temp__5804__auto___23296 \x3d cljs.core.seq(seq__22523_23283);\nif(temp__5804__auto___23296){\nvar seq__22523_23297__$1 \x3d temp__5804__auto___23296;\nif(cljs.core.chunked_seq_QMARK_(seq__22523_23297__$1)){\nvar c__5568__auto___23298 \x3d cljs.core.chunk_first(seq__22523_23297__$1);\nvar G__23299 \x3d cljs.core.chunk_rest(seq__22523_23297__$1);\nvar G__23300 \x3d c__5568__auto___23298;\nvar G__23301 \x3d cljs.core.count(c__5568__auto___23298);\nvar G__23302 \x3d (0);\nseq__22523_23283 \x3d G__23299;\nchunk__22525_23284 \x3d G__23300;\ncount__22526_23285 \x3d G__23301;\ni__22527_23286 \x3d G__23302;\ncontinue;\n} else {\nvar child_23303 \x3d cljs.core.first(seq__22523_23297__$1);\nif(cljs.core.truth_(child_23303)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_23303);\n\n\nvar G__23304 \x3d cljs.core.next(seq__22523_23297__$1);\nvar G__23305 \x3d null;\nvar G__23306 \x3d (0);\nvar G__23307 \x3d (0);\nseq__22523_23283 \x3d G__23304;\nchunk__22525_23284 \x3d G__23305;\ncount__22526_23285 \x3d G__23306;\ni__22527_23286 \x3d G__23307;\ncontinue;\n} else {\nvar G__23308 \x3d cljs.core.next(seq__22523_23297__$1);\nvar G__23309 \x3d null;\nvar G__23310 \x3d (0);\nvar G__23311 \x3d (0);\nseq__22523_23283 \x3d G__23308;\nchunk__22525_23284 \x3d G__23309;\ncount__22526_23285 \x3d G__23310;\ni__22527_23286 \x3d G__23311;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_23282);\n}\n\n\nvar G__23312 \x3d seq__22477_23277;\nvar G__23313 \x3d chunk__22478_23278;\nvar G__23314 \x3d count__22479_23279;\nvar G__23315 \x3d (i__22480_23280 + (1));\nseq__22477_23277 \x3d G__23312;\nchunk__22478_23278 \x3d G__23313;\ncount__22479_23279 \x3d G__23314;\ni__22480_23280 \x3d G__23315;\ncontinue;\n} else {\nvar temp__5804__auto___23316 \x3d cljs.core.seq(seq__22477_23277);\nif(temp__5804__auto___23316){\nvar seq__22477_23317__$1 \x3d temp__5804__auto___23316;\nif(cljs.core.chunked_seq_QMARK_(seq__22477_23317__$1)){\nvar c__5568__auto___23318 \x3d cljs.core.chunk_first(seq__22477_23317__$1);\nvar G__23319 \x3d cljs.core.chunk_rest(seq__22477_23317__$1);\nvar G__23320 \x3d c__5568__auto___23318;\nvar G__23321 \x3d cljs.core.count(c__5568__auto___23318);\nvar G__23322 \x3d (0);\nseq__22477_23277 \x3d G__23319;\nchunk__22478_23278 \x3d G__23320;\ncount__22479_23279 \x3d G__23321;\ni__22480_23280 \x3d G__23322;\ncontinue;\n} else {\nvar child_struct_23324 \x3d cljs.core.first(seq__22477_23317__$1);\nvar children_23325 \x3d shadow.dom.dom_node(child_struct_23324);\nif(cljs.core.seq_QMARK_(children_23325)){\nvar seq__22546_23326 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_23325));\nvar chunk__22548_23327 \x3d null;\nvar count__22549_23328 \x3d (0);\nvar i__22550_23329 \x3d (0);\nwhile(true){\nif((i__22550_23329 \x3c count__22549_23328)){\nvar child_23331 \x3d chunk__22548_23327.cljs$core$IIndexed$_nth$arity$2(null,i__22550_23329);\nif(cljs.core.truth_(child_23331)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_23331);\n\n\nvar G__23332 \x3d seq__22546_23326;\nvar G__23333 \x3d chunk__22548_23327;\nvar G__23334 \x3d count__22549_23328;\nvar G__23335 \x3d (i__22550_23329 + (1));\nseq__22546_23326 \x3d G__23332;\nchunk__22548_23327 \x3d G__23333;\ncount__22549_23328 \x3d G__23334;\ni__22550_23329 \x3d G__23335;\ncontinue;\n} else {\nvar G__23336 \x3d seq__22546_23326;\nvar G__23337 \x3d chunk__22548_23327;\nvar G__23338 \x3d count__22549_23328;\nvar G__23339 \x3d (i__22550_23329 + (1));\nseq__22546_23326 \x3d G__23336;\nchunk__22548_23327 \x3d G__23337;\ncount__22549_23328 \x3d G__23338;\ni__22550_23329 \x3d G__23339;\ncontinue;\n}\n} else {\nvar temp__5804__auto___23340__$1 \x3d cljs.core.seq(seq__22546_23326);\nif(temp__5804__auto___23340__$1){\nvar seq__22546_23341__$1 \x3d temp__5804__auto___23340__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__22546_23341__$1)){\nvar c__5568__auto___23342 \x3d cljs.core.chunk_first(seq__22546_23341__$1);\nvar G__23343 \x3d cljs.core.chunk_rest(seq__22546_23341__$1);\nvar G__23344 \x3d c__5568__auto___23342;\nvar G__23345 \x3d cljs.core.count(c__5568__auto___23342);\nvar G__23346 \x3d (0);\nseq__22546_23326 \x3d G__23343;\nchunk__22548_23327 \x3d G__23344;\ncount__22549_23328 \x3d G__23345;\ni__22550_23329 \x3d G__23346;\ncontinue;\n} else {\nvar child_23347 \x3d cljs.core.first(seq__22546_23341__$1);\nif(cljs.core.truth_(child_23347)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_23347);\n\n\nvar G__23348 \x3d cljs.core.next(seq__22546_23341__$1);\nvar G__23349 \x3d null;\nvar G__23350 \x3d (0);\nvar G__23351 \x3d (0);\nseq__22546_23326 \x3d G__23348;\nchunk__22548_23327 \x3d G__23349;\ncount__22549_23328 \x3d G__23350;\ni__22550_23329 \x3d G__23351;\ncontinue;\n} else {\nvar G__23352 \x3d cljs.core.next(seq__22546_23341__$1);\nvar G__23353 \x3d null;\nvar G__23354 \x3d (0);\nvar G__23355 \x3d (0);\nseq__22546_23326 \x3d G__23352;\nchunk__22548_23327 \x3d G__23353;\ncount__22549_23328 \x3d G__23354;\ni__22550_23329 \x3d G__23355;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_23325);\n}\n\n\nvar G__23356 \x3d cljs.core.next(seq__22477_23317__$1);\nvar G__23357 \x3d null;\nvar G__23358 \x3d (0);\nvar G__23359 \x3d (0);\nseq__22477_23277 \x3d G__23356;\nchunk__22478_23278 \x3d G__23357;\ncount__22479_23279 \x3d G__23358;\ni__22480_23280 \x3d G__23359;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(cljs.core.Keyword.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$__$1], null));\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_dom,this$__$1);\n}));\nif(cljs.core.truth_(((typeof HTMLElement) !\x3d \x27undefined\x27))){\n(HTMLElement.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(HTMLElement.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\nif(cljs.core.truth_(((typeof DocumentFragment) !\x3d \x27undefined\x27))){\n(DocumentFragment.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(DocumentFragment.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\n/**\n * clear node children\n */\nshadow.dom.reset \x3d (function shadow$dom$reset(node){\nreturn goog.dom.removeChildren(shadow.dom.dom_node(node));\n});\nshadow.dom.remove \x3d (function shadow$dom$remove(node){\nif((((!((node \x3d\x3d null))))?(((((node.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d node.cljs$core$ISeqable$))))?true:false):false)){\nvar seq__22582 \x3d cljs.core.seq(node);\nvar chunk__22583 \x3d null;\nvar count__22584 \x3d (0);\nvar i__22585 \x3d (0);\nwhile(true){\nif((i__22585 \x3c count__22584)){\nvar n \x3d chunk__22583.cljs$core$IIndexed$_nth$arity$2(null,i__22585);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__23362 \x3d seq__22582;\nvar G__23363 \x3d chunk__22583;\nvar G__23364 \x3d count__22584;\nvar G__23365 \x3d (i__22585 + (1));\nseq__22582 \x3d G__23362;\nchunk__22583 \x3d G__23363;\ncount__22584 \x3d G__23364;\ni__22585 \x3d G__23365;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22582);\nif(temp__5804__auto__){\nvar seq__22582__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22582__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22582__$1);\nvar G__23366 \x3d cljs.core.chunk_rest(seq__22582__$1);\nvar G__23367 \x3d c__5568__auto__;\nvar G__23368 \x3d cljs.core.count(c__5568__auto__);\nvar G__23369 \x3d (0);\nseq__22582 \x3d G__23366;\nchunk__22583 \x3d G__23367;\ncount__22584 \x3d G__23368;\ni__22585 \x3d G__23369;\ncontinue;\n} else {\nvar n \x3d cljs.core.first(seq__22582__$1);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__23370 \x3d cljs.core.next(seq__22582__$1);\nvar G__23371 \x3d null;\nvar G__23372 \x3d (0);\nvar G__23373 \x3d (0);\nseq__22582 \x3d G__23370;\nchunk__22583 \x3d G__23371;\ncount__22584 \x3d G__23372;\ni__22585 \x3d G__23373;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn goog.dom.removeNode(node);\n}\n});\nshadow.dom.replace_node \x3d (function shadow$dom$replace_node(old,new$){\nreturn goog.dom.replaceNode(shadow.dom.dom_node(new$),shadow.dom.dom_node(old));\n});\nshadow.dom.text \x3d (function shadow$dom$text(var_args){\nvar G__22617 \x3d arguments.length;\nswitch (G__22617) {\ncase 2:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,new_text){\nreturn (shadow.dom.dom_node(el).innerText \x3d new_text);\n}));\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.dom_node(el).innerText;\n}));\n\n(shadow.dom.text.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.check \x3d (function shadow$dom$check(var_args){\nvar G__22622 \x3d arguments.length;\nswitch (G__22622) {\ncase 1:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2(el,true);\n}));\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,checked){\nreturn (shadow.dom.dom_node(el).checked \x3d checked);\n}));\n\n(shadow.dom.check.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.checked_QMARK_ \x3d (function shadow$dom$checked_QMARK_(el){\nreturn shadow.dom.dom_node(el).checked;\n});\nshadow.dom.form_elements \x3d (function shadow$dom$form_elements(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).elements));\n});\nshadow.dom.children \x3d (function shadow$dom$children(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).children));\n});\nshadow.dom.child_nodes \x3d (function shadow$dom$child_nodes(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).childNodes));\n});\nshadow.dom.attr \x3d (function shadow$dom$attr(var_args){\nvar G__22632 \x3d arguments.length;\nswitch (G__22632) {\ncase 2:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,key){\nreturn shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\n}));\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,key,default$){\nvar or__5045__auto__ \x3d shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn default$;\n}\n}));\n\n(shadow.dom.attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.del_attr \x3d (function shadow$dom$del_attr(el,key){\nreturn shadow.dom.dom_node(el).removeAttribute(cljs.core.name(key));\n});\nshadow.dom.data \x3d (function shadow$dom$data(el,key){\nreturn shadow.dom.dom_node(el).getAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27));\n});\nshadow.dom.set_data \x3d (function shadow$dom$set_data(el,key,value){\nreturn shadow.dom.dom_node(el).setAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n});\nshadow.dom.set_html \x3d (function shadow$dom$set_html(node,text){\nreturn (shadow.dom.dom_node(node).innerHTML \x3d text);\n});\nshadow.dom.get_html \x3d (function shadow$dom$get_html(node){\nreturn shadow.dom.dom_node(node).innerHTML;\n});\nshadow.dom.fragment \x3d (function shadow$dom$fragment(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___23393 \x3d arguments.length;\nvar i__5770__auto___23394 \x3d (0);\nwhile(true){\nif((i__5770__auto___23394 \x3c len__5769__auto___23393)){\nargs__5775__auto__.push((arguments[i__5770__auto___23394]));\n\nvar G__23395 \x3d (i__5770__auto___23394 + (1));\ni__5770__auto___23394 \x3d G__23395;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (nodes){\nvar fragment \x3d document.createDocumentFragment();\nvar seq__22671_23396 \x3d cljs.core.seq(nodes);\nvar chunk__22672_23397 \x3d null;\nvar count__22673_23398 \x3d (0);\nvar i__22674_23399 \x3d (0);\nwhile(true){\nif((i__22674_23399 \x3c count__22673_23398)){\nvar node_23400 \x3d chunk__22672_23397.cljs$core$IIndexed$_nth$arity$2(null,i__22674_23399);\nfragment.appendChild(shadow.dom._to_dom(node_23400));\n\n\nvar G__23401 \x3d seq__22671_23396;\nvar G__23402 \x3d chunk__22672_23397;\nvar G__23403 \x3d count__22673_23398;\nvar G__23404 \x3d (i__22674_23399 + (1));\nseq__22671_23396 \x3d G__23401;\nchunk__22672_23397 \x3d G__23402;\ncount__22673_23398 \x3d G__23403;\ni__22674_23399 \x3d G__23404;\ncontinue;\n} else {\nvar temp__5804__auto___23405 \x3d cljs.core.seq(seq__22671_23396);\nif(temp__5804__auto___23405){\nvar seq__22671_23406__$1 \x3d temp__5804__auto___23405;\nif(cljs.core.chunked_seq_QMARK_(seq__22671_23406__$1)){\nvar c__5568__auto___23407 \x3d cljs.core.chunk_first(seq__22671_23406__$1);\nvar G__23408 \x3d cljs.core.chunk_rest(seq__22671_23406__$1);\nvar G__23409 \x3d c__5568__auto___23407;\nvar G__23410 \x3d cljs.core.count(c__5568__auto___23407);\nvar G__23411 \x3d (0);\nseq__22671_23396 \x3d G__23408;\nchunk__22672_23397 \x3d G__23409;\ncount__22673_23398 \x3d G__23410;\ni__22674_23399 \x3d G__23411;\ncontinue;\n} else {\nvar node_23412 \x3d cljs.core.first(seq__22671_23406__$1);\nfragment.appendChild(shadow.dom._to_dom(node_23412));\n\n\nvar G__23413 \x3d cljs.core.next(seq__22671_23406__$1);\nvar G__23414 \x3d null;\nvar G__23415 \x3d (0);\nvar G__23416 \x3d (0);\nseq__22671_23396 \x3d G__23413;\nchunk__22672_23397 \x3d G__23414;\ncount__22673_23398 \x3d G__23415;\ni__22674_23399 \x3d G__23416;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (new shadow.dom.NativeColl(fragment));\n}));\n\n(shadow.dom.fragment.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.dom.fragment.cljs$lang$applyTo \x3d (function (seq22667){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq22667));\n}));\n\n/**\n * given a html string, eval all \x3cscript\x3e tags and return the html without the scripts\n * don\x27t do this for everything, only content you trust.\n */\nshadow.dom.eval_scripts \x3d (function shadow$dom$eval_scripts(s){\nvar scripts \x3d cljs.core.re_seq(/\x3cscript[^\x3e]*?\x3e(.+?)\x3c\\/script\x3e/,s);\nvar seq__22675_23417 \x3d cljs.core.seq(scripts);\nvar chunk__22676_23418 \x3d null;\nvar count__22677_23419 \x3d (0);\nvar i__22678_23420 \x3d (0);\nwhile(true){\nif((i__22678_23420 \x3c count__22677_23419)){\nvar vec__22696_23421 \x3d chunk__22676_23418.cljs$core$IIndexed$_nth$arity$2(null,i__22678_23420);\nvar script_tag_23422 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22696_23421,(0),null);\nvar script_body_23423 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22696_23421,(1),null);\neval(script_body_23423);\n\n\nvar G__23424 \x3d seq__22675_23417;\nvar G__23425 \x3d chunk__22676_23418;\nvar G__23426 \x3d count__22677_23419;\nvar G__23427 \x3d (i__22678_23420 + (1));\nseq__22675_23417 \x3d G__23424;\nchunk__22676_23418 \x3d G__23425;\ncount__22677_23419 \x3d G__23426;\ni__22678_23420 \x3d G__23427;\ncontinue;\n} else {\nvar temp__5804__auto___23428 \x3d cljs.core.seq(seq__22675_23417);\nif(temp__5804__auto___23428){\nvar seq__22675_23429__$1 \x3d temp__5804__auto___23428;\nif(cljs.core.chunked_seq_QMARK_(seq__22675_23429__$1)){\nvar c__5568__auto___23430 \x3d cljs.core.chunk_first(seq__22675_23429__$1);\nvar G__23431 \x3d cljs.core.chunk_rest(seq__22675_23429__$1);\nvar G__23432 \x3d c__5568__auto___23430;\nvar G__23433 \x3d cljs.core.count(c__5568__auto___23430);\nvar G__23434 \x3d (0);\nseq__22675_23417 \x3d G__23431;\nchunk__22676_23418 \x3d G__23432;\ncount__22677_23419 \x3d G__23433;\ni__22678_23420 \x3d G__23434;\ncontinue;\n} else {\nvar vec__22699_23435 \x3d cljs.core.first(seq__22675_23429__$1);\nvar script_tag_23436 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22699_23435,(0),null);\nvar script_body_23437 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22699_23435,(1),null);\neval(script_body_23437);\n\n\nvar G__23450 \x3d cljs.core.next(seq__22675_23429__$1);\nvar G__23451 \x3d null;\nvar G__23452 \x3d (0);\nvar G__23453 \x3d (0);\nseq__22675_23417 \x3d G__23450;\nchunk__22676_23418 \x3d G__23451;\ncount__22677_23419 \x3d G__23452;\ni__22678_23420 \x3d G__23453;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s__$1,p__22705){\nvar vec__22709 \x3d p__22705;\nvar script_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22709,(0),null);\nvar script_body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22709,(1),null);\nreturn clojure.string.replace(s__$1,script_tag,\x22\x22);\n}),s,scripts);\n});\nshadow.dom.str__GT_fragment \x3d (function shadow$dom$str__GT_fragment(s){\nvar el \x3d document.createElement(\x22div\x22);\n(el.innerHTML \x3d s);\n\nreturn (new shadow.dom.NativeColl(goog.dom.childrenToNode_(document,el)));\n});\nshadow.dom.node_name \x3d (function shadow$dom$node_name(el){\nreturn shadow.dom.dom_node(el).nodeName;\n});\nshadow.dom.ancestor_by_class \x3d (function shadow$dom$ancestor_by_class(el,cls){\nreturn goog.dom.getAncestorByClass(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.ancestor_by_tag \x3d (function shadow$dom$ancestor_by_tag(var_args){\nvar G__22713 \x3d arguments.length;\nswitch (G__22713) {\ncase 2:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,tag){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,tag,cls){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag),cljs.core.name(cls));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.get_value \x3d (function shadow$dom$get_value(dom){\nreturn goog.dom.forms.getValue(shadow.dom.dom_node(dom));\n});\nshadow.dom.set_value \x3d (function shadow$dom$set_value(dom,value){\nreturn goog.dom.forms.setValue(shadow.dom.dom_node(dom),value);\n});\nshadow.dom.px \x3d (function shadow$dom$px(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((value | (0))),\x22px\x22].join(\x27\x27);\n});\nshadow.dom.pct \x3d (function shadow$dom$pct(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(value),\x22%\x22].join(\x27\x27);\n});\nshadow.dom.remove_style_STAR_ \x3d (function shadow$dom$remove_style_STAR_(el,style){\nreturn el.style.removeProperty(cljs.core.name(style));\n});\nshadow.dom.remove_style \x3d (function shadow$dom$remove_style(el,style){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nreturn shadow.dom.remove_style_STAR_(el__$1,style);\n});\nshadow.dom.remove_styles \x3d (function shadow$dom$remove_styles(el,style_keys){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar seq__22714 \x3d cljs.core.seq(style_keys);\nvar chunk__22715 \x3d null;\nvar count__22716 \x3d (0);\nvar i__22717 \x3d (0);\nwhile(true){\nif((i__22717 \x3c count__22716)){\nvar it \x3d chunk__22715.cljs$core$IIndexed$_nth$arity$2(null,i__22717);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__23459 \x3d seq__22714;\nvar G__23460 \x3d chunk__22715;\nvar G__23461 \x3d count__22716;\nvar G__23462 \x3d (i__22717 + (1));\nseq__22714 \x3d G__23459;\nchunk__22715 \x3d G__23460;\ncount__22716 \x3d G__23461;\ni__22717 \x3d G__23462;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__22714);\nif(temp__5804__auto__){\nvar seq__22714__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__22714__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__22714__$1);\nvar G__23463 \x3d cljs.core.chunk_rest(seq__22714__$1);\nvar G__23464 \x3d c__5568__auto__;\nvar G__23465 \x3d cljs.core.count(c__5568__auto__);\nvar G__23466 \x3d (0);\nseq__22714 \x3d G__23463;\nchunk__22715 \x3d G__23464;\ncount__22716 \x3d G__23465;\ni__22717 \x3d G__23466;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__22714__$1);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__23470 \x3d cljs.core.next(seq__22714__$1);\nvar G__23471 \x3d null;\nvar G__23472 \x3d (0);\nvar G__23473 \x3d (0);\nseq__22714 \x3d G__23470;\nchunk__22715 \x3d G__23471;\ncount__22716 \x3d G__23472;\ni__22717 \x3d G__23473;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Coordinate \x3d (function (x,y,__meta,__extmap,__hash){\nthis.x \x3d x;\nthis.y \x3d y;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k22736,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__22743 \x3d k22736;\nvar G__22743__$1 \x3d (((G__22743 instanceof cljs.core.Keyword))?G__22743.fqn:null);\nswitch (G__22743__$1) {\ncase \x22x\x22:\nreturn self__.x;\n\nbreak;\ncase \x22y\x22:\nreturn self__.y;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k22736,else__5346__auto__);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__22744){\nvar vec__22745 \x3d p__22744;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22745,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22745,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.dom.Coordinate{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__22735){\nvar self__ \x3d this;\nvar G__22735__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__22735__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (145542109 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this22737,other22738){\nvar self__ \x3d this;\nvar this22737__$1 \x3d this;\nreturn (((!((other22738 \x3d\x3d null)))) \x26\x26 ((((this22737__$1.constructor \x3d\x3d\x3d other22738.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22737__$1.x,other22738.x)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22737__$1.y,other22738.y)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22737__$1.__extmap,other22738.__extmap)))))))));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k22736){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__22799 \x3d k22736;\nvar G__22799__$1 \x3d (((G__22799 instanceof cljs.core.Keyword))?G__22799.fqn:null);\nswitch (G__22799__$1) {\ncase \x22x\x22:\ncase \x22y\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k22736);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__22735){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__22804 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__22805 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__22804.cljs$core$IFn$_invoke$arity$2 ? pred__22804.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__22805) : pred__22804.call(null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__22805)))){\nreturn (new shadow.dom.Coordinate(G__22735,self__.y,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__22804.cljs$core$IFn$_invoke$arity$2 ? pred__22804.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__22805) : pred__22804.call(null,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__22805)))){\nreturn (new shadow.dom.Coordinate(self__.x,G__22735,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__22735),null));\n}\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__22735){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,G__22735,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.dom.Coordinate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22y\x22,\x22y\x22,-117328249,null)], null);\n}));\n\n(shadow.dom.Coordinate.cljs$lang$type \x3d true);\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Coordinate\x22,null,(1),null));\n}));\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.dom/Coordinate\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Coordinate.\n */\nshadow.dom.__GT_Coordinate \x3d (function shadow$dom$__GT_Coordinate(x,y){\nreturn (new shadow.dom.Coordinate(x,y,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Coordinate, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Coordinate \x3d (function shadow$dom$map__GT_Coordinate(G__22739){\nvar extmap__5385__auto__ \x3d (function (){var G__22815 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__22739,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], 0));\nif(cljs.core.record_QMARK_(G__22739)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__22815);\n} else {\nreturn G__22815;\n}\n})();\nreturn (new shadow.dom.Coordinate(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(G__22739),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(G__22739),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.dom.get_position \x3d (function shadow$dom$get_position(el){\nvar pos \x3d goog.style.getPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_client_position \x3d (function shadow$dom$get_client_position(el){\nvar pos \x3d goog.style.getClientPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_page_offset \x3d (function shadow$dom$get_page_offset(el){\nvar pos \x3d goog.style.getPageOffset(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Size \x3d (function (w,h,__meta,__extmap,__hash){\nthis.w \x3d w;\nthis.h \x3d h;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k22834,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__22845 \x3d k22834;\nvar G__22845__$1 \x3d (((G__22845 instanceof cljs.core.Keyword))?G__22845.fqn:null);\nswitch (G__22845__$1) {\ncase \x22w\x22:\nreturn self__.w;\n\nbreak;\ncase \x22h\x22:\nreturn self__.h;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k22834,else__5346__auto__);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__22851){\nvar vec__22852 \x3d p__22851;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22852,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22852,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.dom.Size{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__22833){\nvar self__ \x3d this;\nvar G__22833__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__22833__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-1228019642 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this22835,other22836){\nvar self__ \x3d this;\nvar this22835__$1 \x3d this;\nreturn (((!((other22836 \x3d\x3d null)))) \x26\x26 ((((this22835__$1.constructor \x3d\x3d\x3d other22836.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22835__$1.w,other22836.w)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22835__$1.h,other22836.h)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this22835__$1.__extmap,other22836.__extmap)))))))));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k22834){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__22888 \x3d k22834;\nvar G__22888__$1 \x3d (((G__22888 instanceof cljs.core.Keyword))?G__22888.fqn:null);\nswitch (G__22888__$1) {\ncase \x22w\x22:\ncase \x22h\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k22834);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__22833){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__22891 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__22892 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__22891.cljs$core$IFn$_invoke$arity$2 ? pred__22891.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__22892) : pred__22891.call(null,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__22892)))){\nreturn (new shadow.dom.Size(G__22833,self__.h,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__22891.cljs$core$IFn$_invoke$arity$2 ? pred__22891.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__22892) : pred__22891.call(null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__22892)))){\nreturn (new shadow.dom.Size(self__.w,G__22833,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__22833),null));\n}\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__22833){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,G__22833,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.dom.Size.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22w\x22,\x22w\x22,1994700528,null),new cljs.core.Symbol(null,\x22h\x22,\x22h\x22,-1544777029,null)], null);\n}));\n\n(shadow.dom.Size.cljs$lang$type \x3d true);\n\n(shadow.dom.Size.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Size\x22,null,(1),null));\n}));\n\n(shadow.dom.Size.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.dom/Size\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Size.\n */\nshadow.dom.__GT_Size \x3d (function shadow$dom$__GT_Size(w,h){\nreturn (new shadow.dom.Size(w,h,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Size, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Size \x3d (function shadow$dom$map__GT_Size(G__22838){\nvar extmap__5385__auto__ \x3d (function (){var G__22931 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__22838,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], 0));\nif(cljs.core.record_QMARK_(G__22838)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__22931);\n} else {\nreturn G__22931;\n}\n})();\nreturn (new shadow.dom.Size(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(G__22838),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740).cljs$core$IFn$_invoke$arity$1(G__22838),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.dom.size__GT_clj \x3d (function shadow$dom$size__GT_clj(size){\nreturn (new shadow.dom.Size(size.width,size.height,null,null,null));\n});\nshadow.dom.get_size \x3d (function shadow$dom$get_size(el){\nreturn shadow.dom.size__GT_clj(goog.style.getSize(shadow.dom.dom_node(el)));\n});\nshadow.dom.get_height \x3d (function shadow$dom$get_height(el){\nreturn shadow.dom.get_size(el).h;\n});\nshadow.dom.get_viewport_size \x3d (function shadow$dom$get_viewport_size(){\nreturn shadow.dom.size__GT_clj(goog.dom.getViewportSize());\n});\nshadow.dom.first_child \x3d (function shadow$dom$first_child(el){\nreturn (shadow.dom.dom_node(el).children[(0)]);\n});\nshadow.dom.select_option_values \x3d (function shadow$dom$select_option_values(el){\nvar native$ \x3d shadow.dom.dom_node(el);\nvar opts \x3d (native$[\x22options\x22]);\nvar a__5633__auto__ \x3d opts;\nvar l__5634__auto__ \x3d a__5633__auto__.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((i \x3c l__5634__auto__)){\nvar G__23525 \x3d (i + (1));\nvar G__23526 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(opts[i][\x22value\x22]));\ni \x3d G__23525;\nret \x3d G__23526;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nshadow.dom.build_url \x3d (function shadow$dom$build_url(path,query_params){\nif(cljs.core.empty_QMARK_(query_params)){\nreturn path;\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22?\x22,clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x26\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__22962){\nvar vec__22963 \x3d p__22962;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22963,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22963,(1),null);\nreturn [cljs.core.name(k),\x22\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(encodeURIComponent(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v)))].join(\x27\x27);\n}),query_params))].join(\x27\x27);\n}\n});\nshadow.dom.redirect \x3d (function shadow$dom$redirect(var_args){\nvar G__22968 \x3d arguments.length;\nswitch (G__22968) {\ncase 1:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1 \x3d (function (path){\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2(path,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2 \x3d (function (path,query_params){\nreturn (document[\x22location\x22][\x22href\x22] \x3d shadow.dom.build_url(path,query_params));\n}));\n\n(shadow.dom.redirect.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.reload_BANG_ \x3d (function shadow$dom$reload_BANG_(){\nreturn (document.location.href \x3d document.location.href);\n});\nshadow.dom.tag_name \x3d (function shadow$dom$tag_name(el){\nvar dom \x3d shadow.dom.dom_node(el);\nreturn dom.tagName;\n});\nshadow.dom.insert_after \x3d (function shadow$dom$insert_after(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingAfter(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_before \x3d (function shadow$dom$insert_before(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingBefore(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_first \x3d (function shadow$dom$insert_first(ref,new$){\nvar temp__5802__auto__ \x3d shadow.dom.dom_node(ref).firstChild;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar child \x3d temp__5802__auto__;\nreturn shadow.dom.insert_before(child,new$);\n} else {\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(ref,new$);\n}\n});\nshadow.dom.index_of \x3d (function shadow$dom$index_of(el){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar i \x3d (0);\nwhile(true){\nvar ps \x3d el__$1.previousSibling;\nif((ps \x3d\x3d null)){\nreturn i;\n} else {\nvar G__23540 \x3d ps;\nvar G__23541 \x3d (i + (1));\nel__$1 \x3d G__23540;\ni \x3d G__23541;\ncontinue;\n}\nbreak;\n}\n});\nshadow.dom.get_parent \x3d (function shadow$dom$get_parent(el){\nreturn goog.dom.getParentElement(shadow.dom.dom_node(el));\n});\nshadow.dom.parents \x3d (function shadow$dom$parents(el){\nvar parent \x3d shadow.dom.get_parent(el);\nif(cljs.core.truth_(parent)){\nreturn cljs.core.cons(parent,(new cljs.core.LazySeq(null,(function (){\nreturn (shadow.dom.parents.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.parents.cljs$core$IFn$_invoke$arity$1(parent) : shadow.dom.parents.call(null,parent));\n}),null,null)));\n} else {\nreturn null;\n}\n});\nshadow.dom.matches \x3d (function shadow$dom$matches(el,sel){\nreturn shadow.dom.dom_node(el).matches(sel);\n});\nshadow.dom.get_next_sibling \x3d (function shadow$dom$get_next_sibling(el){\nreturn goog.dom.getNextElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.get_previous_sibling \x3d (function shadow$dom$get_previous_sibling(el){\nreturn goog.dom.getPreviousElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.xmlns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [\x22svg\x22,\x22http://www.w3.org/2000/svg\x22,\x22xlink\x22,\x22http://www.w3.org/1999/xlink\x22], null));\nshadow.dom.create_svg_node \x3d (function shadow$dom$create_svg_node(tag_def,props){\nvar vec__22993 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22993,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22993,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22993,(2),null);\nvar el \x3d document.createElementNS(\x22http://www.w3.org/2000/svg\x22,tag_name);\nif(cljs.core.truth_(tag_id)){\nel.setAttribute(\x22id\x22,tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\nel.setAttribute(\x22class\x22,shadow.dom.merge_class_string(new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(props),tag_classes));\n} else {\n}\n\nvar seq__22996_23546 \x3d cljs.core.seq(props);\nvar chunk__22997_23547 \x3d null;\nvar count__22998_23548 \x3d (0);\nvar i__22999_23549 \x3d (0);\nwhile(true){\nif((i__22999_23549 \x3c count__22998_23548)){\nvar vec__23007_23550 \x3d chunk__22997_23547.cljs$core$IIndexed$_nth$arity$2(null,i__22999_23549);\nvar k_23551 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23007_23550,(0),null);\nvar v_23552 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23007_23550,(1),null);\nel.setAttributeNS((function (){var temp__5804__auto__ \x3d cljs.core.namespace(k_23551);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_23551),v_23552);\n\n\nvar G__23553 \x3d seq__22996_23546;\nvar G__23554 \x3d chunk__22997_23547;\nvar G__23555 \x3d count__22998_23548;\nvar G__23556 \x3d (i__22999_23549 + (1));\nseq__22996_23546 \x3d G__23553;\nchunk__22997_23547 \x3d G__23554;\ncount__22998_23548 \x3d G__23555;\ni__22999_23549 \x3d G__23556;\ncontinue;\n} else {\nvar temp__5804__auto___23557 \x3d cljs.core.seq(seq__22996_23546);\nif(temp__5804__auto___23557){\nvar seq__22996_23562__$1 \x3d temp__5804__auto___23557;\nif(cljs.core.chunked_seq_QMARK_(seq__22996_23562__$1)){\nvar c__5568__auto___23563 \x3d cljs.core.chunk_first(seq__22996_23562__$1);\nvar G__23564 \x3d cljs.core.chunk_rest(seq__22996_23562__$1);\nvar G__23565 \x3d c__5568__auto___23563;\nvar G__23566 \x3d cljs.core.count(c__5568__auto___23563);\nvar G__23567 \x3d (0);\nseq__22996_23546 \x3d G__23564;\nchunk__22997_23547 \x3d G__23565;\ncount__22998_23548 \x3d G__23566;\ni__22999_23549 \x3d G__23567;\ncontinue;\n} else {\nvar vec__23011_23568 \x3d cljs.core.first(seq__22996_23562__$1);\nvar k_23569 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23011_23568,(0),null);\nvar v_23570 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23011_23568,(1),null);\nel.setAttributeNS((function (){var temp__5804__auto____$1 \x3d cljs.core.namespace(k_23569);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar ns \x3d temp__5804__auto____$1;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_23569),v_23570);\n\n\nvar G__23571 \x3d cljs.core.next(seq__22996_23562__$1);\nvar G__23572 \x3d null;\nvar G__23573 \x3d (0);\nvar G__23574 \x3d (0);\nseq__22996_23546 \x3d G__23571;\nchunk__22997_23547 \x3d G__23572;\ncount__22998_23548 \x3d G__23573;\ni__22999_23549 \x3d G__23574;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn el;\n});\nshadow.dom.svg_node \x3d (function shadow$dom$svg_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$SVGElement$))))?true:false):false)){\nreturn el.shadow$dom$SVGElement$_to_svg$arity$1(null);\n} else {\nreturn el;\n\n}\n}\n});\nshadow.dom.make_svg_node \x3d (function shadow$dom$make_svg_node(structure){\nvar vec__23031 \x3d shadow.dom.destructure_node(shadow.dom.create_svg_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23031,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23031,(1),null);\nvar seq__23034_23578 \x3d cljs.core.seq(node_children);\nvar chunk__23036_23579 \x3d null;\nvar count__23037_23580 \x3d (0);\nvar i__23038_23581 \x3d (0);\nwhile(true){\nif((i__23038_23581 \x3c count__23037_23580)){\nvar child_struct_23582 \x3d chunk__23036_23579.cljs$core$IIndexed$_nth$arity$2(null,i__23038_23581);\nif((!((child_struct_23582 \x3d\x3d null)))){\nif(typeof child_struct_23582 \x3d\x3d\x3d \x27string\x27){\nvar text_23583 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_23583),child_struct_23582].join(\x27\x27));\n} else {\nvar children_23585 \x3d shadow.dom.svg_node(child_struct_23582);\nif(cljs.core.seq_QMARK_(children_23585)){\nvar seq__23122_23586 \x3d cljs.core.seq(children_23585);\nvar chunk__23124_23587 \x3d null;\nvar count__23125_23588 \x3d (0);\nvar i__23126_23589 \x3d (0);\nwhile(true){\nif((i__23126_23589 \x3c count__23125_23588)){\nvar child_23590 \x3d chunk__23124_23587.cljs$core$IIndexed$_nth$arity$2(null,i__23126_23589);\nif(cljs.core.truth_(child_23590)){\nnode.appendChild(child_23590);\n\n\nvar G__23591 \x3d seq__23122_23586;\nvar G__23592 \x3d chunk__23124_23587;\nvar G__23593 \x3d count__23125_23588;\nvar G__23594 \x3d (i__23126_23589 + (1));\nseq__23122_23586 \x3d G__23591;\nchunk__23124_23587 \x3d G__23592;\ncount__23125_23588 \x3d G__23593;\ni__23126_23589 \x3d G__23594;\ncontinue;\n} else {\nvar G__23596 \x3d seq__23122_23586;\nvar G__23597 \x3d chunk__23124_23587;\nvar G__23598 \x3d count__23125_23588;\nvar G__23599 \x3d (i__23126_23589 + (1));\nseq__23122_23586 \x3d G__23596;\nchunk__23124_23587 \x3d G__23597;\ncount__23125_23588 \x3d G__23598;\ni__23126_23589 \x3d G__23599;\ncontinue;\n}\n} else {\nvar temp__5804__auto___23600 \x3d cljs.core.seq(seq__23122_23586);\nif(temp__5804__auto___23600){\nvar seq__23122_23601__$1 \x3d temp__5804__auto___23600;\nif(cljs.core.chunked_seq_QMARK_(seq__23122_23601__$1)){\nvar c__5568__auto___23602 \x3d cljs.core.chunk_first(seq__23122_23601__$1);\nvar G__23603 \x3d cljs.core.chunk_rest(seq__23122_23601__$1);\nvar G__23604 \x3d c__5568__auto___23602;\nvar G__23605 \x3d cljs.core.count(c__5568__auto___23602);\nvar G__23606 \x3d (0);\nseq__23122_23586 \x3d G__23603;\nchunk__23124_23587 \x3d G__23604;\ncount__23125_23588 \x3d G__23605;\ni__23126_23589 \x3d G__23606;\ncontinue;\n} else {\nvar child_23607 \x3d cljs.core.first(seq__23122_23601__$1);\nif(cljs.core.truth_(child_23607)){\nnode.appendChild(child_23607);\n\n\nvar G__23610 \x3d cljs.core.next(seq__23122_23601__$1);\nvar G__23611 \x3d null;\nvar G__23612 \x3d (0);\nvar G__23613 \x3d (0);\nseq__23122_23586 \x3d G__23610;\nchunk__23124_23587 \x3d G__23611;\ncount__23125_23588 \x3d G__23612;\ni__23126_23589 \x3d G__23613;\ncontinue;\n} else {\nvar G__23614 \x3d cljs.core.next(seq__23122_23601__$1);\nvar G__23615 \x3d null;\nvar G__23616 \x3d (0);\nvar G__23617 \x3d (0);\nseq__23122_23586 \x3d G__23614;\nchunk__23124_23587 \x3d G__23615;\ncount__23125_23588 \x3d G__23616;\ni__23126_23589 \x3d G__23617;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_23585);\n}\n}\n\n\nvar G__23618 \x3d seq__23034_23578;\nvar G__23619 \x3d chunk__23036_23579;\nvar G__23620 \x3d count__23037_23580;\nvar G__23621 \x3d (i__23038_23581 + (1));\nseq__23034_23578 \x3d G__23618;\nchunk__23036_23579 \x3d G__23619;\ncount__23037_23580 \x3d G__23620;\ni__23038_23581 \x3d G__23621;\ncontinue;\n} else {\nvar G__23622 \x3d seq__23034_23578;\nvar G__23623 \x3d chunk__23036_23579;\nvar G__23624 \x3d count__23037_23580;\nvar G__23625 \x3d (i__23038_23581 + (1));\nseq__23034_23578 \x3d G__23622;\nchunk__23036_23579 \x3d G__23623;\ncount__23037_23580 \x3d G__23624;\ni__23038_23581 \x3d G__23625;\ncontinue;\n}\n} else {\nvar temp__5804__auto___23626 \x3d cljs.core.seq(seq__23034_23578);\nif(temp__5804__auto___23626){\nvar seq__23034_23627__$1 \x3d temp__5804__auto___23626;\nif(cljs.core.chunked_seq_QMARK_(seq__23034_23627__$1)){\nvar c__5568__auto___23628 \x3d cljs.core.chunk_first(seq__23034_23627__$1);\nvar G__23629 \x3d cljs.core.chunk_rest(seq__23034_23627__$1);\nvar G__23630 \x3d c__5568__auto___23628;\nvar G__23631 \x3d cljs.core.count(c__5568__auto___23628);\nvar G__23632 \x3d (0);\nseq__23034_23578 \x3d G__23629;\nchunk__23036_23579 \x3d G__23630;\ncount__23037_23580 \x3d G__23631;\ni__23038_23581 \x3d G__23632;\ncontinue;\n} else {\nvar child_struct_23633 \x3d cljs.core.first(seq__23034_23627__$1);\nif((!((child_struct_23633 \x3d\x3d null)))){\nif(typeof child_struct_23633 \x3d\x3d\x3d \x27string\x27){\nvar text_23634 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_23634),child_struct_23633].join(\x27\x27));\n} else {\nvar children_23635 \x3d shadow.dom.svg_node(child_struct_23633);\nif(cljs.core.seq_QMARK_(children_23635)){\nvar seq__23139_23636 \x3d cljs.core.seq(children_23635);\nvar chunk__23141_23637 \x3d null;\nvar count__23142_23638 \x3d (0);\nvar i__23143_23639 \x3d (0);\nwhile(true){\nif((i__23143_23639 \x3c count__23142_23638)){\nvar child_23640 \x3d chunk__23141_23637.cljs$core$IIndexed$_nth$arity$2(null,i__23143_23639);\nif(cljs.core.truth_(child_23640)){\nnode.appendChild(child_23640);\n\n\nvar G__23647 \x3d seq__23139_23636;\nvar G__23648 \x3d chunk__23141_23637;\nvar G__23649 \x3d count__23142_23638;\nvar G__23650 \x3d (i__23143_23639 + (1));\nseq__23139_23636 \x3d G__23647;\nchunk__23141_23637 \x3d G__23648;\ncount__23142_23638 \x3d G__23649;\ni__23143_23639 \x3d G__23650;\ncontinue;\n} else {\nvar G__23651 \x3d seq__23139_23636;\nvar G__23652 \x3d chunk__23141_23637;\nvar G__23653 \x3d count__23142_23638;\nvar G__23654 \x3d (i__23143_23639 + (1));\nseq__23139_23636 \x3d G__23651;\nchunk__23141_23637 \x3d G__23652;\ncount__23142_23638 \x3d G__23653;\ni__23143_23639 \x3d G__23654;\ncontinue;\n}\n} else {\nvar temp__5804__auto___23655__$1 \x3d cljs.core.seq(seq__23139_23636);\nif(temp__5804__auto___23655__$1){\nvar seq__23139_23656__$1 \x3d temp__5804__auto___23655__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__23139_23656__$1)){\nvar c__5568__auto___23657 \x3d cljs.core.chunk_first(seq__23139_23656__$1);\nvar G__23658 \x3d cljs.core.chunk_rest(seq__23139_23656__$1);\nvar G__23659 \x3d c__5568__auto___23657;\nvar G__23660 \x3d cljs.core.count(c__5568__auto___23657);\nvar G__23661 \x3d (0);\nseq__23139_23636 \x3d G__23658;\nchunk__23141_23637 \x3d G__23659;\ncount__23142_23638 \x3d G__23660;\ni__23143_23639 \x3d G__23661;\ncontinue;\n} else {\nvar child_23662 \x3d cljs.core.first(seq__23139_23656__$1);\nif(cljs.core.truth_(child_23662)){\nnode.appendChild(child_23662);\n\n\nvar G__23663 \x3d cljs.core.next(seq__23139_23656__$1);\nvar G__23664 \x3d null;\nvar G__23665 \x3d (0);\nvar G__23666 \x3d (0);\nseq__23139_23636 \x3d G__23663;\nchunk__23141_23637 \x3d G__23664;\ncount__23142_23638 \x3d G__23665;\ni__23143_23639 \x3d G__23666;\ncontinue;\n} else {\nvar G__23667 \x3d cljs.core.next(seq__23139_23656__$1);\nvar G__23668 \x3d null;\nvar G__23669 \x3d (0);\nvar G__23670 \x3d (0);\nseq__23139_23636 \x3d G__23667;\nchunk__23141_23637 \x3d G__23668;\ncount__23142_23638 \x3d G__23669;\ni__23143_23639 \x3d G__23670;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_23635);\n}\n}\n\n\nvar G__23671 \x3d cljs.core.next(seq__23034_23627__$1);\nvar G__23672 \x3d null;\nvar G__23673 \x3d (0);\nvar G__23674 \x3d (0);\nseq__23034_23578 \x3d G__23671;\nchunk__23036_23579 \x3d G__23672;\ncount__23037_23580 \x3d G__23673;\ni__23038_23581 \x3d G__23674;\ncontinue;\n} else {\nvar G__23675 \x3d cljs.core.next(seq__23034_23627__$1);\nvar G__23676 \x3d null;\nvar G__23677 \x3d (0);\nvar G__23678 \x3d (0);\nseq__23034_23578 \x3d G__23675;\nchunk__23036_23579 \x3d G__23676;\ncount__23037_23580 \x3d G__23677;\ni__23038_23581 \x3d G__23678;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(shadow.dom.SVGElement[\x22string\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22string\x22] \x3d (function (this$){\nif((this$ instanceof cljs.core.Keyword)){\nreturn shadow.dom.make_svg_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$], null));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22strings cannot be in svgs\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22this\x22,\x22this\x22,-611633625),this$], null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_svg_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_svg,this$__$1);\n}));\n\n(shadow.dom.SVGElement[\x22null\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\nshadow.dom.svg \x3d (function shadow$dom$svg(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___23680 \x3d arguments.length;\nvar i__5770__auto___23681 \x3d (0);\nwhile(true){\nif((i__5770__auto___23681 \x3c len__5769__auto___23680)){\nargs__5775__auto__.push((arguments[i__5770__auto___23681]));\n\nvar G__23682 \x3d (i__5770__auto___23681 + (1));\ni__5770__auto___23681 \x3d G__23682;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (attrs,children){\nreturn shadow.dom._to_svg(cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22svg\x22,\x22svg\x22,856789142),attrs], null),children)));\n}));\n\n(shadow.dom.svg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.dom.svg.cljs$lang$applyTo \x3d (function (seq23158){\nvar G__23159 \x3d cljs.core.first(seq23158);\nvar seq23158__$1 \x3d cljs.core.next(seq23158);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23159,seq23158__$1);\n}));\n\n/**\n * returns a channel for events on el\n * transform-fn should be a (fn [e el] some-val) where some-val will be put on the chan\n * once-or-cleanup handles the removal of the event handler\n * - true: remove after one event\n * - false: never removed\n * - chan: remove on msg/close\n */\nshadow.dom.event_chan \x3d (function shadow$dom$event_chan(var_args){\nvar G__23164 \x3d arguments.length;\nswitch (G__23164) {\ncase 2:\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,event){\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4(el,event,null,false);\n}));\n\n(shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,event,xf){\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4(el,event,xf,false);\n}));\n\n(shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4 \x3d (function (el,event,xf,once_or_cleanup){\nvar buf \x3d cljs.core.async.sliding_buffer((1));\nvar chan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2(buf,xf);\nvar event_fn \x3d (function shadow$dom$event_fn(e){\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(chan,e);\n\nif(once_or_cleanup \x3d\x3d\x3d true){\nshadow.dom.remove_event_handler(el,event,shadow$dom$event_fn);\n\nreturn cljs.core.async.close_BANG_(chan);\n} else {\nreturn null;\n}\n});\nshadow.dom.dom_listen(shadow.dom.dom_node(el),cljs.core.name(event),event_fn);\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d once_or_cleanup;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!(once_or_cleanup \x3d\x3d\x3d true));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar c__18542__auto___23693 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_23172){\nvar state_val_23173 \x3d (state_23172[(1)]);\nif((state_val_23173 \x3d\x3d\x3d (1))){\nvar state_23172__$1 \x3d state_23172;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_23172__$1,(2),once_or_cleanup);\n} else {\nif((state_val_23173 \x3d\x3d\x3d (2))){\nvar inst_23169 \x3d (state_23172[(2)]);\nvar inst_23170 \x3d shadow.dom.remove_event_handler(el,event,event_fn);\nvar state_23172__$1 \x3d (function (){var statearr_23180 \x3d state_23172;\n(statearr_23180[(7)] \x3d inst_23169);\n\nreturn statearr_23180;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_23172__$1,inst_23170);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar shadow$dom$state_machine__18257__auto__ \x3d null;\nvar shadow$dom$state_machine__18257__auto____0 \x3d (function (){\nvar statearr_23181 \x3d [null,null,null,null,null,null,null,null];\n(statearr_23181[(0)] \x3d shadow$dom$state_machine__18257__auto__);\n\n(statearr_23181[(1)] \x3d (1));\n\nreturn statearr_23181;\n});\nvar shadow$dom$state_machine__18257__auto____1 \x3d (function (state_23172){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_23172);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e23182){var ex__18260__auto__ \x3d e23182;\nvar statearr_23183_23694 \x3d state_23172;\n(statearr_23183_23694[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_23172[(4)]))){\nvar statearr_23184_23695 \x3d state_23172;\n(statearr_23184_23695[(1)] \x3d cljs.core.first((state_23172[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__23696 \x3d state_23172;\nstate_23172 \x3d G__23696;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\nshadow$dom$state_machine__18257__auto__ \x3d function(state_23172){\nswitch(arguments.length){\ncase 0:\nreturn shadow$dom$state_machine__18257__auto____0.call(this);\ncase 1:\nreturn shadow$dom$state_machine__18257__auto____1.call(this,state_23172);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$dom$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$dom$state_machine__18257__auto____0;\nshadow$dom$state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$dom$state_machine__18257__auto____1;\nreturn shadow$dom$state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_23185 \x3d f__18543__auto__();\n(statearr_23185[(6)] \x3d c__18542__auto___23693);\n\nreturn statearr_23185;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\n} else {\n}\n\nreturn chan;\n}));\n\n(shadow.dom.event_chan.cljs$lang$maxFixedArity \x3d 4);\n\n"); -SHADOW_ENV.evalLoad("clojure.data.js", true , "goog.provide(\x27clojure.data\x27);\n/**\n * Internal helper for diff.\n */\nclojure.data.atom_diff \x3d (function clojure$data$atom_diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [a,b,null], null);\n}\n});\n/**\n * Convert an associative-by-numeric-index collection into\n * an equivalent vector, with nil for any missing keys\n */\nclojure.data.vectorize \x3d (function clojure$data$vectorize(m){\nif(cljs.core.seq(m)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,p__18389){\nvar vec__18390 \x3d p__18389;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18390,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18390,(1),null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,k,v);\n}),cljs.core.vec(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.keys(m)),null)),m);\n} else {\nreturn null;\n}\n});\n/**\n * Diff associative things a and b, comparing only the key k.\n */\nclojure.data.diff_associative_key \x3d (function clojure$data$diff_associative_key(a,b,k){\nvar va \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,k);\nvar vb \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,k);\nvar vec__18416 \x3d clojure.data.diff(va,vb);\nvar a_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18416,(0),null);\nvar b_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18416,(1),null);\nvar ab \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18416,(2),null);\nvar in_a \x3d cljs.core.contains_QMARK_(a,k);\nvar in_b \x3d cljs.core.contains_QMARK_(b,k);\nvar same \x3d ((in_a) \x26\x26 (((in_b) \x26\x26 ((((!((ab \x3d\x3d null)))) || ((((va \x3d\x3d null)) \x26\x26 ((vb \x3d\x3d null)))))))));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((((in_a) \x26\x26 ((((!((a_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,a_STAR_]):null),((((in_b) \x26\x26 ((((!((b_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,b_STAR_]):null),((same)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ab]):null)], null);\n});\n/**\n * Diff associative things a and b, comparing only keys in ks (if supplied).\n */\nclojure.data.diff_associative \x3d (function clojure$data$diff_associative(var_args){\nvar G__18425 \x3d arguments.length;\nswitch (G__18425) {\ncase 2:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(a,b,clojure.set.union.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(a),cljs.core.keys(b)));\n}));\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (diff1,diff2){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.merge,diff1,diff2));\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,null], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$3(clojure.data.diff_associative_key,a,b),ks));\n}));\n\n(clojure.data.diff_associative.cljs$lang$maxFixedArity \x3d 3);\n\nclojure.data.diff_sequential \x3d (function clojure$data$diff_sequential(a,b){\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.data.vectorize,clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(((cljs.core.vector_QMARK_(a))?a:cljs.core.vec(a)),((cljs.core.vector_QMARK_(b))?b:cljs.core.vec(b)),cljs.core.range.cljs$core$IFn$_invoke$arity$1((function (){var x__5130__auto__ \x3d cljs.core.count(a);\nvar y__5131__auto__ \x3d cljs.core.count(b);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})()))));\n});\nclojure.data.diff_set \x3d (function clojure$data$diff_set(a,b){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(a,b)),cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(b,a)),cljs.core.not_empty(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(a,b))], null);\n});\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.EqualityPartition \x3d function(){};\n\nvar clojure$data$EqualityPartition$equality_partition$dyn_18635 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (clojure.data.equality_partition[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (clojure.data.equality_partition[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22EqualityPartition.equality-partition\x22,x);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.equality_partition \x3d (function clojure$data$equality_partition(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.clojure$data$EqualityPartition$equality_partition$arity$1 \x3d\x3d null)))))){\nreturn x.clojure$data$EqualityPartition$equality_partition$arity$1(x);\n} else {\nreturn clojure$data$EqualityPartition$equality_partition$dyn_18635(x);\n}\n});\n\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.Diff \x3d function(){};\n\nvar clojure$data$Diff$diff_similar$dyn_18643 \x3d (function (a,b){\nvar x__5393__auto__ \x3d (((a \x3d\x3d null))?null:a);\nvar m__5394__auto__ \x3d (clojure.data.diff_similar[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5394__auto__.call(null,a,b));\n} else {\nvar m__5392__auto__ \x3d (clojure.data.diff_similar[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5392__auto__.call(null,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Diff.diff-similar\x22,a);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.diff_similar \x3d (function clojure$data$diff_similar(a,b){\nif((((!((a \x3d\x3d null)))) \x26\x26 ((!((a.clojure$data$Diff$diff_similar$arity$2 \x3d\x3d null)))))){\nreturn a.clojure$data$Diff$diff_similar$arity$2(a,b);\n} else {\nreturn clojure$data$Diff$diff_similar$dyn_18643(a,b);\n}\n});\n\n(clojure.data.EqualityPartition[\x22null\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22null\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22string\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22string\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22number\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22number\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22array\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22array\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n}));\n\n(clojure.data.EqualityPartition[\x22function\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22function\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22boolean\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22boolean\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22_\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22_\x22] \x3d (function (x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x))){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x))){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x))){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n} else {\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n\n}\n}\n}\n}));\n(clojure.data.Diff[\x22null\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22null\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22string\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22string\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22number\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22number\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22array\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22array\x22] \x3d (function (a,b){\nreturn clojure.data.diff_sequential(a,b);\n}));\n\n(clojure.data.Diff[\x22function\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22function\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22boolean\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22boolean\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22_\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22_\x22] \x3d (function (a,b){\nvar fexpr__18569 \x3d (function (){var G__18570 \x3d clojure.data.equality_partition(a);\nvar G__18570__$1 \x3d (((G__18570 instanceof cljs.core.Keyword))?G__18570.fqn:null);\nswitch (G__18570__$1) {\ncase \x22atom\x22:\nreturn clojure.data.atom_diff;\n\nbreak;\ncase \x22set\x22:\nreturn clojure.data.diff_set;\n\nbreak;\ncase \x22sequential\x22:\nreturn clojure.data.diff_sequential;\n\nbreak;\ncase \x22map\x22:\nreturn clojure.data.diff_associative;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__18570__$1)].join(\x27\x27)));\n\n}\n})();\nreturn (fexpr__18569.cljs$core$IFn$_invoke$arity$2 ? fexpr__18569.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__18569.call(null,a,b));\n}));\n/**\n * Recursively compares a and b, returning a tuple of\n * [things-only-in-a things-only-in-b things-in-both].\n * Comparison rules:\n * \n * * For equal a and b, return [nil nil a].\n * * Maps are subdiffed where keys match and values differ.\n * * Sets are never subdiffed.\n * * All sequential things are treated as associative collections\n * by their indexes, with results returned as vectors.\n * * Everything else (including strings!) is treated as\n * an atom and compared for equality.\n */\nclojure.data.diff \x3d (function clojure$data$diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clojure.data.equality_partition(a),clojure.data.equality_partition(b))){\nreturn clojure.data.diff_similar(a,b);\n} else {\nreturn clojure.data.atom_diff(a,b);\n}\n}\n});\n"); -SHADOW_ENV.evalLoad("shadow.util.js", true , "goog.provide(\x27shadow.util\x27);\nshadow.util.console_friendly \x3d (function shadow$util$console_friendly(a){\nif((a \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nif((a instanceof cljs.core.Keyword)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);\n} else {\nif(typeof a \x3d\x3d\x3d \x27string\x27){\nreturn a;\n} else {\nif(typeof a \x3d\x3d\x3d \x27number\x27){\nreturn a;\n} else {\nif((((!((a \x3d\x3d null))))?(((((a.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d a.cljs$core$IPrintWithWriter$))))?true:(((!a.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a))){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a], 0));\n} else {\nreturn a;\n\n}\n}\n}\n}\n}\n});\nshadow.util.console_QMARK_ \x3d (typeof console !\x3d\x3d \x27undefined\x27);\nshadow.util.log \x3d (function shadow$util$log(var_args){\nvar G__18415 \x3d arguments.length;\nswitch (G__18415) {\ncase 1:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___18448 \x3d arguments.length;\nvar i__5770__auto___18449 \x3d (0);\nwhile(true){\nif((i__5770__auto___18449 \x3c len__5769__auto___18448)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___18449]));\n\nvar G__18450 \x3d (i__5770__auto___18449 + (1));\ni__5770__auto___18449 \x3d G__18450;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$1 \x3d (function (a1){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$2 \x3d (function (a1,a2){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$3 \x3d (function (a1,a2,a3){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$4 \x3d (function (a1,a2,a3,a4){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$5 \x3d (function (a1,a2,a3,a4,a5){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$6 \x3d (function (a1,a2,a3,a4,a5,a6){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a1,a2,a3,a4,a5,a6,more){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6),\x22more:\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));\n} else {\nreturn null;\n}\n}));\n\n/** @this {Function} */\n(shadow.util.log.cljs$lang$applyTo \x3d (function (seq18408){\nvar G__18409 \x3d cljs.core.first(seq18408);\nvar seq18408__$1 \x3d cljs.core.next(seq18408);\nvar G__18410 \x3d cljs.core.first(seq18408__$1);\nvar seq18408__$2 \x3d cljs.core.next(seq18408__$1);\nvar G__18411 \x3d cljs.core.first(seq18408__$2);\nvar seq18408__$3 \x3d cljs.core.next(seq18408__$2);\nvar G__18412 \x3d cljs.core.first(seq18408__$3);\nvar seq18408__$4 \x3d cljs.core.next(seq18408__$3);\nvar G__18413 \x3d cljs.core.first(seq18408__$4);\nvar seq18408__$5 \x3d cljs.core.next(seq18408__$4);\nvar G__18414 \x3d cljs.core.first(seq18408__$5);\nvar seq18408__$6 \x3d cljs.core.next(seq18408__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__18409,G__18410,G__18411,G__18412,G__18413,G__18414,seq18408__$6);\n}));\n\n(shadow.util.log.cljs$lang$maxFixedArity \x3d (6));\n\nshadow.util.remove_from_vector \x3d (function shadow$util$remove_from_vector(coll,key){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,p__18426){\nvar vec__18427 \x3d p__18426;\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18427,(0),null);\nvar item \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18427,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(idx,key)){\nreturn v;\n} else {\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,item);\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,coll)));\n});\nshadow.util.remove_item_from_coll \x3d (function shadow$util$remove_item_from_coll(coll,key,value){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IVector$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll))){\nreturn shadow.util.remove_from_vector(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IMap$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll))){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISet$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll))){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,value);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unknown coll type\x22,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22coll\x22,\x22coll\x22,1647737163),coll,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22value\x22,\x22value\x22,305978217),value], null));\n\n}\n}\n}\n});\n"); -SHADOW_ENV.evalLoad("shadow.object.js", true , "goog.provide(\x27shadow.object\x27);\nshadow.object.console_friendly \x3d shadow.util.console_friendly;\nshadow.object.log \x3d shadow.util.log;\nshadow.object.debug \x3d shadow.util.log;\nshadow.object.info \x3d shadow.util.log;\nshadow.object.warn \x3d shadow.util.log;\nshadow.object.error \x3d shadow.util.log;\nshadow.object.obj_id \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\nshadow.object.next_id \x3d (function shadow$object$next_id(){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.obj_id,cljs.core.inc);\n});\nshadow.object.object_defs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.behavior_fns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instances \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_parent \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.events \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.define_event \x3d (function shadow$object$define_event(event_name,desc,args){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.events,cljs.core.assoc,event_name,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),event_name,new cljs.core.Keyword(null,\x22description\x22,\x22description\x22,-1428560544),desc,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n});\nshadow.object.unmunge \x3d (function shadow$object$unmunge(s){\nreturn clojure.string.replace(clojure.string.replace(s,/_DOT_/,\x22.\x22),/_/,\x22-\x22);\n});\nshadow.object.define_event(new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434),\x22object initialization\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),\x22object descruction\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),\x22cause of destruction, :parent means the parent was destroyed, :direct is default\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),\x22called after the dom was created but has not entered the document yet\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),\x22the dom that was created\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596),\x22should be called whenever a dom node is added to the document, since that\\n is not in control of this library its up to you to call this\\n use (so/notify-tree! your-obj :dom/entered) to notify the node and every child you created\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160),\x22need to rethink this\x22,cljs.core.PersistentVector.EMPTY);\n\n/**\n * @interface\n */\nshadow.object.IObject \x3d function(){};\n\nvar shadow$object$IObject$_id$dyn_24314 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._id[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._id[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-id\x22,this$);\n}\n}\n});\nshadow.object._id \x3d (function shadow$object$_id(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_id$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_id$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_id$dyn_24314(this$);\n}\n});\n\nvar shadow$object$IObject$_type$dyn_24315 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._type[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._type[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-type\x22,this$);\n}\n}\n});\nshadow.object._type \x3d (function shadow$object$_type(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_type$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_type$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_type$dyn_24315(this$);\n}\n});\n\nvar shadow$object$IObject$_data$dyn_24316 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._data[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._data[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-data\x22,this$);\n}\n}\n});\nshadow.object._data \x3d (function shadow$object$_data(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_data$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_data$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_data$dyn_24316(this$);\n}\n});\n\nvar shadow$object$IObject$_update$dyn_24321 \x3d (function (this$,update_fn){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._update[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5394__auto__.call(null,this$,update_fn));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._update[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5392__auto__.call(null,this$,update_fn));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-update\x22,this$);\n}\n}\n});\n/**\n * update and notify watches\n */\nshadow.object._update \x3d (function shadow$object$_update(this$,update_fn){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_update$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_update$arity$2(this$,update_fn);\n} else {\nreturn shadow$object$IObject$_update$dyn_24321(this$,update_fn);\n}\n});\n\nvar shadow$object$IObject$_destroy_BANG_$dyn_24323 \x3d (function (this$,cause){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._destroy_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5394__auto__.call(null,this$,cause));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._destroy_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5392__auto__.call(null,this$,cause));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-destroy!\x22,this$);\n}\n}\n});\nshadow.object._destroy_BANG_ \x3d (function shadow$object$_destroy_BANG_(this$,cause){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_destroy_BANG_$arity$2(this$,cause);\n} else {\nreturn shadow$object$IObject$_destroy_BANG_$dyn_24323(this$,cause);\n}\n});\n\nshadow.object.get_type \x3d (function shadow$object$get_type(this$){\nreturn shadow.object._type(this$);\n});\nshadow.object.get_type_attr \x3d (function shadow$object$get_type_attr(var_args){\nvar G__23330 \x3d arguments.length;\nswitch (G__23330) {\ncase 2:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,key){\nif((oref \x3d\x3d null)){\nreturn null;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null));\n}\n}));\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,key,default$){\nif((oref \x3d\x3d null)){\nreturn default$;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null),default$);\n}\n}));\n\n(shadow.object.get_type_attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.get_dom \x3d (function shadow$object$get_dom(oref){\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(oref);\n});\ngoog.exportSymbol(\x27shadow.object.get_dom\x27, shadow.object.get_dom);\nshadow.object.get_by_id \x3d (function shadow$object$get_by_id(id){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),id);\n});\ngoog.exportSymbol(\x27shadow.object.get_by_id\x27, shadow.object.get_by_id);\nshadow.object.get_from_dom \x3d (function shadow$object$get_from_dom(dom){\nvar oid \x3d shadow.dom.data(dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(oid)){\nreturn shadow.object.get_by_id(parseInt(oid,(10)));\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_from_dom\x27, shadow.object.get_from_dom);\nshadow.object.is_object_QMARK_ \x3d (function shadow$object$is_object_QMARK_(obj_or_dom){\nvar or__5045__auto__ \x3d (((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn shadow.object.get_from_dom(obj_or_dom);\n}\n});\nshadow.object.equal_QMARK_ \x3d (function shadow$object$equal_QMARK_(obj,obj_or_dom){\nif((((!((obj \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.shadow$object$IObject$))))?true:(((!obj.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22can only test objects\x22,\x22\\n\x22,\x22(satisfies? IObject obj)\x22].join(\x27\x27)));\n}\n\nif((((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom))){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),shadow.object._id(obj_or_dom));\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),(function (){var temp__5804__auto__ \x3d shadow.dom.data(obj_or_dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar oid \x3d temp__5804__auto__;\nreturn parseInt(oid,(10));\n} else {\nreturn null;\n}\n})());\n}\n});\nshadow.object.get_parent \x3d (function shadow$object$get_parent(oref){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),shadow.object._id(oref));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar parent_id \x3d temp__5804__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),parent_id);\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent\x27, shadow.object.get_parent);\nshadow.object.get_parent_of_type \x3d (function shadow$object$get_parent_of_type(oref,parent_type){\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(oref);\nwhile(true){\nif(cljs.core.truth_(parent)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._type(parent),parent_type)){\nreturn parent;\n} else {\nvar G__24330 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(parent);\nparent \x3d G__24330;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent_of_type\x27, shadow.object.get_parent_of_type);\nshadow.object.get_children \x3d (function shadow$object$get_children(parent){\nvar parent_id \x3d shadow.object._id(parent);\nvar child_ids \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.instance_children),parent_id,cljs.core.PersistentVector.EMPTY);\nvar instances \x3d cljs.core.deref(shadow.object.instances);\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__23493_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(instances,p1__23493_SHARP_);\n}),child_ids));\n});\ngoog.exportSymbol(\x27shadow.object.get_children\x27, shadow.object.get_children);\nshadow.object.tree_seq \x3d (function shadow$object$tree_seq(var_args){\nvar G__23495 \x3d arguments.length;\nswitch (G__23495) {\ncase 1:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\ngoog.exportSymbol(\x27shadow.object.tree_seq\x27, shadow.object.tree_seq);\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (root){\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2(root,(function (node){\nreturn true;\n}));\n}));\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (root,branch_QMARK_){\nreturn cljs.core.tree_seq(branch_QMARK_,shadow.object.get_children,root);\n}));\n\n(shadow.object.tree_seq.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_children_of_type \x3d (function shadow$object$get_children_of_type(oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__23502_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__23502_SHARP_));\n}),shadow.object.get_children(oref));\n});\n/**\n * basically (get-children (:parent this))\n */\nshadow.object.get_siblings \x3d (function shadow$object$get_siblings(p__23504){\nvar map__23505 \x3d p__23504;\nvar map__23505__$1 \x3d cljs.core.__destructure_map(map__23505);\nvar oref \x3d map__23505__$1;\nvar parent \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23505__$1,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\nif(cljs.core.truth_(parent)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object has no parent, thus has no siblings\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nreturn shadow.object.get_children(parent);\n});\n/**\n * returns set of all siblings of a common type\n */\nshadow.object.get_siblings_of_type \x3d (function shadow$object$get_siblings_of_type(var_args){\nvar G__23523 \x3d arguments.length;\nswitch (G__23523) {\ncase 1:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2(oref,oref);\n}));\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__23506_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__23506_SHARP_));\n}),shadow.object.get_siblings(oref));\n}));\n\n(shadow.object.get_siblings_of_type.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_collection_item \x3d (function shadow$object$get_collection_item(oref){\nvar item_key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,item_key);\n});\n/**\n * find the object that contains this dom node\n */\nshadow.object.find_containing_object \x3d (function shadow$object$find_containing_object(dom){\nwhile(true){\nvar temp__5802__auto__ \x3d shadow.object.get_from_dom(dom);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar obj \x3d temp__5802__auto__;\nreturn obj;\n} else {\nvar temp__5804__auto__ \x3d dom.parentElement;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar parent \x3d temp__5804__auto__;\nvar G__24338 \x3d parent;\ndom \x3d G__24338;\ncontinue;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.notify_BANG_ \x3d (function shadow$object$notify_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24339 \x3d arguments.length;\nvar i__5770__auto___24340 \x3d (0);\nwhile(true){\nif((i__5770__auto___24340 \x3c len__5769__auto___24339)){\nargs__5775__auto__.push((arguments[i__5770__auto___24340]));\n\nvar G__24341 \x3d (i__5770__auto___24340 + (1));\ni__5770__auto___24340 \x3d G__24341;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),ev], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar reactions_to_trigger \x3d temp__5804__auto__;\nvar seq__23536 \x3d cljs.core.seq(reactions_to_trigger);\nvar chunk__23537 \x3d null;\nvar count__23538 \x3d (0);\nvar i__23539 \x3d (0);\nwhile(true){\nif((i__23539 \x3c count__23538)){\nvar rfn \x3d chunk__23537.cljs$core$IIndexed$_nth$arity$2(null,i__23539);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__24342 \x3d seq__23536;\nvar G__24343 \x3d chunk__23537;\nvar G__24344 \x3d count__23538;\nvar G__24345 \x3d (i__23539 + (1));\nseq__23536 \x3d G__24342;\nchunk__23537 \x3d G__24343;\ncount__23538 \x3d G__24344;\ni__23539 \x3d G__24345;\ncontinue;\n} else {\nvar temp__5804__auto____$1 \x3d cljs.core.seq(seq__23536);\nif(temp__5804__auto____$1){\nvar seq__23536__$1 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__23536__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__23536__$1);\nvar G__24346 \x3d cljs.core.chunk_rest(seq__23536__$1);\nvar G__24347 \x3d c__5568__auto__;\nvar G__24348 \x3d cljs.core.count(c__5568__auto__);\nvar G__24349 \x3d (0);\nseq__23536 \x3d G__24346;\nchunk__23537 \x3d G__24347;\ncount__23538 \x3d G__24348;\ni__23539 \x3d G__24349;\ncontinue;\n} else {\nvar rfn \x3d cljs.core.first(seq__23536__$1);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__24350 \x3d cljs.core.next(seq__23536__$1);\nvar G__24351 \x3d null;\nvar G__24352 \x3d (0);\nvar G__24353 \x3d (0);\nseq__23536 \x3d G__24350;\nchunk__23537 \x3d G__24351;\ncount__23538 \x3d G__24352;\ni__23539 \x3d G__24353;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.notify_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_BANG_.cljs$lang$applyTo \x3d (function (seq23528){\nvar G__23529 \x3d cljs.core.first(seq23528);\nvar seq23528__$1 \x3d cljs.core.next(seq23528);\nvar G__23530 \x3d cljs.core.first(seq23528__$1);\nvar seq23528__$2 \x3d cljs.core.next(seq23528__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23529,G__23530,seq23528__$2);\n}));\n\nshadow.object.do_notify_tree \x3d (function shadow$object$do_notify_tree(current_obj,ev,notify_fn){\nvar seq__23542_24354 \x3d cljs.core.seq(shadow.object.get_children(current_obj));\nvar chunk__23543_24355 \x3d null;\nvar count__23544_24356 \x3d (0);\nvar i__23545_24357 \x3d (0);\nwhile(true){\nif((i__23545_24357 \x3c count__23544_24356)){\nvar child_24358 \x3d chunk__23543_24355.cljs$core$IIndexed$_nth$arity$2(null,i__23545_24357);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_24358,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_24358,ev,notify_fn));\n\n\nvar G__24359 \x3d seq__23542_24354;\nvar G__24360 \x3d chunk__23543_24355;\nvar G__24361 \x3d count__23544_24356;\nvar G__24362 \x3d (i__23545_24357 + (1));\nseq__23542_24354 \x3d G__24359;\nchunk__23543_24355 \x3d G__24360;\ncount__23544_24356 \x3d G__24361;\ni__23545_24357 \x3d G__24362;\ncontinue;\n} else {\nvar temp__5804__auto___24363 \x3d cljs.core.seq(seq__23542_24354);\nif(temp__5804__auto___24363){\nvar seq__23542_24365__$1 \x3d temp__5804__auto___24363;\nif(cljs.core.chunked_seq_QMARK_(seq__23542_24365__$1)){\nvar c__5568__auto___24367 \x3d cljs.core.chunk_first(seq__23542_24365__$1);\nvar G__24368 \x3d cljs.core.chunk_rest(seq__23542_24365__$1);\nvar G__24369 \x3d c__5568__auto___24367;\nvar G__24370 \x3d cljs.core.count(c__5568__auto___24367);\nvar G__24371 \x3d (0);\nseq__23542_24354 \x3d G__24368;\nchunk__23543_24355 \x3d G__24369;\ncount__23544_24356 \x3d G__24370;\ni__23545_24357 \x3d G__24371;\ncontinue;\n} else {\nvar child_24373 \x3d cljs.core.first(seq__23542_24365__$1);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_24373,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_24373,ev,notify_fn));\n\n\nvar G__24374 \x3d cljs.core.next(seq__23542_24365__$1);\nvar G__24375 \x3d null;\nvar G__24376 \x3d (0);\nvar G__24377 \x3d (0);\nseq__23542_24354 \x3d G__24374;\nchunk__23543_24355 \x3d G__24375;\ncount__23544_24356 \x3d G__24376;\ni__23545_24357 \x3d G__24377;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (notify_fn.cljs$core$IFn$_invoke$arity$1 ? notify_fn.cljs$core$IFn$_invoke$arity$1(current_obj) : notify_fn.call(null,current_obj));\n});\nshadow.object.notify_tree_BANG_ \x3d (function shadow$object$notify_tree_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24378 \x3d arguments.length;\nvar i__5770__auto___24379 \x3d (0);\nwhile(true){\nif((i__5770__auto___24379 \x3c len__5769__auto___24378)){\nargs__5775__auto__.push((arguments[i__5770__auto___24379]));\n\nvar G__24382 \x3d (i__5770__auto___24379 + (1));\ni__5770__auto___24379 \x3d G__24382;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar notify_fn \x3d (function (obj){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,obj,ev,args);\n});\nreturn shadow.object.do_notify_tree(oref,ev,notify_fn);\n}));\n\n(shadow.object.notify_tree_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_tree_BANG_.cljs$lang$applyTo \x3d (function (seq23575){\nvar G__23576 \x3d cljs.core.first(seq23575);\nvar seq23575__$1 \x3d cljs.core.next(seq23575);\nvar G__23577 \x3d cljs.core.first(seq23575__$1);\nvar seq23575__$2 \x3d cljs.core.next(seq23575__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23576,G__23577,seq23575__$2);\n}));\n\nshadow.object.notify_down_BANG_ \x3d shadow.object.notify_tree_BANG_;\nshadow.object.notify_up_BANG_ \x3d (function shadow$object$notify_up_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24384 \x3d arguments.length;\nvar i__5770__auto___24385 \x3d (0);\nwhile(true){\nif((i__5770__auto___24385 \x3c len__5769__auto___24384)){\nargs__5775__auto__.push((arguments[i__5770__auto___24385]));\n\nvar G__24386 \x3d (i__5770__auto___24385 + (1));\ni__5770__auto___24385 \x3d G__24386;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar current \x3d shadow.object.get_parent(oref);\nwhile(true){\nif(cljs.core.truth_(current)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,current,ev,args);\n\nvar G__24388 \x3d shadow.object.get_parent(current);\ncurrent \x3d G__24388;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.object.notify_up_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_up_BANG_.cljs$lang$applyTo \x3d (function (seq23641){\nvar G__23642 \x3d cljs.core.first(seq23641);\nvar seq23641__$1 \x3d cljs.core.next(seq23641);\nvar G__23643 \x3d cljs.core.first(seq23641__$1);\nvar seq23641__$2 \x3d cljs.core.next(seq23641__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23642,G__23643,seq23641__$2);\n}));\n\nshadow.object.update_BANG_ \x3d (function shadow$object$update_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24391 \x3d arguments.length;\nvar i__5770__auto___24393 \x3d (0);\nwhile(true){\nif((i__5770__auto___24393 \x3c len__5769__auto___24391)){\nargs__5775__auto__.push((arguments[i__5770__auto___24393]));\n\nvar G__24394 \x3d (i__5770__auto___24393 + (1));\ni__5770__auto___24393 \x3d G__24394;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,update_fn,args){\nif(cljs.core.fn_QMARK_(update_fn)){\n} else {\nthrow [\x22update! expects a fn as second arg, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([update_fn], 0))].join(\x27\x27);\n}\n\nvar id \x3d shadow.object._id(oref);\nvar data \x3d shadow.object._data(oref);\nvar work_fn \x3d (function (data__$1){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(update_fn,data__$1,args);\n});\nreturn shadow.object._update(oref,work_fn);\n}));\n\n(shadow.object.update_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.update_BANG_.cljs$lang$applyTo \x3d (function (seq23705){\nvar G__23706 \x3d cljs.core.first(seq23705);\nvar seq23705__$1 \x3d cljs.core.next(seq23705);\nvar G__23707 \x3d cljs.core.first(seq23705__$1);\nvar seq23705__$2 \x3d cljs.core.next(seq23705__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23706,G__23707,seq23705__$2);\n}));\n\nshadow.object.return_value \x3d (function shadow$object$return_value(oref,return_value){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360),return_value], 0));\n});\nshadow.object.set_parent_BANG_ \x3d (function shadow$object$set_parent_BANG_(child,parent){\nvar child_id \x3d shadow.object._id(child);\nvar parent_id \x3d shadow.object._id(parent);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instance_parent,cljs.core.assoc,child_id,parent_id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.instance_children,(function (x){\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.PersistentHashSet.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,child_id));\n}));\n\nreturn true;\n});\nshadow.object.dom_destroy \x3d (function shadow$object$dom_destroy(this$,cause){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cause,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779))){\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nvar temp__5802__auto__ \x3d shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(this$,new cljs.core.Keyword(\x22dom\x22,\x22remove\x22,\x22dom/remove\x22,-131527420));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar custom_remove \x3d temp__5802__auto__;\nvar G__23736 \x3d this$;\nvar G__23737 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$);\nreturn (custom_remove.cljs$core$IFn$_invoke$arity$2 ? custom_remove.cljs$core$IFn$_invoke$arity$2(G__23736,G__23737) : custom_remove.call(null,G__23736,G__23737));\n} else {\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n}\n}\n});\nshadow.object.destroy_BANG_ \x3d (function shadow$object$destroy_BANG_(var_args){\nvar G__23743 \x3d arguments.length;\nswitch (G__23743) {\ncase 1:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(null,\x22direct\x22,\x22direct\x22,-1775717856));\n}));\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,cause){\nreturn shadow.object._destroy_BANG_(oref,cause);\n}));\n\n(shadow.object.destroy_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.bind_dom_events \x3d (function shadow$object$bind_dom_events(oref,dom,dom_events){\nif((cljs.core.rem(cljs.core.count(dom_events),(2)) \x3d\x3d\x3d (0))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object defined invalid event\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22object-type\x22,\x22object-type\x22,-1889869015),shadow.object._type(oref),new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527),dom_events], null));\n}\n\nvar seq__23769 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),dom_events));\nvar chunk__23770 \x3d null;\nvar count__23771 \x3d (0);\nvar i__23772 \x3d (0);\nwhile(true){\nif((i__23772 \x3c count__23771)){\nvar vec__23838 \x3d chunk__23770.cljs$core$IIndexed$_nth$arity$2(null,i__23772);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23838,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23838,(1),null);\nvar ev_def \x3d vec__23838;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_24411__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__23769,chunk__23770,count__23771,i__23772,vec__23838,ev,handler,ev_def){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__23769,chunk__23770,count__23771,i__23772,vec__23838,ev,handler,ev_def))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__23769,chunk__23770,count__23771,i__23772,handler_24411__$1,vec__23838,ev,handler,ev_def){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_24411__$1.cljs$core$IFn$_invoke$arity$3 ? handler_24411__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_24411__$1.call(null,oref,e,el));\n});})(seq__23769,chunk__23770,count__23771,i__23772,handler_24411__$1,vec__23838,ev,handler,ev_def))\n);\n\n\nvar G__24412 \x3d seq__23769;\nvar G__24413 \x3d chunk__23770;\nvar G__24414 \x3d count__23771;\nvar G__24415 \x3d (i__23772 + (1));\nseq__23769 \x3d G__24412;\nchunk__23770 \x3d G__24413;\ncount__23771 \x3d G__24414;\ni__23772 \x3d G__24415;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__23769);\nif(temp__5804__auto__){\nvar seq__23769__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__23769__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__23769__$1);\nvar G__24417 \x3d cljs.core.chunk_rest(seq__23769__$1);\nvar G__24418 \x3d c__5568__auto__;\nvar G__24419 \x3d cljs.core.count(c__5568__auto__);\nvar G__24420 \x3d (0);\nseq__23769 \x3d G__24417;\nchunk__23770 \x3d G__24418;\ncount__23771 \x3d G__24419;\ni__23772 \x3d G__24420;\ncontinue;\n} else {\nvar vec__23847 \x3d cljs.core.first(seq__23769__$1);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23847,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23847,(1),null);\nvar ev_def \x3d vec__23847;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_24421__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__23769,chunk__23770,count__23771,i__23772,vec__23847,ev,handler,ev_def,seq__23769__$1,temp__5804__auto__){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__23769,chunk__23770,count__23771,i__23772,vec__23847,ev,handler,ev_def,seq__23769__$1,temp__5804__auto__))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__23769,chunk__23770,count__23771,i__23772,handler_24421__$1,vec__23847,ev,handler,ev_def,seq__23769__$1,temp__5804__auto__){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_24421__$1.cljs$core$IFn$_invoke$arity$3 ? handler_24421__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_24421__$1.call(null,oref,e,el));\n});})(seq__23769,chunk__23770,count__23771,i__23772,handler_24421__$1,vec__23847,ev,handler,ev_def,seq__23769__$1,temp__5804__auto__))\n);\n\n\nvar G__24422 \x3d cljs.core.next(seq__23769__$1);\nvar G__24423 \x3d null;\nvar G__24424 \x3d (0);\nvar G__24425 \x3d (0);\nseq__23769 \x3d G__24422;\nchunk__23770 \x3d G__24423;\ncount__23771 \x3d G__24424;\ni__23772 \x3d G__24425;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.reaction_merge \x3d (function shadow$object$reaction_merge(result,p__23888){\nvar vec__23889 \x3d p__23888;\nvar event \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23889,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23889,(1),null);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d event;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn handler;\n} else {\nreturn and__5043__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid reaction\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22event\x22,\x22event\x22,301435442),event,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),handler], null));\n}\n\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.List.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,handler));\n});\nshadow.object.merge_reactions \x3d (function shadow$object$merge_reactions(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behaviors must be vectors\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(behavior))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid behavior\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.reaction_merge,result,cljs.core.reverse(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),behavior)));\n});\nshadow.object.merge_behaviors \x3d (function shadow$object$merge_behaviors(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,behavior);\n} else {\nif(cljs.core.map_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277)], null),(function (watches){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(watches,new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY));\n})),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527)], null),(function (default$){\nreturn cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(default$,new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)));\n}));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behavior not understood\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n\n}\n}\n});\nshadow.object.define \x3d (function shadow$object$define(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24429 \x3d arguments.length;\nvar i__5770__auto___24430 \x3d (0);\nwhile(true){\nif((i__5770__auto___24430 \x3c len__5769__auto___24429)){\nargs__5775__auto__.push((arguments[i__5770__auto___24430]));\n\nvar G__24432 \x3d (i__5770__auto___24430 + (1));\ni__5770__auto___24430 \x3d G__24432;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn shadow.object.define.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(shadow.object.define.cljs$core$IFn$_invoke$arity$variadic \x3d (function (id,args){\nif((id instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object id needs to be a keyword\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(args))){\n} else {\nthrow [\x22invalid object definition \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id),\x22 args: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0))].join(\x27\x27);\n}\n\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),id)){\nconsole.warn([\x22object already defined \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id)].join(\x27\x27));\n} else {\n}\n\ntry{var odef \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,args);\nvar reactions \x3d shadow.object.merge_reactions(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY));\nvar odef__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22id\x22,\x22shadow.object/id\x22,-647954841),id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),reactions], 0));\nvar odef__$2 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.merge_behaviors,odef__$1,cljs.core.reverse(new cljs.core.Keyword(null,\x22behaviors\x22,\x22behaviors\x22,120724909).cljs$core$IFn$_invoke$arity$2(odef__$1,cljs.core.PersistentVector.EMPTY)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.object_defs,cljs.core.assoc,id,odef__$2);\n\nreturn odef__$2;\n}catch (e23941){if((e23941 instanceof Object)){\nvar e \x3d e23941;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to define object\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n} else {\nthrow e23941;\n\n}\n}}));\n\n(shadow.object.define.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.object.define.cljs$lang$applyTo \x3d (function (seq23930){\nvar G__23931 \x3d cljs.core.first(seq23930);\nvar seq23930__$1 \x3d cljs.core.next(seq23930);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__23931,seq23930__$1);\n}));\n\nshadow.object.merge_defaults \x3d (function shadow$object$merge_defaults(data,type){\nvar defaults \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type,new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214)], null));\nif((defaults \x3d\x3d null)){\nreturn data;\n} else {\nif(cljs.core.map_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([defaults,data], 0));\n} else {\nif(cljs.core.fn_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(defaults.cljs$core$IFn$_invoke$arity$0 ? defaults.cljs$core$IFn$_invoke$arity$0() : defaults.call(null)),data], 0));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid object defaults\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214),defaults,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type], null));\n\n}\n}\n}\n});\nshadow.object.make_dom \x3d (function shadow$object$make_dom(var_args){\nvar G__23971 \x3d arguments.length;\nswitch (G__23971) {\ncase 3:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,dom_key,events_key){\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4(oref,dom_key,events_key,null);\n}));\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,dom_key,events_key,value){\nvar dom_fn \x3d (((dom_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(oref,dom_key):dom_key);\nvar events \x3d (((events_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3(oref,events_key,cljs.core.PersistentVector.EMPTY):events_key);\nvar dom \x3d (function (){var G__23990 \x3d (dom_fn.cljs$core$IFn$_invoke$arity$2 ? dom_fn.cljs$core$IFn$_invoke$arity$2(oref,value) : dom_fn.call(null,oref,value));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__23990) : shadow.dom.build.call(null,G__23990));\n})();\nshadow.object.bind_dom_events(oref,dom,events);\n\nreturn dom;\n}));\n\n(shadow.object.make_dom.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.alive_QMARK_ \x3d (function shadow$object$alive_QMARK_(obj){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.instances),shadow.object._id(obj));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.Watch \x3d (function (key,handler,__meta,__extmap,__hash){\nthis.key \x3d key;\nthis.handler \x3d handler;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k23997,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__24009 \x3d k23997;\nvar G__24009__$1 \x3d (((G__24009 instanceof cljs.core.Keyword))?G__24009.fqn:null);\nswitch (G__24009__$1) {\ncase \x22key\x22:\nreturn self__.key;\n\nbreak;\ncase \x22handler\x22:\nreturn self__.handler;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k23997,else__5346__auto__);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__24035){\nvar vec__24038 \x3d p__24035;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24038,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24038,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.object.Watch{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler],null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__23996){\nvar self__ \x3d this;\nvar G__23996__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__23996__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-17677043 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this23998,other23999){\nvar self__ \x3d this;\nvar this23998__$1 \x3d this;\nreturn (((!((other23999 \x3d\x3d null)))) \x26\x26 ((((this23998__$1.constructor \x3d\x3d\x3d other23999.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this23998__$1.key,other23999.key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this23998__$1.handler,other23999.handler)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this23998__$1.__extmap,other23999.__extmap)))))))));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k23997){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__24100 \x3d k23997;\nvar G__24100__$1 \x3d (((G__24100 instanceof cljs.core.Keyword))?G__24100.fqn:null);\nswitch (G__24100__$1) {\ncase \x22key\x22:\ncase \x22handler\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k23997);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__23996){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__24101 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__24102 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__24101.cljs$core$IFn$_invoke$arity$2 ? pred__24101.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__24102) : pred__24101.call(null,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__24102)))){\nreturn (new shadow.object.Watch(G__23996,self__.handler,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__24101.cljs$core$IFn$_invoke$arity$2 ? pred__24101.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__24102) : pred__24101.call(null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__24102)))){\nreturn (new shadow.object.Watch(self__.key,G__23996,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__23996),null));\n}\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler,null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__23996){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,G__23996,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.object.Watch.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null)], null);\n}));\n\n(shadow.object.Watch.cljs$lang$type \x3d true);\n\n(shadow.object.Watch.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.object/Watch\x22,null,(1),null));\n}));\n\n(shadow.object.Watch.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.object/Watch\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/Watch.\n */\nshadow.object.__GT_Watch \x3d (function shadow$object$__GT_Watch(key,handler){\nreturn (new shadow.object.Watch(key,handler,null,null,null));\n});\n\n/**\n * Factory function for shadow.object/Watch, taking a map of keywords to field values.\n */\nshadow.object.map__GT_Watch \x3d (function shadow$object$map__GT_Watch(G__24000){\nvar extmap__5385__auto__ \x3d (function (){var G__24119 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__24000,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], 0));\nif(cljs.core.record_QMARK_(G__24000)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__24119);\n} else {\nreturn G__24119;\n}\n})();\nreturn (new shadow.object.Watch(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(G__24000),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612).cljs$core$IFn$_invoke$arity$1(G__24000),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IEquiv}\n * @implements {shadow.object.IObject}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {shadow.dom.SVGElement}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.ObjectRef \x3d (function (id,type,data,watches,result_chan){\nthis.id \x3d id;\nthis.type \x3d type;\nthis.data \x3d data;\nthis.watches \x3d watches;\nthis.result_chan \x3d result_chan;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2149613824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2;\n});\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.result_chan,handler);\n}));\n\n(shadow.object.ObjectRef.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.data,k);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,k,d){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.data,k,d);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this$,writer,opts){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#\x3cObjectRef {:id \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.id),\x22, :type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.type),\x22}\x3e\x22].join(\x27\x27));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof shadow.object.ObjectRef)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this$__$1.shadow$object$IObject$_id$arity$1(null),shadow.object._id(other))));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthrow (new Error(\x22who be calling?\x22));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.watches,(new shadow.object.Watch(key,f,null,null,null))));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__24121_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(p1__24121_SHARP_));\n}),self__.watches));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_id$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.id;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_type$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.type;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_data$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_update$arity$2 \x3d (function (this$,update_fn){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar old \x3d self__.data;\nvar new$ \x3d (update_fn.cljs$core$IFn$_invoke$arity$1 ? update_fn.cljs$core$IFn$_invoke$arity$1(self__.data) : update_fn.call(null,self__.data));\n(self__.data \x3d new$);\n\nvar seq__24138 \x3d cljs.core.seq(self__.watches);\nvar chunk__24139 \x3d null;\nvar count__24140 \x3d (0);\nvar i__24141 \x3d (0);\nwhile(true){\nif((i__24141 \x3c count__24140)){\nvar map__24148 \x3d chunk__24139.cljs$core$IIndexed$_nth$arity$2(null,i__24141);\nvar map__24148__$1 \x3d cljs.core.__destructure_map(map__24148);\nvar watch \x3d map__24148__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24148__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24148__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__24452 \x3d seq__24138;\nvar G__24453 \x3d chunk__24139;\nvar G__24454 \x3d count__24140;\nvar G__24455 \x3d (i__24141 + (1));\nseq__24138 \x3d G__24452;\nchunk__24139 \x3d G__24453;\ncount__24140 \x3d G__24454;\ni__24141 \x3d G__24455;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__24138);\nif(temp__5804__auto__){\nvar seq__24138__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__24138__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__24138__$1);\nvar G__24457 \x3d cljs.core.chunk_rest(seq__24138__$1);\nvar G__24458 \x3d c__5568__auto__;\nvar G__24459 \x3d cljs.core.count(c__5568__auto__);\nvar G__24460 \x3d (0);\nseq__24138 \x3d G__24457;\nchunk__24139 \x3d G__24458;\ncount__24140 \x3d G__24459;\ni__24141 \x3d G__24460;\ncontinue;\n} else {\nvar map__24149 \x3d cljs.core.first(seq__24138__$1);\nvar map__24149__$1 \x3d cljs.core.__destructure_map(map__24149);\nvar watch \x3d map__24149__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24149__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24149__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__24461 \x3d cljs.core.next(seq__24138__$1);\nvar G__24462 \x3d null;\nvar G__24463 \x3d (0);\nvar G__24464 \x3d (0);\nseq__24138 \x3d G__24461;\nchunk__24139 \x3d G__24462;\ncount__24140 \x3d G__24463;\ni__24141 \x3d G__24464;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d (function (this$,cause){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar parent_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),self__.id);\nvar seq__24150_24465 \x3d cljs.core.seq(shadow.object.get_children(this$__$1));\nvar chunk__24151_24466 \x3d null;\nvar count__24152_24467 \x3d (0);\nvar i__24153_24468 \x3d (0);\nwhile(true){\nif((i__24153_24468 \x3c count__24152_24467)){\nvar child_24469 \x3d chunk__24151_24466.cljs$core$IIndexed$_nth$arity$2(null,i__24153_24468);\nshadow.object._destroy_BANG_(child_24469,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__24470 \x3d seq__24150_24465;\nvar G__24471 \x3d chunk__24151_24466;\nvar G__24472 \x3d count__24152_24467;\nvar G__24473 \x3d (i__24153_24468 + (1));\nseq__24150_24465 \x3d G__24470;\nchunk__24151_24466 \x3d G__24471;\ncount__24152_24467 \x3d G__24472;\ni__24153_24468 \x3d G__24473;\ncontinue;\n} else {\nvar temp__5804__auto___24474 \x3d cljs.core.seq(seq__24150_24465);\nif(temp__5804__auto___24474){\nvar seq__24150_24475__$1 \x3d temp__5804__auto___24474;\nif(cljs.core.chunked_seq_QMARK_(seq__24150_24475__$1)){\nvar c__5568__auto___24476 \x3d cljs.core.chunk_first(seq__24150_24475__$1);\nvar G__24477 \x3d cljs.core.chunk_rest(seq__24150_24475__$1);\nvar G__24478 \x3d c__5568__auto___24476;\nvar G__24479 \x3d cljs.core.count(c__5568__auto___24476);\nvar G__24480 \x3d (0);\nseq__24150_24465 \x3d G__24477;\nchunk__24151_24466 \x3d G__24478;\ncount__24152_24467 \x3d G__24479;\ni__24153_24468 \x3d G__24480;\ncontinue;\n} else {\nvar child_24481 \x3d cljs.core.first(seq__24150_24475__$1);\nshadow.object._destroy_BANG_(child_24481,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__24482 \x3d cljs.core.next(seq__24150_24475__$1);\nvar G__24483 \x3d null;\nvar G__24484 \x3d (0);\nvar G__24485 \x3d (0);\nseq__24150_24465 \x3d G__24482;\nchunk__24151_24466 \x3d G__24483;\ncount__24152_24467 \x3d G__24484;\ni__24153_24468 \x3d G__24485;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$__$1,new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cause], 0));\n\nshadow.object.dom_destroy(this$__$1,cause);\n\nvar return_value_24486 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360).cljs$core$IFn$_invoke$arity$1(this$__$1);\nif((return_value_24486 \x3d\x3d null)){\n} else {\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(self__.result_chan,return_value_24486);\n}\n\ncljs.core.async.close_BANG_(self__.result_chan);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instances,cljs.core.dissoc,self__.id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instance_parent,cljs.core.dissoc,self__.id);\n\nif(cljs.core.truth_(parent_id)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.object.instance_children,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [parent_id], null),cljs.core.disj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.id], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22result-chan\x22,\x22result-chan\x22,3070926,null)], null);\n}));\n\n(shadow.object.ObjectRef.cljs$lang$type \x3d true);\n\n(shadow.object.ObjectRef.cljs$lang$ctorStr \x3d \x22shadow.object/ObjectRef\x22);\n\n(shadow.object.ObjectRef.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.object/ObjectRef\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/ObjectRef.\n */\nshadow.object.__GT_ObjectRef \x3d (function shadow$object$__GT_ObjectRef(id,type,data,watches,result_chan){\nreturn (new shadow.object.ObjectRef(id,type,data,watches,result_chan));\n});\n\nshadow.object.add_reaction_BANG_ \x3d (function shadow$object$add_reaction_BANG_(var_args){\nvar G__24161 \x3d arguments.length;\nswitch (G__24161) {\ncase 3:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,ev,handler_fn){\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ev,handler_fn], null));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,list){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.update_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,list], 0));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.bind_change \x3d (function shadow$object$bind_change(var_args){\nvar G__24168 \x3d arguments.length;\nswitch (G__24168) {\ncase 3:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,callback){\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4(oref,attr,callback,cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind-change\x22));\n}));\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,attr,callback,watch_key){\nif((((!((oref \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d oref.shadow$object$IObject$))))?true:(((!oref.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22binding currently only supports shadow objects, other atoms might leak, may add later\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref,new cljs.core.Keyword(null,\x22attr\x22,\x22attr\x22,-604132353),attr], null));\n}\n\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nreturn cljs.core.add_watch(oref,watch_key,(function shadow$object$bind_change_watch(_,___$1,old,new$){\nvar ov \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(old,attr__$1);\nvar nv \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new$,attr__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ov,nv)){\nreturn null;\n} else {\nreturn (callback.cljs$core$IFn$_invoke$arity$2 ? callback.cljs$core$IFn$_invoke$arity$2(ov,nv) : callback.call(null,ov,nv));\n}\n}));\n}));\n\n(shadow.object.bind_change.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.dom_enter \x3d (function shadow$object$dom_enter(parent,child){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(parent,child);\n\nif(cljs.core.truth_(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1(parent))){\nreturn shadow.object.notify_tree_BANG_(child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n} else {\nreturn null;\n}\n});\nshadow.object.create \x3d (function shadow$object$create(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24494 \x3d arguments.length;\nvar i__5770__auto___24495 \x3d (0);\nwhile(true){\nif((i__5770__auto___24495 \x3c len__5769__auto___24494)){\nargs__5775__auto__.push((arguments[i__5770__auto___24495]));\n\nvar G__24496 \x3d (i__5770__auto___24495 + (1));\ni__5770__auto___24495 \x3d G__24496;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.create.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.create.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,args,node_children){\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),type)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22cannot create unknown child type: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(type)].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.map_QMARK_(args)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22so/create second arg must be a map\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nvar oid \x3d shadow.object.next_id();\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(args);\nvar result_chan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar odef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),type);\nvar obj \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(shadow.object.merge_defaults(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Keyword(\x22shadow.object\x22,\x22object-id\x22,\x22shadow.object/object-id\x22,-685993804),oid,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.get.cljs$core$IFn$_invoke$arity$3(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.PersistentArrayMap.EMPTY)], 0)),type),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922)], 0));\nvar oref \x3d (new shadow.object.ObjectRef(oid,type,obj,cljs.core.PersistentVector.EMPTY,result_chan));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instances,cljs.core.assoc,oid,oref);\n\nif(cljs.core.truth_(parent)){\nshadow.object.set_parent_BANG_(oref,parent);\n} else {\n}\n\nshadow.object.notify_BANG_(oref,new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434));\n\nvar dom_events_24498 \x3d new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY);\nvar temp__5802__auto___24499 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(args);\nif(cljs.core.truth_(temp__5802__auto___24499)){\nvar dom_24500 \x3d temp__5802__auto___24499;\nshadow.dom.set_data(dom_24500,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.bind_dom_events(oref,dom_24500,dom_events_24498);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_24500], 0));\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_24500], 0));\n} else {\nvar temp__5804__auto___24501 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5804__auto___24501)){\nvar dom_fn_24502 \x3d temp__5804__auto___24501;\nvar dom_24503 \x3d (function (){var G__24183 \x3d (dom_fn_24502.cljs$core$IFn$_invoke$arity$2 ? dom_fn_24502.cljs$core$IFn$_invoke$arity$2(oref,node_children) : dom_fn_24502.call(null,oref,node_children));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__24183) : shadow.dom.build.call(null,G__24183));\n})();\nshadow.dom.set_data(dom_24503,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_24503], 0));\n\nshadow.object.bind_dom_events(oref,dom_24503,dom_events_24498);\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_24503], 0));\n} else {\n}\n}\n\nvar temp__5804__auto___24504 \x3d new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5804__auto___24504)){\nvar watches_24505 \x3d temp__5804__auto___24504;\nvar seq__24184_24506 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),watches_24505));\nvar chunk__24185_24507 \x3d null;\nvar count__24186_24508 \x3d (0);\nvar i__24187_24509 \x3d (0);\nwhile(true){\nif((i__24187_24509 \x3c count__24186_24508)){\nvar vec__24200_24510 \x3d chunk__24185_24507.cljs$core$IIndexed$_nth$arity$2(null,i__24187_24509);\nvar attr_24511 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24200_24510,(0),null);\nvar handler_24512 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24200_24510,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_24511,((function (seq__24184_24506,chunk__24185_24507,count__24186_24508,i__24187_24509,vec__24200_24510,attr_24511,handler_24512,watches_24505,temp__5804__auto___24504,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_24512.cljs$core$IFn$_invoke$arity$3 ? handler_24512.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_24512.call(null,oref,old,new$));\n});})(seq__24184_24506,chunk__24185_24507,count__24186_24508,i__24187_24509,vec__24200_24510,attr_24511,handler_24512,watches_24505,temp__5804__auto___24504,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__24513 \x3d seq__24184_24506;\nvar G__24514 \x3d chunk__24185_24507;\nvar G__24515 \x3d count__24186_24508;\nvar G__24516 \x3d (i__24187_24509 + (1));\nseq__24184_24506 \x3d G__24513;\nchunk__24185_24507 \x3d G__24514;\ncount__24186_24508 \x3d G__24515;\ni__24187_24509 \x3d G__24516;\ncontinue;\n} else {\nvar temp__5804__auto___24517__$1 \x3d cljs.core.seq(seq__24184_24506);\nif(temp__5804__auto___24517__$1){\nvar seq__24184_24519__$1 \x3d temp__5804__auto___24517__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__24184_24519__$1)){\nvar c__5568__auto___24520 \x3d cljs.core.chunk_first(seq__24184_24519__$1);\nvar G__24521 \x3d cljs.core.chunk_rest(seq__24184_24519__$1);\nvar G__24522 \x3d c__5568__auto___24520;\nvar G__24523 \x3d cljs.core.count(c__5568__auto___24520);\nvar G__24524 \x3d (0);\nseq__24184_24506 \x3d G__24521;\nchunk__24185_24507 \x3d G__24522;\ncount__24186_24508 \x3d G__24523;\ni__24187_24509 \x3d G__24524;\ncontinue;\n} else {\nvar vec__24207_24525 \x3d cljs.core.first(seq__24184_24519__$1);\nvar attr_24526 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24207_24525,(0),null);\nvar handler_24527 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24207_24525,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_24526,((function (seq__24184_24506,chunk__24185_24507,count__24186_24508,i__24187_24509,vec__24207_24525,attr_24526,handler_24527,seq__24184_24519__$1,temp__5804__auto___24517__$1,watches_24505,temp__5804__auto___24504,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_24527.cljs$core$IFn$_invoke$arity$3 ? handler_24527.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_24527.call(null,oref,old,new$));\n});})(seq__24184_24506,chunk__24185_24507,count__24186_24508,i__24187_24509,vec__24207_24525,attr_24526,handler_24527,seq__24184_24519__$1,temp__5804__auto___24517__$1,watches_24505,temp__5804__auto___24504,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__24529 \x3d cljs.core.next(seq__24184_24519__$1);\nvar G__24530 \x3d null;\nvar G__24531 \x3d (0);\nvar G__24532 \x3d (0);\nseq__24184_24506 \x3d G__24529;\nchunk__24185_24507 \x3d G__24530;\ncount__24186_24508 \x3d G__24531;\ni__24187_24509 \x3d G__24532;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn oref;\n}));\n\n(shadow.object.create.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.create.cljs$lang$applyTo \x3d (function (seq24180){\nvar G__24181 \x3d cljs.core.first(seq24180);\nvar seq24180__$1 \x3d cljs.core.next(seq24180);\nvar G__24182 \x3d cljs.core.first(seq24180__$1);\nvar seq24180__$2 \x3d cljs.core.next(seq24180__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__24181,G__24182,seq24180__$2);\n}));\n\n/**\n * [oref attr node-gen] produces a node via (node-gen new-value)\n * watches obj for changes and replaces the generated node on change (node-gen defaults to str)\n * \n * only use if the node has no attached behavior like clicks, use bind with an extra object for those\n */\nshadow.object.bind_simple \x3d (function shadow$object$bind_simple(var_args){\nvar G__24215 \x3d arguments.length;\nswitch (G__24215) {\ncase 2:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,attr){\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3(oref,attr,cljs.core.str);\n}));\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,node_gen){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar node_get \x3d (function (p1__24213_SHARP_){\nvar G__24217 \x3d (node_gen.cljs$core$IFn$_invoke$arity$1 ? node_gen.cljs$core$IFn$_invoke$arity$1(p1__24213_SHARP_) : node_gen.call(null,p1__24213_SHARP_));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__24217) : shadow.dom.build.call(null,G__24217));\n});\nvar node \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(node_get(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1)));\nvar bind_key \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind\x22);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_node \x3d node_get(new$);\nvar current_node \x3d cljs.core.deref(node);\nshadow.dom.replace_node(current_node,new_node);\n\nreturn cljs.core.reset_BANG_(node,new_node);\n}));\n\nreturn cljs.core.deref(node);\n}));\n\n(shadow.object.bind_simple.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * bind the given attribute a child item\n * the item will be recreated whenever the value changes (old one will be destroyed)\n */\nshadow.object.bind \x3d (function shadow$object$bind(oref,attr,item_type,item_key,item_attrs){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar curval \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1);\nvar make_child_fn \x3d (function (value){\nreturn shadow.object.create(item_type,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([item_attrs,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),oref,item_key,value])], 0)));\n});\nvar child \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(make_child_fn(curval));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_child \x3d make_child_fn(new$);\nvar current_node \x3d cljs.core.deref(child);\nshadow.dom.replace_node(current_node,new_child);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(child));\n\ncljs.core.reset_BANG_(child,new_child);\n\nreturn (shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2 ? shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2(new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)) : shadow.object.notify_down_BANG_.call(null,new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)));\n}));\n\nreturn cljs.core.deref(child);\n});\nshadow.object.coll_destroy_children \x3d (function shadow$object$coll_destroy_children(children,c,diff){\nvar seq__24218_24541 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(c + diff),c));\nvar chunk__24219_24542 \x3d null;\nvar count__24220_24543 \x3d (0);\nvar i__24221_24544 \x3d (0);\nwhile(true){\nif((i__24221_24544 \x3c count__24220_24543)){\nvar obj_24546 \x3d chunk__24219_24542.cljs$core$IIndexed$_nth$arity$2(null,i__24221_24544);\nvar obj_24547__$1 \x3d shadow.object.get_from_dom(obj_24546);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_24547__$1);\n\n\nvar G__24548 \x3d seq__24218_24541;\nvar G__24549 \x3d chunk__24219_24542;\nvar G__24550 \x3d count__24220_24543;\nvar G__24551 \x3d (i__24221_24544 + (1));\nseq__24218_24541 \x3d G__24548;\nchunk__24219_24542 \x3d G__24549;\ncount__24220_24543 \x3d G__24550;\ni__24221_24544 \x3d G__24551;\ncontinue;\n} else {\nvar temp__5804__auto___24552 \x3d cljs.core.seq(seq__24218_24541);\nif(temp__5804__auto___24552){\nvar seq__24218_24553__$1 \x3d temp__5804__auto___24552;\nif(cljs.core.chunked_seq_QMARK_(seq__24218_24553__$1)){\nvar c__5568__auto___24554 \x3d cljs.core.chunk_first(seq__24218_24553__$1);\nvar G__24555 \x3d cljs.core.chunk_rest(seq__24218_24553__$1);\nvar G__24556 \x3d c__5568__auto___24554;\nvar G__24557 \x3d cljs.core.count(c__5568__auto___24554);\nvar G__24558 \x3d (0);\nseq__24218_24541 \x3d G__24555;\nchunk__24219_24542 \x3d G__24556;\ncount__24220_24543 \x3d G__24557;\ni__24221_24544 \x3d G__24558;\ncontinue;\n} else {\nvar obj_24559 \x3d cljs.core.first(seq__24218_24553__$1);\nvar obj_24560__$1 \x3d shadow.object.get_from_dom(obj_24559);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_24560__$1);\n\n\nvar G__24561 \x3d cljs.core.next(seq__24218_24553__$1);\nvar G__24562 \x3d null;\nvar G__24563 \x3d (0);\nvar G__24564 \x3d (0);\nseq__24218_24541 \x3d G__24561;\nchunk__24219_24542 \x3d G__24562;\ncount__24220_24543 \x3d G__24563;\ni__24221_24544 \x3d G__24564;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(0),(c + diff));\n});\nshadow.object.bind_children \x3d (function shadow$object$bind_children(var_args){\nvar G__24228 \x3d arguments.length;\nswitch (G__24228) {\ncase 5:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5 \x3d (function (node,parent,attr,item_type,item_key){\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6(node,parent,attr,item_type,item_key,(function (p1__24226_SHARP_){\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,p1__24226_SHARP_);\n}));\n}));\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6 \x3d (function (node,parent,attr,item_type,item_key,coll_transform){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar update_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nvar coll_dom \x3d (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(node) : shadow.dom.build.call(null,node));\nvar make_item_fn \x3d (function (p__24235){\nvar vec__24236 \x3d p__24235;\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24236,(0),null);\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24236,(1),null);\nvar obj \x3d shadow.object.create(item_type,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),parent,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048),attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616),key,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366),item_key,item_key,val]));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(obj,item_key,(function (old,new$){\nvar parent_key \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(obj));\n(shadow.object.log.cljs$core$IFn$_invoke$arity$6 ? shadow.object.log.cljs$core$IFn$_invoke$arity$6(\x22direct child update\x22,parent,obj,key,parent_key,new$) : shadow.object.log.call(null,\x22direct child update\x22,parent,obj,key,parent_key,new$));\n\ncljs.core.reset_BANG_(update_children,false);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([parent_key,new$], 0));\n\nreturn cljs.core.reset_BANG_(update_children,true);\n}));\n\nreturn obj;\n});\nvar seq__24239_24571 \x3d cljs.core.seq((function (){var G__24244 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,attr__$1);\nreturn (coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(G__24244) : coll_transform.call(null,G__24244));\n})());\nvar chunk__24240_24572 \x3d null;\nvar count__24241_24573 \x3d (0);\nvar i__24242_24574 \x3d (0);\nwhile(true){\nif((i__24242_24574 \x3c count__24241_24573)){\nvar item_24575 \x3d chunk__24240_24572.cljs$core$IIndexed$_nth$arity$2(null,i__24242_24574);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_24575));\n\n\nvar G__24577 \x3d seq__24239_24571;\nvar G__24578 \x3d chunk__24240_24572;\nvar G__24579 \x3d count__24241_24573;\nvar G__24580 \x3d (i__24242_24574 + (1));\nseq__24239_24571 \x3d G__24577;\nchunk__24240_24572 \x3d G__24578;\ncount__24241_24573 \x3d G__24579;\ni__24242_24574 \x3d G__24580;\ncontinue;\n} else {\nvar temp__5804__auto___24582 \x3d cljs.core.seq(seq__24239_24571);\nif(temp__5804__auto___24582){\nvar seq__24239_24583__$1 \x3d temp__5804__auto___24582;\nif(cljs.core.chunked_seq_QMARK_(seq__24239_24583__$1)){\nvar c__5568__auto___24584 \x3d cljs.core.chunk_first(seq__24239_24583__$1);\nvar G__24585 \x3d cljs.core.chunk_rest(seq__24239_24583__$1);\nvar G__24586 \x3d c__5568__auto___24584;\nvar G__24587 \x3d cljs.core.count(c__5568__auto___24584);\nvar G__24588 \x3d (0);\nseq__24239_24571 \x3d G__24585;\nchunk__24240_24572 \x3d G__24586;\ncount__24241_24573 \x3d G__24587;\ni__24242_24574 \x3d G__24588;\ncontinue;\n} else {\nvar item_24589 \x3d cljs.core.first(seq__24239_24583__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_24589));\n\n\nvar G__24590 \x3d cljs.core.next(seq__24239_24583__$1);\nvar G__24591 \x3d null;\nvar G__24592 \x3d (0);\nvar G__24593 \x3d (0);\nseq__24239_24571 \x3d G__24590;\nchunk__24240_24572 \x3d G__24591;\ncount__24241_24573 \x3d G__24592;\ni__24242_24574 \x3d G__24593;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(parent,attr__$1,(function shadow$object$bind_children_watch(old,new$){\nif(cljs.core.truth_(cljs.core.deref(update_children))){\nvar children \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,shadow.dom.children(coll_dom));\nvar new_coll \x3d cljs.core.vec((coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(new$) : coll_transform.call(null,new$)));\nvar count_children \x3d cljs.core.count(children);\nvar count_new \x3d cljs.core.count(new$);\nvar diff \x3d (count_new - count_children);\nvar children__$1 \x3d (((diff \x3c (0)))?shadow.object.coll_destroy_children(children,count_children,diff):children);\nvar count_children__$1 \x3d (function (){var x__5133__auto__ \x3d count_new;\nvar y__5134__auto__ \x3d count_children;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar n__5636__auto___24594 \x3d count_children__$1;\nvar idx_24595 \x3d (0);\nwhile(true){\nif((idx_24595 \x3c n__5636__auto___24594)){\nvar cn_24596 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,idx_24595);\nvar cc_24597 \x3d shadow.object.get_from_dom(cn_24596);\nvar ckey_24598 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(cc_24597);\nvar cval_24599 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cc_24597,item_key);\nvar vec__24247_24600 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new_coll,idx_24595);\nvar nkey_24601 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24247_24600,(0),null);\nvar nval_24602 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24247_24600,(1),null);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ckey_24598,nkey_24601)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cval_24599,nval_24602)))){\n} else {\nvar new_obj_24603 \x3d make_item_fn(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [nkey_24601,nval_24602], null));\nshadow.dom.replace_node(cn_24596,new_obj_24603);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cc_24597);\n\nshadow.object.notify_tree_BANG_(new_obj_24603,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n}\n\nvar G__24606 \x3d (idx_24595 + (1));\nidx_24595 \x3d G__24606;\ncontinue;\n} else {\n}\nbreak;\n}\n\nif((diff \x3e (0))){\nvar seq__24250_24607 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(new_coll,count_children__$1,count_new));\nvar chunk__24251_24608 \x3d null;\nvar count__24252_24609 \x3d (0);\nvar i__24253_24610 \x3d (0);\nwhile(true){\nif((i__24253_24610 \x3c count__24252_24609)){\nvar item_24611 \x3d chunk__24251_24608.cljs$core$IIndexed$_nth$arity$2(null,i__24253_24610);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_24611));\n\n\nvar G__24613 \x3d seq__24250_24607;\nvar G__24614 \x3d chunk__24251_24608;\nvar G__24615 \x3d count__24252_24609;\nvar G__24616 \x3d (i__24253_24610 + (1));\nseq__24250_24607 \x3d G__24613;\nchunk__24251_24608 \x3d G__24614;\ncount__24252_24609 \x3d G__24615;\ni__24253_24610 \x3d G__24616;\ncontinue;\n} else {\nvar temp__5804__auto___24617 \x3d cljs.core.seq(seq__24250_24607);\nif(temp__5804__auto___24617){\nvar seq__24250_24618__$1 \x3d temp__5804__auto___24617;\nif(cljs.core.chunked_seq_QMARK_(seq__24250_24618__$1)){\nvar c__5568__auto___24619 \x3d cljs.core.chunk_first(seq__24250_24618__$1);\nvar G__24620 \x3d cljs.core.chunk_rest(seq__24250_24618__$1);\nvar G__24621 \x3d c__5568__auto___24619;\nvar G__24622 \x3d cljs.core.count(c__5568__auto___24619);\nvar G__24623 \x3d (0);\nseq__24250_24607 \x3d G__24620;\nchunk__24251_24608 \x3d G__24621;\ncount__24252_24609 \x3d G__24622;\ni__24253_24610 \x3d G__24623;\ncontinue;\n} else {\nvar item_24624 \x3d cljs.core.first(seq__24250_24618__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_24624));\n\n\nvar G__24625 \x3d cljs.core.next(seq__24250_24618__$1);\nvar G__24626 \x3d null;\nvar G__24627 \x3d (0);\nvar G__24628 \x3d (0);\nseq__24250_24607 \x3d G__24625;\nchunk__24251_24608 \x3d G__24626;\ncount__24252_24609 \x3d G__24627;\ni__24253_24610 \x3d G__24628;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn shadow.object.notify_BANG_(parent,new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160));\n} else {\nreturn null;\n}\n}));\n\nreturn coll_dom;\n}));\n\n(shadow.object.bind_children.cljs$lang$maxFixedArity \x3d 6);\n\nshadow.object.remove_in_parent_BANG_ \x3d (function shadow$object$remove_in_parent_BANG_(oref){\nvar parent \x3d shadow.object.get_parent(oref);\nvar key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(oref);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref));\nvar path \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048).cljs$core$IFn$_invoke$arity$1(oref);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d key;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn path;\n} else {\nreturn and__5043__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22remove-in-parent! should only be called from items created via so/bind-children\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nvar coll \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,path);\nvar new_coll \x3d shadow.util.remove_item_from_coll(coll,key,value);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,new cljs.core.Keyword(\x22bind\x22,\x22update\x22,\x22bind/update\x22,1048601733),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path,new_coll], 0));\n});\nshadow.object.inspect_BANG_ \x3d (function shadow$object$inspect_BANG_(oref){\nvar G__24254 \x3d \x22inspect!\x22;\nvar G__24255 \x3d shadow.object._id(oref);\nvar G__24256 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.object._type(oref));\nvar G__24257 \x3d cljs.core.clj__GT_js(cljs.core.deref(shadow.object._data(oref)));\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__24254,G__24255,G__24256,G__24257) : shadow.object.info.call(null,G__24254,G__24255,G__24256,G__24257));\n});\nshadow.object.dump_BANG_ \x3d (function shadow$object$dump_BANG_(){\n(shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- LIVE OBJECTS ------------\x22));\n\nvar seq__24265_24633 \x3d cljs.core.seq(cljs.core.seq(cljs.core.deref(shadow.object.instances)));\nvar chunk__24266_24634 \x3d null;\nvar count__24267_24635 \x3d (0);\nvar i__24268_24636 \x3d (0);\nwhile(true){\nif((i__24268_24636 \x3c count__24267_24635)){\nvar vec__24290_24637 \x3d chunk__24266_24634.cljs$core$IIndexed$_nth$arity$2(null,i__24268_24636);\nvar id_24638 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24290_24637,(0),null);\nvar oref_24639 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24290_24637,(1),null);\nvar G__24293_24641 \x3d \x22dump\x22;\nvar G__24294_24642 \x3d id_24638;\nvar G__24295_24643 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_24639)], 0));\nvar G__24296_24644 \x3d cljs.core.deref(shadow.object._data(oref_24639));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__24293_24641,G__24294_24642,G__24295_24643,G__24296_24644) : shadow.object.info.call(null,G__24293_24641,G__24294_24642,G__24295_24643,G__24296_24644));\n\n\nvar G__24645 \x3d seq__24265_24633;\nvar G__24646 \x3d chunk__24266_24634;\nvar G__24647 \x3d count__24267_24635;\nvar G__24648 \x3d (i__24268_24636 + (1));\nseq__24265_24633 \x3d G__24645;\nchunk__24266_24634 \x3d G__24646;\ncount__24267_24635 \x3d G__24647;\ni__24268_24636 \x3d G__24648;\ncontinue;\n} else {\nvar temp__5804__auto___24649 \x3d cljs.core.seq(seq__24265_24633);\nif(temp__5804__auto___24649){\nvar seq__24265_24650__$1 \x3d temp__5804__auto___24649;\nif(cljs.core.chunked_seq_QMARK_(seq__24265_24650__$1)){\nvar c__5568__auto___24651 \x3d cljs.core.chunk_first(seq__24265_24650__$1);\nvar G__24652 \x3d cljs.core.chunk_rest(seq__24265_24650__$1);\nvar G__24653 \x3d c__5568__auto___24651;\nvar G__24654 \x3d cljs.core.count(c__5568__auto___24651);\nvar G__24655 \x3d (0);\nseq__24265_24633 \x3d G__24652;\nchunk__24266_24634 \x3d G__24653;\ncount__24267_24635 \x3d G__24654;\ni__24268_24636 \x3d G__24655;\ncontinue;\n} else {\nvar vec__24300_24656 \x3d cljs.core.first(seq__24265_24650__$1);\nvar id_24657 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24300_24656,(0),null);\nvar oref_24658 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24300_24656,(1),null);\nvar G__24303_24659 \x3d \x22dump\x22;\nvar G__24304_24660 \x3d id_24657;\nvar G__24305_24661 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_24658)], 0));\nvar G__24306_24662 \x3d cljs.core.deref(shadow.object._data(oref_24658));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__24303_24659,G__24304_24660,G__24305_24661,G__24306_24662) : shadow.object.info.call(null,G__24303_24659,G__24304_24660,G__24305_24661,G__24306_24662));\n\n\nvar G__24664 \x3d cljs.core.next(seq__24265_24650__$1);\nvar G__24665 \x3d null;\nvar G__24666 \x3d (0);\nvar G__24667 \x3d (0);\nseq__24265_24633 \x3d G__24664;\nchunk__24266_24634 \x3d G__24665;\ncount__24267_24635 \x3d G__24666;\ni__24268_24636 \x3d G__24667;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- //LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- //LIVE OBJECTS ------------\x22));\n});\ngoog.exportSymbol(\x27shadow.object.dump_BANG_\x27, shadow.object.dump_BANG_);\n"); -SHADOW_ENV.evalLoad("shadow.animate.js", true , "goog.provide(\x27shadow.animate\x27);\n\n/**\n * @interface\n */\nshadow.animate.Animation \x3d function(){};\n\nvar shadow$animate$Animation$_animate_from$dyn_25102 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_from[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_from[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-from\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr initial-value}\n */\nshadow.animate._animate_from \x3d (function shadow$animate$_animate_from(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_from$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_from$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_from$dyn_25102(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_to$dyn_25103 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_to[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_to[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-to\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_to \x3d (function shadow$animate$_animate_to(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_to$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_to$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_to$dyn_25103(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_toggles$dyn_25104 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_toggles[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_toggles[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-toggles\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_toggles \x3d (function shadow$animate$_animate_toggles(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_toggles$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_toggles$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_toggles$dyn_25104(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_timings$dyn_25105 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_timings[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_timings[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-timings\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr timing-function}\n */\nshadow.animate._animate_timings \x3d (function shadow$animate$_animate_timings(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_timings$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_timings$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_timings$dyn_25105(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_delays$dyn_25106 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_delays[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_delays[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-delays\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr transition-delay}\n */\nshadow.animate._animate_delays \x3d (function shadow$animate$_animate_delays(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_delays$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_delays$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_delays$dyn_25106(this$);\n}\n});\n\nshadow.animate.transition_string \x3d (function shadow$animate$transition_string(duration,adef){\nvar timings \x3d shadow.animate._animate_timings(adef);\nvar delays \x3d shadow.animate._animate_delays(adef);\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22, \x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__24406){\nvar vec__24407 \x3d p__24406;\nvar attr \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24407,(0),null);\nvar timing \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24407,(1),null);\nreturn [cljs.core.name(attr),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(duration),\x22ms\x22,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(timing),(function (){var delay \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(delays,attr);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d delay;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (delay \x3e (0));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn [\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(delay),\x22ms\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27);\n}),timings));\n});\n\n/**\n * @interface\n */\nshadow.animate.IAnimator \x3d function(){};\n\nvar shadow$animate$IAnimator$get_duration$dyn_25107 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.get_duration[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.get_duration[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.get-duration\x22,animator);\n}\n}\n});\nshadow.animate.get_duration \x3d (function shadow$animate$get_duration(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$get_duration$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$get_duration$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$get_duration$dyn_25107(animator);\n}\n});\n\nvar shadow$animate$IAnimator$init_BANG_$dyn_25108 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.init_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.init_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.init!\x22,animator);\n}\n}\n});\n/**\n * apply the initial values\n */\nshadow.animate.init_BANG_ \x3d (function shadow$animate$init_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$init_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$init_BANG_$dyn_25108(animator);\n}\n});\n\nvar shadow$animate$IAnimator$start_BANG_$dyn_25109 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.start_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.start_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.start!\x22,animator);\n}\n}\n});\n/**\n * start the animation, must return a channel that closes once the animation is done\n */\nshadow.animate.start_BANG_ \x3d (function shadow$animate$start_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$start_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$start_BANG_$dyn_25109(animator);\n}\n});\n\nvar shadow$animate$IAnimator$finish_BANG_$dyn_25110 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.finish_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.finish_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.finish!\x22,animator);\n}\n}\n});\n/**\n * cleanup\n */\nshadow.animate.finish_BANG_ \x3d (function shadow$animate$finish_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$finish_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$finish_BANG_$dyn_25110(animator);\n}\n});\n\n\n/**\n* @constructor\n * @implements {shadow.animate.IAnimator}\n*/\nshadow.animate.Animator \x3d (function (duration,items){\nthis.duration \x3d duration;\nthis.items \x3d items;\n});\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$get_duration$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.duration;\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5636__auto__ \x3d self__.items.length;\nvar i__18353__auto__ \x3d (0);\nwhile(true){\nif((i__18353__auto__ \x3c n__5636__auto__)){\nvar map__24489_25113 \x3d (self__.items[i__18353__auto__]);\nvar map__24489_25114__$1 \x3d cljs.core.__destructure_map(map__24489_25113);\nvar el_25115 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24489_25114__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar from_25116 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24489_25114__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ngoog.style.setStyle(el_25115,from_25116);\n\nvar G__25117 \x3d (i__18353__auto__ + (1));\ni__18353__auto__ \x3d G__25117;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5636__auto__ \x3d self__.items.length;\nvar i__18353__auto__ \x3d (0);\nwhile(true){\nif((i__18353__auto__ \x3c n__5636__auto__)){\nvar map__24518_25118 \x3d (self__.items[i__18353__auto__]);\nvar map__24518_25119__$1 \x3d cljs.core.__destructure_map(map__24518_25118);\nvar el_25120 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24518_25119__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar to_25121 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24518_25119__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007));\nvar transition_25122 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24518_25119__$1,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007));\n(to_25121[\x22transition\x22] \x3d transition_25122);\n\ngoog.style.setStyle(el_25120,to_25121);\n\nvar G__25123 \x3d (i__18353__auto__ + (1));\ni__18353__auto__ \x3d G__25123;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5636__auto__ \x3d self__.items.length;\nvar i__18353__auto__ \x3d (0);\nwhile(true){\nif((i__18353__auto__ \x3c n__5636__auto__)){\nvar map__24535_25124 \x3d (self__.items[i__18353__auto__]);\nvar map__24535_25125__$1 \x3d cljs.core.__destructure_map(map__24535_25124);\nvar el_25126 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24535_25125__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar toggles_25127 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24535_25125__$1,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479));\n(toggles_25127[\x22transition\x22] \x3d null);\n\ngoog.style.setStyle(el_25126,toggles_25127);\n\nvar G__25128 \x3d (i__18353__auto__ + (1));\ni__18353__auto__ \x3d G__25128;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22duration\x22,\x22duration\x22,-1210334701,null),new cljs.core.Symbol(null,\x22items\x22,\x22items\x22,-1622480831,null)], null);\n}));\n\n(shadow.animate.Animator.cljs$lang$type \x3d true);\n\n(shadow.animate.Animator.cljs$lang$ctorStr \x3d \x22shadow.animate/Animator\x22);\n\n(shadow.animate.Animator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/Animator\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/Animator.\n */\nshadow.animate.__GT_Animator \x3d (function shadow$animate$__GT_Animator(duration,items){\nreturn (new shadow.animate.Animator(duration,items));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.animate.AnimationStep \x3d (function (el,from,to,toggles,transition,__meta,__extmap,__hash){\nthis.el \x3d el;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.toggles \x3d toggles;\nthis.transition \x3d transition;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k24630,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__24668 \x3d k24630;\nvar G__24668__$1 \x3d (((G__24668 instanceof cljs.core.Keyword))?G__24668.fqn:null);\nswitch (G__24668__$1) {\ncase \x22el\x22:\nreturn self__.el;\n\nbreak;\ncase \x22from\x22:\nreturn self__.from;\n\nbreak;\ncase \x22to\x22:\nreturn self__.to;\n\nbreak;\ncase \x22toggles\x22:\nreturn self__.toggles;\n\nbreak;\ncase \x22transition\x22:\nreturn self__.transition;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k24630,else__5346__auto__);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__24685){\nvar vec__24686 \x3d p__24685;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24686,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24686,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.animate.AnimationStep{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition],null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__24629){\nvar self__ \x3d this;\nvar G__24629__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__24629__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (630436239 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this24631,other24632){\nvar self__ \x3d this;\nvar this24631__$1 \x3d this;\nreturn (((!((other24632 \x3d\x3d null)))) \x26\x26 ((((this24631__$1.constructor \x3d\x3d\x3d other24632.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this24631__$1.el,other24632.el)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this24631__$1.from,other24632.from)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this24631__$1.to,other24632.to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this24631__$1.toggles,other24632.toggles)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this24631__$1.transition,other24632.transition)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this24631__$1.__extmap,other24632.__extmap)))))))))))))));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k24630){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__24756 \x3d k24630;\nvar G__24756__$1 \x3d (((G__24756 instanceof cljs.core.Keyword))?G__24756.fqn:null);\nswitch (G__24756__$1) {\ncase \x22el\x22:\ncase \x22from\x22:\ncase \x22to\x22:\ncase \x22toggles\x22:\ncase \x22transition\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k24630);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__24629){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__24757 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__24758 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__24757.cljs$core$IFn$_invoke$arity$2 ? pred__24757.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__24758) : pred__24757.call(null,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__24758)))){\nreturn (new shadow.animate.AnimationStep(G__24629,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__24757.cljs$core$IFn$_invoke$arity$2 ? pred__24757.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__24758) : pred__24757.call(null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__24758)))){\nreturn (new shadow.animate.AnimationStep(self__.el,G__24629,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__24757.cljs$core$IFn$_invoke$arity$2 ? pred__24757.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__24758) : pred__24757.call(null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__24758)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,G__24629,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__24757.cljs$core$IFn$_invoke$arity$2 ? pred__24757.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__24758) : pred__24757.call(null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__24758)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,G__24629,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__24757.cljs$core$IFn$_invoke$arity$2 ? pred__24757.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__24758) : pred__24757.call(null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__24758)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,G__24629,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__24629),null));\n}\n}\n}\n}\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition,null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__24629){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,G__24629,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.animate.AnimationStep.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22el\x22,\x22el\x22,22330409,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.Symbol(null,\x22transition\x22,\x22transition\x22,-1888743762,null)], null);\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$type \x3d true);\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.animate/AnimationStep\x22,null,(1),null));\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.animate/AnimationStep\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/AnimationStep.\n */\nshadow.animate.__GT_AnimationStep \x3d (function shadow$animate$__GT_AnimationStep(el,from,to,toggles,transition){\nreturn (new shadow.animate.AnimationStep(el,from,to,toggles,transition,null,null,null));\n});\n\n/**\n * Factory function for shadow.animate/AnimationStep, taking a map of keywords to field values.\n */\nshadow.animate.map__GT_AnimationStep \x3d (function shadow$animate$map__GT_AnimationStep(G__24640){\nvar extmap__5385__auto__ \x3d (function (){var G__24791 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__24640,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], 0));\nif(cljs.core.record_QMARK_(G__24640)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__24791);\n} else {\nreturn G__24791;\n}\n})();\nreturn (new shadow.animate.AnimationStep(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118).cljs$core$IFn$_invoke$arity$1(G__24640),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044).cljs$core$IFn$_invoke$arity$1(G__24640),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007).cljs$core$IFn$_invoke$arity$1(G__24640),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479).cljs$core$IFn$_invoke$arity$1(G__24640),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007).cljs$core$IFn$_invoke$arity$1(G__24640),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.animate.setup \x3d (function shadow$animate$setup(duration,elements){\nvar items \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function shadow$animate$setup_$_iter__24792(s__24793){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24793__$1 \x3d s__24793;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__24793__$1);\nif(temp__5804__auto__){\nvar s__24793__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__24793__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24793__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24795 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24794 \x3d (0);\nwhile(true){\nif((i__24794 \x3c size__5522__auto__)){\nvar vec__24797 \x3d cljs.core._nth(c__5521__auto__,i__24794);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24797,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24797,(1),null);\ncljs.core.chunk_append(b__24795,(function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n);\n\nvar G__25136 \x3d (i__24794 + (1));\ni__24794 \x3d G__25136;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24795),shadow$animate$setup_$_iter__24792(cljs.core.chunk_rest(s__24793__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24795),null);\n}\n} else {\nvar vec__24801 \x3d cljs.core.first(s__24793__$2);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24801,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24801,(1),null);\nreturn cljs.core.cons((function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n,shadow$animate$setup_$_iter__24792(cljs.core.rest(s__24793__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(elements);\n})());\nreturn (new shadow.animate.Animator(duration,items));\n});\nshadow.animate.continue_BANG_ \x3d (function shadow$animate$continue_BANG_(animator){\nshadow.animate.start_BANG_(animator);\n\nvar c__18542__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_24826){\nvar state_val_24827 \x3d (state_24826[(1)]);\nif((state_val_24827 \x3d\x3d\x3d (1))){\nvar inst_24820 \x3d shadow.animate.get_duration(animator);\nvar inst_24821 \x3d cljs.core.async.timeout(inst_24820);\nvar state_24826__$1 \x3d state_24826;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_24826__$1,(2),inst_24821);\n} else {\nif((state_val_24827 \x3d\x3d\x3d (2))){\nvar inst_24823 \x3d (state_24826[(2)]);\nvar inst_24824 \x3d shadow.animate.finish_BANG_(animator);\nvar state_24826__$1 \x3d (function (){var statearr_24836 \x3d state_24826;\n(statearr_24836[(7)] \x3d inst_24824);\n\n(statearr_24836[(8)] \x3d inst_24823);\n\nreturn statearr_24836;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_24826__$1,new cljs.core.Keyword(null,\x22done\x22,\x22done\x22,-889844188));\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar shadow$animate$continue_BANG__$_state_machine__18257__auto__ \x3d null;\nvar shadow$animate$continue_BANG__$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_24837 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_24837[(0)] \x3d shadow$animate$continue_BANG__$_state_machine__18257__auto__);\n\n(statearr_24837[(1)] \x3d (1));\n\nreturn statearr_24837;\n});\nvar shadow$animate$continue_BANG__$_state_machine__18257__auto____1 \x3d (function (state_24826){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_24826);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e24859){var ex__18260__auto__ \x3d e24859;\nvar statearr_24860_25141 \x3d state_24826;\n(statearr_24860_25141[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_24826[(4)]))){\nvar statearr_24861_25142 \x3d state_24826;\n(statearr_24861_25142[(1)] \x3d cljs.core.first((state_24826[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__25143 \x3d state_24826;\nstate_24826 \x3d G__25143;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\nshadow$animate$continue_BANG__$_state_machine__18257__auto__ \x3d function(state_24826){\nswitch(arguments.length){\ncase 0:\nreturn shadow$animate$continue_BANG__$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn shadow$animate$continue_BANG__$_state_machine__18257__auto____1.call(this,state_24826);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$animate$continue_BANG__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$animate$continue_BANG__$_state_machine__18257__auto____0;\nshadow$animate$continue_BANG__$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$animate$continue_BANG__$_state_machine__18257__auto____1;\nreturn shadow$animate$continue_BANG__$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_24862 \x3d f__18543__auto__();\n(statearr_24862[(6)] \x3d c__18542__auto__);\n\nreturn statearr_24862;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\nreturn c__18542__auto__;\n});\nshadow.animate.start \x3d (function shadow$animate$start(duration,elements){\nvar animator \x3d shadow.animate.setup(duration,elements);\nanimator.shadow$animate$IAnimator$init_BANG_$arity$1(null);\n\nreturn shadow.animate.continue_BANG_(animator);\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate24911 \x3d (function (attr,from,to,timing,delay,meta24912){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta24912 \x3d meta24912;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate24911.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_24913,meta24912__$1){\nvar self__ \x3d this;\nvar _24913__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate24911(self__.attr,self__.from,self__.to,self__.timing,self__.delay,meta24912__$1));\n}));\n\n(shadow.animate.t_shadow$animate24911.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_24913){\nvar self__ \x3d this;\nvar _24913__$1 \x3d this;\nreturn self__.meta24912;\n}));\n\n(shadow.animate.t_shadow$animate24911.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate24911.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate24911.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate24911.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24911.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate24911.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate24911.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta24912\x22,\x22meta24912\x22,582245493,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate24911.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate24911.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate24911\x22);\n\n(shadow.animate.t_shadow$animate24911.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate24911\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate24911.\n */\nshadow.animate.__GT_t_shadow$animate24911 \x3d (function shadow$animate$__GT_t_shadow$animate24911(attr,from,to,timing,delay,meta24912){\nreturn (new shadow.animate.t_shadow$animate24911(attr,from,to,timing,delay,meta24912));\n});\n\n\n/**\n * transition the given attr from -\x3e to using timing function and delay\n * timing defaults to ease, delay to 0\n */\nshadow.animate.transition \x3d (function shadow$animate$transition(var_args){\nvar G__24865 \x3d arguments.length;\nswitch (G__24865) {\ncase 3:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$3 \x3d (function (attr,from,to){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,\x22ease\x22,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$4 \x3d (function (attr,from,to,timing){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,timing,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$5 \x3d (function (attr,from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate24911(attr,from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.transition.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate24921 \x3d (function (attr,from,to,meta24922){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.meta24922 \x3d meta24922;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate24921.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_24923,meta24922__$1){\nvar self__ \x3d this;\nvar _24923__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate24921(self__.attr,self__.from,self__.to,meta24922__$1));\n}));\n\n(shadow.animate.t_shadow$animate24921.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_24923){\nvar self__ \x3d this;\nvar _24923__$1 \x3d this;\nreturn self__.meta24922;\n}));\n\n(shadow.animate.t_shadow$animate24921.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate24921.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24921.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate24921.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate24921.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24921.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24921.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22meta24922\x22,\x22meta24922\x22,523830697,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate24921.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate24921.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate24921\x22);\n\n(shadow.animate.t_shadow$animate24921.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate24921\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate24921.\n */\nshadow.animate.__GT_t_shadow$animate24921 \x3d (function shadow$animate$__GT_t_shadow$animate24921(attr,from,to,meta24922){\nreturn (new shadow.animate.t_shadow$animate24921(attr,from,to,meta24922));\n});\n\n\nshadow.animate.toggle \x3d (function shadow$animate$toggle(attr,from,to){\nreturn (new shadow.animate.t_shadow$animate24921(attr,from,to,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate24947 \x3d (function (attrs,meta24948){\nthis.attrs \x3d attrs;\nthis.meta24948 \x3d meta24948;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate24947.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_24949,meta24948__$1){\nvar self__ \x3d this;\nvar _24949__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate24947(self__.attrs,meta24948__$1));\n}));\n\n(shadow.animate.t_shadow$animate24947.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_24949){\nvar self__ \x3d this;\nvar _24949__$1 \x3d this;\nreturn self__.meta24948;\n}));\n\n(shadow.animate.t_shadow$animate24947.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate24947.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24947.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.attrs;\n}));\n\n(shadow.animate.t_shadow$animate24947.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24947.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24947.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24947.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta24948\x22,\x22meta24948\x22,-883908393,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate24947.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate24947.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate24947\x22);\n\n(shadow.animate.t_shadow$animate24947.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate24947\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate24947.\n */\nshadow.animate.__GT_t_shadow$animate24947 \x3d (function shadow$animate$__GT_t_shadow$animate24947(attrs,meta24948){\nreturn (new shadow.animate.t_shadow$animate24947(attrs,meta24948));\n});\n\n\n/**\n * set attr to value when the animation starts\n */\nshadow.animate.set_attr \x3d (function shadow$animate$set_attr(var_args){\nvar G__24944 \x3d arguments.length;\nswitch (G__24944) {\ncase 1:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1 \x3d (function (attrs){\nreturn (new shadow.animate.t_shadow$animate24947(attrs,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (attr,value){\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.createAsIfByAssoc([attr,value]));\n}));\n\n(shadow.animate.set_attr.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate24965 \x3d (function (attr,meta24966){\nthis.attr \x3d attr;\nthis.meta24966 \x3d meta24966;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate24965.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_24967,meta24966__$1){\nvar self__ \x3d this;\nvar _24967__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate24965(self__.attr,meta24966__$1));\n}));\n\n(shadow.animate.t_shadow$animate24965.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_24967){\nvar self__ \x3d this;\nvar _24967__$1 \x3d this;\nreturn self__.meta24966;\n}));\n\n(shadow.animate.t_shadow$animate24965.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate24965.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24965.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24965.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,null]);\n}));\n\n(shadow.animate.t_shadow$animate24965.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24965.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate24965.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22meta24966\x22,\x22meta24966\x22,328904175,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate24965.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate24965.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate24965\x22);\n\n(shadow.animate.t_shadow$animate24965.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate24965\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate24965.\n */\nshadow.animate.__GT_t_shadow$animate24965 \x3d (function shadow$animate$__GT_t_shadow$animate24965(attr,meta24966){\nreturn (new shadow.animate.t_shadow$animate24965(attr,meta24966));\n});\n\n\n/**\n * use to remove a given attribute style when the animation is finished\n * usually only needed to remove attributes we no longer need since they are probably\n * inherited and we only used for previous transitions\n */\nshadow.animate.delete_attr \x3d (function shadow$animate$delete_attr(attr){\nreturn (new shadow.animate.t_shadow$animate24965(attr,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate24979 \x3d (function (transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta24980){\nthis.transitions \x3d transitions;\nthis.to \x3d to;\nthis.from \x3d from;\nthis.toggles \x3d toggles;\nthis.timings \x3d timings;\nthis.delays \x3d delays;\nthis.temp__5802__auto__ \x3d temp__5802__auto__;\nthis.meta24980 \x3d meta24980;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate24979.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_24981,meta24980__$1){\nvar self__ \x3d this;\nvar _24981__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate24979(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5802__auto__,meta24980__$1));\n}));\n\n(shadow.animate.t_shadow$animate24979.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_24981){\nvar self__ \x3d this;\nvar _24981__$1 \x3d this;\nreturn self__.meta24980;\n}));\n\n(shadow.animate.t_shadow$animate24979.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate24979.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.from;\n}));\n\n(shadow.animate.t_shadow$animate24979.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.to;\n}));\n\n(shadow.animate.t_shadow$animate24979.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.toggles;\n}));\n\n(shadow.animate.t_shadow$animate24979.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.timings;\n}));\n\n(shadow.animate.t_shadow$animate24979.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.delays;\n}));\n\n(shadow.animate.t_shadow$animate24979.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22transitions\x22,\x22transitions\x22,-405684594,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.Symbol(null,\x22timings\x22,\x22timings\x22,-569636600,null),new cljs.core.Symbol(null,\x22delays\x22,\x22delays\x22,-873843187,null),new cljs.core.Symbol(null,\x22temp__5802__auto__\x22,\x22temp__5802__auto__\x22,-1659442335,null),new cljs.core.Symbol(null,\x22meta24980\x22,\x22meta24980\x22,1916389164,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate24979.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate24979.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate24979\x22);\n\n(shadow.animate.t_shadow$animate24979.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate24979\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate24979.\n */\nshadow.animate.__GT_t_shadow$animate24979 \x3d (function shadow$animate$__GT_t_shadow$animate24979(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta24980){\nreturn (new shadow.animate.t_shadow$animate24979(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta24980));\n});\n\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate25008 \x3d (function (transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta25009){\nthis.transitions \x3d transitions;\nthis.to \x3d to;\nthis.from \x3d from;\nthis.toggles \x3d toggles;\nthis.timings \x3d timings;\nthis.delays \x3d delays;\nthis.temp__5802__auto__ \x3d temp__5802__auto__;\nthis.meta25009 \x3d meta25009;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate25008.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_25010,meta25009__$1){\nvar self__ \x3d this;\nvar _25010__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate25008(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5802__auto__,meta25009__$1));\n}));\n\n(shadow.animate.t_shadow$animate25008.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_25010){\nvar self__ \x3d this;\nvar _25010__$1 \x3d this;\nreturn self__.meta25009;\n}));\n\n(shadow.animate.t_shadow$animate25008.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate25008.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.from;\n}));\n\n(shadow.animate.t_shadow$animate25008.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.to;\n}));\n\n(shadow.animate.t_shadow$animate25008.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.toggles;\n}));\n\n(shadow.animate.t_shadow$animate25008.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.timings;\n}));\n\n(shadow.animate.t_shadow$animate25008.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.delays;\n}));\n\n(shadow.animate.t_shadow$animate25008.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22transitions\x22,\x22transitions\x22,-405684594,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22timings\x22,\x22timings\x22,-569636600,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22delays\x22,\x22delays\x22,-873843187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),new cljs.core.Symbol(null,\x22temp__5802__auto__\x22,\x22temp__5802__auto__\x22,-1659442335,null),new cljs.core.Symbol(null,\x22meta25009\x22,\x22meta25009\x22,-232402590,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate25008.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate25008.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate25008\x22);\n\n(shadow.animate.t_shadow$animate25008.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate25008\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate25008.\n */\nshadow.animate.__GT_t_shadow$animate25008 \x3d (function shadow$animate$__GT_t_shadow$animate25008(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta25009){\nreturn (new shadow.animate.t_shadow$animate25008(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta25009));\n});\n\n\nshadow.animate.combine \x3d (function shadow$animate$combine(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___25165 \x3d arguments.length;\nvar i__5770__auto___25167 \x3d (0);\nwhile(true){\nif((i__5770__auto___25167 \x3c len__5769__auto___25165)){\nargs__5775__auto__.push((arguments[i__5770__auto___25167]));\n\nvar G__25168 \x3d (i__5770__auto___25167 + (1));\ni__5770__auto___25167 \x3d G__25168;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic \x3d (function (transitions){\nvar to \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar from \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar toggles \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar timings \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar delays \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar transitions__$1 \x3d transitions;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(transitions__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar adef \x3d temp__5802__auto__;\nvar G__25170 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([to,shadow.animate._animate_to(adef)], 0));\nvar G__25171 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([from,shadow.animate._animate_from(adef)], 0));\nvar G__25172 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([toggles,shadow.animate._animate_toggles(adef)], 0));\nvar G__25173 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([timings,shadow.animate._animate_timings(adef)], 0));\nvar G__25174 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([delays,shadow.animate._animate_delays(adef)], 0));\nvar G__25175 \x3d cljs.core.rest(transitions__$1);\nto \x3d G__25170;\nfrom \x3d G__25171;\ntoggles \x3d G__25172;\ntimings \x3d G__25173;\ndelays \x3d G__25174;\ntransitions__$1 \x3d G__25175;\ncontinue;\n} else {\nreturn (new shadow.animate.t_shadow$animate25008(transitions__$1,to,from,toggles,timings,delays,temp__5802__auto__,cljs.core.PersistentArrayMap.EMPTY));\n}\nbreak;\n}\n}));\n\n(shadow.animate.combine.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.animate.combine.cljs$lang$applyTo \x3d (function (seq24978){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq24978));\n}));\n\nshadow.animate.fade_in \x3d (function shadow$animate$fade_in(var_args){\nvar G__25025 \x3d arguments.length;\nswitch (G__25025) {\ncase 0:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-in\x22);\n}));\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x220\x22,\x221\x22,timing_function);\n}));\n\n(shadow.animate.fade_in.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.fade_out \x3d (function shadow$animate$fade_out(var_args){\nvar G__25034 \x3d arguments.length;\nswitch (G__25034) {\ncase 0:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-out\x22);\n}));\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,timing_function);\n}));\n\n(shadow.animate.fade_out.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.vendor_prefix \x3d goog.dom.vendor.getVendorPrefix();\nshadow.animate.vendor_transform \x3d cljs.core.keyword.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.animate.vendor_prefix),\x22-transform\x22].join(\x27\x27));\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate25054 \x3d (function (from,to,timing,delay,meta25055){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta25055 \x3d meta25055;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate25054.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_25056,meta25055__$1){\nvar self__ \x3d this;\nvar _25056__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate25054(self__.from,self__.to,self__.timing,self__.delay,meta25055__$1));\n}));\n\n(shadow.animate.t_shadow$animate25054.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_25056){\nvar self__ \x3d this;\nvar _25056__$1 \x3d this;\nreturn self__.meta25055;\n}));\n\n(shadow.animate.t_shadow$animate25054.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate25054.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate25054.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate25054.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate25054.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate25054.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate25054.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta25055\x22,\x22meta25055\x22,-975184149,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate25054.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate25054.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate25054\x22);\n\n(shadow.animate.t_shadow$animate25054.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate25054\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate25054.\n */\nshadow.animate.__GT_t_shadow$animate25054 \x3d (function shadow$animate$__GT_t_shadow$animate25054(from,to,timing,delay,meta25055){\nreturn (new shadow.animate.t_shadow$animate25054(from,to,timing,delay,meta25055));\n});\n\n\nshadow.animate.translate_y \x3d (function shadow$animate$translate_y(var_args){\nvar G__25046 \x3d arguments.length;\nswitch (G__25046) {\ncase 3:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate25054(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_y.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate25077 \x3d (function (from,to,timing,delay,meta25078){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta25078 \x3d meta25078;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate25077.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_25079,meta25078__$1){\nvar self__ \x3d this;\nvar _25079__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate25077(self__.from,self__.to,self__.timing,self__.delay,meta25078__$1));\n}));\n\n(shadow.animate.t_shadow$animate25077.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_25079){\nvar self__ \x3d this;\nvar _25079__$1 \x3d this;\nreturn self__.meta25078;\n}));\n\n(shadow.animate.t_shadow$animate25077.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate25077.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate25077.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate25077.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate25077.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate25077.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate25077.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta25078\x22,\x22meta25078\x22,-1999499173,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate25077.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate25077.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate25077\x22);\n\n(shadow.animate.t_shadow$animate25077.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate25077\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate25077.\n */\nshadow.animate.__GT_t_shadow$animate25077 \x3d (function shadow$animate$__GT_t_shadow$animate25077(from,to,timing,delay,meta25078){\nreturn (new shadow.animate.t_shadow$animate25077(from,to,timing,delay,meta25078));\n});\n\n\nshadow.animate.translate_x \x3d (function shadow$animate$translate_x(var_args){\nvar G__25075 \x3d arguments.length;\nswitch (G__25075) {\ncase 3:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate25077(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_x.cljs$lang$maxFixedArity \x3d 4);\n\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.dispatch.js", true , "goog.provide(\x27cljs.core.async.impl.dispatch\x27);\ncljs.core.async.impl.dispatch.tasks \x3d cljs.core.async.impl.buffers.ring_buffer((32));\ncljs.core.async.impl.dispatch.running_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.queued_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.TASK_BATCH_SIZE \x3d (1024);\ncljs.core.async.impl.dispatch.process_messages \x3d (function cljs$core$async$impl$dispatch$process_messages(){\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d true);\n\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d false);\n\nvar count_12453 \x3d (0);\nwhile(true){\nvar m_12454 \x3d cljs.core.async.impl.dispatch.tasks.pop();\nif((m_12454 \x3d\x3d null)){\n} else {\n(m_12454.cljs$core$IFn$_invoke$arity$0 ? m_12454.cljs$core$IFn$_invoke$arity$0() : m_12454.call(null));\n\nif((count_12453 \x3c cljs.core.async.impl.dispatch.TASK_BATCH_SIZE)){\nvar G__12455 \x3d (count_12453 + (1));\ncount_12453 \x3d G__12455;\ncontinue;\n} else {\n}\n}\nbreak;\n}\n\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d false);\n\nif((cljs.core.async.impl.dispatch.tasks.length \x3e (0))){\nreturn (cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0 ? cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0() : cljs.core.async.impl.dispatch.queue_dispatcher.call(null));\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.dispatch.queue_dispatcher \x3d (function cljs$core$async$impl$dispatch$queue_dispatcher(){\nif(((cljs.core.async.impl.dispatch.queued_QMARK_) \x26\x26 (cljs.core.async.impl.dispatch.running_QMARK_))){\nreturn null;\n} else {\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d true);\n\nreturn goog.async.nextTick(cljs.core.async.impl.dispatch.process_messages);\n}\n});\ncljs.core.async.impl.dispatch.run \x3d (function cljs$core$async$impl$dispatch$run(f){\ncljs.core.async.impl.dispatch.tasks.unbounded_unshift(f);\n\nreturn cljs.core.async.impl.dispatch.queue_dispatcher();\n});\ncljs.core.async.impl.dispatch.queue_delay \x3d (function cljs$core$async$impl$dispatch$queue_delay(f,delay){\nreturn setTimeout(f,delay);\n});\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.channels.js", true , "goog.provide(\x27cljs.core.async.impl.channels\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475 \x3d (function (val,meta12476){\nthis.val \x3d val;\nthis.meta12476 \x3d meta12476;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 425984;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_12477,meta12476__$1){\nvar self__ \x3d this;\nvar _12477__$1 \x3d this;\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475(self__.val,meta12476__$1));\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_12477){\nvar self__ \x3d this;\nvar _12477__$1 \x3d this;\nreturn self__.meta12476;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22meta12476\x22,\x22meta12476\x22,1202178637,null)], null);\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels12475\x22);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels12475\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/t_cljs$core$async$impl$channels12475.\n */\ncljs.core.async.impl.channels.__GT_t_cljs$core$async$impl$channels12475 \x3d (function cljs$core$async$impl$channels$__GT_t_cljs$core$async$impl$channels12475(val,meta12476){\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475(val,meta12476));\n});\n\n\ncljs.core.async.impl.channels.box \x3d (function cljs$core$async$impl$channels$box(val){\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels12475(val,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.channels.PutBox \x3d (function (handler,val){\nthis.handler \x3d handler;\nthis.val \x3d val;\n});\n\n(cljs.core.async.impl.channels.PutBox.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/PutBox\x22);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.channels/PutBox\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/PutBox.\n */\ncljs.core.async.impl.channels.__GT_PutBox \x3d (function cljs$core$async$impl$channels$__GT_PutBox(handler,val){\nreturn (new cljs.core.async.impl.channels.PutBox(handler,val));\n});\n\ncljs.core.async.impl.channels.put_active_QMARK_ \x3d (function cljs$core$async$impl$channels$put_active_QMARK_(box){\nreturn cljs.core.async.impl.protocols.active_QMARK_(box.handler);\n});\ncljs.core.async.impl.channels.MAX_DIRTY \x3d (64);\n\n/**\n * @interface\n */\ncljs.core.async.impl.channels.MMC \x3d function(){};\n\nvar cljs$core$async$impl$channels$MMC$abort$dyn_12538 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (cljs.core.async.impl.channels.abort[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.impl.channels.abort[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22MMC.abort\x22,this$);\n}\n}\n});\ncljs.core.async.impl.channels.abort \x3d (function cljs$core$async$impl$channels$abort(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$async$impl$channels$MMC$abort$arity$1(this$);\n} else {\nreturn cljs$core$async$impl$channels$MMC$abort$dyn_12538(this$);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.channels.MMC}\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n*/\ncljs.core.async.impl.channels.ManyToManyChannel \x3d (function (takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nthis.takes \x3d takes;\nthis.dirty_takes \x3d dirty_takes;\nthis.puts \x3d puts;\nthis.dirty_puts \x3d dirty_puts;\nthis.buf \x3d buf;\nthis.closed \x3d closed;\nthis.add_BANG_ \x3d add_BANG_;\n});\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nwhile(true){\nvar putter_12539 \x3d self__.puts.pop();\nif((putter_12539 \x3d\x3d null)){\n} else {\nvar put_handler_12540 \x3d putter_12539.handler;\nvar val_12541 \x3d putter_12539.val;\nif(put_handler_12540.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar put_cb_12542 \x3d put_handler_12540.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\ncljs.core.async.impl.dispatch.run(((function (put_cb_12542,put_handler_12540,val_12541,putter_12539,this$__$1){\nreturn (function (){\nreturn (put_cb_12542.cljs$core$IFn$_invoke$arity$1 ? put_cb_12542.cljs$core$IFn$_invoke$arity$1(true) : put_cb_12542.call(null,true));\n});})(put_cb_12542,put_handler_12540,val_12541,putter_12539,this$__$1))\n);\n} else {\ncontinue;\n}\n}\nbreak;\n}\n\nself__.puts.cleanup(cljs.core.constantly(false));\n\nreturn this$__$1.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (this$,val,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((val \x3d\x3d null)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t put nil on a channel\x22,\x22\\n\x22,\x22(not (nil? val))\x22].join(\x27\x27)));\n}\n\nvar closed__$1 \x3d self__.closed;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn cljs.core.async.impl.channels.box((!(closed__$1)));\n} else {\nif(closed__$1){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nreturn cljs.core.async.impl.channels.box(false);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nvar done_QMARK_ \x3d cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val) : self__.add_BANG_.call(null,self__.buf,val)));\nvar take_cbs \x3d (function (){var takers \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((((self__.takes.length \x3e (0))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar taker \x3d self__.takes.pop();\nif(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar ret \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val__$1 \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar G__12547 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(takers,((function (takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1){\nreturn (function (){\nreturn (ret.cljs$core$IFn$_invoke$arity$1 ? ret.cljs$core$IFn$_invoke$arity$1(val__$1) : ret.call(null,val__$1));\n});})(takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1))\n);\ntakers \x3d G__12547;\ncontinue;\n} else {\nvar G__12548 \x3d takers;\ntakers \x3d G__12548;\ncontinue;\n}\n} else {\nreturn takers;\n}\nbreak;\n}\n})();\nif(done_QMARK_){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nif(cljs.core.seq(take_cbs)){\nvar seq__12513_12549 \x3d cljs.core.seq(take_cbs);\nvar chunk__12514_12550 \x3d null;\nvar count__12515_12551 \x3d (0);\nvar i__12516_12552 \x3d (0);\nwhile(true){\nif((i__12516_12552 \x3c count__12515_12551)){\nvar f_12553 \x3d chunk__12514_12550.cljs$core$IIndexed$_nth$arity$2(null,i__12516_12552);\ncljs.core.async.impl.dispatch.run(f_12553);\n\n\nvar G__12554 \x3d seq__12513_12549;\nvar G__12555 \x3d chunk__12514_12550;\nvar G__12556 \x3d count__12515_12551;\nvar G__12557 \x3d (i__12516_12552 + (1));\nseq__12513_12549 \x3d G__12554;\nchunk__12514_12550 \x3d G__12555;\ncount__12515_12551 \x3d G__12556;\ni__12516_12552 \x3d G__12557;\ncontinue;\n} else {\nvar temp__5804__auto___12558 \x3d cljs.core.seq(seq__12513_12549);\nif(temp__5804__auto___12558){\nvar seq__12513_12559__$1 \x3d temp__5804__auto___12558;\nif(cljs.core.chunked_seq_QMARK_(seq__12513_12559__$1)){\nvar c__5568__auto___12560 \x3d cljs.core.chunk_first(seq__12513_12559__$1);\nvar G__12561 \x3d cljs.core.chunk_rest(seq__12513_12559__$1);\nvar G__12562 \x3d c__5568__auto___12560;\nvar G__12563 \x3d cljs.core.count(c__5568__auto___12560);\nvar G__12564 \x3d (0);\nseq__12513_12549 \x3d G__12561;\nchunk__12514_12550 \x3d G__12562;\ncount__12515_12551 \x3d G__12563;\ni__12516_12552 \x3d G__12564;\ncontinue;\n} else {\nvar f_12565 \x3d cljs.core.first(seq__12513_12559__$1);\ncljs.core.async.impl.dispatch.run(f_12565);\n\n\nvar G__12566 \x3d cljs.core.next(seq__12513_12559__$1);\nvar G__12567 \x3d null;\nvar G__12568 \x3d (0);\nvar G__12569 \x3d (0);\nseq__12513_12549 \x3d G__12566;\nchunk__12514_12550 \x3d G__12567;\ncount__12515_12551 \x3d G__12568;\ni__12516_12552 \x3d G__12569;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nvar taker \x3d (function (){while(true){\nvar taker \x3d self__.takes.pop();\nif(cljs.core.truth_(taker)){\nif(cljs.core.truth_(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null))){\nreturn taker;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(taker)){\nvar take_cb \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (take_cb.cljs$core$IFn$_invoke$arity$1 ? take_cb.cljs$core$IFn$_invoke$arity$1(val) : take_cb.call(null,val));\n}));\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nif((self__.dirty_puts \x3e (64))){\n(self__.dirty_puts \x3d (0));\n\nself__.puts.cleanup(cljs.core.async.impl.channels.put_active_QMARK_);\n} else {\n(self__.dirty_puts \x3d (self__.dirty_puts + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.puts.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending puts are allowed on a single channel.\x22,\x22 Consider using a windowed buffer.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length puts) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.puts.unbounded_unshift((new cljs.core.async.impl.channels.PutBox(handler,val)));\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn null;\n} else {\nif((((!((self__.buf \x3d\x3d null)))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar temp__5802__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar take_cb \x3d temp__5802__auto__;\nvar val \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar vec__12519 \x3d ((((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0)))))?(function (){var cbs \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar putter \x3d self__.puts.pop();\nvar put_handler \x3d putter.handler;\nvar val__$1 \x3d putter.val;\nvar cb \x3d (function (){var and__5043__auto__ \x3d put_handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(and__5043__auto__){\nreturn put_handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5043__auto__;\n}\n})();\nvar cbs__$1 \x3d (cljs.core.truth_(cb)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cbs,cb):cbs);\nvar done_QMARK_ \x3d (cljs.core.truth_(cb)?cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val__$1) : self__.add_BANG_.call(null,self__.buf,val__$1))):null);\nif(((cljs.core.not(done_QMARK_)) \x26\x26 (((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0))))))){\nvar G__12572 \x3d cbs__$1;\ncbs \x3d G__12572;\ncontinue;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [done_QMARK_,cbs__$1], null);\n}\nbreak;\n}\n})():null);\nvar done_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12519,(0),null);\nvar cbs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12519,(1),null);\nif(cljs.core.truth_(done_QMARK_)){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nvar seq__12525_12573 \x3d cljs.core.seq(cbs);\nvar chunk__12526_12574 \x3d null;\nvar count__12527_12575 \x3d (0);\nvar i__12528_12576 \x3d (0);\nwhile(true){\nif((i__12528_12576 \x3c count__12527_12575)){\nvar cb_12577 \x3d chunk__12526_12574.cljs$core$IIndexed$_nth$arity$2(null,i__12528_12576);\ncljs.core.async.impl.dispatch.run(((function (seq__12525_12573,chunk__12526_12574,count__12527_12575,i__12528_12576,cb_12577,val,vec__12519,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1){\nreturn (function (){\nreturn (cb_12577.cljs$core$IFn$_invoke$arity$1 ? cb_12577.cljs$core$IFn$_invoke$arity$1(true) : cb_12577.call(null,true));\n});})(seq__12525_12573,chunk__12526_12574,count__12527_12575,i__12528_12576,cb_12577,val,vec__12519,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1))\n);\n\n\nvar G__12578 \x3d seq__12525_12573;\nvar G__12579 \x3d chunk__12526_12574;\nvar G__12580 \x3d count__12527_12575;\nvar G__12581 \x3d (i__12528_12576 + (1));\nseq__12525_12573 \x3d G__12578;\nchunk__12526_12574 \x3d G__12579;\ncount__12527_12575 \x3d G__12580;\ni__12528_12576 \x3d G__12581;\ncontinue;\n} else {\nvar temp__5804__auto___12582 \x3d cljs.core.seq(seq__12525_12573);\nif(temp__5804__auto___12582){\nvar seq__12525_12583__$1 \x3d temp__5804__auto___12582;\nif(cljs.core.chunked_seq_QMARK_(seq__12525_12583__$1)){\nvar c__5568__auto___12584 \x3d cljs.core.chunk_first(seq__12525_12583__$1);\nvar G__12585 \x3d cljs.core.chunk_rest(seq__12525_12583__$1);\nvar G__12586 \x3d c__5568__auto___12584;\nvar G__12587 \x3d cljs.core.count(c__5568__auto___12584);\nvar G__12588 \x3d (0);\nseq__12525_12573 \x3d G__12585;\nchunk__12526_12574 \x3d G__12586;\ncount__12527_12575 \x3d G__12587;\ni__12528_12576 \x3d G__12588;\ncontinue;\n} else {\nvar cb_12589 \x3d cljs.core.first(seq__12525_12583__$1);\ncljs.core.async.impl.dispatch.run(((function (seq__12525_12573,chunk__12526_12574,count__12527_12575,i__12528_12576,cb_12589,seq__12525_12583__$1,temp__5804__auto___12582,val,vec__12519,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1){\nreturn (function (){\nreturn (cb_12589.cljs$core$IFn$_invoke$arity$1 ? cb_12589.cljs$core$IFn$_invoke$arity$1(true) : cb_12589.call(null,true));\n});})(seq__12525_12573,chunk__12526_12574,count__12527_12575,i__12528_12576,cb_12589,seq__12525_12583__$1,temp__5804__auto___12582,val,vec__12519,done_QMARK_,cbs,take_cb,temp__5802__auto__,this$__$1))\n);\n\n\nvar G__12590 \x3d cljs.core.next(seq__12525_12583__$1);\nvar G__12591 \x3d null;\nvar G__12592 \x3d (0);\nvar G__12593 \x3d (0);\nseq__12525_12573 \x3d G__12590;\nchunk__12526_12574 \x3d G__12591;\ncount__12527_12575 \x3d G__12592;\ni__12528_12576 \x3d G__12593;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nvar putter \x3d (function (){while(true){\nvar putter \x3d self__.puts.pop();\nif(cljs.core.truth_(putter)){\nif(cljs.core.async.impl.protocols.active_QMARK_(putter.handler)){\nreturn putter;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(putter)){\nvar put_cb \x3d cljs.core.async.impl.protocols.commit(putter.handler);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (put_cb.cljs$core$IFn$_invoke$arity$1 ? put_cb.cljs$core$IFn$_invoke$arity$1(true) : put_cb.call(null,true));\n}));\n\nreturn cljs.core.async.impl.channels.box(putter.val);\n} else {\nif(cljs.core.truth_(self__.closed)){\nif(cljs.core.truth_(self__.buf)){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar has_val \x3d (function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5043__auto__;\n}\n})();\nvar val \x3d (cljs.core.truth_(has_val)?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nif((self__.dirty_takes \x3e (64))){\n(self__.dirty_takes \x3d (0));\n\nself__.takes.cleanup(cljs.core.async.impl.protocols.active_QMARK_);\n} else {\n(self__.dirty_takes \x3d (self__.dirty_takes + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.takes.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending takes are allowed on a single channel.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length takes) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.takes.unbounded_unshift(handler);\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.closed;\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(self__.closed){\nreturn null;\n} else {\n(self__.closed \x3d true);\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (self__.puts.length \x3d\x3d\x3d (0));\n} else {\nreturn and__5043__auto__;\n}\n})())){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nwhile(true){\nvar taker_12594 \x3d self__.takes.pop();\nif((taker_12594 \x3d\x3d null)){\n} else {\nif(taker_12594.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar take_cb_12595 \x3d taker_12594.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val_12596 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5043__auto__;\n}\n})())?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\ncljs.core.async.impl.dispatch.run(((function (take_cb_12595,val_12596,taker_12594,this$__$1){\nreturn (function (){\nreturn (take_cb_12595.cljs$core$IFn$_invoke$arity$1 ? take_cb_12595.cljs$core$IFn$_invoke$arity$1(val_12596) : take_cb_12595.call(null,val_12596));\n});})(take_cb_12595,val_12596,taker_12594,this$__$1))\n);\n} else {\n}\n\ncontinue;\n}\nbreak;\n}\n\nif(cljs.core.truth_(self__.buf)){\nself__.buf.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(null);\n} else {\n}\n\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22takes\x22,\x22takes\x22,298247964,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-takes\x22,\x22dirty-takes\x22,575642138,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22puts\x22,\x22puts\x22,-1883877054,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-puts\x22,\x22dirty-puts\x22,57041148,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22closed\x22,\x22closed\x22,720856168,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22add!\x22,\x22add!\x22,2046056845,null)], null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/ManyToManyChannel.\n */\ncljs.core.async.impl.channels.__GT_ManyToManyChannel \x3d (function cljs$core$async$impl$channels$__GT_ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_));\n});\n\ncljs.core.async.impl.channels.ex_handler \x3d (function cljs$core$async$impl$channels$ex_handler(ex){\nconsole.log(ex);\n\nreturn null;\n});\ncljs.core.async.impl.channels.handle \x3d (function cljs$core$async$impl$channels$handle(buf,exh,t){\nvar else$ \x3d (function (){var fexpr__12531 \x3d (function (){var or__5045__auto__ \x3d exh;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.async.impl.channels.ex_handler;\n}\n})();\nreturn (fexpr__12531.cljs$core$IFn$_invoke$arity$1 ? fexpr__12531.cljs$core$IFn$_invoke$arity$1(t) : fexpr__12531.call(null,t));\n})();\nif((else$ \x3d\x3d null)){\nreturn buf;\n} else {\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2(buf,else$);\n}\n});\ncljs.core.async.impl.channels.chan \x3d (function cljs$core$async$impl$channels$chan(var_args){\nvar G__12534 \x3d arguments.length;\nswitch (G__12534) {\ncase 1:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2(buf,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf,xform){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(buf,xform,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf,xform,exh){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(cljs.core.async.impl.buffers.ring_buffer((32)),(0),cljs.core.async.impl.buffers.ring_buffer((32)),(0),buf,false,(function (){var add_BANG_ \x3d (cljs.core.truth_(xform)?(xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(cljs.core.async.impl.protocols.add_BANG_) : xform.call(null,cljs.core.async.impl.protocols.add_BANG_)):cljs.core.async.impl.protocols.add_BANG_);\nreturn (function() {\nvar G__12598 \x3d null;\nvar G__12598__1 \x3d (function (buf__$1){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$1 ? add_BANG_.cljs$core$IFn$_invoke$arity$1(buf__$1) : add_BANG_.call(null,buf__$1));\n}catch (e12536){var t \x3d e12536;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nvar G__12598__2 \x3d (function (buf__$1,val){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$2 ? add_BANG_.cljs$core$IFn$_invoke$arity$2(buf__$1,val) : add_BANG_.call(null,buf__$1,val));\n}catch (e12537){var t \x3d e12537;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nG__12598 \x3d function(buf__$1,val){\nswitch(arguments.length){\ncase 1:\nreturn G__12598__1.call(this,buf__$1);\ncase 2:\nreturn G__12598__2.call(this,buf__$1,val);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__12598.cljs$core$IFn$_invoke$arity$1 \x3d G__12598__1;\nG__12598.cljs$core$IFn$_invoke$arity$2 \x3d G__12598__2;\nreturn G__12598;\n})()\n})()));\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$lang$maxFixedArity \x3d 3);\n\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.timers.js", true , "goog.provide(\x27cljs.core.async.impl.timers\x27);\ncljs.core.async.impl.timers.MAX_LEVEL \x3d (15);\ncljs.core.async.impl.timers.P \x3d ((1) / (2));\ncljs.core.async.impl.timers.random_level \x3d (function cljs$core$async$impl$timers$random_level(var_args){\nvar G__12544 \x3d arguments.length;\nswitch (G__12544) {\ncase 0:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((0));\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nwhile(true){\nif((((Math.random() \x3c cljs.core.async.impl.timers.P)) \x26\x26 ((level \x3c cljs.core.async.impl.timers.MAX_LEVEL)))){\nvar G__12654 \x3d (level + (1));\nlevel \x3d G__12654;\ncontinue;\n} else {\nreturn level;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipListNode \x3d (function (key,val,forward){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.forward \x3d forward;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(null,self__.key,(new cljs.core.List(null,self__.val,null,(1),null)),(2),null));\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22forward\x22,\x22forward\x22,1083186224,null)], null);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipListNode\x22);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.timers/SkipListNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipListNode.\n */\ncljs.core.async.impl.timers.__GT_SkipListNode \x3d (function cljs$core$async$impl$timers$__GT_SkipListNode(key,val,forward){\nreturn (new cljs.core.async.impl.timers.SkipListNode(key,val,forward));\n});\n\ncljs.core.async.impl.timers.skip_list_node \x3d (function cljs$core$async$impl$timers$skip_list_node(var_args){\nvar G__12546 \x3d arguments.length;\nswitch (G__12546) {\ncase 1:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(null,null,level);\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,v,level){\nvar arr \x3d (new Array((level + (1))));\nvar i_12662 \x3d (0);\nwhile(true){\nif((i_12662 \x3c arr.length)){\n(arr[i_12662] \x3d null);\n\nvar G__12663 \x3d (i_12662 + (1));\ni_12662 \x3d G__12663;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.async.impl.timers.SkipListNode(k,v,arr));\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.impl.timers.least_greater_node \x3d (function cljs$core$async$impl$timers$least_greater_node(var_args){\nvar G__12571 \x3d arguments.length;\nswitch (G__12571) {\ncase 3:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,k,level){\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(x,k,level,null);\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,k,level,update){\nwhile(true){\nif((!((level \x3c (0))))){\nvar x__$1 \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar temp__5802__auto__ \x3d (((level \x3c x__$1.forward.length))?(x__$1.forward[level]):null);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar x_SINGLEQUOTE_ \x3d temp__5802__auto__;\nif((x_SINGLEQUOTE_.key \x3c k)){\nvar G__12700 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__12700;\ncontinue;\n} else {\nreturn x__$1;\n}\n} else {\nreturn x__$1;\n}\nbreak;\n}\n})();\nif((update \x3d\x3d null)){\n} else {\n(update[level] \x3d x__$1);\n}\n\nvar G__12701 \x3d x__$1;\nvar G__12702 \x3d k;\nvar G__12703 \x3d (level - (1));\nvar G__12704 \x3d update;\nx \x3d G__12701;\nk \x3d G__12702;\nlevel \x3d G__12703;\nupdate \x3d G__12704;\ncontinue;\n} else {\nreturn x;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipList \x3d (function (header,level){\nthis.header \x3d header;\nthis.level \x3d level;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipList.prototype.put \x3d (function (k,v){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (x.forward[(0)]);\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nreturn (x__$1.val \x3d v);\n} else {\nvar new_level \x3d cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\nif((new_level \x3e self__.level)){\nvar i_12706 \x3d (self__.level + (1));\nwhile(true){\nif((i_12706 \x3c\x3d (new_level + (1)))){\n(update[i_12706] \x3d self__.header);\n\nvar G__12708 \x3d (i_12706 + (1));\ni_12706 \x3d G__12708;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(self__.level \x3d new_level);\n} else {\n}\n\nvar x__$2 \x3d cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(k,v,(new Array(new_level)));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c\x3d self__.level)){\nvar links_12709 \x3d (update[i]).forward;\nif((i \x3c x__$2.forward.length)){\n(x__$2.forward[i] \x3d (links_12709[i]));\n} else {\nx__$2.forward.push((((i \x3c links_12709.length))?(links_12709[i]):null));\n}\n\nif((i \x3c links_12709.length)){\n(links_12709[i] \x3d x__$2);\n} else {\nlinks_12709.push(x__$2);\n}\n\nvar G__12710 \x3d (i + (1));\ni \x3d G__12710;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.remove \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (((x.forward.length \x3d\x3d\x3d (0)))?null:(x.forward[(0)]));\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nvar i_12711 \x3d (0);\nwhile(true){\nif((i_12711 \x3c\x3d self__.level)){\nvar links_12712 \x3d (update[i_12711]).forward;\nif((x__$1 \x3d\x3d\x3d (((i_12711 \x3c links_12712.length))?(links_12712[i_12711]):null))){\n(links_12712[i_12711] \x3d (x__$1.forward[i_12711]));\n\nvar G__12713 \x3d (i_12711 + (1));\ni_12711 \x3d G__12713;\ncontinue;\n} else {\nvar G__12714 \x3d (i_12711 + (1));\ni_12711 \x3d G__12714;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nwhile(true){\nif(((((((0) \x3c self__.level)) \x26\x26 ((self__.level \x3c self__.header.forward.length)))) \x26\x26 (((self__.header.forward[self__.level]) \x3d\x3d null)))){\n(self__.level \x3d (self__.level - (1)));\n\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.ceilingEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__12715 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__12715;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__12716 \x3d nx;\nvar G__12717 \x3d (level__$1 - (1));\nx \x3d G__12716;\nlevel__$1 \x3d G__12717;\ncontinue;\n} else {\nvar G__12718 \x3d x;\nvar G__12719 \x3d (level__$1 - (1));\nx \x3d G__12718;\nlevel__$1 \x3d G__12719;\ncontinue;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x.key,k)){\nreturn x;\n} else {\nreturn (x.forward[(0)]);\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.floorEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__12720 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__12720;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__12721 \x3d nx;\nvar G__12722 \x3d (level__$1 - (1));\nx \x3d G__12721;\nlevel__$1 \x3d G__12722;\ncontinue;\n} else {\nvar G__12723 \x3d x;\nvar G__12724 \x3d (level__$1 - (1));\nx \x3d G__12723;\nlevel__$1 \x3d G__12724;\ncontinue;\n}\n} else {\nif((x \x3d\x3d\x3d self__.header)){\nreturn null;\n} else {\nreturn x;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar iter \x3d (function cljs$core$async$impl$timers$iter(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nif((node \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node.key,node.val], null),cljs$core$async$impl$timers$iter((node.forward[(0)])));\n}\n}),null,null));\n});\nreturn iter((self__.header.forward[(0)]));\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar pr_pair \x3d (function (keyval){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts,keyval);\n});\nreturn cljs.core.pr_sequential_writer(writer,pr_pair,\x22{\x22,\x22, \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22header\x22,\x22header\x22,1759972661,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22level\x22,\x22level\x22,-1363938217,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipList\x22);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.timers/SkipList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipList.\n */\ncljs.core.async.impl.timers.__GT_SkipList \x3d (function cljs$core$async$impl$timers$__GT_SkipList(header,level){\nreturn (new cljs.core.async.impl.timers.SkipList(header,level));\n});\n\ncljs.core.async.impl.timers.skip_list \x3d (function cljs$core$async$impl$timers$skip_list(){\nreturn (new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((0)),(0)));\n});\ncljs.core.async.impl.timers.timeouts_map \x3d cljs.core.async.impl.timers.skip_list();\ncljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS \x3d (10);\n/**\n * returns a channel that will close after msecs\n */\ncljs.core.async.impl.timers.timeout \x3d (function cljs$core$async$impl$timers$timeout(msecs){\nvar timeout \x3d ((new Date()).valueOf() + msecs);\nvar me \x3d cljs.core.async.impl.timers.timeouts_map.ceilingEntry(timeout);\nvar or__5045__auto__ \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d me;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (me.key \x3c (timeout + cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS));\n} else {\nreturn and__5043__auto__;\n}\n})())?me.val:null);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar timeout_channel \x3d cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1(null);\ncljs.core.async.impl.timers.timeouts_map.put(timeout,timeout_channel);\n\ncljs.core.async.impl.dispatch.queue_delay((function (){\ncljs.core.async.impl.timers.timeouts_map.remove(timeout);\n\nreturn cljs.core.async.impl.protocols.close_BANG_(timeout_channel);\n}),msecs);\n\nreturn timeout_channel;\n}\n});\n"); +SHADOW_ENV.evalLoad("cljs.core.async.impl.ioc_helpers.js", true , "goog.provide(\x27cljs.core.async.impl.ioc_helpers\x27);\ncljs.core.async.impl.ioc_helpers.FN_IDX \x3d (0);\ncljs.core.async.impl.ioc_helpers.STATE_IDX \x3d (1);\ncljs.core.async.impl.ioc_helpers.VALUE_IDX \x3d (2);\ncljs.core.async.impl.ioc_helpers.BINDINGS_IDX \x3d (3);\ncljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES \x3d (4);\ncljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION \x3d (5);\ncljs.core.async.impl.ioc_helpers.USER_START_IDX \x3d (6);\ncljs.core.async.impl.ioc_helpers.aset_object \x3d (function cljs$core$async$impl$ioc_helpers$aset_object(arr,idx,o){\nreturn (arr[idx][o]);\n});\ncljs.core.async.impl.ioc_helpers.aget_object \x3d (function cljs$core$async$impl$ioc_helpers$aget_object(arr,idx){\nreturn (arr[idx]);\n});\n/**\n * Returns true if the machine is in a finished state\n */\ncljs.core.async.impl.ioc_helpers.finished_QMARK_ \x3d (function cljs$core$async$impl$ioc_helpers$finished_QMARK_(state_array){\nreturn cljs.core.keyword_identical_QMARK_((state_array[(1)]),new cljs.core.Keyword(null,\x22finished\x22,\x22finished\x22,-1018867731));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379 \x3d (function (f,meta14380){\nthis.f \x3d f;\nthis.meta14380 \x3d meta14380;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_14381,meta14380__$1){\nvar self__ \x3d this;\nvar _14381__$1 \x3d this;\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379(self__.f,meta14380__$1));\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_14381){\nvar self__ \x3d this;\nvar _14381__$1 \x3d this;\nreturn self__.meta14380;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22meta14380\x22,\x22meta14380\x22,-841796527,null)], null);\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers14379\x22);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers14379\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers14379.\n */\ncljs.core.async.impl.ioc_helpers.__GT_t_cljs$core$async$impl$ioc_helpers14379 \x3d (function cljs$core$async$impl$ioc_helpers$__GT_t_cljs$core$async$impl$ioc_helpers14379(f,meta14380){\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379(f,meta14380));\n});\n\n\ncljs.core.async.impl.ioc_helpers.fn_handler \x3d (function cljs$core$async$impl$ioc_helpers$fn_handler(f){\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers14379(f,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine(state){\nvar fexpr__14390 \x3d cljs.core.async.impl.ioc_helpers.aget_object(state,(0));\nreturn (fexpr__14390.cljs$core$IFn$_invoke$arity$1 ? fexpr__14390.cljs$core$IFn$_invoke$arity$1(state) : fexpr__14390.call(null,state));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine_wrapped \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine_wrapped(state){\ntry{return cljs.core.async.impl.ioc_helpers.run_state_machine(state);\n}catch (e14391){if((e14391 instanceof Object)){\nvar ex \x3d e14391;\ncljs.core.async.impl.ioc_helpers.aget_object(state,(6)).cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nthrow ex;\n} else {\nthrow e14391;\n\n}\n}});\ncljs.core.async.impl.ioc_helpers.take_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$take_BANG_(state,blk,c){\nvar temp__5802__auto__ \x3d c.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(null,cljs.core.async.impl.ioc_helpers.fn_handler((function (x){\nvar statearr_14392_14429 \x3d state;\n(statearr_14392_14429[(2)] \x3d x);\n\n(statearr_14392_14429[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar cb \x3d temp__5802__auto__;\nvar statearr_14393_14430 \x3d state;\n(statearr_14393_14430[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_14393_14430[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.put_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$put_BANG_(state,blk,c,val){\nvar temp__5802__auto__ \x3d c.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,val,cljs.core.async.impl.ioc_helpers.fn_handler((function (ret_val){\nvar statearr_14394_14431 \x3d state;\n(statearr_14394_14431[(2)] \x3d ret_val);\n\n(statearr_14394_14431[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar cb \x3d temp__5802__auto__;\nvar statearr_14395_14432 \x3d state;\n(statearr_14395_14432[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_14395_14432[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.return_chan \x3d (function cljs$core$async$impl$ioc_helpers$return_chan(state,value){\nvar c \x3d (state[(6)]);\nif((value \x3d\x3d null)){\n} else {\nc.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,value,cljs.core.async.impl.ioc_helpers.fn_handler((function (_){\nreturn null;\n})));\n}\n\nc.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nreturn c;\n});\n"); +SHADOW_ENV.evalLoad("cljs.core.async.js", true , "goog.provide(\x27cljs.core.async\x27);\ngoog.scope(function(){\n cljs.core.async.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async14498 \x3d (function (f,blockable,meta14499){\nthis.f \x3d f;\nthis.blockable \x3d blockable;\nthis.meta14499 \x3d meta14499;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async14498.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_14500,meta14499__$1){\nvar self__ \x3d this;\nvar _14500__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async14498(self__.f,self__.blockable,meta14499__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async14498.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_14500){\nvar self__ \x3d this;\nvar _14500__$1 \x3d this;\nreturn self__.meta14499;\n}));\n\n(cljs.core.async.t_cljs$core$async14498.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async14498.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async14498.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.blockable;\n}));\n\n(cljs.core.async.t_cljs$core$async14498.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.t_cljs$core$async14498.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22blockable\x22,\x22blockable\x22,-28395259,null),new cljs.core.Symbol(null,\x22meta14499\x22,\x22meta14499\x22,972216436,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async14498.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async14498.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async14498\x22);\n\n(cljs.core.async.t_cljs$core$async14498.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async14498\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async14498.\n */\ncljs.core.async.__GT_t_cljs$core$async14498 \x3d (function cljs$core$async$__GT_t_cljs$core$async14498(f,blockable,meta14499){\nreturn (new cljs.core.async.t_cljs$core$async14498(f,blockable,meta14499));\n});\n\n\ncljs.core.async.fn_handler \x3d (function cljs$core$async$fn_handler(var_args){\nvar G__14496 \x3d arguments.length;\nswitch (G__14496) {\ncase 1:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(f,true);\n}));\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,blockable){\nreturn (new cljs.core.async.t_cljs$core$async14498(f,blockable,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.async.fn_handler.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a fixed buffer of size n. When full, puts will block/park.\n */\ncljs.core.async.buffer \x3d (function cljs$core$async$buffer(n){\nreturn cljs.core.async.impl.buffers.fixed_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete but\n * val will be dropped (no transfer).\n */\ncljs.core.async.dropping_buffer \x3d (function cljs$core$async$dropping_buffer(n){\nreturn cljs.core.async.impl.buffers.dropping_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete, and be\n * buffered, but oldest elements in buffer will be dropped (not\n * transferred).\n */\ncljs.core.async.sliding_buffer \x3d (function cljs$core$async$sliding_buffer(n){\nreturn cljs.core.async.impl.buffers.sliding_buffer(n);\n});\n/**\n * Returns true if a channel created with buff will never block. That is to say,\n * puts into this buffer will never cause the buffer to be full. \n */\ncljs.core.async.unblocking_buffer_QMARK_ \x3d (function cljs$core$async$unblocking_buffer_QMARK_(buff){\nif((!((buff \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d buff.cljs$core$async$impl$protocols$UnblockingBuffer$)))){\nreturn true;\n} else {\nif((!buff.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n}\n});\n/**\n * Creates a channel with an optional buffer, an optional transducer (like (map f),\n * (filter p) etc or a composition thereof), and an optional exception handler.\n * If buf-or-n is a number, will create and use a fixed buffer of that size. If a\n * transducer is supplied a buffer must be specified. ex-handler must be a\n * fn of one argument - if an exception occurs during transformation it will be called\n * with the thrown value as an argument, and any non-nil return value will be placed\n * in the channel.\n */\ncljs.core.async.chan \x3d (function cljs$core$async$chan(var_args){\nvar G__14540 \x3d arguments.length;\nswitch (G__14540) {\ncase 0:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf_or_n){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,null,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf_or_n,xform){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,xform,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf_or_n,xform,ex_handler){\nvar buf_or_n__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(buf_or_n,(0)))?null:buf_or_n);\nif(cljs.core.truth_(xform)){\nif(cljs.core.truth_(buf_or_n__$1)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22buffer must be supplied when transducer is\x22,\x22\\n\x22,\x22buf-or-n\x22].join(\x27\x27)));\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(((typeof buf_or_n__$1 \x3d\x3d\x3d \x27number\x27)?cljs.core.async.buffer(buf_or_n__$1):buf_or_n__$1),xform,ex_handler);\n}));\n\n(cljs.core.async.chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates a promise channel with an optional transducer, and an optional\n * exception-handler. A promise channel can take exactly one value that consumers\n * will receive. Once full, puts complete but val is dropped (no transfer).\n * Consumers will block until either a value is placed in the channel or the\n * channel is closed. See chan for the semantics of xform and ex-handler.\n */\ncljs.core.async.promise_chan \x3d (function cljs$core$async$promise_chan(var_args){\nvar G__14558 \x3d arguments.length;\nswitch (G__14558) {\ncase 0:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (xform){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2(xform,null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,ex_handler){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(cljs.core.async.impl.buffers.promise_buffer(),xform,ex_handler);\n}));\n\n(cljs.core.async.promise_chan.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel that will close after msecs\n */\ncljs.core.async.timeout \x3d (function cljs$core$async$timeout(msecs){\nreturn cljs.core.async.impl.timers.timeout(msecs);\n});\n/**\n * takes a val from port. Must be called inside a (go ...) block. Will\n * return nil if closed. Will park if nothing is available.\n * Returns true unless port is already closed\n */\ncljs.core.async._LT__BANG_ \x3d (function cljs$core$async$_LT__BANG_(port){\nthrow (new Error(\x22\x3c! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously takes a val from port, passing to fn1. Will pass nil\n * if closed. If on-caller? (default true) is true, and value is\n * immediately available, will call fn1 on calling thread.\n * Returns nil.\n */\ncljs.core.async.take_BANG_ \x3d (function cljs$core$async$take_BANG_(var_args){\nvar G__14580 \x3d arguments.length;\nswitch (G__14580) {\ncase 2:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,fn1){\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3(port,fn1,true);\n}));\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,fn1,on_caller_QMARK_){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(ret)){\nvar val_16858 \x3d cljs.core.deref(ret);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_16858) : fn1.call(null,val_16858));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_16858) : fn1.call(null,val_16858));\n}));\n}\n} else {\n}\n\nreturn null;\n}));\n\n(cljs.core.async.take_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.nop \x3d (function cljs$core$async$nop(_){\nreturn null;\n});\ncljs.core.async.fhnop \x3d cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(cljs.core.async.nop);\n/**\n * puts a val into port. nil values are not allowed. Must be called\n * inside a (go ...) block. Will park if no buffer space is available.\n * Returns true unless port is already closed.\n */\ncljs.core.async._GT__BANG_ \x3d (function cljs$core$async$_GT__BANG_(port,val){\nthrow (new Error(\x22\x3e! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously puts a val into port, calling fn1 (if supplied) when\n * complete. nil values are not allowed. Will throw if closed. If\n * on-caller? (default true) is true, and the put is immediately\n * accepted, will call fn1 on calling thread. Returns nil.\n */\ncljs.core.async.put_BANG_ \x3d (function cljs$core$async$put_BANG_(var_args){\nvar G__14600 \x3d arguments.length;\nswitch (G__14600) {\ncase 2:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,val){\nvar temp__5802__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fhnop);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar ret \x3d temp__5802__auto__;\nreturn cljs.core.deref(ret);\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,val,fn1){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4(port,val,fn1,true);\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (port,val,fn1,on_caller_QMARK_){\nvar temp__5802__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar retb \x3d temp__5802__auto__;\nvar ret \x3d cljs.core.deref(retb);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n}));\n}\n\nreturn ret;\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.core.async.close_BANG_ \x3d (function cljs$core$async$close_BANG_(port){\nreturn cljs.core.async.impl.protocols.close_BANG_(port);\n});\ncljs.core.async.random_array \x3d (function cljs$core$async$random_array(n){\nvar a \x3d (new Array(n));\nvar n__5636__auto___16862 \x3d n;\nvar x_16863 \x3d (0);\nwhile(true){\nif((x_16863 \x3c n__5636__auto___16862)){\n(a[x_16863] \x3d x_16863);\n\nvar G__16864 \x3d (x_16863 + (1));\nx_16863 \x3d G__16864;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.core.async.goog$module$goog$array.shuffle(a);\n\nreturn a;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async14609 \x3d (function (flag,meta14610){\nthis.flag \x3d flag;\nthis.meta14610 \x3d meta14610;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_14611,meta14610__$1){\nvar self__ \x3d this;\nvar _14611__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async14609(self__.flag,meta14610__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_14611){\nvar self__ \x3d this;\nvar _14611__$1 \x3d this;\nreturn self__.meta14610;\n}));\n\n(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.deref(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.flag,null);\n\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async14609.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22meta14610\x22,\x22meta14610\x22,-606358165,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async14609.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async14609.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async14609\x22);\n\n(cljs.core.async.t_cljs$core$async14609.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async14609\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async14609.\n */\ncljs.core.async.__GT_t_cljs$core$async14609 \x3d (function cljs$core$async$__GT_t_cljs$core$async14609(flag,meta14610){\nreturn (new cljs.core.async.t_cljs$core$async14609(flag,meta14610));\n});\n\n\ncljs.core.async.alt_flag \x3d (function cljs$core$async$alt_flag(){\nvar flag \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nreturn (new cljs.core.async.t_cljs$core$async14609(flag,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async14619 \x3d (function (flag,cb,meta14620){\nthis.flag \x3d flag;\nthis.cb \x3d cb;\nthis.meta14620 \x3d meta14620;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async14619.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_14621,meta14620__$1){\nvar self__ \x3d this;\nvar _14621__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async14619(self__.flag,self__.cb,meta14620__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async14619.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_14621){\nvar self__ \x3d this;\nvar _14621__$1 \x3d this;\nreturn self__.meta14620;\n}));\n\n(cljs.core.async.t_cljs$core$async14619.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async14619.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async14619.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async14619.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.async.impl.protocols.commit(self__.flag);\n\nreturn self__.cb;\n}));\n\n(cljs.core.async.t_cljs$core$async14619.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22cb\x22,\x22cb\x22,-2064487928,null),new cljs.core.Symbol(null,\x22meta14620\x22,\x22meta14620\x22,-701233348,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async14619.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async14619.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async14619\x22);\n\n(cljs.core.async.t_cljs$core$async14619.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async14619\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async14619.\n */\ncljs.core.async.__GT_t_cljs$core$async14619 \x3d (function cljs$core$async$__GT_t_cljs$core$async14619(flag,cb,meta14620){\nreturn (new cljs.core.async.t_cljs$core$async14619(flag,cb,meta14620));\n});\n\n\ncljs.core.async.alt_handler \x3d (function cljs$core$async$alt_handler(flag,cb){\nreturn (new cljs.core.async.t_cljs$core$async14619(flag,cb,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * returns derefable [val port] if immediate, nil if enqueued\n */\ncljs.core.async.do_alts \x3d (function cljs$core$async$do_alts(fret,ports,opts){\nif((cljs.core.count(ports) \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22alts must have at least one channel operation\x22,\x22\\n\x22,\x22(pos? (count ports))\x22].join(\x27\x27)));\n}\n\nvar flag \x3d cljs.core.async.alt_flag();\nvar n \x3d cljs.core.count(ports);\nvar idxs \x3d cljs.core.async.random_array(n);\nvar priority \x3d new cljs.core.Keyword(null,\x22priority\x22,\x22priority\x22,1431093715).cljs$core$IFn$_invoke$arity$1(opts);\nvar ret \x3d (function (){var i \x3d (0);\nwhile(true){\nif((i \x3c n)){\nvar idx \x3d (cljs.core.truth_(priority)?i:(idxs[i]));\nvar port \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ports,idx);\nvar wport \x3d ((cljs.core.vector_QMARK_(port))?(port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((0)) : port.call(null,(0))):null);\nvar vbox \x3d (cljs.core.truth_(wport)?(function (){var val \x3d (port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((1)) : port.call(null,(1)));\nreturn cljs.core.async.impl.protocols.put_BANG_(wport,val,cljs.core.async.alt_handler(flag,((function (i,val,idx,port,wport,flag,n,idxs,priority){\nreturn (function (p1__14640_SHARP_){\nvar G__14642 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__14640_SHARP_,wport], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__14642) : fret.call(null,G__14642));\n});})(i,val,idx,port,wport,flag,n,idxs,priority))\n));\n})():cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.alt_handler(flag,((function (i,idx,port,wport,flag,n,idxs,priority){\nreturn (function (p1__14641_SHARP_){\nvar G__14643 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__14641_SHARP_,port], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__14643) : fret.call(null,G__14643));\n});})(i,idx,port,wport,flag,n,idxs,priority))\n)));\nif(cljs.core.truth_(vbox)){\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(vbox),(function (){var or__5045__auto__ \x3d wport;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn port;\n}\n})()], null));\n} else {\nvar G__16867 \x3d (i + (1));\ni \x3d G__16867;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nvar or__5045__auto__ \x3d ret;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nif(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))){\nvar temp__5804__auto__ \x3d (function (){var and__5043__auto__ \x3d flag.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn flag.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar got \x3d temp__5804__auto__;\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Completes at most one of several channel operations. Must be called\n * inside a (go ...) block. ports is a vector of channel endpoints,\n * which can be either a channel to take from or a vector of\n * [channel-to-put-to val-to-put], in any combination. Takes will be\n * made as if by \x3c!, and puts will be made as if by \x3e!. Unless\n * the :priority option is true, if more than one port operation is\n * ready a non-deterministic choice will be made. If no operation is\n * ready and a :default value is supplied, [default-val :default] will\n * be returned, otherwise alts! will park until the first operation to\n * become ready completes. Returns [val port] of the completed\n * operation, where val is the value taken for takes, and a\n * boolean (true unless already closed, as per put!) for puts.\n * \n * opts are passed as :key val ... Supported options:\n * \n * :default val - the value to use if none of the operations are immediately ready\n * :priority true - (default nil) when true, the operations will be tried in order.\n * \n * Note: there is no guarantee that the port exps or val exprs will be\n * used, nor in what order should they be, so they should not be\n * depended upon for side effects.\n */\ncljs.core.async.alts_BANG_ \x3d (function cljs$core$async$alts_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___16868 \x3d arguments.length;\nvar i__5770__auto___16869 \x3d (0);\nwhile(true){\nif((i__5770__auto___16869 \x3c len__5769__auto___16868)){\nargs__5775__auto__.push((arguments[i__5770__auto___16869]));\n\nvar G__16870 \x3d (i__5770__auto___16869 + (1));\ni__5770__auto___16869 \x3d G__16870;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ports,p__14668){\nvar map__14669 \x3d p__14668;\nvar map__14669__$1 \x3d cljs.core.__destructure_map(map__14669);\nvar opts \x3d map__14669__$1;\nthrow (new Error(\x22alts! used not in (go ...) block\x22));\n}));\n\n(cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.async.alts_BANG_.cljs$lang$applyTo \x3d (function (seq14657){\nvar G__14658 \x3d cljs.core.first(seq14657);\nvar seq14657__$1 \x3d cljs.core.next(seq14657);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14658,seq14657__$1);\n}));\n\n/**\n * Puts a val into port if it\x27s possible to do so immediately.\n * nil values are not allowed. Never blocks. Returns true if offer succeeds.\n */\ncljs.core.async.offer_BANG_ \x3d (function cljs$core$async$offer_BANG_(port,val){\nvar ret \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes a val from port if it\x27s possible to do so immediately.\n * Never blocks. Returns value if successful, nil otherwise.\n */\ncljs.core.async.poll_BANG_ \x3d (function cljs$core$async$poll_BANG_(port){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel. By default, the to channel will be closed when the from\n * channel closes, but can be determined by the close? parameter. Will\n * stop consuming the from channel if the to channel closes\n */\ncljs.core.async.pipe \x3d (function cljs$core$async$pipe(var_args){\nvar G__14682 \x3d arguments.length;\nswitch (G__14682) {\ncase 2:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2 \x3d (function (from,to){\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3(from,to,true);\n}));\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,close_QMARK_){\nvar c__14406__auto___16873 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_14731){\nvar state_val_14732 \x3d (state_14731[(1)]);\nif((state_val_14732 \x3d\x3d\x3d (7))){\nvar inst_14725 \x3d (state_14731[(2)]);\nvar state_14731__$1 \x3d state_14731;\nvar statearr_14733_16875 \x3d state_14731__$1;\n(statearr_14733_16875[(2)] \x3d inst_14725);\n\n(statearr_14733_16875[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (1))){\nvar state_14731__$1 \x3d state_14731;\nvar statearr_14734_16876 \x3d state_14731__$1;\n(statearr_14734_16876[(2)] \x3d null);\n\n(statearr_14734_16876[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (4))){\nvar inst_14699 \x3d (state_14731[(7)]);\nvar inst_14699__$1 \x3d (state_14731[(2)]);\nvar inst_14700 \x3d (inst_14699__$1 \x3d\x3d null);\nvar state_14731__$1 \x3d (function (){var statearr_14735 \x3d state_14731;\n(statearr_14735[(7)] \x3d inst_14699__$1);\n\nreturn statearr_14735;\n})();\nif(cljs.core.truth_(inst_14700)){\nvar statearr_14736_16878 \x3d state_14731__$1;\n(statearr_14736_16878[(1)] \x3d (5));\n\n} else {\nvar statearr_14737_16880 \x3d state_14731__$1;\n(statearr_14737_16880[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (13))){\nvar state_14731__$1 \x3d state_14731;\nvar statearr_14755_16881 \x3d state_14731__$1;\n(statearr_14755_16881[(2)] \x3d null);\n\n(statearr_14755_16881[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (6))){\nvar inst_14699 \x3d (state_14731[(7)]);\nvar state_14731__$1 \x3d state_14731;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_14731__$1,(11),to,inst_14699);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (3))){\nvar inst_14727 \x3d (state_14731[(2)]);\nvar state_14731__$1 \x3d state_14731;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_14731__$1,inst_14727);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (12))){\nvar state_14731__$1 \x3d state_14731;\nvar statearr_14760_16882 \x3d state_14731__$1;\n(statearr_14760_16882[(2)] \x3d null);\n\n(statearr_14760_16882[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (2))){\nvar state_14731__$1 \x3d state_14731;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_14731__$1,(4),from);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (11))){\nvar inst_14718 \x3d (state_14731[(2)]);\nvar state_14731__$1 \x3d state_14731;\nif(cljs.core.truth_(inst_14718)){\nvar statearr_14763_16883 \x3d state_14731__$1;\n(statearr_14763_16883[(1)] \x3d (12));\n\n} else {\nvar statearr_14764_16884 \x3d state_14731__$1;\n(statearr_14764_16884[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (9))){\nvar state_14731__$1 \x3d state_14731;\nvar statearr_14765_16885 \x3d state_14731__$1;\n(statearr_14765_16885[(2)] \x3d null);\n\n(statearr_14765_16885[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (5))){\nvar state_14731__$1 \x3d state_14731;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_14771_16886 \x3d state_14731__$1;\n(statearr_14771_16886[(1)] \x3d (8));\n\n} else {\nvar statearr_14772_16887 \x3d state_14731__$1;\n(statearr_14772_16887[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (14))){\nvar inst_14723 \x3d (state_14731[(2)]);\nvar state_14731__$1 \x3d state_14731;\nvar statearr_14773_16888 \x3d state_14731__$1;\n(statearr_14773_16888[(2)] \x3d inst_14723);\n\n(statearr_14773_16888[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (10))){\nvar inst_14706 \x3d (state_14731[(2)]);\nvar state_14731__$1 \x3d state_14731;\nvar statearr_14774_16889 \x3d state_14731__$1;\n(statearr_14774_16889[(2)] \x3d inst_14706);\n\n(statearr_14774_16889[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14732 \x3d\x3d\x3d (8))){\nvar inst_14703 \x3d cljs.core.async.close_BANG_(to);\nvar state_14731__$1 \x3d state_14731;\nvar statearr_14775_16890 \x3d state_14731__$1;\n(statearr_14775_16890[(2)] \x3d inst_14703);\n\n(statearr_14775_16890[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_14776 \x3d [null,null,null,null,null,null,null,null];\n(statearr_14776[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_14776[(1)] \x3d (1));\n\nreturn statearr_14776;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_14731){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_14731);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e14777){var ex__14364__auto__ \x3d e14777;\nvar statearr_14778_16891 \x3d state_14731;\n(statearr_14778_16891[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_14731[(4)]))){\nvar statearr_14779_16892 \x3d state_14731;\n(statearr_14779_16892[(1)] \x3d cljs.core.first((state_14731[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__16893 \x3d state_14731;\nstate_14731 \x3d G__16893;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_14731){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_14731);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_14780 \x3d f__14407__auto__();\n(statearr_14780[(6)] \x3d c__14406__auto___16873);\n\nreturn statearr_14780;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn to;\n}));\n\n(cljs.core.async.pipe.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.pipeline_STAR_ \x3d (function cljs$core$async$pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,type){\nif((n \x3e (0))){\n} else {\nthrow (new Error(\x22Assert failed: (pos? n)\x22));\n}\n\nvar jobs \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar results \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar process__$1 \x3d (function (p__14815){\nvar vec__14817 \x3d p__14815;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14817,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14817,(1),null);\nvar job \x3d vec__14817;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((1),xf,ex_handler);\nvar c__14406__auto___16896 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_14835){\nvar state_val_14836 \x3d (state_14835[(1)]);\nif((state_val_14836 \x3d\x3d\x3d (1))){\nvar state_14835__$1 \x3d state_14835;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_14835__$1,(2),res,v);\n} else {\nif((state_val_14836 \x3d\x3d\x3d (2))){\nvar inst_14832 \x3d (state_14835[(2)]);\nvar inst_14833 \x3d cljs.core.async.close_BANG_(res);\nvar state_14835__$1 \x3d (function (){var statearr_14841 \x3d state_14835;\n(statearr_14841[(7)] \x3d inst_14832);\n\nreturn statearr_14841;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_14835__$1,inst_14833);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_14842 \x3d [null,null,null,null,null,null,null,null];\n(statearr_14842[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);\n\n(statearr_14842[(1)] \x3d (1));\n\nreturn statearr_14842;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 \x3d (function (state_14835){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_14835);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e14844){var ex__14364__auto__ \x3d e14844;\nvar statearr_14845_16897 \x3d state_14835;\n(statearr_14845_16897[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_14835[(4)]))){\nvar statearr_14846_16898 \x3d state_14835;\n(statearr_14846_16898[(1)] \x3d cljs.core.first((state_14835[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__16899 \x3d state_14835;\nstate_14835 \x3d G__16899;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d function(state_14835){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_14835);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_14847 \x3d f__14407__auto__();\n(statearr_14847[(6)] \x3d c__14406__auto___16896);\n\nreturn statearr_14847;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar async \x3d (function (p__14848){\nvar vec__14849 \x3d p__14848;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14849,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14849,(1),null);\nvar job \x3d vec__14849;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\n(xf.cljs$core$IFn$_invoke$arity$2 ? xf.cljs$core$IFn$_invoke$arity$2(v,res) : xf.call(null,v,res));\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar n__5636__auto___16900 \x3d n;\nvar __16901 \x3d (0);\nwhile(true){\nif((__16901 \x3c n__5636__auto___16900)){\nvar G__14861_16902 \x3d type;\nvar G__14861_16903__$1 \x3d (((G__14861_16902 instanceof cljs.core.Keyword))?G__14861_16902.fqn:null);\nswitch (G__14861_16903__$1) {\ncase \x22compute\x22:\nvar c__14406__auto___16905 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__16901,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){\nreturn (function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d ((function (__16901,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){\nreturn (function (state_14890){\nvar state_val_14891 \x3d (state_14890[(1)]);\nif((state_val_14891 \x3d\x3d\x3d (1))){\nvar state_14890__$1 \x3d state_14890;\nvar statearr_14892_16906 \x3d state_14890__$1;\n(statearr_14892_16906[(2)] \x3d null);\n\n(statearr_14892_16906[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14891 \x3d\x3d\x3d (2))){\nvar state_14890__$1 \x3d state_14890;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_14890__$1,(4),jobs);\n} else {\nif((state_val_14891 \x3d\x3d\x3d (3))){\nvar inst_14888 \x3d (state_14890[(2)]);\nvar state_14890__$1 \x3d state_14890;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_14890__$1,inst_14888);\n} else {\nif((state_val_14891 \x3d\x3d\x3d (4))){\nvar inst_14880 \x3d (state_14890[(2)]);\nvar inst_14881 \x3d process__$1(inst_14880);\nvar state_14890__$1 \x3d state_14890;\nif(cljs.core.truth_(inst_14881)){\nvar statearr_14893_16907 \x3d state_14890__$1;\n(statearr_14893_16907[(1)] \x3d (5));\n\n} else {\nvar statearr_14894_16908 \x3d state_14890__$1;\n(statearr_14894_16908[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14891 \x3d\x3d\x3d (5))){\nvar state_14890__$1 \x3d state_14890;\nvar statearr_14899_16909 \x3d state_14890__$1;\n(statearr_14899_16909[(2)] \x3d null);\n\n(statearr_14899_16909[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14891 \x3d\x3d\x3d (6))){\nvar state_14890__$1 \x3d state_14890;\nvar statearr_14900_16910 \x3d state_14890__$1;\n(statearr_14900_16910[(2)] \x3d null);\n\n(statearr_14900_16910[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14891 \x3d\x3d\x3d (7))){\nvar inst_14886 \x3d (state_14890[(2)]);\nvar state_14890__$1 \x3d state_14890;\nvar statearr_14901_16911 \x3d state_14890__$1;\n(statearr_14901_16911[(2)] \x3d inst_14886);\n\n(statearr_14901_16911[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__16901,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))\n;\nreturn ((function (__16901,switch__14360__auto__,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_14902 \x3d [null,null,null,null,null,null,null];\n(statearr_14902[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);\n\n(statearr_14902[(1)] \x3d (1));\n\nreturn statearr_14902;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 \x3d (function (state_14890){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_14890);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e14903){var ex__14364__auto__ \x3d e14903;\nvar statearr_14904_16912 \x3d state_14890;\n(statearr_14904_16912[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_14890[(4)]))){\nvar statearr_14905_16913 \x3d state_14890;\n(statearr_14905_16913[(1)] \x3d cljs.core.first((state_14890[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__16914 \x3d state_14890;\nstate_14890 \x3d G__16914;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d function(state_14890){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_14890);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;\n})()\n;})(__16901,switch__14360__auto__,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_14913 \x3d f__14407__auto__();\n(statearr_14913[(6)] \x3d c__14406__auto___16905);\n\nreturn statearr_14913;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n});})(__16901,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))\n);\n\n\nbreak;\ncase \x22async\x22:\nvar c__14406__auto___16915 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__16901,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){\nreturn (function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d ((function (__16901,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){\nreturn (function (state_14926){\nvar state_val_14927 \x3d (state_14926[(1)]);\nif((state_val_14927 \x3d\x3d\x3d (1))){\nvar state_14926__$1 \x3d state_14926;\nvar statearr_14928_16916 \x3d state_14926__$1;\n(statearr_14928_16916[(2)] \x3d null);\n\n(statearr_14928_16916[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14927 \x3d\x3d\x3d (2))){\nvar state_14926__$1 \x3d state_14926;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_14926__$1,(4),jobs);\n} else {\nif((state_val_14927 \x3d\x3d\x3d (3))){\nvar inst_14924 \x3d (state_14926[(2)]);\nvar state_14926__$1 \x3d state_14926;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_14926__$1,inst_14924);\n} else {\nif((state_val_14927 \x3d\x3d\x3d (4))){\nvar inst_14916 \x3d (state_14926[(2)]);\nvar inst_14917 \x3d async(inst_14916);\nvar state_14926__$1 \x3d state_14926;\nif(cljs.core.truth_(inst_14917)){\nvar statearr_14929_16917 \x3d state_14926__$1;\n(statearr_14929_16917[(1)] \x3d (5));\n\n} else {\nvar statearr_14930_16918 \x3d state_14926__$1;\n(statearr_14930_16918[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14927 \x3d\x3d\x3d (5))){\nvar state_14926__$1 \x3d state_14926;\nvar statearr_14931_16919 \x3d state_14926__$1;\n(statearr_14931_16919[(2)] \x3d null);\n\n(statearr_14931_16919[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14927 \x3d\x3d\x3d (6))){\nvar state_14926__$1 \x3d state_14926;\nvar statearr_14933_16920 \x3d state_14926__$1;\n(statearr_14933_16920[(2)] \x3d null);\n\n(statearr_14933_16920[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14927 \x3d\x3d\x3d (7))){\nvar inst_14922 \x3d (state_14926[(2)]);\nvar state_14926__$1 \x3d state_14926;\nvar statearr_14940_16921 \x3d state_14926__$1;\n(statearr_14940_16921[(2)] \x3d inst_14922);\n\n(statearr_14940_16921[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__16901,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))\n;\nreturn ((function (__16901,switch__14360__auto__,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_14949 \x3d [null,null,null,null,null,null,null];\n(statearr_14949[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);\n\n(statearr_14949[(1)] \x3d (1));\n\nreturn statearr_14949;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 \x3d (function (state_14926){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_14926);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e14950){var ex__14364__auto__ \x3d e14950;\nvar statearr_14951_16922 \x3d state_14926;\n(statearr_14951_16922[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_14926[(4)]))){\nvar statearr_14952_16923 \x3d state_14926;\n(statearr_14952_16923[(1)] \x3d cljs.core.first((state_14926[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__16924 \x3d state_14926;\nstate_14926 \x3d G__16924;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d function(state_14926){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_14926);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;\n})()\n;})(__16901,switch__14360__auto__,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_14953 \x3d f__14407__auto__();\n(statearr_14953[(6)] \x3d c__14406__auto___16915);\n\nreturn statearr_14953;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n});})(__16901,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))\n);\n\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__14861_16903__$1)].join(\x27\x27)));\n\n}\n\nvar G__16925 \x3d (__16901 + (1));\n__16901 \x3d G__16925;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar c__14406__auto___16926 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_14975){\nvar state_val_14976 \x3d (state_14975[(1)]);\nif((state_val_14976 \x3d\x3d\x3d (7))){\nvar inst_14971 \x3d (state_14975[(2)]);\nvar state_14975__$1 \x3d state_14975;\nvar statearr_14977_16927 \x3d state_14975__$1;\n(statearr_14977_16927[(2)] \x3d inst_14971);\n\n(statearr_14977_16927[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14976 \x3d\x3d\x3d (1))){\nvar state_14975__$1 \x3d state_14975;\nvar statearr_14978_16928 \x3d state_14975__$1;\n(statearr_14978_16928[(2)] \x3d null);\n\n(statearr_14978_16928[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14976 \x3d\x3d\x3d (4))){\nvar inst_14956 \x3d (state_14975[(7)]);\nvar inst_14956__$1 \x3d (state_14975[(2)]);\nvar inst_14957 \x3d (inst_14956__$1 \x3d\x3d null);\nvar state_14975__$1 \x3d (function (){var statearr_14979 \x3d state_14975;\n(statearr_14979[(7)] \x3d inst_14956__$1);\n\nreturn statearr_14979;\n})();\nif(cljs.core.truth_(inst_14957)){\nvar statearr_14980_16929 \x3d state_14975__$1;\n(statearr_14980_16929[(1)] \x3d (5));\n\n} else {\nvar statearr_14981_16930 \x3d state_14975__$1;\n(statearr_14981_16930[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14976 \x3d\x3d\x3d (6))){\nvar inst_14961 \x3d (state_14975[(8)]);\nvar inst_14956 \x3d (state_14975[(7)]);\nvar inst_14961__$1 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar inst_14962 \x3d cljs.core.PersistentVector.EMPTY_NODE;\nvar inst_14963 \x3d [inst_14956,inst_14961__$1];\nvar inst_14964 \x3d (new cljs.core.PersistentVector(null,2,(5),inst_14962,inst_14963,null));\nvar state_14975__$1 \x3d (function (){var statearr_14982 \x3d state_14975;\n(statearr_14982[(8)] \x3d inst_14961__$1);\n\nreturn statearr_14982;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_14975__$1,(8),jobs,inst_14964);\n} else {\nif((state_val_14976 \x3d\x3d\x3d (3))){\nvar inst_14973 \x3d (state_14975[(2)]);\nvar state_14975__$1 \x3d state_14975;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_14975__$1,inst_14973);\n} else {\nif((state_val_14976 \x3d\x3d\x3d (2))){\nvar state_14975__$1 \x3d state_14975;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_14975__$1,(4),from);\n} else {\nif((state_val_14976 \x3d\x3d\x3d (9))){\nvar inst_14968 \x3d (state_14975[(2)]);\nvar state_14975__$1 \x3d (function (){var statearr_14983 \x3d state_14975;\n(statearr_14983[(9)] \x3d inst_14968);\n\nreturn statearr_14983;\n})();\nvar statearr_14984_16931 \x3d state_14975__$1;\n(statearr_14984_16931[(2)] \x3d null);\n\n(statearr_14984_16931[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14976 \x3d\x3d\x3d (5))){\nvar inst_14959 \x3d cljs.core.async.close_BANG_(jobs);\nvar state_14975__$1 \x3d state_14975;\nvar statearr_14985_16932 \x3d state_14975__$1;\n(statearr_14985_16932[(2)] \x3d inst_14959);\n\n(statearr_14985_16932[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_14976 \x3d\x3d\x3d (8))){\nvar inst_14961 \x3d (state_14975[(8)]);\nvar inst_14966 \x3d (state_14975[(2)]);\nvar state_14975__$1 \x3d (function (){var statearr_14986 \x3d state_14975;\n(statearr_14986[(10)] \x3d inst_14966);\n\nreturn statearr_14986;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_14975__$1,(9),results,inst_14961);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_14988 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_14988[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);\n\n(statearr_14988[(1)] \x3d (1));\n\nreturn statearr_14988;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 \x3d (function (state_14975){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_14975);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e14992){var ex__14364__auto__ \x3d e14992;\nvar statearr_14993_16933 \x3d state_14975;\n(statearr_14993_16933[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_14975[(4)]))){\nvar statearr_14994_16934 \x3d state_14975;\n(statearr_14994_16934[(1)] \x3d cljs.core.first((state_14975[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__16935 \x3d state_14975;\nstate_14975 \x3d G__16935;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d function(state_14975){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_14975);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_14995 \x3d f__14407__auto__();\n(statearr_14995[(6)] \x3d c__14406__auto___16926);\n\nreturn statearr_14995;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nvar c__14406__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_15039){\nvar state_val_15040 \x3d (state_15039[(1)]);\nif((state_val_15040 \x3d\x3d\x3d (7))){\nvar inst_15033 \x3d (state_15039[(2)]);\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15041_16936 \x3d state_15039__$1;\n(statearr_15041_16936[(2)] \x3d inst_15033);\n\n(statearr_15041_16936[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (20))){\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15042_16937 \x3d state_15039__$1;\n(statearr_15042_16937[(2)] \x3d null);\n\n(statearr_15042_16937[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (1))){\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15043_16938 \x3d state_15039__$1;\n(statearr_15043_16938[(2)] \x3d null);\n\n(statearr_15043_16938[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (4))){\nvar inst_14998 \x3d (state_15039[(7)]);\nvar inst_14998__$1 \x3d (state_15039[(2)]);\nvar inst_14999 \x3d (inst_14998__$1 \x3d\x3d null);\nvar state_15039__$1 \x3d (function (){var statearr_15044 \x3d state_15039;\n(statearr_15044[(7)] \x3d inst_14998__$1);\n\nreturn statearr_15044;\n})();\nif(cljs.core.truth_(inst_14999)){\nvar statearr_15045_16939 \x3d state_15039__$1;\n(statearr_15045_16939[(1)] \x3d (5));\n\n} else {\nvar statearr_15046_16940 \x3d state_15039__$1;\n(statearr_15046_16940[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (15))){\nvar inst_15013 \x3d (state_15039[(8)]);\nvar state_15039__$1 \x3d state_15039;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_15039__$1,(18),to,inst_15013);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (21))){\nvar inst_15028 \x3d (state_15039[(2)]);\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15047_16941 \x3d state_15039__$1;\n(statearr_15047_16941[(2)] \x3d inst_15028);\n\n(statearr_15047_16941[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (13))){\nvar inst_15030 \x3d (state_15039[(2)]);\nvar state_15039__$1 \x3d (function (){var statearr_15048 \x3d state_15039;\n(statearr_15048[(9)] \x3d inst_15030);\n\nreturn statearr_15048;\n})();\nvar statearr_15049_16942 \x3d state_15039__$1;\n(statearr_15049_16942[(2)] \x3d null);\n\n(statearr_15049_16942[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (6))){\nvar inst_14998 \x3d (state_15039[(7)]);\nvar state_15039__$1 \x3d state_15039;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_15039__$1,(11),inst_14998);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (17))){\nvar inst_15023 \x3d (state_15039[(2)]);\nvar state_15039__$1 \x3d state_15039;\nif(cljs.core.truth_(inst_15023)){\nvar statearr_15050_16943 \x3d state_15039__$1;\n(statearr_15050_16943[(1)] \x3d (19));\n\n} else {\nvar statearr_15051_16944 \x3d state_15039__$1;\n(statearr_15051_16944[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (3))){\nvar inst_15035 \x3d (state_15039[(2)]);\nvar state_15039__$1 \x3d state_15039;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_15039__$1,inst_15035);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (12))){\nvar inst_15008 \x3d (state_15039[(10)]);\nvar state_15039__$1 \x3d state_15039;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_15039__$1,(14),inst_15008);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (2))){\nvar state_15039__$1 \x3d state_15039;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_15039__$1,(4),results);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (19))){\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15052_16946 \x3d state_15039__$1;\n(statearr_15052_16946[(2)] \x3d null);\n\n(statearr_15052_16946[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (11))){\nvar inst_15008 \x3d (state_15039[(2)]);\nvar state_15039__$1 \x3d (function (){var statearr_15053 \x3d state_15039;\n(statearr_15053[(10)] \x3d inst_15008);\n\nreturn statearr_15053;\n})();\nvar statearr_15054_16947 \x3d state_15039__$1;\n(statearr_15054_16947[(2)] \x3d null);\n\n(statearr_15054_16947[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (9))){\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15055_16949 \x3d state_15039__$1;\n(statearr_15055_16949[(2)] \x3d null);\n\n(statearr_15055_16949[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (5))){\nvar state_15039__$1 \x3d state_15039;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_15056_16950 \x3d state_15039__$1;\n(statearr_15056_16950[(1)] \x3d (8));\n\n} else {\nvar statearr_15057_16951 \x3d state_15039__$1;\n(statearr_15057_16951[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (14))){\nvar inst_15015 \x3d (state_15039[(11)]);\nvar inst_15013 \x3d (state_15039[(8)]);\nvar inst_15013__$1 \x3d (state_15039[(2)]);\nvar inst_15014 \x3d (inst_15013__$1 \x3d\x3d null);\nvar inst_15015__$1 \x3d cljs.core.not(inst_15014);\nvar state_15039__$1 \x3d (function (){var statearr_15058 \x3d state_15039;\n(statearr_15058[(11)] \x3d inst_15015__$1);\n\n(statearr_15058[(8)] \x3d inst_15013__$1);\n\nreturn statearr_15058;\n})();\nif(inst_15015__$1){\nvar statearr_15059_16952 \x3d state_15039__$1;\n(statearr_15059_16952[(1)] \x3d (15));\n\n} else {\nvar statearr_15060_16953 \x3d state_15039__$1;\n(statearr_15060_16953[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (16))){\nvar inst_15015 \x3d (state_15039[(11)]);\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15061_16954 \x3d state_15039__$1;\n(statearr_15061_16954[(2)] \x3d inst_15015);\n\n(statearr_15061_16954[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (10))){\nvar inst_15005 \x3d (state_15039[(2)]);\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15062_16955 \x3d state_15039__$1;\n(statearr_15062_16955[(2)] \x3d inst_15005);\n\n(statearr_15062_16955[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (18))){\nvar inst_15020 \x3d (state_15039[(2)]);\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15063_16956 \x3d state_15039__$1;\n(statearr_15063_16956[(2)] \x3d inst_15020);\n\n(statearr_15063_16956[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15040 \x3d\x3d\x3d (8))){\nvar inst_15002 \x3d cljs.core.async.close_BANG_(to);\nvar state_15039__$1 \x3d state_15039;\nvar statearr_15064_16957 \x3d state_15039__$1;\n(statearr_15064_16957[(2)] \x3d inst_15002);\n\n(statearr_15064_16957[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_15065 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_15065[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);\n\n(statearr_15065[(1)] \x3d (1));\n\nreturn statearr_15065;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 \x3d (function (state_15039){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_15039);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e15066){var ex__14364__auto__ \x3d e15066;\nvar statearr_15067_16958 \x3d state_15039;\n(statearr_15067_16958[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_15039[(4)]))){\nvar statearr_15068_16959 \x3d state_15039;\n(statearr_15068_16959[(1)] \x3d cljs.core.first((state_15039[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__16960 \x3d state_15039;\nstate_15039 \x3d G__16960;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ \x3d function(state_15039){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_15039);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_15069 \x3d f__14407__auto__();\n(statearr_15069[(6)] \x3d c__14406__auto__);\n\nreturn statearr_15069;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\nreturn c__14406__auto__;\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel, subject to the async function af, with parallelism n. af\n * must be a function of two arguments, the first an input value and\n * the second a channel on which to place the result(s). The\n * presumption is that af will return immediately, having launched some\n * asynchronous operation whose completion/callback will put results on\n * the channel, then close! it. Outputs will be returned in order\n * relative to the inputs. By default, the to channel will be closed\n * when the from channel closes, but can be determined by the close?\n * parameter. Will stop consuming the from channel if the to channel\n * closes. See also pipeline, pipeline-blocking.\n */\ncljs.core.async.pipeline_async \x3d (function cljs$core$async$pipeline_async(var_args){\nvar G__15071 \x3d arguments.length;\nswitch (G__15071) {\ncase 4:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,af,from){\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5(n,to,af,from,true);\n}));\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,af,from,close_QMARK_){\nreturn cljs.core.async.pipeline_STAR_(n,to,af,from,close_QMARK_,null,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\n}));\n\n(cljs.core.async.pipeline_async.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel, subject to the transducer xf, with parallelism n. Because\n * it is parallel, the transducer will be applied independently to each\n * element, not across elements, and may produce zero or more outputs\n * per input. Outputs will be returned in order relative to the\n * inputs. By default, the to channel will be closed when the from\n * channel closes, but can be determined by the close? parameter. Will\n * stop consuming the from channel if the to channel closes.\n * \n * Note this is supplied for API compatibility with the Clojure version.\n * Values of N \x3e 1 will not result in actual concurrency in a\n * single-threaded runtime.\n */\ncljs.core.async.pipeline \x3d (function cljs$core$async$pipeline(var_args){\nvar G__15074 \x3d arguments.length;\nswitch (G__15074) {\ncase 4:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,xf,from){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5(n,to,xf,from,true);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,xf,from,close_QMARK_){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6(n,to,xf,from,close_QMARK_,null);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6 \x3d (function (n,to,xf,from,close_QMARK_,ex_handler){\nreturn cljs.core.async.pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,new cljs.core.Keyword(null,\x22compute\x22,\x22compute\x22,1555393130));\n}));\n\n(cljs.core.async.pipeline.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Takes a predicate and a source channel and returns a vector of two\n * channels, the first of which will contain the values for which the\n * predicate returned true, the second those for which it returned\n * false.\n * \n * The out channels will be unbuffered by default, or two buf-or-ns can\n * be supplied. The channels will close after the source channel has\n * closed.\n */\ncljs.core.async.split \x3d (function cljs$core$async$split(var_args){\nvar G__15085 \x3d arguments.length;\nswitch (G__15085) {\ncase 2:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4(p,ch,null,null);\n}));\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,ch,t_buf_or_n,f_buf_or_n){\nvar tc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(t_buf_or_n);\nvar fc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(f_buf_or_n);\nvar c__14406__auto___16965 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_15111){\nvar state_val_15112 \x3d (state_15111[(1)]);\nif((state_val_15112 \x3d\x3d\x3d (7))){\nvar inst_15107 \x3d (state_15111[(2)]);\nvar state_15111__$1 \x3d state_15111;\nvar statearr_15117_16966 \x3d state_15111__$1;\n(statearr_15117_16966[(2)] \x3d inst_15107);\n\n(statearr_15117_16966[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (1))){\nvar state_15111__$1 \x3d state_15111;\nvar statearr_15118_16967 \x3d state_15111__$1;\n(statearr_15118_16967[(2)] \x3d null);\n\n(statearr_15118_16967[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (4))){\nvar inst_15088 \x3d (state_15111[(7)]);\nvar inst_15088__$1 \x3d (state_15111[(2)]);\nvar inst_15089 \x3d (inst_15088__$1 \x3d\x3d null);\nvar state_15111__$1 \x3d (function (){var statearr_15119 \x3d state_15111;\n(statearr_15119[(7)] \x3d inst_15088__$1);\n\nreturn statearr_15119;\n})();\nif(cljs.core.truth_(inst_15089)){\nvar statearr_15121_16968 \x3d state_15111__$1;\n(statearr_15121_16968[(1)] \x3d (5));\n\n} else {\nvar statearr_15123_16969 \x3d state_15111__$1;\n(statearr_15123_16969[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (13))){\nvar state_15111__$1 \x3d state_15111;\nvar statearr_15125_16970 \x3d state_15111__$1;\n(statearr_15125_16970[(2)] \x3d null);\n\n(statearr_15125_16970[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (6))){\nvar inst_15088 \x3d (state_15111[(7)]);\nvar inst_15094 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_15088) : p.call(null,inst_15088));\nvar state_15111__$1 \x3d state_15111;\nif(cljs.core.truth_(inst_15094)){\nvar statearr_15126_16971 \x3d state_15111__$1;\n(statearr_15126_16971[(1)] \x3d (9));\n\n} else {\nvar statearr_15128_16972 \x3d state_15111__$1;\n(statearr_15128_16972[(1)] \x3d (10));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (3))){\nvar inst_15109 \x3d (state_15111[(2)]);\nvar state_15111__$1 \x3d state_15111;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_15111__$1,inst_15109);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (12))){\nvar state_15111__$1 \x3d state_15111;\nvar statearr_15129_16973 \x3d state_15111__$1;\n(statearr_15129_16973[(2)] \x3d null);\n\n(statearr_15129_16973[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (2))){\nvar state_15111__$1 \x3d state_15111;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_15111__$1,(4),ch);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (11))){\nvar inst_15088 \x3d (state_15111[(7)]);\nvar inst_15098 \x3d (state_15111[(2)]);\nvar state_15111__$1 \x3d state_15111;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_15111__$1,(8),inst_15098,inst_15088);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (9))){\nvar state_15111__$1 \x3d state_15111;\nvar statearr_15130_16974 \x3d state_15111__$1;\n(statearr_15130_16974[(2)] \x3d tc);\n\n(statearr_15130_16974[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (5))){\nvar inst_15091 \x3d cljs.core.async.close_BANG_(tc);\nvar inst_15092 \x3d cljs.core.async.close_BANG_(fc);\nvar state_15111__$1 \x3d (function (){var statearr_15133 \x3d state_15111;\n(statearr_15133[(8)] \x3d inst_15091);\n\nreturn statearr_15133;\n})();\nvar statearr_15134_16975 \x3d state_15111__$1;\n(statearr_15134_16975[(2)] \x3d inst_15092);\n\n(statearr_15134_16975[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (14))){\nvar inst_15105 \x3d (state_15111[(2)]);\nvar state_15111__$1 \x3d state_15111;\nvar statearr_15136_16980 \x3d state_15111__$1;\n(statearr_15136_16980[(2)] \x3d inst_15105);\n\n(statearr_15136_16980[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (10))){\nvar state_15111__$1 \x3d state_15111;\nvar statearr_15139_16981 \x3d state_15111__$1;\n(statearr_15139_16981[(2)] \x3d fc);\n\n(statearr_15139_16981[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15112 \x3d\x3d\x3d (8))){\nvar inst_15100 \x3d (state_15111[(2)]);\nvar state_15111__$1 \x3d state_15111;\nif(cljs.core.truth_(inst_15100)){\nvar statearr_15140_16982 \x3d state_15111__$1;\n(statearr_15140_16982[(1)] \x3d (12));\n\n} else {\nvar statearr_15141_16983 \x3d state_15111__$1;\n(statearr_15141_16983[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_15143 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_15143[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_15143[(1)] \x3d (1));\n\nreturn statearr_15143;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_15111){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_15111);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e15145){var ex__14364__auto__ \x3d e15145;\nvar statearr_15146_16984 \x3d state_15111;\n(statearr_15146_16984[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_15111[(4)]))){\nvar statearr_15147_16985 \x3d state_15111;\n(statearr_15147_16985[(1)] \x3d cljs.core.first((state_15111[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__16986 \x3d state_15111;\nstate_15111 \x3d G__16986;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_15111){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_15111);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_15148 \x3d f__14407__auto__();\n(statearr_15148[(6)] \x3d c__14406__auto___16965);\n\nreturn statearr_15148;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [tc,fc], null);\n}));\n\n(cljs.core.async.split.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * f should be a function of 2 arguments. Returns a channel containing\n * the single result of applying f to init and the first item from the\n * channel, then applying f to that result and the 2nd item, etc. If\n * the channel closes without yielding items, returns init and f is not\n * called. ch must close before reduce produces a result.\n */\ncljs.core.async.reduce \x3d (function cljs$core$async$reduce(f,init,ch){\nvar c__14406__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_15171){\nvar state_val_15172 \x3d (state_15171[(1)]);\nif((state_val_15172 \x3d\x3d\x3d (7))){\nvar inst_15166 \x3d (state_15171[(2)]);\nvar state_15171__$1 \x3d state_15171;\nvar statearr_15175_16987 \x3d state_15171__$1;\n(statearr_15175_16987[(2)] \x3d inst_15166);\n\n(statearr_15175_16987[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15172 \x3d\x3d\x3d (1))){\nvar inst_15149 \x3d init;\nvar inst_15150 \x3d inst_15149;\nvar state_15171__$1 \x3d (function (){var statearr_15176 \x3d state_15171;\n(statearr_15176[(7)] \x3d inst_15150);\n\nreturn statearr_15176;\n})();\nvar statearr_15177_16988 \x3d state_15171__$1;\n(statearr_15177_16988[(2)] \x3d null);\n\n(statearr_15177_16988[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15172 \x3d\x3d\x3d (4))){\nvar inst_15153 \x3d (state_15171[(8)]);\nvar inst_15153__$1 \x3d (state_15171[(2)]);\nvar inst_15154 \x3d (inst_15153__$1 \x3d\x3d null);\nvar state_15171__$1 \x3d (function (){var statearr_15181 \x3d state_15171;\n(statearr_15181[(8)] \x3d inst_15153__$1);\n\nreturn statearr_15181;\n})();\nif(cljs.core.truth_(inst_15154)){\nvar statearr_15182_16989 \x3d state_15171__$1;\n(statearr_15182_16989[(1)] \x3d (5));\n\n} else {\nvar statearr_15183_16990 \x3d state_15171__$1;\n(statearr_15183_16990[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15172 \x3d\x3d\x3d (6))){\nvar inst_15153 \x3d (state_15171[(8)]);\nvar inst_15157 \x3d (state_15171[(9)]);\nvar inst_15150 \x3d (state_15171[(7)]);\nvar inst_15157__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(inst_15150,inst_15153) : f.call(null,inst_15150,inst_15153));\nvar inst_15158 \x3d cljs.core.reduced_QMARK_(inst_15157__$1);\nvar state_15171__$1 \x3d (function (){var statearr_15184 \x3d state_15171;\n(statearr_15184[(9)] \x3d inst_15157__$1);\n\nreturn statearr_15184;\n})();\nif(inst_15158){\nvar statearr_15185_16991 \x3d state_15171__$1;\n(statearr_15185_16991[(1)] \x3d (8));\n\n} else {\nvar statearr_15186_16992 \x3d state_15171__$1;\n(statearr_15186_16992[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15172 \x3d\x3d\x3d (3))){\nvar inst_15168 \x3d (state_15171[(2)]);\nvar state_15171__$1 \x3d state_15171;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_15171__$1,inst_15168);\n} else {\nif((state_val_15172 \x3d\x3d\x3d (2))){\nvar state_15171__$1 \x3d state_15171;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_15171__$1,(4),ch);\n} else {\nif((state_val_15172 \x3d\x3d\x3d (9))){\nvar inst_15157 \x3d (state_15171[(9)]);\nvar inst_15150 \x3d inst_15157;\nvar state_15171__$1 \x3d (function (){var statearr_15187 \x3d state_15171;\n(statearr_15187[(7)] \x3d inst_15150);\n\nreturn statearr_15187;\n})();\nvar statearr_15188_16993 \x3d state_15171__$1;\n(statearr_15188_16993[(2)] \x3d null);\n\n(statearr_15188_16993[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15172 \x3d\x3d\x3d (5))){\nvar inst_15150 \x3d (state_15171[(7)]);\nvar state_15171__$1 \x3d state_15171;\nvar statearr_15189_16994 \x3d state_15171__$1;\n(statearr_15189_16994[(2)] \x3d inst_15150);\n\n(statearr_15189_16994[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15172 \x3d\x3d\x3d (10))){\nvar inst_15164 \x3d (state_15171[(2)]);\nvar state_15171__$1 \x3d state_15171;\nvar statearr_15190_16995 \x3d state_15171__$1;\n(statearr_15190_16995[(2)] \x3d inst_15164);\n\n(statearr_15190_16995[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15172 \x3d\x3d\x3d (8))){\nvar inst_15157 \x3d (state_15171[(9)]);\nvar inst_15160 \x3d cljs.core.deref(inst_15157);\nvar state_15171__$1 \x3d state_15171;\nvar statearr_15191_16996 \x3d state_15171__$1;\n(statearr_15191_16996[(2)] \x3d inst_15160);\n\n(statearr_15191_16996[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$reduce_$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$reduce_$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_15192 \x3d [null,null,null,null,null,null,null,null,null,null];\n(statearr_15192[(0)] \x3d cljs$core$async$reduce_$_state_machine__14361__auto__);\n\n(statearr_15192[(1)] \x3d (1));\n\nreturn statearr_15192;\n});\nvar cljs$core$async$reduce_$_state_machine__14361__auto____1 \x3d (function (state_15171){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_15171);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e15193){var ex__14364__auto__ \x3d e15193;\nvar statearr_15195_16997 \x3d state_15171;\n(statearr_15195_16997[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_15171[(4)]))){\nvar statearr_15196_16998 \x3d state_15171;\n(statearr_15196_16998[(1)] \x3d cljs.core.first((state_15171[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__16999 \x3d state_15171;\nstate_15171 \x3d G__16999;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$reduce_$_state_machine__14361__auto__ \x3d function(state_15171){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$reduce_$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$reduce_$_state_machine__14361__auto____1.call(this,state_15171);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$reduce_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$reduce_$_state_machine__14361__auto____0;\ncljs$core$async$reduce_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$reduce_$_state_machine__14361__auto____1;\nreturn cljs$core$async$reduce_$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_15197 \x3d f__14407__auto__();\n(statearr_15197[(6)] \x3d c__14406__auto__);\n\nreturn statearr_15197;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\nreturn c__14406__auto__;\n});\n/**\n * async/reduces a channel with a transformation (xform f).\n * Returns a channel containing the result. ch must close before\n * transduce produces a result.\n */\ncljs.core.async.transduce \x3d (function cljs$core$async$transduce(xform,f,init,ch){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar c__14406__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_15209){\nvar state_val_15210 \x3d (state_15209[(1)]);\nif((state_val_15210 \x3d\x3d\x3d (1))){\nvar inst_15204 \x3d cljs.core.async.reduce(f__$1,init,ch);\nvar state_15209__$1 \x3d state_15209;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_15209__$1,(2),inst_15204);\n} else {\nif((state_val_15210 \x3d\x3d\x3d (2))){\nvar inst_15206 \x3d (state_15209[(2)]);\nvar inst_15207 \x3d (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(inst_15206) : f__$1.call(null,inst_15206));\nvar state_15209__$1 \x3d state_15209;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_15209__$1,inst_15207);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$transduce_$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$transduce_$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_15213 \x3d [null,null,null,null,null,null,null];\n(statearr_15213[(0)] \x3d cljs$core$async$transduce_$_state_machine__14361__auto__);\n\n(statearr_15213[(1)] \x3d (1));\n\nreturn statearr_15213;\n});\nvar cljs$core$async$transduce_$_state_machine__14361__auto____1 \x3d (function (state_15209){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_15209);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e15214){var ex__14364__auto__ \x3d e15214;\nvar statearr_15215_17000 \x3d state_15209;\n(statearr_15215_17000[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_15209[(4)]))){\nvar statearr_15216_17001 \x3d state_15209;\n(statearr_15216_17001[(1)] \x3d cljs.core.first((state_15209[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17002 \x3d state_15209;\nstate_15209 \x3d G__17002;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$transduce_$_state_machine__14361__auto__ \x3d function(state_15209){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$transduce_$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$transduce_$_state_machine__14361__auto____1.call(this,state_15209);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$transduce_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$transduce_$_state_machine__14361__auto____0;\ncljs$core$async$transduce_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$transduce_$_state_machine__14361__auto____1;\nreturn cljs$core$async$transduce_$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_15217 \x3d f__14407__auto__();\n(statearr_15217[(6)] \x3d c__14406__auto__);\n\nreturn statearr_15217;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\nreturn c__14406__auto__;\n});\n/**\n * Puts the contents of coll into the supplied channel.\n * \n * By default the channel will be closed after the items are copied,\n * but can be determined by the close? parameter.\n * \n * Returns a channel which will close after the items are copied.\n */\ncljs.core.async.onto_chan_BANG_ \x3d (function cljs$core$async$onto_chan_BANG_(var_args){\nvar G__15219 \x3d arguments.length;\nswitch (G__15219) {\ncase 2:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nvar c__14406__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_15245){\nvar state_val_15246 \x3d (state_15245[(1)]);\nif((state_val_15246 \x3d\x3d\x3d (7))){\nvar inst_15227 \x3d (state_15245[(2)]);\nvar state_15245__$1 \x3d state_15245;\nvar statearr_15251_17004 \x3d state_15245__$1;\n(statearr_15251_17004[(2)] \x3d inst_15227);\n\n(statearr_15251_17004[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (1))){\nvar inst_15221 \x3d cljs.core.seq(coll);\nvar inst_15222 \x3d inst_15221;\nvar state_15245__$1 \x3d (function (){var statearr_15252 \x3d state_15245;\n(statearr_15252[(7)] \x3d inst_15222);\n\nreturn statearr_15252;\n})();\nvar statearr_15253_17005 \x3d state_15245__$1;\n(statearr_15253_17005[(2)] \x3d null);\n\n(statearr_15253_17005[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (4))){\nvar inst_15222 \x3d (state_15245[(7)]);\nvar inst_15225 \x3d cljs.core.first(inst_15222);\nvar state_15245__$1 \x3d state_15245;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_15245__$1,(7),ch,inst_15225);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (13))){\nvar inst_15239 \x3d (state_15245[(2)]);\nvar state_15245__$1 \x3d state_15245;\nvar statearr_15254_17006 \x3d state_15245__$1;\n(statearr_15254_17006[(2)] \x3d inst_15239);\n\n(statearr_15254_17006[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (6))){\nvar inst_15230 \x3d (state_15245[(2)]);\nvar state_15245__$1 \x3d state_15245;\nif(cljs.core.truth_(inst_15230)){\nvar statearr_15255_17007 \x3d state_15245__$1;\n(statearr_15255_17007[(1)] \x3d (8));\n\n} else {\nvar statearr_15256_17008 \x3d state_15245__$1;\n(statearr_15256_17008[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (3))){\nvar inst_15243 \x3d (state_15245[(2)]);\nvar state_15245__$1 \x3d state_15245;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_15245__$1,inst_15243);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (12))){\nvar state_15245__$1 \x3d state_15245;\nvar statearr_15257_17009 \x3d state_15245__$1;\n(statearr_15257_17009[(2)] \x3d null);\n\n(statearr_15257_17009[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (2))){\nvar inst_15222 \x3d (state_15245[(7)]);\nvar state_15245__$1 \x3d state_15245;\nif(cljs.core.truth_(inst_15222)){\nvar statearr_15258_17010 \x3d state_15245__$1;\n(statearr_15258_17010[(1)] \x3d (4));\n\n} else {\nvar statearr_15259_17011 \x3d state_15245__$1;\n(statearr_15259_17011[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (11))){\nvar inst_15236 \x3d cljs.core.async.close_BANG_(ch);\nvar state_15245__$1 \x3d state_15245;\nvar statearr_15260_17012 \x3d state_15245__$1;\n(statearr_15260_17012[(2)] \x3d inst_15236);\n\n(statearr_15260_17012[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (9))){\nvar state_15245__$1 \x3d state_15245;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_15261_17013 \x3d state_15245__$1;\n(statearr_15261_17013[(1)] \x3d (11));\n\n} else {\nvar statearr_15262_17014 \x3d state_15245__$1;\n(statearr_15262_17014[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (5))){\nvar inst_15222 \x3d (state_15245[(7)]);\nvar state_15245__$1 \x3d state_15245;\nvar statearr_15263_17015 \x3d state_15245__$1;\n(statearr_15263_17015[(2)] \x3d inst_15222);\n\n(statearr_15263_17015[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (10))){\nvar inst_15241 \x3d (state_15245[(2)]);\nvar state_15245__$1 \x3d state_15245;\nvar statearr_15264_17016 \x3d state_15245__$1;\n(statearr_15264_17016[(2)] \x3d inst_15241);\n\n(statearr_15264_17016[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15246 \x3d\x3d\x3d (8))){\nvar inst_15222 \x3d (state_15245[(7)]);\nvar inst_15232 \x3d cljs.core.next(inst_15222);\nvar inst_15222__$1 \x3d inst_15232;\nvar state_15245__$1 \x3d (function (){var statearr_15266 \x3d state_15245;\n(statearr_15266[(7)] \x3d inst_15222__$1);\n\nreturn statearr_15266;\n})();\nvar statearr_15267_17017 \x3d state_15245__$1;\n(statearr_15267_17017[(2)] \x3d null);\n\n(statearr_15267_17017[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_15273 \x3d [null,null,null,null,null,null,null,null];\n(statearr_15273[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_15273[(1)] \x3d (1));\n\nreturn statearr_15273;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_15245){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_15245);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e15274){var ex__14364__auto__ \x3d e15274;\nvar statearr_15275_17018 \x3d state_15245;\n(statearr_15275_17018[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_15245[(4)]))){\nvar statearr_15276_17019 \x3d state_15245;\n(statearr_15276_17019[(1)] \x3d cljs.core.first((state_15245[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17020 \x3d state_15245;\nstate_15245 \x3d G__17020;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_15245){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_15245);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_15277 \x3d f__14407__auto__();\n(statearr_15277[(6)] \x3d c__14406__auto__);\n\nreturn statearr_15277;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\nreturn c__14406__auto__;\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates and returns a channel which contains the contents of coll,\n * closing when exhausted.\n */\ncljs.core.async.to_chan_BANG_ \x3d (function cljs$core$async$to_chan_BANG_(coll){\nvar ch \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.bounded_count((100),coll));\ncljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2(ch,coll);\n\nreturn ch;\n});\n/**\n * Deprecated - use onto-chan!\n */\ncljs.core.async.onto_chan \x3d (function cljs$core$async$onto_chan(var_args){\nvar G__15282 \x3d arguments.length;\nswitch (G__15282) {\ncase 2:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,close_QMARK_);\n}));\n\n(cljs.core.async.onto_chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - use to-chan!\n */\ncljs.core.async.to_chan \x3d (function cljs$core$async$to_chan(coll){\nreturn cljs.core.async.to_chan_BANG_(coll);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mux \x3d function(){};\n\nvar cljs$core$async$Mux$muxch_STAR_$dyn_17022 \x3d (function (_){\nvar x__5393__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5394__auto__ \x3d (cljs.core.async.muxch_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5394__auto__.call(null,_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.muxch_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5392__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mux.muxch*\x22,_);\n}\n}\n});\ncljs.core.async.muxch_STAR_ \x3d (function cljs$core$async$muxch_STAR_(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$core$async$Mux$muxch_STAR_$arity$1(_);\n} else {\nreturn cljs$core$async$Mux$muxch_STAR_$dyn_17022(_);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.Mult \x3d function(){};\n\nvar cljs$core$async$Mult$tap_STAR_$dyn_17023 \x3d (function (m,ch,close_QMARK_){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.tap_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5394__auto__.call(null,m,ch,close_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.tap_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5392__auto__.call(null,m,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.tap*\x22,m);\n}\n}\n});\ncljs.core.async.tap_STAR_ \x3d (function cljs$core$async$tap_STAR_(m,ch,close_QMARK_){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$tap_STAR_$arity$3(m,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Mult$tap_STAR_$dyn_17023(m,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Mult$untap_STAR_$dyn_17024 \x3d (function (m,ch){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.untap_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.untap_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap*\x22,m);\n}\n}\n});\ncljs.core.async.untap_STAR_ \x3d (function cljs$core$async$untap_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mult$untap_STAR_$dyn_17024(m,ch);\n}\n});\n\nvar cljs$core$async$Mult$untap_all_STAR_$dyn_17025 \x3d (function (m){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.untap_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5394__auto__.call(null,m));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.untap_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5392__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap-all*\x22,m);\n}\n}\n});\ncljs.core.async.untap_all_STAR_ \x3d (function cljs$core$async$untap_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mult$untap_all_STAR_$dyn_17025(m);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.Mult}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async15296 \x3d (function (ch,cs,meta15297){\nthis.ch \x3d ch;\nthis.cs \x3d cs;\nthis.meta15297 \x3d meta15297;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_15298,meta15297__$1){\nvar self__ \x3d this;\nvar _15298__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async15296(self__.ch,self__.cs,meta15297__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_15298){\nvar self__ \x3d this;\nvar _15298__$1 \x3d this;\nreturn self__.meta15297;\n}));\n\n(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mult$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d (function (_,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch__$1,close_QMARK_);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d (function (_,ch__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch__$1);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async15296.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22meta15297\x22,\x22meta15297\x22,2059700778,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async15296.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async15296.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async15296\x22);\n\n(cljs.core.async.t_cljs$core$async15296.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async15296\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async15296.\n */\ncljs.core.async.__GT_t_cljs$core$async15296 \x3d (function cljs$core$async$__GT_t_cljs$core$async15296(ch,cs,meta15297){\nreturn (new cljs.core.async.t_cljs$core$async15296(ch,cs,meta15297));\n});\n\n\n/**\n * Creates and returns a mult(iple) of the supplied channel. Channels\n * containing copies of the channel can be created with \x27tap\x27, and\n * detached with \x27untap\x27.\n * \n * Each item is distributed to all taps in parallel and synchronously,\n * i.e. each tap must accept before the next item is distributed. Use\n * buffering/windowing to prevent slow taps from holding up the mult.\n * \n * Items received when there are no taps get dropped.\n * \n * If a tap puts to a closed channel, it will be removed from the mult.\n */\ncljs.core.async.mult \x3d (function cljs$core$async$mult(ch){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar m \x3d (new cljs.core.async.t_cljs$core$async15296(ch,cs,cljs.core.PersistentArrayMap.EMPTY));\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d (function (_){\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,true);\n} else {\nreturn null;\n}\n});\nvar c__14406__auto___17026 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_15469){\nvar state_val_15470 \x3d (state_15469[(1)]);\nif((state_val_15470 \x3d\x3d\x3d (7))){\nvar inst_15462 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15471_17027 \x3d state_15469__$1;\n(statearr_15471_17027[(2)] \x3d inst_15462);\n\n(statearr_15471_17027[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (20))){\nvar inst_15351 \x3d (state_15469[(7)]);\nvar inst_15366 \x3d cljs.core.first(inst_15351);\nvar inst_15367 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15366,(0),null);\nvar inst_15368 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15366,(1),null);\nvar state_15469__$1 \x3d (function (){var statearr_15472 \x3d state_15469;\n(statearr_15472[(8)] \x3d inst_15367);\n\nreturn statearr_15472;\n})();\nif(cljs.core.truth_(inst_15368)){\nvar statearr_15473_17028 \x3d state_15469__$1;\n(statearr_15473_17028[(1)] \x3d (22));\n\n} else {\nvar statearr_15474_17029 \x3d state_15469__$1;\n(statearr_15474_17029[(1)] \x3d (23));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (27))){\nvar inst_15408 \x3d (state_15469[(9)]);\nvar inst_15318 \x3d (state_15469[(10)]);\nvar inst_15400 \x3d (state_15469[(11)]);\nvar inst_15402 \x3d (state_15469[(12)]);\nvar inst_15408__$1 \x3d cljs.core._nth(inst_15400,inst_15402);\nvar inst_15409 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_15408__$1,inst_15318,done);\nvar state_15469__$1 \x3d (function (){var statearr_15475 \x3d state_15469;\n(statearr_15475[(9)] \x3d inst_15408__$1);\n\nreturn statearr_15475;\n})();\nif(cljs.core.truth_(inst_15409)){\nvar statearr_15476_17030 \x3d state_15469__$1;\n(statearr_15476_17030[(1)] \x3d (30));\n\n} else {\nvar statearr_15477_17031 \x3d state_15469__$1;\n(statearr_15477_17031[(1)] \x3d (31));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (1))){\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15478_17032 \x3d state_15469__$1;\n(statearr_15478_17032[(2)] \x3d null);\n\n(statearr_15478_17032[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (24))){\nvar inst_15351 \x3d (state_15469[(7)]);\nvar inst_15373 \x3d (state_15469[(2)]);\nvar inst_15374 \x3d cljs.core.next(inst_15351);\nvar inst_15329 \x3d inst_15374;\nvar inst_15330 \x3d null;\nvar inst_15331 \x3d (0);\nvar inst_15332 \x3d (0);\nvar state_15469__$1 \x3d (function (){var statearr_15479 \x3d state_15469;\n(statearr_15479[(13)] \x3d inst_15330);\n\n(statearr_15479[(14)] \x3d inst_15373);\n\n(statearr_15479[(15)] \x3d inst_15332);\n\n(statearr_15479[(16)] \x3d inst_15331);\n\n(statearr_15479[(17)] \x3d inst_15329);\n\nreturn statearr_15479;\n})();\nvar statearr_15480_17033 \x3d state_15469__$1;\n(statearr_15480_17033[(2)] \x3d null);\n\n(statearr_15480_17033[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (39))){\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15486_17034 \x3d state_15469__$1;\n(statearr_15486_17034[(2)] \x3d null);\n\n(statearr_15486_17034[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (4))){\nvar inst_15318 \x3d (state_15469[(10)]);\nvar inst_15318__$1 \x3d (state_15469[(2)]);\nvar inst_15321 \x3d (inst_15318__$1 \x3d\x3d null);\nvar state_15469__$1 \x3d (function (){var statearr_15487 \x3d state_15469;\n(statearr_15487[(10)] \x3d inst_15318__$1);\n\nreturn statearr_15487;\n})();\nif(cljs.core.truth_(inst_15321)){\nvar statearr_15488_17035 \x3d state_15469__$1;\n(statearr_15488_17035[(1)] \x3d (5));\n\n} else {\nvar statearr_15489_17036 \x3d state_15469__$1;\n(statearr_15489_17036[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (15))){\nvar inst_15330 \x3d (state_15469[(13)]);\nvar inst_15332 \x3d (state_15469[(15)]);\nvar inst_15331 \x3d (state_15469[(16)]);\nvar inst_15329 \x3d (state_15469[(17)]);\nvar inst_15347 \x3d (state_15469[(2)]);\nvar inst_15348 \x3d (inst_15332 + (1));\nvar tmp15481 \x3d inst_15330;\nvar tmp15482 \x3d inst_15331;\nvar tmp15483 \x3d inst_15329;\nvar inst_15329__$1 \x3d tmp15483;\nvar inst_15330__$1 \x3d tmp15481;\nvar inst_15331__$1 \x3d tmp15482;\nvar inst_15332__$1 \x3d inst_15348;\nvar state_15469__$1 \x3d (function (){var statearr_15490 \x3d state_15469;\n(statearr_15490[(13)] \x3d inst_15330__$1);\n\n(statearr_15490[(15)] \x3d inst_15332__$1);\n\n(statearr_15490[(16)] \x3d inst_15331__$1);\n\n(statearr_15490[(17)] \x3d inst_15329__$1);\n\n(statearr_15490[(18)] \x3d inst_15347);\n\nreturn statearr_15490;\n})();\nvar statearr_15491_17039 \x3d state_15469__$1;\n(statearr_15491_17039[(2)] \x3d null);\n\n(statearr_15491_17039[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (21))){\nvar inst_15377 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15495_17040 \x3d state_15469__$1;\n(statearr_15495_17040[(2)] \x3d inst_15377);\n\n(statearr_15495_17040[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (31))){\nvar inst_15408 \x3d (state_15469[(9)]);\nvar inst_15413 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_15408);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15496_17041 \x3d state_15469__$1;\n(statearr_15496_17041[(2)] \x3d inst_15413);\n\n(statearr_15496_17041[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (32))){\nvar inst_15401 \x3d (state_15469[(19)]);\nvar inst_15400 \x3d (state_15469[(11)]);\nvar inst_15399 \x3d (state_15469[(20)]);\nvar inst_15402 \x3d (state_15469[(12)]);\nvar inst_15418 \x3d (state_15469[(2)]);\nvar inst_15419 \x3d (inst_15402 + (1));\nvar tmp15492 \x3d inst_15401;\nvar tmp15493 \x3d inst_15400;\nvar tmp15494 \x3d inst_15399;\nvar inst_15399__$1 \x3d tmp15494;\nvar inst_15400__$1 \x3d tmp15493;\nvar inst_15401__$1 \x3d tmp15492;\nvar inst_15402__$1 \x3d inst_15419;\nvar state_15469__$1 \x3d (function (){var statearr_15497 \x3d state_15469;\n(statearr_15497[(19)] \x3d inst_15401__$1);\n\n(statearr_15497[(21)] \x3d inst_15418);\n\n(statearr_15497[(11)] \x3d inst_15400__$1);\n\n(statearr_15497[(20)] \x3d inst_15399__$1);\n\n(statearr_15497[(12)] \x3d inst_15402__$1);\n\nreturn statearr_15497;\n})();\nvar statearr_15498_17042 \x3d state_15469__$1;\n(statearr_15498_17042[(2)] \x3d null);\n\n(statearr_15498_17042[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (40))){\nvar inst_15433 \x3d (state_15469[(22)]);\nvar inst_15438 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_15433);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15499_17043 \x3d state_15469__$1;\n(statearr_15499_17043[(2)] \x3d inst_15438);\n\n(statearr_15499_17043[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (33))){\nvar inst_15423 \x3d (state_15469[(23)]);\nvar inst_15426 \x3d cljs.core.chunked_seq_QMARK_(inst_15423);\nvar state_15469__$1 \x3d state_15469;\nif(inst_15426){\nvar statearr_15500_17044 \x3d state_15469__$1;\n(statearr_15500_17044[(1)] \x3d (36));\n\n} else {\nvar statearr_15501_17045 \x3d state_15469__$1;\n(statearr_15501_17045[(1)] \x3d (37));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (13))){\nvar inst_15341 \x3d (state_15469[(24)]);\nvar inst_15344 \x3d cljs.core.async.close_BANG_(inst_15341);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15502_17046 \x3d state_15469__$1;\n(statearr_15502_17046[(2)] \x3d inst_15344);\n\n(statearr_15502_17046[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (22))){\nvar inst_15367 \x3d (state_15469[(8)]);\nvar inst_15370 \x3d cljs.core.async.close_BANG_(inst_15367);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15508_17047 \x3d state_15469__$1;\n(statearr_15508_17047[(2)] \x3d inst_15370);\n\n(statearr_15508_17047[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (36))){\nvar inst_15423 \x3d (state_15469[(23)]);\nvar inst_15428 \x3d cljs.core.chunk_first(inst_15423);\nvar inst_15429 \x3d cljs.core.chunk_rest(inst_15423);\nvar inst_15430 \x3d cljs.core.count(inst_15428);\nvar inst_15399 \x3d inst_15429;\nvar inst_15400 \x3d inst_15428;\nvar inst_15401 \x3d inst_15430;\nvar inst_15402 \x3d (0);\nvar state_15469__$1 \x3d (function (){var statearr_15514 \x3d state_15469;\n(statearr_15514[(19)] \x3d inst_15401);\n\n(statearr_15514[(11)] \x3d inst_15400);\n\n(statearr_15514[(20)] \x3d inst_15399);\n\n(statearr_15514[(12)] \x3d inst_15402);\n\nreturn statearr_15514;\n})();\nvar statearr_15515_17048 \x3d state_15469__$1;\n(statearr_15515_17048[(2)] \x3d null);\n\n(statearr_15515_17048[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (41))){\nvar inst_15423 \x3d (state_15469[(23)]);\nvar inst_15440 \x3d (state_15469[(2)]);\nvar inst_15441 \x3d cljs.core.next(inst_15423);\nvar inst_15399 \x3d inst_15441;\nvar inst_15400 \x3d null;\nvar inst_15401 \x3d (0);\nvar inst_15402 \x3d (0);\nvar state_15469__$1 \x3d (function (){var statearr_15516 \x3d state_15469;\n(statearr_15516[(19)] \x3d inst_15401);\n\n(statearr_15516[(11)] \x3d inst_15400);\n\n(statearr_15516[(25)] \x3d inst_15440);\n\n(statearr_15516[(20)] \x3d inst_15399);\n\n(statearr_15516[(12)] \x3d inst_15402);\n\nreturn statearr_15516;\n})();\nvar statearr_15517_17053 \x3d state_15469__$1;\n(statearr_15517_17053[(2)] \x3d null);\n\n(statearr_15517_17053[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (43))){\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15520_17054 \x3d state_15469__$1;\n(statearr_15520_17054[(2)] \x3d null);\n\n(statearr_15520_17054[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (29))){\nvar inst_15450 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15521_17058 \x3d state_15469__$1;\n(statearr_15521_17058[(2)] \x3d inst_15450);\n\n(statearr_15521_17058[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (44))){\nvar inst_15459 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d (function (){var statearr_15523 \x3d state_15469;\n(statearr_15523[(26)] \x3d inst_15459);\n\nreturn statearr_15523;\n})();\nvar statearr_15524_17059 \x3d state_15469__$1;\n(statearr_15524_17059[(2)] \x3d null);\n\n(statearr_15524_17059[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (6))){\nvar inst_15387 \x3d (state_15469[(27)]);\nvar inst_15386 \x3d cljs.core.deref(cs);\nvar inst_15387__$1 \x3d cljs.core.keys(inst_15386);\nvar inst_15388 \x3d cljs.core.count(inst_15387__$1);\nvar inst_15389 \x3d cljs.core.reset_BANG_(dctr,inst_15388);\nvar inst_15395 \x3d cljs.core.seq(inst_15387__$1);\nvar inst_15399 \x3d inst_15395;\nvar inst_15400 \x3d null;\nvar inst_15401 \x3d (0);\nvar inst_15402 \x3d (0);\nvar state_15469__$1 \x3d (function (){var statearr_15526 \x3d state_15469;\n(statearr_15526[(19)] \x3d inst_15401);\n\n(statearr_15526[(28)] \x3d inst_15389);\n\n(statearr_15526[(11)] \x3d inst_15400);\n\n(statearr_15526[(27)] \x3d inst_15387__$1);\n\n(statearr_15526[(20)] \x3d inst_15399);\n\n(statearr_15526[(12)] \x3d inst_15402);\n\nreturn statearr_15526;\n})();\nvar statearr_15527_17060 \x3d state_15469__$1;\n(statearr_15527_17060[(2)] \x3d null);\n\n(statearr_15527_17060[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (28))){\nvar inst_15423 \x3d (state_15469[(23)]);\nvar inst_15399 \x3d (state_15469[(20)]);\nvar inst_15423__$1 \x3d cljs.core.seq(inst_15399);\nvar state_15469__$1 \x3d (function (){var statearr_15528 \x3d state_15469;\n(statearr_15528[(23)] \x3d inst_15423__$1);\n\nreturn statearr_15528;\n})();\nif(inst_15423__$1){\nvar statearr_15529_17064 \x3d state_15469__$1;\n(statearr_15529_17064[(1)] \x3d (33));\n\n} else {\nvar statearr_15530_17065 \x3d state_15469__$1;\n(statearr_15530_17065[(1)] \x3d (34));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (25))){\nvar inst_15401 \x3d (state_15469[(19)]);\nvar inst_15402 \x3d (state_15469[(12)]);\nvar inst_15404 \x3d (inst_15402 \x3c inst_15401);\nvar inst_15405 \x3d inst_15404;\nvar state_15469__$1 \x3d state_15469;\nif(cljs.core.truth_(inst_15405)){\nvar statearr_15531_17066 \x3d state_15469__$1;\n(statearr_15531_17066[(1)] \x3d (27));\n\n} else {\nvar statearr_15532_17067 \x3d state_15469__$1;\n(statearr_15532_17067[(1)] \x3d (28));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (34))){\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15533_17068 \x3d state_15469__$1;\n(statearr_15533_17068[(2)] \x3d null);\n\n(statearr_15533_17068[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (17))){\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15534_17072 \x3d state_15469__$1;\n(statearr_15534_17072[(2)] \x3d null);\n\n(statearr_15534_17072[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (3))){\nvar inst_15464 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_15469__$1,inst_15464);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (12))){\nvar inst_15382 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15535_17073 \x3d state_15469__$1;\n(statearr_15535_17073[(2)] \x3d inst_15382);\n\n(statearr_15535_17073[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (2))){\nvar state_15469__$1 \x3d state_15469;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_15469__$1,(4),ch);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (23))){\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15536_17074 \x3d state_15469__$1;\n(statearr_15536_17074[(2)] \x3d null);\n\n(statearr_15536_17074[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (35))){\nvar inst_15448 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15537_17075 \x3d state_15469__$1;\n(statearr_15537_17075[(2)] \x3d inst_15448);\n\n(statearr_15537_17075[(1)] \x3d (29));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (19))){\nvar inst_15351 \x3d (state_15469[(7)]);\nvar inst_15355 \x3d cljs.core.chunk_first(inst_15351);\nvar inst_15356 \x3d cljs.core.chunk_rest(inst_15351);\nvar inst_15359 \x3d cljs.core.count(inst_15355);\nvar inst_15329 \x3d inst_15356;\nvar inst_15330 \x3d inst_15355;\nvar inst_15331 \x3d inst_15359;\nvar inst_15332 \x3d (0);\nvar state_15469__$1 \x3d (function (){var statearr_15538 \x3d state_15469;\n(statearr_15538[(13)] \x3d inst_15330);\n\n(statearr_15538[(15)] \x3d inst_15332);\n\n(statearr_15538[(16)] \x3d inst_15331);\n\n(statearr_15538[(17)] \x3d inst_15329);\n\nreturn statearr_15538;\n})();\nvar statearr_15539_17079 \x3d state_15469__$1;\n(statearr_15539_17079[(2)] \x3d null);\n\n(statearr_15539_17079[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (11))){\nvar inst_15329 \x3d (state_15469[(17)]);\nvar inst_15351 \x3d (state_15469[(7)]);\nvar inst_15351__$1 \x3d cljs.core.seq(inst_15329);\nvar state_15469__$1 \x3d (function (){var statearr_15540 \x3d state_15469;\n(statearr_15540[(7)] \x3d inst_15351__$1);\n\nreturn statearr_15540;\n})();\nif(inst_15351__$1){\nvar statearr_15541_17080 \x3d state_15469__$1;\n(statearr_15541_17080[(1)] \x3d (16));\n\n} else {\nvar statearr_15542_17081 \x3d state_15469__$1;\n(statearr_15542_17081[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (9))){\nvar inst_15384 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15543_17082 \x3d state_15469__$1;\n(statearr_15543_17082[(2)] \x3d inst_15384);\n\n(statearr_15543_17082[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (5))){\nvar inst_15327 \x3d cljs.core.deref(cs);\nvar inst_15328 \x3d cljs.core.seq(inst_15327);\nvar inst_15329 \x3d inst_15328;\nvar inst_15330 \x3d null;\nvar inst_15331 \x3d (0);\nvar inst_15332 \x3d (0);\nvar state_15469__$1 \x3d (function (){var statearr_15544 \x3d state_15469;\n(statearr_15544[(13)] \x3d inst_15330);\n\n(statearr_15544[(15)] \x3d inst_15332);\n\n(statearr_15544[(16)] \x3d inst_15331);\n\n(statearr_15544[(17)] \x3d inst_15329);\n\nreturn statearr_15544;\n})();\nvar statearr_15545_17087 \x3d state_15469__$1;\n(statearr_15545_17087[(2)] \x3d null);\n\n(statearr_15545_17087[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (14))){\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15546_17088 \x3d state_15469__$1;\n(statearr_15546_17088[(2)] \x3d null);\n\n(statearr_15546_17088[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (45))){\nvar inst_15456 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15547_17092 \x3d state_15469__$1;\n(statearr_15547_17092[(2)] \x3d inst_15456);\n\n(statearr_15547_17092[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (26))){\nvar inst_15387 \x3d (state_15469[(27)]);\nvar inst_15452 \x3d (state_15469[(2)]);\nvar inst_15453 \x3d cljs.core.seq(inst_15387);\nvar state_15469__$1 \x3d (function (){var statearr_15554 \x3d state_15469;\n(statearr_15554[(29)] \x3d inst_15452);\n\nreturn statearr_15554;\n})();\nif(inst_15453){\nvar statearr_15555_17093 \x3d state_15469__$1;\n(statearr_15555_17093[(1)] \x3d (42));\n\n} else {\nvar statearr_15556_17094 \x3d state_15469__$1;\n(statearr_15556_17094[(1)] \x3d (43));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (16))){\nvar inst_15351 \x3d (state_15469[(7)]);\nvar inst_15353 \x3d cljs.core.chunked_seq_QMARK_(inst_15351);\nvar state_15469__$1 \x3d state_15469;\nif(inst_15353){\nvar statearr_15557_17095 \x3d state_15469__$1;\n(statearr_15557_17095[(1)] \x3d (19));\n\n} else {\nvar statearr_15558_17096 \x3d state_15469__$1;\n(statearr_15558_17096[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (38))){\nvar inst_15445 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15559_17097 \x3d state_15469__$1;\n(statearr_15559_17097[(2)] \x3d inst_15445);\n\n(statearr_15559_17097[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (30))){\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15560_17098 \x3d state_15469__$1;\n(statearr_15560_17098[(2)] \x3d null);\n\n(statearr_15560_17098[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (10))){\nvar inst_15330 \x3d (state_15469[(13)]);\nvar inst_15332 \x3d (state_15469[(15)]);\nvar inst_15340 \x3d cljs.core._nth(inst_15330,inst_15332);\nvar inst_15341 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15340,(0),null);\nvar inst_15342 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15340,(1),null);\nvar state_15469__$1 \x3d (function (){var statearr_15561 \x3d state_15469;\n(statearr_15561[(24)] \x3d inst_15341);\n\nreturn statearr_15561;\n})();\nif(cljs.core.truth_(inst_15342)){\nvar statearr_15562_17099 \x3d state_15469__$1;\n(statearr_15562_17099[(1)] \x3d (13));\n\n} else {\nvar statearr_15563_17100 \x3d state_15469__$1;\n(statearr_15563_17100[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (18))){\nvar inst_15380 \x3d (state_15469[(2)]);\nvar state_15469__$1 \x3d state_15469;\nvar statearr_15564_17101 \x3d state_15469__$1;\n(statearr_15564_17101[(2)] \x3d inst_15380);\n\n(statearr_15564_17101[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (42))){\nvar state_15469__$1 \x3d state_15469;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_15469__$1,(45),dchan);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (37))){\nvar inst_15423 \x3d (state_15469[(23)]);\nvar inst_15318 \x3d (state_15469[(10)]);\nvar inst_15433 \x3d (state_15469[(22)]);\nvar inst_15433__$1 \x3d cljs.core.first(inst_15423);\nvar inst_15434 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_15433__$1,inst_15318,done);\nvar state_15469__$1 \x3d (function (){var statearr_15565 \x3d state_15469;\n(statearr_15565[(22)] \x3d inst_15433__$1);\n\nreturn statearr_15565;\n})();\nif(cljs.core.truth_(inst_15434)){\nvar statearr_15566_17102 \x3d state_15469__$1;\n(statearr_15566_17102[(1)] \x3d (39));\n\n} else {\nvar statearr_15567_17103 \x3d state_15469__$1;\n(statearr_15567_17103[(1)] \x3d (40));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15470 \x3d\x3d\x3d (8))){\nvar inst_15332 \x3d (state_15469[(15)]);\nvar inst_15331 \x3d (state_15469[(16)]);\nvar inst_15334 \x3d (inst_15332 \x3c inst_15331);\nvar inst_15335 \x3d inst_15334;\nvar state_15469__$1 \x3d state_15469;\nif(cljs.core.truth_(inst_15335)){\nvar statearr_15568_17104 \x3d state_15469__$1;\n(statearr_15568_17104[(1)] \x3d (10));\n\n} else {\nvar statearr_15569_17105 \x3d state_15469__$1;\n(statearr_15569_17105[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mult_$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$mult_$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_15578 \x3d [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];\n(statearr_15578[(0)] \x3d cljs$core$async$mult_$_state_machine__14361__auto__);\n\n(statearr_15578[(1)] \x3d (1));\n\nreturn statearr_15578;\n});\nvar cljs$core$async$mult_$_state_machine__14361__auto____1 \x3d (function (state_15469){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_15469);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e15579){var ex__14364__auto__ \x3d e15579;\nvar statearr_15580_17106 \x3d state_15469;\n(statearr_15580_17106[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_15469[(4)]))){\nvar statearr_15581_17107 \x3d state_15469;\n(statearr_15581_17107[(1)] \x3d cljs.core.first((state_15469[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17108 \x3d state_15469;\nstate_15469 \x3d G__17108;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mult_$_state_machine__14361__auto__ \x3d function(state_15469){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mult_$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mult_$_state_machine__14361__auto____1.call(this,state_15469);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mult_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mult_$_state_machine__14361__auto____0;\ncljs$core$async$mult_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mult_$_state_machine__14361__auto____1;\nreturn cljs$core$async$mult_$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_15582 \x3d f__14407__auto__();\n(statearr_15582[(6)] \x3d c__14406__auto___17026);\n\nreturn statearr_15582;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Copies the mult source onto the supplied channel.\n * \n * By default the channel will be closed when the source closes,\n * but can be determined by the close? parameter.\n */\ncljs.core.async.tap \x3d (function cljs$core$async$tap(var_args){\nvar G__15584 \x3d arguments.length;\nswitch (G__15584) {\ncase 2:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2 \x3d (function (mult,ch){\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(mult,ch,true);\n}));\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3 \x3d (function (mult,ch,close_QMARK_){\ncljs.core.async.tap_STAR_(mult,ch,close_QMARK_);\n\nreturn ch;\n}));\n\n(cljs.core.async.tap.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Disconnects a target channel from a mult\n */\ncljs.core.async.untap \x3d (function cljs$core$async$untap(mult,ch){\nreturn cljs.core.async.untap_STAR_(mult,ch);\n});\n/**\n * Disconnects all target channels from a mult\n */\ncljs.core.async.untap_all \x3d (function cljs$core$async$untap_all(mult){\nreturn cljs.core.async.untap_all_STAR_(mult);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mix \x3d function(){};\n\nvar cljs$core$async$Mix$admix_STAR_$dyn_17110 \x3d (function (m,ch){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.admix_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.admix_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.admix*\x22,m);\n}\n}\n});\ncljs.core.async.admix_STAR_ \x3d (function cljs$core$async$admix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$admix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$admix_STAR_$dyn_17110(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_STAR_$dyn_17111 \x3d (function (m,ch){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.unmix_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unmix_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_STAR_ \x3d (function cljs$core$async$unmix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$unmix_STAR_$dyn_17111(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_all_STAR_$dyn_17112 \x3d (function (m){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5394__auto__.call(null,m));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unmix_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5392__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix-all*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_all_STAR_ \x3d (function cljs$core$async$unmix_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mix$unmix_all_STAR_$dyn_17112(m);\n}\n});\n\nvar cljs$core$async$Mix$toggle_STAR_$dyn_17113 \x3d (function (m,state_map){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.toggle_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5394__auto__.call(null,m,state_map));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.toggle_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5392__auto__.call(null,m,state_map));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.toggle*\x22,m);\n}\n}\n});\ncljs.core.async.toggle_STAR_ \x3d (function cljs$core$async$toggle_STAR_(m,state_map){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$toggle_STAR_$arity$2(m,state_map);\n} else {\nreturn cljs$core$async$Mix$toggle_STAR_$dyn_17113(m,state_map);\n}\n});\n\nvar cljs$core$async$Mix$solo_mode_STAR_$dyn_17114 \x3d (function (m,mode){\nvar x__5393__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5394__auto__ \x3d (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5394__auto__.call(null,m,mode));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.solo_mode_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5392__auto__.call(null,m,mode));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.solo-mode*\x22,m);\n}\n}\n});\ncljs.core.async.solo_mode_STAR_ \x3d (function cljs$core$async$solo_mode_STAR_(m,mode){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$solo_mode_STAR_$arity$2(m,mode);\n} else {\nreturn cljs$core$async$Mix$solo_mode_STAR_$dyn_17114(m,mode);\n}\n});\n\ncljs.core.async.ioc_alts_BANG_ \x3d (function cljs$core$async$ioc_alts_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___17115 \x3d arguments.length;\nvar i__5770__auto___17116 \x3d (0);\nwhile(true){\nif((i__5770__auto___17116 \x3c len__5769__auto___17115)){\nargs__5775__auto__.push((arguments[i__5770__auto___17116]));\n\nvar G__17117 \x3d (i__5770__auto___17116 + (1));\ni__5770__auto___17116 \x3d G__17117;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((3) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5776__auto__);\n});\n\n(cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (state,cont_block,ports,p__15604){\nvar map__15605 \x3d p__15604;\nvar map__15605__$1 \x3d cljs.core.__destructure_map(map__15605);\nvar opts \x3d map__15605__$1;\nvar statearr_15606_17118 \x3d state;\n(statearr_15606_17118[(1)] \x3d cont_block);\n\n\nvar temp__5804__auto__ \x3d cljs.core.async.do_alts((function (val){\nvar statearr_15607_17119 \x3d state;\n(statearr_15607_17119[(2)] \x3d val);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n}),ports,opts);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar cb \x3d temp__5804__auto__;\nvar statearr_15608_17120 \x3d state;\n(statearr_15608_17120[(2)] \x3d cljs.core.deref(cb));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$applyTo \x3d (function (seq15600){\nvar G__15601 \x3d cljs.core.first(seq15600);\nvar seq15600__$1 \x3d cljs.core.next(seq15600);\nvar G__15602 \x3d cljs.core.first(seq15600__$1);\nvar seq15600__$2 \x3d cljs.core.next(seq15600__$1);\nvar G__15603 \x3d cljs.core.first(seq15600__$2);\nvar seq15600__$3 \x3d cljs.core.next(seq15600__$2);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15601,G__15602,G__15603,seq15600__$3);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mix}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async15615 \x3d (function (change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta15616){\nthis.change \x3d change;\nthis.solo_mode \x3d solo_mode;\nthis.pick \x3d pick;\nthis.cs \x3d cs;\nthis.calc_state \x3d calc_state;\nthis.out \x3d out;\nthis.changed \x3d changed;\nthis.solo_modes \x3d solo_modes;\nthis.attrs \x3d attrs;\nthis.meta15616 \x3d meta15616;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_15617,meta15616__$1){\nvar self__ \x3d this;\nvar _15617__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async15615(self__.change,self__.solo_mode,self__.pick,self__.cs,self__.calc_state,self__.out,self__.changed,self__.solo_modes,self__.attrs,meta15616__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_15617){\nvar self__ \x3d this;\nvar _15617__$1 \x3d this;\nreturn self__.meta15616;\n}));\n\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.out;\n}));\n\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d (function (_,state_map){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.merge_with,cljs.core.merge),state_map);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d (function (_,mode){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.solo_modes.cljs$core$IFn$_invoke$arity$1 ? self__.solo_modes.cljs$core$IFn$_invoke$arity$1(mode) : self__.solo_modes.call(null,mode)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22mode must be one of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.solo_modes)].join(\x27\x27),\x22\\n\x22,\x22(solo-modes mode)\x22].join(\x27\x27)));\n}\n\ncljs.core.reset_BANG_(self__.solo_mode,mode);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async15615.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22change\x22,\x22change\x22,477485025,null),new cljs.core.Symbol(null,\x22solo-mode\x22,\x22solo-mode\x22,2031788074,null),new cljs.core.Symbol(null,\x22pick\x22,\x22pick\x22,1300068175,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22calc-state\x22,\x22calc-state\x22,-349968968,null),new cljs.core.Symbol(null,\x22out\x22,\x22out\x22,729986010,null),new cljs.core.Symbol(null,\x22changed\x22,\x22changed\x22,-2083710852,null),new cljs.core.Symbol(null,\x22solo-modes\x22,\x22solo-modes\x22,882180540,null),new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta15616\x22,\x22meta15616\x22,-44581136,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async15615.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async15615.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async15615\x22);\n\n(cljs.core.async.t_cljs$core$async15615.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async15615\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async15615.\n */\ncljs.core.async.__GT_t_cljs$core$async15615 \x3d (function cljs$core$async$__GT_t_cljs$core$async15615(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta15616){\nreturn (new cljs.core.async.t_cljs$core$async15615(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta15616));\n});\n\n\n/**\n * Creates and returns a mix of one or more input channels which will\n * be put on the supplied out channel. Input sources can be added to\n * the mix with \x27admix\x27, and removed with \x27unmix\x27. A mix supports\n * soloing, muting and pausing multiple inputs atomically using\n * \x27toggle\x27, and can solo using either muting or pausing as determined\n * by \x27solo-mode\x27.\n * \n * Each channel can have zero or more boolean modes set via \x27toggle\x27:\n * \n * :solo - when true, only this (ond other soloed) channel(s) will appear\n * in the mix output channel. :mute and :pause states of soloed\n * channels are ignored. If solo-mode is :mute, non-soloed\n * channels are muted, if :pause, non-soloed channels are\n * paused.\n * \n * :mute - muted channels will have their contents consumed but not included in the mix\n * :pause - paused channels will not have their contents consumed (and thus also not included in the mix)\n */\ncljs.core.async.mix \x3d (function cljs$core$async$mix(out){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar solo_modes \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),null,new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),null], null), null);\nvar attrs \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(solo_modes,new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075));\nvar solo_mode \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646));\nvar change \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.async.sliding_buffer((1)));\nvar changed \x3d (function (){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(change,true);\n});\nvar pick \x3d (function (attr,chs){\nreturn cljs.core.reduce_kv((function (ret,c,v){\nif(cljs.core.truth_((attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(v) : attr.call(null,v)))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,c);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,chs);\n});\nvar calc_state \x3d (function (){\nvar chs \x3d cljs.core.deref(cs);\nvar mode \x3d cljs.core.deref(solo_mode);\nvar solos \x3d pick(new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075),chs);\nvar pauses \x3d pick(new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),chs);\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643),solos,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309),pick(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),chs),new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672))) \x26\x26 ((!(cljs.core.empty_QMARK_(solos))))))?cljs.core.vec(solos):cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(pauses,cljs.core.keys(chs)))),change)], null);\n});\nvar m \x3d (new cljs.core.async.t_cljs$core$async15615(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,cljs.core.PersistentArrayMap.EMPTY));\nvar c__14406__auto___17130 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_15702){\nvar state_val_15703 \x3d (state_15702[(1)]);\nif((state_val_15703 \x3d\x3d\x3d (7))){\nvar inst_15662 \x3d (state_15702[(2)]);\nvar state_15702__$1 \x3d state_15702;\nif(cljs.core.truth_(inst_15662)){\nvar statearr_15715_17131 \x3d state_15702__$1;\n(statearr_15715_17131[(1)] \x3d (8));\n\n} else {\nvar statearr_15716_17132 \x3d state_15702__$1;\n(statearr_15716_17132[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (20))){\nvar inst_15655 \x3d (state_15702[(7)]);\nvar state_15702__$1 \x3d state_15702;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_15702__$1,(23),out,inst_15655);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (1))){\nvar inst_15638 \x3d calc_state();\nvar inst_15639 \x3d cljs.core.__destructure_map(inst_15638);\nvar inst_15640 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15639,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_15641 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15639,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_15642 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15639,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar inst_15643 \x3d inst_15638;\nvar state_15702__$1 \x3d (function (){var statearr_15717 \x3d state_15702;\n(statearr_15717[(8)] \x3d inst_15640);\n\n(statearr_15717[(9)] \x3d inst_15642);\n\n(statearr_15717[(10)] \x3d inst_15641);\n\n(statearr_15717[(11)] \x3d inst_15643);\n\nreturn statearr_15717;\n})();\nvar statearr_15718_17133 \x3d state_15702__$1;\n(statearr_15718_17133[(2)] \x3d null);\n\n(statearr_15718_17133[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (24))){\nvar inst_15646 \x3d (state_15702[(12)]);\nvar inst_15643 \x3d inst_15646;\nvar state_15702__$1 \x3d (function (){var statearr_15719 \x3d state_15702;\n(statearr_15719[(11)] \x3d inst_15643);\n\nreturn statearr_15719;\n})();\nvar statearr_15720_17134 \x3d state_15702__$1;\n(statearr_15720_17134[(2)] \x3d null);\n\n(statearr_15720_17134[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (4))){\nvar inst_15655 \x3d (state_15702[(7)]);\nvar inst_15657 \x3d (state_15702[(13)]);\nvar inst_15654 \x3d (state_15702[(2)]);\nvar inst_15655__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15654,(0),null);\nvar inst_15656 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15654,(1),null);\nvar inst_15657__$1 \x3d (inst_15655__$1 \x3d\x3d null);\nvar state_15702__$1 \x3d (function (){var statearr_15721 \x3d state_15702;\n(statearr_15721[(14)] \x3d inst_15656);\n\n(statearr_15721[(7)] \x3d inst_15655__$1);\n\n(statearr_15721[(13)] \x3d inst_15657__$1);\n\nreturn statearr_15721;\n})();\nif(cljs.core.truth_(inst_15657__$1)){\nvar statearr_15722_17136 \x3d state_15702__$1;\n(statearr_15722_17136[(1)] \x3d (5));\n\n} else {\nvar statearr_15723_17137 \x3d state_15702__$1;\n(statearr_15723_17137[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (15))){\nvar inst_15647 \x3d (state_15702[(15)]);\nvar inst_15676 \x3d (state_15702[(16)]);\nvar inst_15676__$1 \x3d cljs.core.empty_QMARK_(inst_15647);\nvar state_15702__$1 \x3d (function (){var statearr_15724 \x3d state_15702;\n(statearr_15724[(16)] \x3d inst_15676__$1);\n\nreturn statearr_15724;\n})();\nif(inst_15676__$1){\nvar statearr_15725_17138 \x3d state_15702__$1;\n(statearr_15725_17138[(1)] \x3d (17));\n\n} else {\nvar statearr_15726_17139 \x3d state_15702__$1;\n(statearr_15726_17139[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (21))){\nvar inst_15646 \x3d (state_15702[(12)]);\nvar inst_15643 \x3d inst_15646;\nvar state_15702__$1 \x3d (function (){var statearr_15727 \x3d state_15702;\n(statearr_15727[(11)] \x3d inst_15643);\n\nreturn statearr_15727;\n})();\nvar statearr_15728_17140 \x3d state_15702__$1;\n(statearr_15728_17140[(2)] \x3d null);\n\n(statearr_15728_17140[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (13))){\nvar inst_15669 \x3d (state_15702[(2)]);\nvar inst_15670 \x3d calc_state();\nvar inst_15643 \x3d inst_15670;\nvar state_15702__$1 \x3d (function (){var statearr_15729 \x3d state_15702;\n(statearr_15729[(17)] \x3d inst_15669);\n\n(statearr_15729[(11)] \x3d inst_15643);\n\nreturn statearr_15729;\n})();\nvar statearr_15730_17141 \x3d state_15702__$1;\n(statearr_15730_17141[(2)] \x3d null);\n\n(statearr_15730_17141[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (22))){\nvar inst_15696 \x3d (state_15702[(2)]);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15731_17142 \x3d state_15702__$1;\n(statearr_15731_17142[(2)] \x3d inst_15696);\n\n(statearr_15731_17142[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (6))){\nvar inst_15656 \x3d (state_15702[(14)]);\nvar inst_15660 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_15656,change);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15732_17143 \x3d state_15702__$1;\n(statearr_15732_17143[(2)] \x3d inst_15660);\n\n(statearr_15732_17143[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (25))){\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15734_17144 \x3d state_15702__$1;\n(statearr_15734_17144[(2)] \x3d null);\n\n(statearr_15734_17144[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (17))){\nvar inst_15656 \x3d (state_15702[(14)]);\nvar inst_15648 \x3d (state_15702[(18)]);\nvar inst_15678 \x3d (inst_15648.cljs$core$IFn$_invoke$arity$1 ? inst_15648.cljs$core$IFn$_invoke$arity$1(inst_15656) : inst_15648.call(null,inst_15656));\nvar inst_15679 \x3d cljs.core.not(inst_15678);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15739_17145 \x3d state_15702__$1;\n(statearr_15739_17145[(2)] \x3d inst_15679);\n\n(statearr_15739_17145[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (3))){\nvar inst_15700 \x3d (state_15702[(2)]);\nvar state_15702__$1 \x3d state_15702;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_15702__$1,inst_15700);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (12))){\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15740_17146 \x3d state_15702__$1;\n(statearr_15740_17146[(2)] \x3d null);\n\n(statearr_15740_17146[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (2))){\nvar inst_15646 \x3d (state_15702[(12)]);\nvar inst_15643 \x3d (state_15702[(11)]);\nvar inst_15646__$1 \x3d cljs.core.__destructure_map(inst_15643);\nvar inst_15647 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15646__$1,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_15648 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15646__$1,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_15649 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15646__$1,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar state_15702__$1 \x3d (function (){var statearr_15741 \x3d state_15702;\n(statearr_15741[(12)] \x3d inst_15646__$1);\n\n(statearr_15741[(15)] \x3d inst_15647);\n\n(statearr_15741[(18)] \x3d inst_15648);\n\nreturn statearr_15741;\n})();\nreturn cljs.core.async.ioc_alts_BANG_(state_15702__$1,(4),inst_15649);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (23))){\nvar inst_15687 \x3d (state_15702[(2)]);\nvar state_15702__$1 \x3d state_15702;\nif(cljs.core.truth_(inst_15687)){\nvar statearr_15742_17147 \x3d state_15702__$1;\n(statearr_15742_17147[(1)] \x3d (24));\n\n} else {\nvar statearr_15743_17148 \x3d state_15702__$1;\n(statearr_15743_17148[(1)] \x3d (25));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (19))){\nvar inst_15682 \x3d (state_15702[(2)]);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15744_17149 \x3d state_15702__$1;\n(statearr_15744_17149[(2)] \x3d inst_15682);\n\n(statearr_15744_17149[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (11))){\nvar inst_15656 \x3d (state_15702[(14)]);\nvar inst_15666 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cs,cljs.core.dissoc,inst_15656);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15745_17150 \x3d state_15702__$1;\n(statearr_15745_17150[(2)] \x3d inst_15666);\n\n(statearr_15745_17150[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (9))){\nvar inst_15656 \x3d (state_15702[(14)]);\nvar inst_15673 \x3d (state_15702[(19)]);\nvar inst_15647 \x3d (state_15702[(15)]);\nvar inst_15673__$1 \x3d (inst_15647.cljs$core$IFn$_invoke$arity$1 ? inst_15647.cljs$core$IFn$_invoke$arity$1(inst_15656) : inst_15647.call(null,inst_15656));\nvar state_15702__$1 \x3d (function (){var statearr_15746 \x3d state_15702;\n(statearr_15746[(19)] \x3d inst_15673__$1);\n\nreturn statearr_15746;\n})();\nif(cljs.core.truth_(inst_15673__$1)){\nvar statearr_15747_17151 \x3d state_15702__$1;\n(statearr_15747_17151[(1)] \x3d (14));\n\n} else {\nvar statearr_15748_17152 \x3d state_15702__$1;\n(statearr_15748_17152[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (5))){\nvar inst_15657 \x3d (state_15702[(13)]);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15749_17153 \x3d state_15702__$1;\n(statearr_15749_17153[(2)] \x3d inst_15657);\n\n(statearr_15749_17153[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (14))){\nvar inst_15673 \x3d (state_15702[(19)]);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15757_17154 \x3d state_15702__$1;\n(statearr_15757_17154[(2)] \x3d inst_15673);\n\n(statearr_15757_17154[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (26))){\nvar inst_15692 \x3d (state_15702[(2)]);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15758_17155 \x3d state_15702__$1;\n(statearr_15758_17155[(2)] \x3d inst_15692);\n\n(statearr_15758_17155[(1)] \x3d (22));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (16))){\nvar inst_15684 \x3d (state_15702[(2)]);\nvar state_15702__$1 \x3d state_15702;\nif(cljs.core.truth_(inst_15684)){\nvar statearr_15759_17156 \x3d state_15702__$1;\n(statearr_15759_17156[(1)] \x3d (20));\n\n} else {\nvar statearr_15760_17157 \x3d state_15702__$1;\n(statearr_15760_17157[(1)] \x3d (21));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (10))){\nvar inst_15698 \x3d (state_15702[(2)]);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15761_17158 \x3d state_15702__$1;\n(statearr_15761_17158[(2)] \x3d inst_15698);\n\n(statearr_15761_17158[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (18))){\nvar inst_15676 \x3d (state_15702[(16)]);\nvar state_15702__$1 \x3d state_15702;\nvar statearr_15762_17159 \x3d state_15702__$1;\n(statearr_15762_17159[(2)] \x3d inst_15676);\n\n(statearr_15762_17159[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15703 \x3d\x3d\x3d (8))){\nvar inst_15655 \x3d (state_15702[(7)]);\nvar inst_15664 \x3d (inst_15655 \x3d\x3d null);\nvar state_15702__$1 \x3d state_15702;\nif(cljs.core.truth_(inst_15664)){\nvar statearr_15763_17160 \x3d state_15702__$1;\n(statearr_15763_17160[(1)] \x3d (11));\n\n} else {\nvar statearr_15764_17161 \x3d state_15702__$1;\n(statearr_15764_17161[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mix_$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$mix_$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_15765 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_15765[(0)] \x3d cljs$core$async$mix_$_state_machine__14361__auto__);\n\n(statearr_15765[(1)] \x3d (1));\n\nreturn statearr_15765;\n});\nvar cljs$core$async$mix_$_state_machine__14361__auto____1 \x3d (function (state_15702){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_15702);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e15766){var ex__14364__auto__ \x3d e15766;\nvar statearr_15767_17162 \x3d state_15702;\n(statearr_15767_17162[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_15702[(4)]))){\nvar statearr_15768_17163 \x3d state_15702;\n(statearr_15768_17163[(1)] \x3d cljs.core.first((state_15702[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17164 \x3d state_15702;\nstate_15702 \x3d G__17164;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mix_$_state_machine__14361__auto__ \x3d function(state_15702){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mix_$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mix_$_state_machine__14361__auto____1.call(this,state_15702);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mix_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mix_$_state_machine__14361__auto____0;\ncljs$core$async$mix_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mix_$_state_machine__14361__auto____1;\nreturn cljs$core$async$mix_$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_15769 \x3d f__14407__auto__();\n(statearr_15769[(6)] \x3d c__14406__auto___17130);\n\nreturn statearr_15769;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Adds ch as an input to the mix\n */\ncljs.core.async.admix \x3d (function cljs$core$async$admix(mix,ch){\nreturn cljs.core.async.admix_STAR_(mix,ch);\n});\n/**\n * Removes ch as an input to the mix\n */\ncljs.core.async.unmix \x3d (function cljs$core$async$unmix(mix,ch){\nreturn cljs.core.async.unmix_STAR_(mix,ch);\n});\n/**\n * removes all inputs from the mix\n */\ncljs.core.async.unmix_all \x3d (function cljs$core$async$unmix_all(mix){\nreturn cljs.core.async.unmix_all_STAR_(mix);\n});\n/**\n * Atomically sets the state(s) of one or more channels in a mix. The\n * state map is a map of channels -\x3e channel-state-map. A\n * channel-state-map is a map of attrs -\x3e boolean, where attr is one or\n * more of :mute, :pause or :solo. Any states supplied are merged with\n * the current state.\n * \n * Note that channels can be added to a mix via toggle, which can be\n * used to add channels in a particular (e.g. paused) state.\n */\ncljs.core.async.toggle \x3d (function cljs$core$async$toggle(mix,state_map){\nreturn cljs.core.async.toggle_STAR_(mix,state_map);\n});\n/**\n * Sets the solo mode of the mix. mode must be one of :mute or :pause\n */\ncljs.core.async.solo_mode \x3d (function cljs$core$async$solo_mode(mix,mode){\nreturn cljs.core.async.solo_mode_STAR_(mix,mode);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Pub \x3d function(){};\n\nvar cljs$core$async$Pub$sub_STAR_$dyn_17165 \x3d (function (p,v,ch,close_QMARK_){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.sub_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5394__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.sub_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5392__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.sub*\x22,p);\n}\n}\n});\ncljs.core.async.sub_STAR_ \x3d (function cljs$core$async$sub_STAR_(p,v,ch,close_QMARK_){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$sub_STAR_$arity$4(p,v,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Pub$sub_STAR_$dyn_17165(p,v,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Pub$unsub_STAR_$dyn_17166 \x3d (function (p,v,ch){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.unsub_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5394__auto__.call(null,p,v,ch));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unsub_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5392__auto__.call(null,p,v,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub*\x22,p);\n}\n}\n});\ncljs.core.async.unsub_STAR_ \x3d (function cljs$core$async$unsub_STAR_(p,v,ch){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_STAR_$arity$3(p,v,ch);\n} else {\nreturn cljs$core$async$Pub$unsub_STAR_$dyn_17166(p,v,ch);\n}\n});\n\nvar cljs$core$async$Pub$unsub_all_STAR_$dyn_17167 \x3d (function() {\nvar G__17168 \x3d null;\nvar G__17168__1 \x3d (function (p){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5394__auto__.call(null,p));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5392__auto__.call(null,p));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nvar G__17168__2 \x3d (function (p,v){\nvar x__5393__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5394__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5394__auto__.call(null,p,v));\n} else {\nvar m__5392__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5392__auto__.call(null,p,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nG__17168 \x3d function(p,v){\nswitch(arguments.length){\ncase 1:\nreturn G__17168__1.call(this,p);\ncase 2:\nreturn G__17168__2.call(this,p,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__17168.cljs$core$IFn$_invoke$arity$1 \x3d G__17168__1;\nG__17168.cljs$core$IFn$_invoke$arity$2 \x3d G__17168__2;\nreturn G__17168;\n})()\n;\ncljs.core.async.unsub_all_STAR_ \x3d (function cljs$core$async$unsub_all_STAR_(var_args){\nvar G__15772 \x3d arguments.length;\nswitch (G__15772) {\ncase 1:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$1(p);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_17167(p);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,v){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$2(p,v);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_17167(p,v);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.Pub}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async15790 \x3d (function (ch,topic_fn,buf_fn,mults,ensure_mult,meta15791){\nthis.ch \x3d ch;\nthis.topic_fn \x3d topic_fn;\nthis.buf_fn \x3d buf_fn;\nthis.mults \x3d mults;\nthis.ensure_mult \x3d ensure_mult;\nthis.meta15791 \x3d meta15791;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_15792,meta15791__$1){\nvar self__ \x3d this;\nvar _15792__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async15790(self__.ch,self__.topic_fn,self__.buf_fn,self__.mults,self__.ensure_mult,meta15791__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_15792){\nvar self__ \x3d this;\nvar _15792__$1 \x3d this;\nreturn self__.meta15791;\n}));\n\n(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d (function (p,topic,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar m \x3d (self__.ensure_mult.cljs$core$IFn$_invoke$arity$1 ? self__.ensure_mult.cljs$core$IFn$_invoke$arity$1(topic) : self__.ensure_mult.call(null,topic));\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(m,ch__$1,close_QMARK_);\n}));\n\n(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d (function (p,topic,ch__$1){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.mults),topic);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar m \x3d temp__5804__auto__;\nreturn cljs.core.async.untap(m,ch__$1);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reset_BANG_(self__.mults,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d (function (_,topic){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.mults,cljs.core.dissoc,topic);\n}));\n\n(cljs.core.async.t_cljs$core$async15790.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22topic-fn\x22,\x22topic-fn\x22,-862449736,null),new cljs.core.Symbol(null,\x22buf-fn\x22,\x22buf-fn\x22,-1200281591,null),new cljs.core.Symbol(null,\x22mults\x22,\x22mults\x22,-461114485,null),new cljs.core.Symbol(null,\x22ensure-mult\x22,\x22ensure-mult\x22,1796584816,null),new cljs.core.Symbol(null,\x22meta15791\x22,\x22meta15791\x22,-721830798,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async15790.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async15790.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async15790\x22);\n\n(cljs.core.async.t_cljs$core$async15790.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async15790\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async15790.\n */\ncljs.core.async.__GT_t_cljs$core$async15790 \x3d (function cljs$core$async$__GT_t_cljs$core$async15790(ch,topic_fn,buf_fn,mults,ensure_mult,meta15791){\nreturn (new cljs.core.async.t_cljs$core$async15790(ch,topic_fn,buf_fn,mults,ensure_mult,meta15791));\n});\n\n\n/**\n * Creates and returns a pub(lication) of the supplied channel,\n * partitioned into topics by the topic-fn. topic-fn will be applied to\n * each value on the channel and the result will determine the \x27topic\x27\n * on which that value will be put. Channels can be subscribed to\n * receive copies of topics using \x27sub\x27, and unsubscribed using\n * \x27unsub\x27. Each topic will be handled by an internal mult on a\n * dedicated channel. By default these internal channels are\n * unbuffered, but a buf-fn can be supplied which, given a topic,\n * creates a buffer with desired properties.\n * \n * Each item is distributed to all subs in parallel and synchronously,\n * i.e. each sub must accept before the next item is distributed. Use\n * buffering/windowing to prevent slow subs from holding up the pub.\n * \n * Items received when there are no matching subs get dropped.\n * \n * Note that if buf-fns are used then each topic is handled\n * asynchronously, i.e. if a channel is subscribed to more than one\n * topic it should not expect them to be interleaved identically with\n * the source.\n */\ncljs.core.async.pub \x3d (function cljs$core$async$pub(var_args){\nvar G__15787 \x3d arguments.length;\nswitch (G__15787) {\ncase 2:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,topic_fn){\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3(ch,topic_fn,cljs.core.constantly(null));\n}));\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,topic_fn,buf_fn){\nvar mults \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar ensure_mult \x3d (function (topic){\nvar or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mults),topic);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(mults,(function (p1__15785_SHARP_){\nif(cljs.core.truth_((p1__15785_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15785_SHARP_.cljs$core$IFn$_invoke$arity$1(topic) : p1__15785_SHARP_.call(null,topic)))){\nreturn p1__15785_SHARP_;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__15785_SHARP_,topic,cljs.core.async.mult(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((buf_fn.cljs$core$IFn$_invoke$arity$1 ? buf_fn.cljs$core$IFn$_invoke$arity$1(topic) : buf_fn.call(null,topic)))));\n}\n})),topic);\n}\n});\nvar p \x3d (new cljs.core.async.t_cljs$core$async15790(ch,topic_fn,buf_fn,mults,ensure_mult,cljs.core.PersistentArrayMap.EMPTY));\nvar c__14406__auto___17171 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_15889){\nvar state_val_15890 \x3d (state_15889[(1)]);\nif((state_val_15890 \x3d\x3d\x3d (7))){\nvar inst_15885 \x3d (state_15889[(2)]);\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15891_17172 \x3d state_15889__$1;\n(statearr_15891_17172[(2)] \x3d inst_15885);\n\n(statearr_15891_17172[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (20))){\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15892_17173 \x3d state_15889__$1;\n(statearr_15892_17173[(2)] \x3d null);\n\n(statearr_15892_17173[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (1))){\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15893_17174 \x3d state_15889__$1;\n(statearr_15893_17174[(2)] \x3d null);\n\n(statearr_15893_17174[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (24))){\nvar inst_15868 \x3d (state_15889[(7)]);\nvar inst_15877 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(mults,cljs.core.dissoc,inst_15868);\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15894_17175 \x3d state_15889__$1;\n(statearr_15894_17175[(2)] \x3d inst_15877);\n\n(statearr_15894_17175[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (4))){\nvar inst_15809 \x3d (state_15889[(8)]);\nvar inst_15809__$1 \x3d (state_15889[(2)]);\nvar inst_15810 \x3d (inst_15809__$1 \x3d\x3d null);\nvar state_15889__$1 \x3d (function (){var statearr_15895 \x3d state_15889;\n(statearr_15895[(8)] \x3d inst_15809__$1);\n\nreturn statearr_15895;\n})();\nif(cljs.core.truth_(inst_15810)){\nvar statearr_15896_17176 \x3d state_15889__$1;\n(statearr_15896_17176[(1)] \x3d (5));\n\n} else {\nvar statearr_15897_17177 \x3d state_15889__$1;\n(statearr_15897_17177[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (15))){\nvar inst_15862 \x3d (state_15889[(2)]);\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15898_17178 \x3d state_15889__$1;\n(statearr_15898_17178[(2)] \x3d inst_15862);\n\n(statearr_15898_17178[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (21))){\nvar inst_15882 \x3d (state_15889[(2)]);\nvar state_15889__$1 \x3d (function (){var statearr_15899 \x3d state_15889;\n(statearr_15899[(9)] \x3d inst_15882);\n\nreturn statearr_15899;\n})();\nvar statearr_15900_17179 \x3d state_15889__$1;\n(statearr_15900_17179[(2)] \x3d null);\n\n(statearr_15900_17179[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (13))){\nvar inst_15838 \x3d (state_15889[(10)]);\nvar inst_15840 \x3d cljs.core.chunked_seq_QMARK_(inst_15838);\nvar state_15889__$1 \x3d state_15889;\nif(inst_15840){\nvar statearr_15901_17180 \x3d state_15889__$1;\n(statearr_15901_17180[(1)] \x3d (16));\n\n} else {\nvar statearr_15902_17181 \x3d state_15889__$1;\n(statearr_15902_17181[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (22))){\nvar inst_15874 \x3d (state_15889[(2)]);\nvar state_15889__$1 \x3d state_15889;\nif(cljs.core.truth_(inst_15874)){\nvar statearr_15903_17182 \x3d state_15889__$1;\n(statearr_15903_17182[(1)] \x3d (23));\n\n} else {\nvar statearr_15904_17183 \x3d state_15889__$1;\n(statearr_15904_17183[(1)] \x3d (24));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (6))){\nvar inst_15809 \x3d (state_15889[(8)]);\nvar inst_15870 \x3d (state_15889[(11)]);\nvar inst_15868 \x3d (state_15889[(7)]);\nvar inst_15868__$1 \x3d (topic_fn.cljs$core$IFn$_invoke$arity$1 ? topic_fn.cljs$core$IFn$_invoke$arity$1(inst_15809) : topic_fn.call(null,inst_15809));\nvar inst_15869 \x3d cljs.core.deref(mults);\nvar inst_15870__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15869,inst_15868__$1);\nvar state_15889__$1 \x3d (function (){var statearr_15917 \x3d state_15889;\n(statearr_15917[(11)] \x3d inst_15870__$1);\n\n(statearr_15917[(7)] \x3d inst_15868__$1);\n\nreturn statearr_15917;\n})();\nif(cljs.core.truth_(inst_15870__$1)){\nvar statearr_15918_17184 \x3d state_15889__$1;\n(statearr_15918_17184[(1)] \x3d (19));\n\n} else {\nvar statearr_15919_17185 \x3d state_15889__$1;\n(statearr_15919_17185[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (25))){\nvar inst_15879 \x3d (state_15889[(2)]);\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15920_17186 \x3d state_15889__$1;\n(statearr_15920_17186[(2)] \x3d inst_15879);\n\n(statearr_15920_17186[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (17))){\nvar inst_15838 \x3d (state_15889[(10)]);\nvar inst_15853 \x3d cljs.core.first(inst_15838);\nvar inst_15854 \x3d cljs.core.async.muxch_STAR_(inst_15853);\nvar inst_15855 \x3d cljs.core.async.close_BANG_(inst_15854);\nvar inst_15856 \x3d cljs.core.next(inst_15838);\nvar inst_15819 \x3d inst_15856;\nvar inst_15820 \x3d null;\nvar inst_15821 \x3d (0);\nvar inst_15822 \x3d (0);\nvar state_15889__$1 \x3d (function (){var statearr_15921 \x3d state_15889;\n(statearr_15921[(12)] \x3d inst_15819);\n\n(statearr_15921[(13)] \x3d inst_15821);\n\n(statearr_15921[(14)] \x3d inst_15855);\n\n(statearr_15921[(15)] \x3d inst_15822);\n\n(statearr_15921[(16)] \x3d inst_15820);\n\nreturn statearr_15921;\n})();\nvar statearr_15922_17189 \x3d state_15889__$1;\n(statearr_15922_17189[(2)] \x3d null);\n\n(statearr_15922_17189[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (3))){\nvar inst_15887 \x3d (state_15889[(2)]);\nvar state_15889__$1 \x3d state_15889;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_15889__$1,inst_15887);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (12))){\nvar inst_15864 \x3d (state_15889[(2)]);\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15926_17193 \x3d state_15889__$1;\n(statearr_15926_17193[(2)] \x3d inst_15864);\n\n(statearr_15926_17193[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (2))){\nvar state_15889__$1 \x3d state_15889;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_15889__$1,(4),ch);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (23))){\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15945_17194 \x3d state_15889__$1;\n(statearr_15945_17194[(2)] \x3d null);\n\n(statearr_15945_17194[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (19))){\nvar inst_15809 \x3d (state_15889[(8)]);\nvar inst_15870 \x3d (state_15889[(11)]);\nvar inst_15872 \x3d cljs.core.async.muxch_STAR_(inst_15870);\nvar state_15889__$1 \x3d state_15889;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_15889__$1,(22),inst_15872,inst_15809);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (11))){\nvar inst_15838 \x3d (state_15889[(10)]);\nvar inst_15819 \x3d (state_15889[(12)]);\nvar inst_15838__$1 \x3d cljs.core.seq(inst_15819);\nvar state_15889__$1 \x3d (function (){var statearr_15948 \x3d state_15889;\n(statearr_15948[(10)] \x3d inst_15838__$1);\n\nreturn statearr_15948;\n})();\nif(inst_15838__$1){\nvar statearr_15951_17196 \x3d state_15889__$1;\n(statearr_15951_17196[(1)] \x3d (13));\n\n} else {\nvar statearr_15952_17197 \x3d state_15889__$1;\n(statearr_15952_17197[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (9))){\nvar inst_15866 \x3d (state_15889[(2)]);\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15956_17198 \x3d state_15889__$1;\n(statearr_15956_17198[(2)] \x3d inst_15866);\n\n(statearr_15956_17198[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (5))){\nvar inst_15816 \x3d cljs.core.deref(mults);\nvar inst_15817 \x3d cljs.core.vals(inst_15816);\nvar inst_15818 \x3d cljs.core.seq(inst_15817);\nvar inst_15819 \x3d inst_15818;\nvar inst_15820 \x3d null;\nvar inst_15821 \x3d (0);\nvar inst_15822 \x3d (0);\nvar state_15889__$1 \x3d (function (){var statearr_15960 \x3d state_15889;\n(statearr_15960[(12)] \x3d inst_15819);\n\n(statearr_15960[(13)] \x3d inst_15821);\n\n(statearr_15960[(15)] \x3d inst_15822);\n\n(statearr_15960[(16)] \x3d inst_15820);\n\nreturn statearr_15960;\n})();\nvar statearr_15961_17199 \x3d state_15889__$1;\n(statearr_15961_17199[(2)] \x3d null);\n\n(statearr_15961_17199[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (14))){\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15965_17200 \x3d state_15889__$1;\n(statearr_15965_17200[(2)] \x3d null);\n\n(statearr_15965_17200[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (16))){\nvar inst_15838 \x3d (state_15889[(10)]);\nvar inst_15848 \x3d cljs.core.chunk_first(inst_15838);\nvar inst_15849 \x3d cljs.core.chunk_rest(inst_15838);\nvar inst_15850 \x3d cljs.core.count(inst_15848);\nvar inst_15819 \x3d inst_15849;\nvar inst_15820 \x3d inst_15848;\nvar inst_15821 \x3d inst_15850;\nvar inst_15822 \x3d (0);\nvar state_15889__$1 \x3d (function (){var statearr_15967 \x3d state_15889;\n(statearr_15967[(12)] \x3d inst_15819);\n\n(statearr_15967[(13)] \x3d inst_15821);\n\n(statearr_15967[(15)] \x3d inst_15822);\n\n(statearr_15967[(16)] \x3d inst_15820);\n\nreturn statearr_15967;\n})();\nvar statearr_15968_17201 \x3d state_15889__$1;\n(statearr_15968_17201[(2)] \x3d null);\n\n(statearr_15968_17201[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (10))){\nvar inst_15819 \x3d (state_15889[(12)]);\nvar inst_15821 \x3d (state_15889[(13)]);\nvar inst_15822 \x3d (state_15889[(15)]);\nvar inst_15820 \x3d (state_15889[(16)]);\nvar inst_15827 \x3d cljs.core._nth(inst_15820,inst_15822);\nvar inst_15828 \x3d cljs.core.async.muxch_STAR_(inst_15827);\nvar inst_15829 \x3d cljs.core.async.close_BANG_(inst_15828);\nvar inst_15830 \x3d (inst_15822 + (1));\nvar tmp15962 \x3d inst_15819;\nvar tmp15963 \x3d inst_15821;\nvar tmp15964 \x3d inst_15820;\nvar inst_15819__$1 \x3d tmp15962;\nvar inst_15820__$1 \x3d tmp15964;\nvar inst_15821__$1 \x3d tmp15963;\nvar inst_15822__$1 \x3d inst_15830;\nvar state_15889__$1 \x3d (function (){var statearr_15969 \x3d state_15889;\n(statearr_15969[(12)] \x3d inst_15819__$1);\n\n(statearr_15969[(13)] \x3d inst_15821__$1);\n\n(statearr_15969[(15)] \x3d inst_15822__$1);\n\n(statearr_15969[(17)] \x3d inst_15829);\n\n(statearr_15969[(16)] \x3d inst_15820__$1);\n\nreturn statearr_15969;\n})();\nvar statearr_15970_17202 \x3d state_15889__$1;\n(statearr_15970_17202[(2)] \x3d null);\n\n(statearr_15970_17202[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (18))){\nvar inst_15859 \x3d (state_15889[(2)]);\nvar state_15889__$1 \x3d state_15889;\nvar statearr_15988_17203 \x3d state_15889__$1;\n(statearr_15988_17203[(2)] \x3d inst_15859);\n\n(statearr_15988_17203[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_15890 \x3d\x3d\x3d (8))){\nvar inst_15821 \x3d (state_15889[(13)]);\nvar inst_15822 \x3d (state_15889[(15)]);\nvar inst_15824 \x3d (inst_15822 \x3c inst_15821);\nvar inst_15825 \x3d inst_15824;\nvar state_15889__$1 \x3d state_15889;\nif(cljs.core.truth_(inst_15825)){\nvar statearr_15993_17204 \x3d state_15889__$1;\n(statearr_15993_17204[(1)] \x3d (10));\n\n} else {\nvar statearr_15994_17205 \x3d state_15889__$1;\n(statearr_15994_17205[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_15998 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_15998[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_15998[(1)] \x3d (1));\n\nreturn statearr_15998;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_15889){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_15889);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e16002){var ex__14364__auto__ \x3d e16002;\nvar statearr_16003_17206 \x3d state_15889;\n(statearr_16003_17206[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_15889[(4)]))){\nvar statearr_16004_17207 \x3d state_15889;\n(statearr_16004_17207[(1)] \x3d cljs.core.first((state_15889[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17208 \x3d state_15889;\nstate_15889 \x3d G__17208;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_15889){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_15889);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_16006 \x3d f__14407__auto__();\n(statearr_16006[(6)] \x3d c__14406__auto___17171);\n\nreturn statearr_16006;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn p;\n}));\n\n(cljs.core.async.pub.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Subscribes a channel to a topic of a pub.\n * \n * By default the channel will be closed when the source closes,\n * but can be determined by the close? parameter.\n */\ncljs.core.async.sub \x3d (function cljs$core$async$sub(var_args){\nvar G__16010 \x3d arguments.length;\nswitch (G__16010) {\ncase 3:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,topic,ch){\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4(p,topic,ch,true);\n}));\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,topic,ch,close_QMARK_){\nreturn cljs.core.async.sub_STAR_(p,topic,ch,close_QMARK_);\n}));\n\n(cljs.core.async.sub.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Unsubscribes a channel from a topic of a pub\n */\ncljs.core.async.unsub \x3d (function cljs$core$async$unsub(p,topic,ch){\nreturn cljs.core.async.unsub_STAR_(p,topic,ch);\n});\n/**\n * Unsubscribes all channels from a pub, or a topic of a pub\n */\ncljs.core.async.unsub_all \x3d (function cljs$core$async$unsub_all(var_args){\nvar G__16031 \x3d arguments.length;\nswitch (G__16031) {\ncase 1:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn cljs.core.async.unsub_all_STAR_(p);\n}));\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,topic){\nreturn cljs.core.async.unsub_all_STAR_(p,topic);\n}));\n\n(cljs.core.async.unsub_all.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a function and a collection of source channels, and returns a\n * channel which contains the values produced by applying f to the set\n * of first items taken from each source channel, followed by applying\n * f to the set of second items from each channel, until any one of the\n * channels is closed, at which point the output channel will be\n * closed. The returned channel will be unbuffered by default, or a\n * buf-or-n can be supplied\n */\ncljs.core.async.map \x3d (function cljs$core$async$map(var_args){\nvar G__16035 \x3d arguments.length;\nswitch (G__16035) {\ncase 2:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,chs){\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3(f,chs,null);\n}));\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,chs,buf_or_n){\nvar chs__$1 \x3d cljs.core.vec(chs);\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar cnt \x3d cljs.core.count(chs__$1);\nvar rets \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(cnt);\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (i){\nreturn (function (ret){\n(rets[i] \x3d ret);\n\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,rets.slice((0)));\n} else {\nreturn null;\n}\n});\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cnt));\nif((cnt \x3d\x3d\x3d (0))){\ncljs.core.async.close_BANG_(out);\n} else {\nvar c__14406__auto___17214 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_16086){\nvar state_val_16087 \x3d (state_16086[(1)]);\nif((state_val_16087 \x3d\x3d\x3d (7))){\nvar state_16086__$1 \x3d state_16086;\nvar statearr_16088_17215 \x3d state_16086__$1;\n(statearr_16088_17215[(2)] \x3d null);\n\n(statearr_16088_17215[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (1))){\nvar state_16086__$1 \x3d state_16086;\nvar statearr_16089_17216 \x3d state_16086__$1;\n(statearr_16089_17216[(2)] \x3d null);\n\n(statearr_16089_17216[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (4))){\nvar inst_16041 \x3d (state_16086[(7)]);\nvar inst_16040 \x3d (state_16086[(8)]);\nvar inst_16043 \x3d (inst_16041 \x3c inst_16040);\nvar state_16086__$1 \x3d state_16086;\nif(cljs.core.truth_(inst_16043)){\nvar statearr_16092_17217 \x3d state_16086__$1;\n(statearr_16092_17217[(1)] \x3d (6));\n\n} else {\nvar statearr_16093_17218 \x3d state_16086__$1;\n(statearr_16093_17218[(1)] \x3d (7));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (15))){\nvar inst_16072 \x3d (state_16086[(9)]);\nvar inst_16077 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,inst_16072);\nvar state_16086__$1 \x3d state_16086;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16086__$1,(17),out,inst_16077);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (13))){\nvar inst_16072 \x3d (state_16086[(9)]);\nvar inst_16072__$1 \x3d (state_16086[(2)]);\nvar inst_16073 \x3d cljs.core.some(cljs.core.nil_QMARK_,inst_16072__$1);\nvar state_16086__$1 \x3d (function (){var statearr_16094 \x3d state_16086;\n(statearr_16094[(9)] \x3d inst_16072__$1);\n\nreturn statearr_16094;\n})();\nif(cljs.core.truth_(inst_16073)){\nvar statearr_16095_17219 \x3d state_16086__$1;\n(statearr_16095_17219[(1)] \x3d (14));\n\n} else {\nvar statearr_16096_17220 \x3d state_16086__$1;\n(statearr_16096_17220[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (6))){\nvar state_16086__$1 \x3d state_16086;\nvar statearr_16100_17221 \x3d state_16086__$1;\n(statearr_16100_17221[(2)] \x3d null);\n\n(statearr_16100_17221[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (17))){\nvar inst_16079 \x3d (state_16086[(2)]);\nvar state_16086__$1 \x3d (function (){var statearr_16128 \x3d state_16086;\n(statearr_16128[(10)] \x3d inst_16079);\n\nreturn statearr_16128;\n})();\nvar statearr_16129_17222 \x3d state_16086__$1;\n(statearr_16129_17222[(2)] \x3d null);\n\n(statearr_16129_17222[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (3))){\nvar inst_16084 \x3d (state_16086[(2)]);\nvar state_16086__$1 \x3d state_16086;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_16086__$1,inst_16084);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (12))){\nvar _ \x3d (function (){var statearr_16135 \x3d state_16086;\n(statearr_16135[(4)] \x3d cljs.core.rest((state_16086[(4)])));\n\nreturn statearr_16135;\n})();\nvar state_16086__$1 \x3d state_16086;\nvar ex16126 \x3d (state_16086__$1[(2)]);\nvar statearr_16136_17224 \x3d state_16086__$1;\n(statearr_16136_17224[(5)] \x3d ex16126);\n\n\nif((ex16126 instanceof Object)){\nvar statearr_16138_17228 \x3d state_16086__$1;\n(statearr_16138_17228[(1)] \x3d (11));\n\n(statearr_16138_17228[(5)] \x3d null);\n\n} else {\nthrow ex16126;\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (2))){\nvar inst_16039 \x3d cljs.core.reset_BANG_(dctr,cnt);\nvar inst_16040 \x3d cnt;\nvar inst_16041 \x3d (0);\nvar state_16086__$1 \x3d (function (){var statearr_16143 \x3d state_16086;\n(statearr_16143[(11)] \x3d inst_16039);\n\n(statearr_16143[(7)] \x3d inst_16041);\n\n(statearr_16143[(8)] \x3d inst_16040);\n\nreturn statearr_16143;\n})();\nvar statearr_16144_17229 \x3d state_16086__$1;\n(statearr_16144_17229[(2)] \x3d null);\n\n(statearr_16144_17229[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (11))){\nvar inst_16051 \x3d (state_16086[(2)]);\nvar inst_16052 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec);\nvar state_16086__$1 \x3d (function (){var statearr_16158 \x3d state_16086;\n(statearr_16158[(12)] \x3d inst_16051);\n\nreturn statearr_16158;\n})();\nvar statearr_16159_17230 \x3d state_16086__$1;\n(statearr_16159_17230[(2)] \x3d inst_16052);\n\n(statearr_16159_17230[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (9))){\nvar inst_16041 \x3d (state_16086[(7)]);\nvar _ \x3d (function (){var statearr_16164 \x3d state_16086;\n(statearr_16164[(4)] \x3d cljs.core.cons((12),(state_16086[(4)])));\n\nreturn statearr_16164;\n})();\nvar inst_16058 \x3d (chs__$1.cljs$core$IFn$_invoke$arity$1 ? chs__$1.cljs$core$IFn$_invoke$arity$1(inst_16041) : chs__$1.call(null,inst_16041));\nvar inst_16059 \x3d (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(inst_16041) : done.call(null,inst_16041));\nvar inst_16060 \x3d cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(inst_16058,inst_16059);\nvar ___$1 \x3d (function (){var statearr_16173 \x3d state_16086;\n(statearr_16173[(4)] \x3d cljs.core.rest((state_16086[(4)])));\n\nreturn statearr_16173;\n})();\nvar state_16086__$1 \x3d state_16086;\nvar statearr_16174_17233 \x3d state_16086__$1;\n(statearr_16174_17233[(2)] \x3d inst_16060);\n\n(statearr_16174_17233[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (5))){\nvar inst_16070 \x3d (state_16086[(2)]);\nvar state_16086__$1 \x3d (function (){var statearr_16175 \x3d state_16086;\n(statearr_16175[(13)] \x3d inst_16070);\n\nreturn statearr_16175;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_16086__$1,(13),dchan);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (14))){\nvar inst_16075 \x3d cljs.core.async.close_BANG_(out);\nvar state_16086__$1 \x3d state_16086;\nvar statearr_16176_17236 \x3d state_16086__$1;\n(statearr_16176_17236[(2)] \x3d inst_16075);\n\n(statearr_16176_17236[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (16))){\nvar inst_16082 \x3d (state_16086[(2)]);\nvar state_16086__$1 \x3d state_16086;\nvar statearr_16185_17237 \x3d state_16086__$1;\n(statearr_16185_17237[(2)] \x3d inst_16082);\n\n(statearr_16185_17237[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (10))){\nvar inst_16041 \x3d (state_16086[(7)]);\nvar inst_16063 \x3d (state_16086[(2)]);\nvar inst_16064 \x3d (inst_16041 + (1));\nvar inst_16041__$1 \x3d inst_16064;\nvar state_16086__$1 \x3d (function (){var statearr_16194 \x3d state_16086;\n(statearr_16194[(14)] \x3d inst_16063);\n\n(statearr_16194[(7)] \x3d inst_16041__$1);\n\nreturn statearr_16194;\n})();\nvar statearr_16195_17238 \x3d state_16086__$1;\n(statearr_16195_17238[(2)] \x3d null);\n\n(statearr_16195_17238[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16087 \x3d\x3d\x3d (8))){\nvar inst_16068 \x3d (state_16086[(2)]);\nvar state_16086__$1 \x3d state_16086;\nvar statearr_16196_17239 \x3d state_16086__$1;\n(statearr_16196_17239[(2)] \x3d inst_16068);\n\n(statearr_16196_17239[(1)] \x3d (5));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_16198 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_16198[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_16198[(1)] \x3d (1));\n\nreturn statearr_16198;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_16086){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_16086);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e16202){var ex__14364__auto__ \x3d e16202;\nvar statearr_16203_17247 \x3d state_16086;\n(statearr_16203_17247[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_16086[(4)]))){\nvar statearr_16204_17248 \x3d state_16086;\n(statearr_16204_17248[(1)] \x3d cljs.core.first((state_16086[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17249 \x3d state_16086;\nstate_16086 \x3d G__17249;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_16086){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_16086);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_16208 \x3d f__14407__auto__();\n(statearr_16208[(6)] \x3d c__14406__auto___17214);\n\nreturn statearr_16208;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n}\n\nreturn out;\n}));\n\n(cljs.core.async.map.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a collection of source channels and returns a channel which\n * contains all values taken from them. The returned channel will be\n * unbuffered by default, or a buf-or-n can be supplied. The channel\n * will close after all the source channels have closed.\n */\ncljs.core.async.merge \x3d (function cljs$core$async$merge(var_args){\nvar G__16218 \x3d arguments.length;\nswitch (G__16218) {\ncase 1:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1 \x3d (function (chs){\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2(chs,null);\n}));\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2 \x3d (function (chs,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__14406__auto___17257 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_16269){\nvar state_val_16270 \x3d (state_16269[(1)]);\nif((state_val_16270 \x3d\x3d\x3d (7))){\nvar inst_16248 \x3d (state_16269[(7)]);\nvar inst_16249 \x3d (state_16269[(8)]);\nvar inst_16248__$1 \x3d (state_16269[(2)]);\nvar inst_16249__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_16248__$1,(0),null);\nvar inst_16250 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_16248__$1,(1),null);\nvar inst_16251 \x3d (inst_16249__$1 \x3d\x3d null);\nvar state_16269__$1 \x3d (function (){var statearr_16271 \x3d state_16269;\n(statearr_16271[(7)] \x3d inst_16248__$1);\n\n(statearr_16271[(8)] \x3d inst_16249__$1);\n\n(statearr_16271[(9)] \x3d inst_16250);\n\nreturn statearr_16271;\n})();\nif(cljs.core.truth_(inst_16251)){\nvar statearr_16272_17258 \x3d state_16269__$1;\n(statearr_16272_17258[(1)] \x3d (8));\n\n} else {\nvar statearr_16273_17259 \x3d state_16269__$1;\n(statearr_16273_17259[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (1))){\nvar inst_16238 \x3d cljs.core.vec(chs);\nvar inst_16239 \x3d inst_16238;\nvar state_16269__$1 \x3d (function (){var statearr_16274 \x3d state_16269;\n(statearr_16274[(10)] \x3d inst_16239);\n\nreturn statearr_16274;\n})();\nvar statearr_16275_17260 \x3d state_16269__$1;\n(statearr_16275_17260[(2)] \x3d null);\n\n(statearr_16275_17260[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (4))){\nvar inst_16239 \x3d (state_16269[(10)]);\nvar state_16269__$1 \x3d state_16269;\nreturn cljs.core.async.ioc_alts_BANG_(state_16269__$1,(7),inst_16239);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (6))){\nvar inst_16265 \x3d (state_16269[(2)]);\nvar state_16269__$1 \x3d state_16269;\nvar statearr_16276_17261 \x3d state_16269__$1;\n(statearr_16276_17261[(2)] \x3d inst_16265);\n\n(statearr_16276_17261[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (3))){\nvar inst_16267 \x3d (state_16269[(2)]);\nvar state_16269__$1 \x3d state_16269;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_16269__$1,inst_16267);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (2))){\nvar inst_16239 \x3d (state_16269[(10)]);\nvar inst_16241 \x3d cljs.core.count(inst_16239);\nvar inst_16242 \x3d (inst_16241 \x3e (0));\nvar state_16269__$1 \x3d state_16269;\nif(cljs.core.truth_(inst_16242)){\nvar statearr_16278_17262 \x3d state_16269__$1;\n(statearr_16278_17262[(1)] \x3d (4));\n\n} else {\nvar statearr_16279_17263 \x3d state_16269__$1;\n(statearr_16279_17263[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (11))){\nvar inst_16239 \x3d (state_16269[(10)]);\nvar inst_16258 \x3d (state_16269[(2)]);\nvar tmp16277 \x3d inst_16239;\nvar inst_16239__$1 \x3d tmp16277;\nvar state_16269__$1 \x3d (function (){var statearr_16280 \x3d state_16269;\n(statearr_16280[(10)] \x3d inst_16239__$1);\n\n(statearr_16280[(11)] \x3d inst_16258);\n\nreturn statearr_16280;\n})();\nvar statearr_16281_17264 \x3d state_16269__$1;\n(statearr_16281_17264[(2)] \x3d null);\n\n(statearr_16281_17264[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (9))){\nvar inst_16249 \x3d (state_16269[(8)]);\nvar state_16269__$1 \x3d state_16269;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16269__$1,(11),out,inst_16249);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (5))){\nvar inst_16263 \x3d cljs.core.async.close_BANG_(out);\nvar state_16269__$1 \x3d state_16269;\nvar statearr_16282_17265 \x3d state_16269__$1;\n(statearr_16282_17265[(2)] \x3d inst_16263);\n\n(statearr_16282_17265[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (10))){\nvar inst_16261 \x3d (state_16269[(2)]);\nvar state_16269__$1 \x3d state_16269;\nvar statearr_16283_17266 \x3d state_16269__$1;\n(statearr_16283_17266[(2)] \x3d inst_16261);\n\n(statearr_16283_17266[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16270 \x3d\x3d\x3d (8))){\nvar inst_16239 \x3d (state_16269[(10)]);\nvar inst_16248 \x3d (state_16269[(7)]);\nvar inst_16249 \x3d (state_16269[(8)]);\nvar inst_16250 \x3d (state_16269[(9)]);\nvar inst_16253 \x3d (function (){var cs \x3d inst_16239;\nvar vec__16244 \x3d inst_16248;\nvar v \x3d inst_16249;\nvar c \x3d inst_16250;\nreturn (function (p1__16212_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(c,p1__16212_SHARP_);\n});\n})();\nvar inst_16254 \x3d cljs.core.filterv(inst_16253,inst_16239);\nvar inst_16239__$1 \x3d inst_16254;\nvar state_16269__$1 \x3d (function (){var statearr_16284 \x3d state_16269;\n(statearr_16284[(10)] \x3d inst_16239__$1);\n\nreturn statearr_16284;\n})();\nvar statearr_16285_17267 \x3d state_16269__$1;\n(statearr_16285_17267[(2)] \x3d null);\n\n(statearr_16285_17267[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_16286 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_16286[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_16286[(1)] \x3d (1));\n\nreturn statearr_16286;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_16269){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_16269);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e16287){var ex__14364__auto__ \x3d e16287;\nvar statearr_16288_17268 \x3d state_16269;\n(statearr_16288_17268[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_16269[(4)]))){\nvar statearr_16289_17269 \x3d state_16269;\n(statearr_16289_17269[(1)] \x3d cljs.core.first((state_16269[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17270 \x3d state_16269;\nstate_16269 \x3d G__17270;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_16269){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_16269);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_16290 \x3d f__14407__auto__();\n(statearr_16290[(6)] \x3d c__14406__auto___17257);\n\nreturn statearr_16290;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.merge.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel containing the single (collection) result of the\n * items taken from the channel conjoined to the supplied\n * collection. ch must close before into produces a result.\n */\ncljs.core.async.into \x3d (function cljs$core$async$into(coll,ch){\nreturn cljs.core.async.reduce(cljs.core.conj,coll,ch);\n});\n/**\n * Returns a channel that will return, at most, n items from ch. After n items\n * have been returned, or ch has been closed, the return chanel will close.\n * \n * The output channel is unbuffered by default, unless buf-or-n is given.\n */\ncljs.core.async.take \x3d (function cljs$core$async$take(var_args){\nvar G__16295 \x3d arguments.length;\nswitch (G__16295) {\ncase 2:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__14406__auto___17272 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_16320){\nvar state_val_16321 \x3d (state_16320[(1)]);\nif((state_val_16321 \x3d\x3d\x3d (7))){\nvar inst_16302 \x3d (state_16320[(7)]);\nvar inst_16302__$1 \x3d (state_16320[(2)]);\nvar inst_16303 \x3d (inst_16302__$1 \x3d\x3d null);\nvar inst_16304 \x3d cljs.core.not(inst_16303);\nvar state_16320__$1 \x3d (function (){var statearr_16327 \x3d state_16320;\n(statearr_16327[(7)] \x3d inst_16302__$1);\n\nreturn statearr_16327;\n})();\nif(inst_16304){\nvar statearr_16328_17273 \x3d state_16320__$1;\n(statearr_16328_17273[(1)] \x3d (8));\n\n} else {\nvar statearr_16329_17274 \x3d state_16320__$1;\n(statearr_16329_17274[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (1))){\nvar inst_16297 \x3d (0);\nvar state_16320__$1 \x3d (function (){var statearr_16330 \x3d state_16320;\n(statearr_16330[(8)] \x3d inst_16297);\n\nreturn statearr_16330;\n})();\nvar statearr_16332_17275 \x3d state_16320__$1;\n(statearr_16332_17275[(2)] \x3d null);\n\n(statearr_16332_17275[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (4))){\nvar state_16320__$1 \x3d state_16320;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_16320__$1,(7),ch);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (6))){\nvar inst_16315 \x3d (state_16320[(2)]);\nvar state_16320__$1 \x3d state_16320;\nvar statearr_16334_17276 \x3d state_16320__$1;\n(statearr_16334_17276[(2)] \x3d inst_16315);\n\n(statearr_16334_17276[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (3))){\nvar inst_16317 \x3d (state_16320[(2)]);\nvar inst_16318 \x3d cljs.core.async.close_BANG_(out);\nvar state_16320__$1 \x3d (function (){var statearr_16336 \x3d state_16320;\n(statearr_16336[(9)] \x3d inst_16317);\n\nreturn statearr_16336;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_16320__$1,inst_16318);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (2))){\nvar inst_16297 \x3d (state_16320[(8)]);\nvar inst_16299 \x3d (inst_16297 \x3c n);\nvar state_16320__$1 \x3d state_16320;\nif(cljs.core.truth_(inst_16299)){\nvar statearr_16337_17277 \x3d state_16320__$1;\n(statearr_16337_17277[(1)] \x3d (4));\n\n} else {\nvar statearr_16338_17278 \x3d state_16320__$1;\n(statearr_16338_17278[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (11))){\nvar inst_16297 \x3d (state_16320[(8)]);\nvar inst_16307 \x3d (state_16320[(2)]);\nvar inst_16308 \x3d (inst_16297 + (1));\nvar inst_16297__$1 \x3d inst_16308;\nvar state_16320__$1 \x3d (function (){var statearr_16339 \x3d state_16320;\n(statearr_16339[(8)] \x3d inst_16297__$1);\n\n(statearr_16339[(10)] \x3d inst_16307);\n\nreturn statearr_16339;\n})();\nvar statearr_16340_17279 \x3d state_16320__$1;\n(statearr_16340_17279[(2)] \x3d null);\n\n(statearr_16340_17279[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (9))){\nvar state_16320__$1 \x3d state_16320;\nvar statearr_16343_17280 \x3d state_16320__$1;\n(statearr_16343_17280[(2)] \x3d null);\n\n(statearr_16343_17280[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (5))){\nvar state_16320__$1 \x3d state_16320;\nvar statearr_16345_17281 \x3d state_16320__$1;\n(statearr_16345_17281[(2)] \x3d null);\n\n(statearr_16345_17281[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (10))){\nvar inst_16312 \x3d (state_16320[(2)]);\nvar state_16320__$1 \x3d state_16320;\nvar statearr_16346_17282 \x3d state_16320__$1;\n(statearr_16346_17282[(2)] \x3d inst_16312);\n\n(statearr_16346_17282[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16321 \x3d\x3d\x3d (8))){\nvar inst_16302 \x3d (state_16320[(7)]);\nvar state_16320__$1 \x3d state_16320;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16320__$1,(11),out,inst_16302);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_16347 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_16347[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_16347[(1)] \x3d (1));\n\nreturn statearr_16347;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_16320){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_16320);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e16348){var ex__14364__auto__ \x3d e16348;\nvar statearr_16349_17283 \x3d state_16320;\n(statearr_16349_17283[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_16320[(4)]))){\nvar statearr_16357_17284 \x3d state_16320;\n(statearr_16357_17284[(1)] \x3d cljs.core.first((state_16320[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17285 \x3d state_16320;\nstate_16320 \x3d G__17285;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_16320){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_16320);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_16359 \x3d f__14407__auto__();\n(statearr_16359[(6)] \x3d c__14406__auto___17272);\n\nreturn statearr_16359;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.take.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async16438 \x3d (function (f,ch,meta16365,_,fn1,meta16439){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta16365 \x3d meta16365;\nthis._ \x3d _;\nthis.fn1 \x3d fn1;\nthis.meta16439 \x3d meta16439;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_16440,meta16439__$1){\nvar self__ \x3d this;\nvar _16440__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async16438(self__.f,self__.ch,self__.meta16365,self__._,self__.fn1,meta16439__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_16440){\nvar self__ \x3d this;\nvar _16440__$1 \x3d this;\nreturn self__.meta16439;\n}));\n\n(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nvar f1 \x3d cljs.core.async.impl.protocols.commit(self__.fn1);\nreturn (function (p1__16363_SHARP_){\nvar G__16443 \x3d (((p1__16363_SHARP_ \x3d\x3d null))?null:(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(p1__16363_SHARP_) : self__.f.call(null,p1__16363_SHARP_)));\nreturn (f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(G__16443) : f1.call(null,G__16443));\n});\n}));\n\n(cljs.core.async.t_cljs$core$async16438.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta16365\x22,\x22meta16365\x22,-1394870056,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_\x22,\x22_\x22,-1201019570,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(\x22cljs.core.async\x22,\x22t_cljs$core$async16364\x22,\x22cljs.core.async/t_cljs$core$async16364\x22,1198728825,null)], null)),new cljs.core.Symbol(null,\x22fn1\x22,\x22fn1\x22,895834444,null),new cljs.core.Symbol(null,\x22meta16439\x22,\x22meta16439\x22,-2017036263,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async16438.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async16438.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async16438\x22);\n\n(cljs.core.async.t_cljs$core$async16438.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async16438\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async16438.\n */\ncljs.core.async.__GT_t_cljs$core$async16438 \x3d (function cljs$core$async$__GT_t_cljs$core$async16438(f,ch,meta16365,_,fn1,meta16439){\nreturn (new cljs.core.async.t_cljs$core$async16438(f,ch,meta16365,_,fn1,meta16439));\n});\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async16364 \x3d (function (f,ch,meta16365){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta16365 \x3d meta16365;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_16366,meta16365__$1){\nvar self__ \x3d this;\nvar _16366__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async16364(self__.f,self__.ch,meta16365__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_16366){\nvar self__ \x3d this;\nvar _16366__$1 \x3d this;\nreturn self__.meta16365;\n}));\n\n(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(self__.ch,(new cljs.core.async.t_cljs$core$async16438(self__.f,self__.ch,self__.meta16365,___$1,fn1,cljs.core.PersistentArrayMap.EMPTY)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d ret;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!((cljs.core.deref(ret) \x3d\x3d null)));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.async.impl.channels.box((function (){var G__16446 \x3d cljs.core.deref(ret);\nreturn (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(G__16446) : self__.f.call(null,G__16446));\n})());\n} else {\nreturn ret;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async16364.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta16365\x22,\x22meta16365\x22,-1394870056,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async16364.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async16364.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async16364\x22);\n\n(cljs.core.async.t_cljs$core$async16364.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async16364\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async16364.\n */\ncljs.core.async.__GT_t_cljs$core$async16364 \x3d (function cljs$core$async$__GT_t_cljs$core$async16364(f,ch,meta16365){\nreturn (new cljs.core.async.t_cljs$core$async16364(f,ch,meta16365));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_LT_ \x3d (function cljs$core$async$map_LT_(f,ch){\nreturn (new cljs.core.async.t_cljs$core$async16364(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async16455 \x3d (function (f,ch,meta16456){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta16456 \x3d meta16456;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_16457,meta16456__$1){\nvar self__ \x3d this;\nvar _16457__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async16455(self__.f,self__.ch,meta16456__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_16457){\nvar self__ \x3d this;\nvar _16457__$1 \x3d this;\nreturn self__.meta16456;\n}));\n\n(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(val) : self__.f.call(null,val)),fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async16455.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta16456\x22,\x22meta16456\x22,-2145906003,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async16455.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async16455.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async16455\x22);\n\n(cljs.core.async.t_cljs$core$async16455.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async16455\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async16455.\n */\ncljs.core.async.__GT_t_cljs$core$async16455 \x3d (function cljs$core$async$__GT_t_cljs$core$async16455(f,ch,meta16456){\nreturn (new cljs.core.async.t_cljs$core$async16455(f,ch,meta16456));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_GT_ \x3d (function cljs$core$async$map_GT_(f,ch){\nreturn (new cljs.core.async.t_cljs$core$async16455(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async16458 \x3d (function (p,ch,meta16459){\nthis.p \x3d p;\nthis.ch \x3d ch;\nthis.meta16459 \x3d meta16459;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_16460,meta16459__$1){\nvar self__ \x3d this;\nvar _16460__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async16458(self__.p,self__.ch,meta16459__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_16460){\nvar self__ \x3d this;\nvar _16460__$1 \x3d this;\nreturn self__.meta16459;\n}));\n\n(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.p.cljs$core$IFn$_invoke$arity$1 ? self__.p.cljs$core$IFn$_invoke$arity$1(val) : self__.p.call(null,val)))){\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n} else {\nreturn cljs.core.async.impl.channels.box(cljs.core.not(cljs.core.async.impl.protocols.closed_QMARK_(self__.ch)));\n}\n}));\n\n(cljs.core.async.t_cljs$core$async16458.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p\x22,\x22p\x22,1791580836,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta16459\x22,\x22meta16459\x22,-1924767077,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async16458.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async16458.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async16458\x22);\n\n(cljs.core.async.t_cljs$core$async16458.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.core.async/t_cljs$core$async16458\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async16458.\n */\ncljs.core.async.__GT_t_cljs$core$async16458 \x3d (function cljs$core$async$__GT_t_cljs$core$async16458(p,ch,meta16459){\nreturn (new cljs.core.async.t_cljs$core$async16458(p,ch,meta16459));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_GT_ \x3d (function cljs$core$async$filter_GT_(p,ch){\nreturn (new cljs.core.async.t_cljs$core$async16458(p,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_GT_ \x3d (function cljs$core$async$remove_GT_(p,ch){\nreturn cljs.core.async.filter_GT_(cljs.core.complement(p),ch);\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_LT_ \x3d (function cljs$core$async$filter_LT_(var_args){\nvar G__16470 \x3d arguments.length;\nswitch (G__16470) {\ncase 2:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__14406__auto___17293 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_16502){\nvar state_val_16503 \x3d (state_16502[(1)]);\nif((state_val_16503 \x3d\x3d\x3d (7))){\nvar inst_16494 \x3d (state_16502[(2)]);\nvar state_16502__$1 \x3d state_16502;\nvar statearr_16509_17294 \x3d state_16502__$1;\n(statearr_16509_17294[(2)] \x3d inst_16494);\n\n(statearr_16509_17294[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (1))){\nvar state_16502__$1 \x3d state_16502;\nvar statearr_16510_17295 \x3d state_16502__$1;\n(statearr_16510_17295[(2)] \x3d null);\n\n(statearr_16510_17295[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (4))){\nvar inst_16475 \x3d (state_16502[(7)]);\nvar inst_16475__$1 \x3d (state_16502[(2)]);\nvar inst_16477 \x3d (inst_16475__$1 \x3d\x3d null);\nvar state_16502__$1 \x3d (function (){var statearr_16511 \x3d state_16502;\n(statearr_16511[(7)] \x3d inst_16475__$1);\n\nreturn statearr_16511;\n})();\nif(cljs.core.truth_(inst_16477)){\nvar statearr_16512_17296 \x3d state_16502__$1;\n(statearr_16512_17296[(1)] \x3d (5));\n\n} else {\nvar statearr_16513_17297 \x3d state_16502__$1;\n(statearr_16513_17297[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (6))){\nvar inst_16475 \x3d (state_16502[(7)]);\nvar inst_16485 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_16475) : p.call(null,inst_16475));\nvar state_16502__$1 \x3d state_16502;\nif(cljs.core.truth_(inst_16485)){\nvar statearr_16514_17298 \x3d state_16502__$1;\n(statearr_16514_17298[(1)] \x3d (8));\n\n} else {\nvar statearr_16515_17299 \x3d state_16502__$1;\n(statearr_16515_17299[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (3))){\nvar inst_16496 \x3d (state_16502[(2)]);\nvar state_16502__$1 \x3d state_16502;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_16502__$1,inst_16496);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (2))){\nvar state_16502__$1 \x3d state_16502;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_16502__$1,(4),ch);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (11))){\nvar inst_16488 \x3d (state_16502[(2)]);\nvar state_16502__$1 \x3d state_16502;\nvar statearr_16516_17300 \x3d state_16502__$1;\n(statearr_16516_17300[(2)] \x3d inst_16488);\n\n(statearr_16516_17300[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (9))){\nvar state_16502__$1 \x3d state_16502;\nvar statearr_16519_17301 \x3d state_16502__$1;\n(statearr_16519_17301[(2)] \x3d null);\n\n(statearr_16519_17301[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (5))){\nvar inst_16483 \x3d cljs.core.async.close_BANG_(out);\nvar state_16502__$1 \x3d state_16502;\nvar statearr_16521_17302 \x3d state_16502__$1;\n(statearr_16521_17302[(2)] \x3d inst_16483);\n\n(statearr_16521_17302[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (10))){\nvar inst_16491 \x3d (state_16502[(2)]);\nvar state_16502__$1 \x3d (function (){var statearr_16522 \x3d state_16502;\n(statearr_16522[(8)] \x3d inst_16491);\n\nreturn statearr_16522;\n})();\nvar statearr_16523_17303 \x3d state_16502__$1;\n(statearr_16523_17303[(2)] \x3d null);\n\n(statearr_16523_17303[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16503 \x3d\x3d\x3d (8))){\nvar inst_16475 \x3d (state_16502[(7)]);\nvar state_16502__$1 \x3d state_16502;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16502__$1,(11),out,inst_16475);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_16524 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_16524[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_16524[(1)] \x3d (1));\n\nreturn statearr_16524;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_16502){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_16502);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e16526){var ex__14364__auto__ \x3d e16526;\nvar statearr_16527_17304 \x3d state_16502;\n(statearr_16527_17304[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_16502[(4)]))){\nvar statearr_16528_17305 \x3d state_16502;\n(statearr_16528_17305[(1)] \x3d cljs.core.first((state_16502[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17306 \x3d state_16502;\nstate_16502 \x3d G__17306;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_16502){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_16502);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_16529 \x3d f__14407__auto__();\n(statearr_16529[(6)] \x3d c__14406__auto___17293);\n\nreturn statearr_16529;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.filter_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_LT_ \x3d (function cljs$core$async$remove_LT_(var_args){\nvar G__16532 \x3d arguments.length;\nswitch (G__16532) {\ncase 2:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(cljs.core.complement(p),ch,buf_or_n);\n}));\n\n(cljs.core.async.remove_LT_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.mapcat_STAR_ \x3d (function cljs$core$async$mapcat_STAR_(f,in$,out){\nvar c__14406__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_16594){\nvar state_val_16595 \x3d (state_16594[(1)]);\nif((state_val_16595 \x3d\x3d\x3d (7))){\nvar inst_16590 \x3d (state_16594[(2)]);\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16596_17308 \x3d state_16594__$1;\n(statearr_16596_17308[(2)] \x3d inst_16590);\n\n(statearr_16596_17308[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (20))){\nvar inst_16560 \x3d (state_16594[(7)]);\nvar inst_16571 \x3d (state_16594[(2)]);\nvar inst_16572 \x3d cljs.core.next(inst_16560);\nvar inst_16546 \x3d inst_16572;\nvar inst_16547 \x3d null;\nvar inst_16548 \x3d (0);\nvar inst_16549 \x3d (0);\nvar state_16594__$1 \x3d (function (){var statearr_16597 \x3d state_16594;\n(statearr_16597[(8)] \x3d inst_16547);\n\n(statearr_16597[(9)] \x3d inst_16548);\n\n(statearr_16597[(10)] \x3d inst_16546);\n\n(statearr_16597[(11)] \x3d inst_16549);\n\n(statearr_16597[(12)] \x3d inst_16571);\n\nreturn statearr_16597;\n})();\nvar statearr_16598_17309 \x3d state_16594__$1;\n(statearr_16598_17309[(2)] \x3d null);\n\n(statearr_16598_17309[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (1))){\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16599_17310 \x3d state_16594__$1;\n(statearr_16599_17310[(2)] \x3d null);\n\n(statearr_16599_17310[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (4))){\nvar inst_16535 \x3d (state_16594[(13)]);\nvar inst_16535__$1 \x3d (state_16594[(2)]);\nvar inst_16536 \x3d (inst_16535__$1 \x3d\x3d null);\nvar state_16594__$1 \x3d (function (){var statearr_16600 \x3d state_16594;\n(statearr_16600[(13)] \x3d inst_16535__$1);\n\nreturn statearr_16600;\n})();\nif(cljs.core.truth_(inst_16536)){\nvar statearr_16601_17311 \x3d state_16594__$1;\n(statearr_16601_17311[(1)] \x3d (5));\n\n} else {\nvar statearr_16602_17312 \x3d state_16594__$1;\n(statearr_16602_17312[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (15))){\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16606_17313 \x3d state_16594__$1;\n(statearr_16606_17313[(2)] \x3d null);\n\n(statearr_16606_17313[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (21))){\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16607_17314 \x3d state_16594__$1;\n(statearr_16607_17314[(2)] \x3d null);\n\n(statearr_16607_17314[(1)] \x3d (23));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (13))){\nvar inst_16547 \x3d (state_16594[(8)]);\nvar inst_16548 \x3d (state_16594[(9)]);\nvar inst_16546 \x3d (state_16594[(10)]);\nvar inst_16549 \x3d (state_16594[(11)]);\nvar inst_16556 \x3d (state_16594[(2)]);\nvar inst_16557 \x3d (inst_16549 + (1));\nvar tmp16603 \x3d inst_16547;\nvar tmp16604 \x3d inst_16548;\nvar tmp16605 \x3d inst_16546;\nvar inst_16546__$1 \x3d tmp16605;\nvar inst_16547__$1 \x3d tmp16603;\nvar inst_16548__$1 \x3d tmp16604;\nvar inst_16549__$1 \x3d inst_16557;\nvar state_16594__$1 \x3d (function (){var statearr_16608 \x3d state_16594;\n(statearr_16608[(8)] \x3d inst_16547__$1);\n\n(statearr_16608[(9)] \x3d inst_16548__$1);\n\n(statearr_16608[(10)] \x3d inst_16546__$1);\n\n(statearr_16608[(11)] \x3d inst_16549__$1);\n\n(statearr_16608[(14)] \x3d inst_16556);\n\nreturn statearr_16608;\n})();\nvar statearr_16609_17315 \x3d state_16594__$1;\n(statearr_16609_17315[(2)] \x3d null);\n\n(statearr_16609_17315[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (22))){\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16610_17316 \x3d state_16594__$1;\n(statearr_16610_17316[(2)] \x3d null);\n\n(statearr_16610_17316[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (6))){\nvar inst_16535 \x3d (state_16594[(13)]);\nvar inst_16544 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_16535) : f.call(null,inst_16535));\nvar inst_16545 \x3d cljs.core.seq(inst_16544);\nvar inst_16546 \x3d inst_16545;\nvar inst_16547 \x3d null;\nvar inst_16548 \x3d (0);\nvar inst_16549 \x3d (0);\nvar state_16594__$1 \x3d (function (){var statearr_16611 \x3d state_16594;\n(statearr_16611[(8)] \x3d inst_16547);\n\n(statearr_16611[(9)] \x3d inst_16548);\n\n(statearr_16611[(10)] \x3d inst_16546);\n\n(statearr_16611[(11)] \x3d inst_16549);\n\nreturn statearr_16611;\n})();\nvar statearr_16612_17317 \x3d state_16594__$1;\n(statearr_16612_17317[(2)] \x3d null);\n\n(statearr_16612_17317[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (17))){\nvar inst_16560 \x3d (state_16594[(7)]);\nvar inst_16564 \x3d cljs.core.chunk_first(inst_16560);\nvar inst_16565 \x3d cljs.core.chunk_rest(inst_16560);\nvar inst_16566 \x3d cljs.core.count(inst_16564);\nvar inst_16546 \x3d inst_16565;\nvar inst_16547 \x3d inst_16564;\nvar inst_16548 \x3d inst_16566;\nvar inst_16549 \x3d (0);\nvar state_16594__$1 \x3d (function (){var statearr_16613 \x3d state_16594;\n(statearr_16613[(8)] \x3d inst_16547);\n\n(statearr_16613[(9)] \x3d inst_16548);\n\n(statearr_16613[(10)] \x3d inst_16546);\n\n(statearr_16613[(11)] \x3d inst_16549);\n\nreturn statearr_16613;\n})();\nvar statearr_16614_17318 \x3d state_16594__$1;\n(statearr_16614_17318[(2)] \x3d null);\n\n(statearr_16614_17318[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (3))){\nvar inst_16592 \x3d (state_16594[(2)]);\nvar state_16594__$1 \x3d state_16594;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_16594__$1,inst_16592);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (12))){\nvar inst_16580 \x3d (state_16594[(2)]);\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16615_17319 \x3d state_16594__$1;\n(statearr_16615_17319[(2)] \x3d inst_16580);\n\n(statearr_16615_17319[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (2))){\nvar state_16594__$1 \x3d state_16594;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_16594__$1,(4),in$);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (23))){\nvar inst_16588 \x3d (state_16594[(2)]);\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16616_17320 \x3d state_16594__$1;\n(statearr_16616_17320[(2)] \x3d inst_16588);\n\n(statearr_16616_17320[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (19))){\nvar inst_16575 \x3d (state_16594[(2)]);\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16617_17321 \x3d state_16594__$1;\n(statearr_16617_17321[(2)] \x3d inst_16575);\n\n(statearr_16617_17321[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (11))){\nvar inst_16560 \x3d (state_16594[(7)]);\nvar inst_16546 \x3d (state_16594[(10)]);\nvar inst_16560__$1 \x3d cljs.core.seq(inst_16546);\nvar state_16594__$1 \x3d (function (){var statearr_16618 \x3d state_16594;\n(statearr_16618[(7)] \x3d inst_16560__$1);\n\nreturn statearr_16618;\n})();\nif(inst_16560__$1){\nvar statearr_16619_17322 \x3d state_16594__$1;\n(statearr_16619_17322[(1)] \x3d (14));\n\n} else {\nvar statearr_16620_17323 \x3d state_16594__$1;\n(statearr_16620_17323[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (9))){\nvar inst_16582 \x3d (state_16594[(2)]);\nvar inst_16583 \x3d cljs.core.async.impl.protocols.closed_QMARK_(out);\nvar state_16594__$1 \x3d (function (){var statearr_16621 \x3d state_16594;\n(statearr_16621[(15)] \x3d inst_16582);\n\nreturn statearr_16621;\n})();\nif(cljs.core.truth_(inst_16583)){\nvar statearr_16622_17324 \x3d state_16594__$1;\n(statearr_16622_17324[(1)] \x3d (21));\n\n} else {\nvar statearr_16623_17325 \x3d state_16594__$1;\n(statearr_16623_17325[(1)] \x3d (22));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (5))){\nvar inst_16538 \x3d cljs.core.async.close_BANG_(out);\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16624_17326 \x3d state_16594__$1;\n(statearr_16624_17326[(2)] \x3d inst_16538);\n\n(statearr_16624_17326[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (14))){\nvar inst_16560 \x3d (state_16594[(7)]);\nvar inst_16562 \x3d cljs.core.chunked_seq_QMARK_(inst_16560);\nvar state_16594__$1 \x3d state_16594;\nif(inst_16562){\nvar statearr_16625_17327 \x3d state_16594__$1;\n(statearr_16625_17327[(1)] \x3d (17));\n\n} else {\nvar statearr_16626_17328 \x3d state_16594__$1;\n(statearr_16626_17328[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (16))){\nvar inst_16578 \x3d (state_16594[(2)]);\nvar state_16594__$1 \x3d state_16594;\nvar statearr_16627_17329 \x3d state_16594__$1;\n(statearr_16627_17329[(2)] \x3d inst_16578);\n\n(statearr_16627_17329[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (10))){\nvar inst_16547 \x3d (state_16594[(8)]);\nvar inst_16549 \x3d (state_16594[(11)]);\nvar inst_16554 \x3d cljs.core._nth(inst_16547,inst_16549);\nvar state_16594__$1 \x3d state_16594;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16594__$1,(13),out,inst_16554);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (18))){\nvar inst_16560 \x3d (state_16594[(7)]);\nvar inst_16569 \x3d cljs.core.first(inst_16560);\nvar state_16594__$1 \x3d state_16594;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16594__$1,(20),out,inst_16569);\n} else {\nif((state_val_16595 \x3d\x3d\x3d (8))){\nvar inst_16548 \x3d (state_16594[(9)]);\nvar inst_16549 \x3d (state_16594[(11)]);\nvar inst_16551 \x3d (inst_16549 \x3c inst_16548);\nvar inst_16552 \x3d inst_16551;\nvar state_16594__$1 \x3d state_16594;\nif(cljs.core.truth_(inst_16552)){\nvar statearr_16628_17330 \x3d state_16594__$1;\n(statearr_16628_17330[(1)] \x3d (10));\n\n} else {\nvar statearr_16629_17331 \x3d state_16594__$1;\n(statearr_16629_17331[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mapcat_STAR__$_state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_16630 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_16630[(0)] \x3d cljs$core$async$mapcat_STAR__$_state_machine__14361__auto__);\n\n(statearr_16630[(1)] \x3d (1));\n\nreturn statearr_16630;\n});\nvar cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____1 \x3d (function (state_16594){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_16594);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e16631){var ex__14364__auto__ \x3d e16631;\nvar statearr_16632_17332 \x3d state_16594;\n(statearr_16632_17332[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_16594[(4)]))){\nvar statearr_16633_17333 \x3d state_16594;\n(statearr_16633_17333[(1)] \x3d cljs.core.first((state_16594[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17334 \x3d state_16594;\nstate_16594 \x3d G__17334;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mapcat_STAR__$_state_machine__14361__auto__ \x3d function(state_16594){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____1.call(this,state_16594);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mapcat_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____0;\ncljs$core$async$mapcat_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____1;\nreturn cljs$core$async$mapcat_STAR__$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_16634 \x3d f__14407__auto__();\n(statearr_16634[(6)] \x3d c__14406__auto__);\n\nreturn statearr_16634;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\nreturn c__14406__auto__;\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_LT_ \x3d (function cljs$core$async$mapcat_LT_(var_args){\nvar G__16636 \x3d arguments.length;\nswitch (G__16636) {\ncase 2:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,in$){\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3(f,in$,null);\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,in$,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn out;\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_GT_ \x3d (function cljs$core$async$mapcat_GT_(var_args){\nvar G__16638 \x3d arguments.length;\nswitch (G__16638) {\ncase 2:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,out){\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3(f,out,null);\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,out,buf_or_n){\nvar in$ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn in$;\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.unique \x3d (function cljs$core$async$unique(var_args){\nvar G__16640 \x3d arguments.length;\nswitch (G__16640) {\ncase 1:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1 \x3d (function (ch){\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2(ch,null);\n}));\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__14406__auto___17344 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_16664){\nvar state_val_16665 \x3d (state_16664[(1)]);\nif((state_val_16665 \x3d\x3d\x3d (7))){\nvar inst_16659 \x3d (state_16664[(2)]);\nvar state_16664__$1 \x3d state_16664;\nvar statearr_16666_17345 \x3d state_16664__$1;\n(statearr_16666_17345[(2)] \x3d inst_16659);\n\n(statearr_16666_17345[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (1))){\nvar inst_16641 \x3d null;\nvar state_16664__$1 \x3d (function (){var statearr_16667 \x3d state_16664;\n(statearr_16667[(7)] \x3d inst_16641);\n\nreturn statearr_16667;\n})();\nvar statearr_16668_17346 \x3d state_16664__$1;\n(statearr_16668_17346[(2)] \x3d null);\n\n(statearr_16668_17346[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (4))){\nvar inst_16644 \x3d (state_16664[(8)]);\nvar inst_16644__$1 \x3d (state_16664[(2)]);\nvar inst_16645 \x3d (inst_16644__$1 \x3d\x3d null);\nvar inst_16646 \x3d cljs.core.not(inst_16645);\nvar state_16664__$1 \x3d (function (){var statearr_16669 \x3d state_16664;\n(statearr_16669[(8)] \x3d inst_16644__$1);\n\nreturn statearr_16669;\n})();\nif(inst_16646){\nvar statearr_16670_17347 \x3d state_16664__$1;\n(statearr_16670_17347[(1)] \x3d (5));\n\n} else {\nvar statearr_16671_17348 \x3d state_16664__$1;\n(statearr_16671_17348[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (6))){\nvar state_16664__$1 \x3d state_16664;\nvar statearr_16672_17349 \x3d state_16664__$1;\n(statearr_16672_17349[(2)] \x3d null);\n\n(statearr_16672_17349[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (3))){\nvar inst_16661 \x3d (state_16664[(2)]);\nvar inst_16662 \x3d cljs.core.async.close_BANG_(out);\nvar state_16664__$1 \x3d (function (){var statearr_16673 \x3d state_16664;\n(statearr_16673[(9)] \x3d inst_16661);\n\nreturn statearr_16673;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_16664__$1,inst_16662);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (2))){\nvar state_16664__$1 \x3d state_16664;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_16664__$1,(4),ch);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (11))){\nvar inst_16644 \x3d (state_16664[(8)]);\nvar inst_16653 \x3d (state_16664[(2)]);\nvar inst_16641 \x3d inst_16644;\nvar state_16664__$1 \x3d (function (){var statearr_16674 \x3d state_16664;\n(statearr_16674[(10)] \x3d inst_16653);\n\n(statearr_16674[(7)] \x3d inst_16641);\n\nreturn statearr_16674;\n})();\nvar statearr_16675_17350 \x3d state_16664__$1;\n(statearr_16675_17350[(2)] \x3d null);\n\n(statearr_16675_17350[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (9))){\nvar inst_16644 \x3d (state_16664[(8)]);\nvar state_16664__$1 \x3d state_16664;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16664__$1,(11),out,inst_16644);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (5))){\nvar inst_16641 \x3d (state_16664[(7)]);\nvar inst_16644 \x3d (state_16664[(8)]);\nvar inst_16648 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_16644,inst_16641);\nvar state_16664__$1 \x3d state_16664;\nif(inst_16648){\nvar statearr_16677_17351 \x3d state_16664__$1;\n(statearr_16677_17351[(1)] \x3d (8));\n\n} else {\nvar statearr_16678_17352 \x3d state_16664__$1;\n(statearr_16678_17352[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (10))){\nvar inst_16656 \x3d (state_16664[(2)]);\nvar state_16664__$1 \x3d state_16664;\nvar statearr_16679_17353 \x3d state_16664__$1;\n(statearr_16679_17353[(2)] \x3d inst_16656);\n\n(statearr_16679_17353[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16665 \x3d\x3d\x3d (8))){\nvar inst_16641 \x3d (state_16664[(7)]);\nvar tmp16676 \x3d inst_16641;\nvar inst_16641__$1 \x3d tmp16676;\nvar state_16664__$1 \x3d (function (){var statearr_16680 \x3d state_16664;\n(statearr_16680[(7)] \x3d inst_16641__$1);\n\nreturn statearr_16680;\n})();\nvar statearr_16681_17354 \x3d state_16664__$1;\n(statearr_16681_17354[(2)] \x3d null);\n\n(statearr_16681_17354[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_16682 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_16682[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_16682[(1)] \x3d (1));\n\nreturn statearr_16682;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_16664){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_16664);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e16683){var ex__14364__auto__ \x3d e16683;\nvar statearr_16684_17361 \x3d state_16664;\n(statearr_16684_17361[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_16664[(4)]))){\nvar statearr_16685_17362 \x3d state_16664;\n(statearr_16685_17362[(1)] \x3d cljs.core.first((state_16664[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17363 \x3d state_16664;\nstate_16664 \x3d G__17363;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_16664){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_16664);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_16686 \x3d f__14407__auto__();\n(statearr_16686[(6)] \x3d c__14406__auto___17344);\n\nreturn statearr_16686;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.unique.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition \x3d (function cljs$core$async$partition(var_args){\nvar G__16688 \x3d arguments.length;\nswitch (G__16688) {\ncase 2:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__14406__auto___17365 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_16726){\nvar state_val_16727 \x3d (state_16726[(1)]);\nif((state_val_16727 \x3d\x3d\x3d (7))){\nvar inst_16722 \x3d (state_16726[(2)]);\nvar state_16726__$1 \x3d state_16726;\nvar statearr_16728_17366 \x3d state_16726__$1;\n(statearr_16728_17366[(2)] \x3d inst_16722);\n\n(statearr_16728_17366[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (1))){\nvar inst_16689 \x3d (new Array(n));\nvar inst_16690 \x3d inst_16689;\nvar inst_16691 \x3d (0);\nvar state_16726__$1 \x3d (function (){var statearr_16729 \x3d state_16726;\n(statearr_16729[(7)] \x3d inst_16690);\n\n(statearr_16729[(8)] \x3d inst_16691);\n\nreturn statearr_16729;\n})();\nvar statearr_16730_17367 \x3d state_16726__$1;\n(statearr_16730_17367[(2)] \x3d null);\n\n(statearr_16730_17367[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (4))){\nvar inst_16694 \x3d (state_16726[(9)]);\nvar inst_16694__$1 \x3d (state_16726[(2)]);\nvar inst_16695 \x3d (inst_16694__$1 \x3d\x3d null);\nvar inst_16696 \x3d cljs.core.not(inst_16695);\nvar state_16726__$1 \x3d (function (){var statearr_16731 \x3d state_16726;\n(statearr_16731[(9)] \x3d inst_16694__$1);\n\nreturn statearr_16731;\n})();\nif(inst_16696){\nvar statearr_16732_17368 \x3d state_16726__$1;\n(statearr_16732_17368[(1)] \x3d (5));\n\n} else {\nvar statearr_16733_17369 \x3d state_16726__$1;\n(statearr_16733_17369[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (15))){\nvar inst_16716 \x3d (state_16726[(2)]);\nvar state_16726__$1 \x3d state_16726;\nvar statearr_16734_17370 \x3d state_16726__$1;\n(statearr_16734_17370[(2)] \x3d inst_16716);\n\n(statearr_16734_17370[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (13))){\nvar state_16726__$1 \x3d state_16726;\nvar statearr_16735_17371 \x3d state_16726__$1;\n(statearr_16735_17371[(2)] \x3d null);\n\n(statearr_16735_17371[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (6))){\nvar inst_16691 \x3d (state_16726[(8)]);\nvar inst_16712 \x3d (inst_16691 \x3e (0));\nvar state_16726__$1 \x3d state_16726;\nif(cljs.core.truth_(inst_16712)){\nvar statearr_16736_17372 \x3d state_16726__$1;\n(statearr_16736_17372[(1)] \x3d (12));\n\n} else {\nvar statearr_16737_17373 \x3d state_16726__$1;\n(statearr_16737_17373[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (3))){\nvar inst_16724 \x3d (state_16726[(2)]);\nvar state_16726__$1 \x3d state_16726;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_16726__$1,inst_16724);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (12))){\nvar inst_16690 \x3d (state_16726[(7)]);\nvar inst_16714 \x3d cljs.core.vec(inst_16690);\nvar state_16726__$1 \x3d state_16726;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16726__$1,(15),out,inst_16714);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (2))){\nvar state_16726__$1 \x3d state_16726;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_16726__$1,(4),ch);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (11))){\nvar inst_16706 \x3d (state_16726[(2)]);\nvar inst_16707 \x3d (new Array(n));\nvar inst_16690 \x3d inst_16707;\nvar inst_16691 \x3d (0);\nvar state_16726__$1 \x3d (function (){var statearr_16738 \x3d state_16726;\n(statearr_16738[(7)] \x3d inst_16690);\n\n(statearr_16738[(8)] \x3d inst_16691);\n\n(statearr_16738[(10)] \x3d inst_16706);\n\nreturn statearr_16738;\n})();\nvar statearr_16739_17374 \x3d state_16726__$1;\n(statearr_16739_17374[(2)] \x3d null);\n\n(statearr_16739_17374[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (9))){\nvar inst_16690 \x3d (state_16726[(7)]);\nvar inst_16704 \x3d cljs.core.vec(inst_16690);\nvar state_16726__$1 \x3d state_16726;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16726__$1,(11),out,inst_16704);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (5))){\nvar inst_16694 \x3d (state_16726[(9)]);\nvar inst_16690 \x3d (state_16726[(7)]);\nvar inst_16691 \x3d (state_16726[(8)]);\nvar inst_16699 \x3d (state_16726[(11)]);\nvar inst_16698 \x3d (inst_16690[inst_16691] \x3d inst_16694);\nvar inst_16699__$1 \x3d (inst_16691 + (1));\nvar inst_16700 \x3d (inst_16699__$1 \x3c n);\nvar state_16726__$1 \x3d (function (){var statearr_16740 \x3d state_16726;\n(statearr_16740[(12)] \x3d inst_16698);\n\n(statearr_16740[(11)] \x3d inst_16699__$1);\n\nreturn statearr_16740;\n})();\nif(cljs.core.truth_(inst_16700)){\nvar statearr_16741_17375 \x3d state_16726__$1;\n(statearr_16741_17375[(1)] \x3d (8));\n\n} else {\nvar statearr_16742_17376 \x3d state_16726__$1;\n(statearr_16742_17376[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (14))){\nvar inst_16719 \x3d (state_16726[(2)]);\nvar inst_16720 \x3d cljs.core.async.close_BANG_(out);\nvar state_16726__$1 \x3d (function (){var statearr_16744 \x3d state_16726;\n(statearr_16744[(13)] \x3d inst_16719);\n\nreturn statearr_16744;\n})();\nvar statearr_16745_17377 \x3d state_16726__$1;\n(statearr_16745_17377[(2)] \x3d inst_16720);\n\n(statearr_16745_17377[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (10))){\nvar inst_16710 \x3d (state_16726[(2)]);\nvar state_16726__$1 \x3d state_16726;\nvar statearr_16746_17378 \x3d state_16726__$1;\n(statearr_16746_17378[(2)] \x3d inst_16710);\n\n(statearr_16746_17378[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16727 \x3d\x3d\x3d (8))){\nvar inst_16690 \x3d (state_16726[(7)]);\nvar inst_16699 \x3d (state_16726[(11)]);\nvar tmp16743 \x3d inst_16690;\nvar inst_16690__$1 \x3d tmp16743;\nvar inst_16691 \x3d inst_16699;\nvar state_16726__$1 \x3d (function (){var statearr_16747 \x3d state_16726;\n(statearr_16747[(7)] \x3d inst_16690__$1);\n\n(statearr_16747[(8)] \x3d inst_16691);\n\nreturn statearr_16747;\n})();\nvar statearr_16748_17379 \x3d state_16726__$1;\n(statearr_16748_17379[(2)] \x3d null);\n\n(statearr_16748_17379[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_16749 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_16749[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_16749[(1)] \x3d (1));\n\nreturn statearr_16749;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_16726){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_16726);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e16750){var ex__14364__auto__ \x3d e16750;\nvar statearr_16751_17380 \x3d state_16726;\n(statearr_16751_17380[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_16726[(4)]))){\nvar statearr_16752_17381 \x3d state_16726;\n(statearr_16752_17381[(1)] \x3d cljs.core.first((state_16726[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17382 \x3d state_16726;\nstate_16726 \x3d G__17382;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_16726){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_16726);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_16753 \x3d f__14407__auto__();\n(statearr_16753[(6)] \x3d c__14406__auto___17365);\n\nreturn statearr_16753;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition_by \x3d (function cljs$core$async$partition_by(var_args){\nvar G__16755 \x3d arguments.length;\nswitch (G__16755) {\ncase 2:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,ch){\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3(f,ch,null);\n}));\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__14406__auto___17384 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_16800){\nvar state_val_16801 \x3d (state_16800[(1)]);\nif((state_val_16801 \x3d\x3d\x3d (7))){\nvar inst_16796 \x3d (state_16800[(2)]);\nvar state_16800__$1 \x3d state_16800;\nvar statearr_16802_17385 \x3d state_16800__$1;\n(statearr_16802_17385[(2)] \x3d inst_16796);\n\n(statearr_16802_17385[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (1))){\nvar inst_16756 \x3d [];\nvar inst_16757 \x3d inst_16756;\nvar inst_16758 \x3d new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123);\nvar state_16800__$1 \x3d (function (){var statearr_16803 \x3d state_16800;\n(statearr_16803[(7)] \x3d inst_16758);\n\n(statearr_16803[(8)] \x3d inst_16757);\n\nreturn statearr_16803;\n})();\nvar statearr_16804_17386 \x3d state_16800__$1;\n(statearr_16804_17386[(2)] \x3d null);\n\n(statearr_16804_17386[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (4))){\nvar inst_16761 \x3d (state_16800[(9)]);\nvar inst_16761__$1 \x3d (state_16800[(2)]);\nvar inst_16762 \x3d (inst_16761__$1 \x3d\x3d null);\nvar inst_16763 \x3d cljs.core.not(inst_16762);\nvar state_16800__$1 \x3d (function (){var statearr_16805 \x3d state_16800;\n(statearr_16805[(9)] \x3d inst_16761__$1);\n\nreturn statearr_16805;\n})();\nif(inst_16763){\nvar statearr_16806_17387 \x3d state_16800__$1;\n(statearr_16806_17387[(1)] \x3d (5));\n\n} else {\nvar statearr_16807_17388 \x3d state_16800__$1;\n(statearr_16807_17388[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (15))){\nvar inst_16757 \x3d (state_16800[(8)]);\nvar inst_16788 \x3d cljs.core.vec(inst_16757);\nvar state_16800__$1 \x3d state_16800;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16800__$1,(18),out,inst_16788);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (13))){\nvar inst_16783 \x3d (state_16800[(2)]);\nvar state_16800__$1 \x3d state_16800;\nvar statearr_16808_17389 \x3d state_16800__$1;\n(statearr_16808_17389[(2)] \x3d inst_16783);\n\n(statearr_16808_17389[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (6))){\nvar inst_16757 \x3d (state_16800[(8)]);\nvar inst_16785 \x3d inst_16757.length;\nvar inst_16786 \x3d (inst_16785 \x3e (0));\nvar state_16800__$1 \x3d state_16800;\nif(cljs.core.truth_(inst_16786)){\nvar statearr_16809_17390 \x3d state_16800__$1;\n(statearr_16809_17390[(1)] \x3d (15));\n\n} else {\nvar statearr_16810_17391 \x3d state_16800__$1;\n(statearr_16810_17391[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (17))){\nvar inst_16793 \x3d (state_16800[(2)]);\nvar inst_16794 \x3d cljs.core.async.close_BANG_(out);\nvar state_16800__$1 \x3d (function (){var statearr_16811 \x3d state_16800;\n(statearr_16811[(10)] \x3d inst_16793);\n\nreturn statearr_16811;\n})();\nvar statearr_16812_17392 \x3d state_16800__$1;\n(statearr_16812_17392[(2)] \x3d inst_16794);\n\n(statearr_16812_17392[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (3))){\nvar inst_16798 \x3d (state_16800[(2)]);\nvar state_16800__$1 \x3d state_16800;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_16800__$1,inst_16798);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (12))){\nvar inst_16757 \x3d (state_16800[(8)]);\nvar inst_16776 \x3d cljs.core.vec(inst_16757);\nvar state_16800__$1 \x3d state_16800;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_16800__$1,(14),out,inst_16776);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (2))){\nvar state_16800__$1 \x3d state_16800;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_16800__$1,(4),ch);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (11))){\nvar inst_16765 \x3d (state_16800[(11)]);\nvar inst_16761 \x3d (state_16800[(9)]);\nvar inst_16757 \x3d (state_16800[(8)]);\nvar inst_16773 \x3d inst_16757.push(inst_16761);\nvar tmp16813 \x3d inst_16757;\nvar inst_16757__$1 \x3d tmp16813;\nvar inst_16758 \x3d inst_16765;\nvar state_16800__$1 \x3d (function (){var statearr_16814 \x3d state_16800;\n(statearr_16814[(12)] \x3d inst_16773);\n\n(statearr_16814[(7)] \x3d inst_16758);\n\n(statearr_16814[(8)] \x3d inst_16757__$1);\n\nreturn statearr_16814;\n})();\nvar statearr_16815_17393 \x3d state_16800__$1;\n(statearr_16815_17393[(2)] \x3d null);\n\n(statearr_16815_17393[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (9))){\nvar inst_16758 \x3d (state_16800[(7)]);\nvar inst_16769 \x3d cljs.core.keyword_identical_QMARK_(inst_16758,new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123));\nvar state_16800__$1 \x3d state_16800;\nvar statearr_16816_17394 \x3d state_16800__$1;\n(statearr_16816_17394[(2)] \x3d inst_16769);\n\n(statearr_16816_17394[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (5))){\nvar inst_16765 \x3d (state_16800[(11)]);\nvar inst_16761 \x3d (state_16800[(9)]);\nvar inst_16766 \x3d (state_16800[(13)]);\nvar inst_16758 \x3d (state_16800[(7)]);\nvar inst_16765__$1 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_16761) : f.call(null,inst_16761));\nvar inst_16766__$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_16765__$1,inst_16758);\nvar state_16800__$1 \x3d (function (){var statearr_16817 \x3d state_16800;\n(statearr_16817[(11)] \x3d inst_16765__$1);\n\n(statearr_16817[(13)] \x3d inst_16766__$1);\n\nreturn statearr_16817;\n})();\nif(inst_16766__$1){\nvar statearr_16818_17395 \x3d state_16800__$1;\n(statearr_16818_17395[(1)] \x3d (8));\n\n} else {\nvar statearr_16819_17396 \x3d state_16800__$1;\n(statearr_16819_17396[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (14))){\nvar inst_16765 \x3d (state_16800[(11)]);\nvar inst_16761 \x3d (state_16800[(9)]);\nvar inst_16778 \x3d (state_16800[(2)]);\nvar inst_16779 \x3d [];\nvar inst_16780 \x3d inst_16779.push(inst_16761);\nvar inst_16757 \x3d inst_16779;\nvar inst_16758 \x3d inst_16765;\nvar state_16800__$1 \x3d (function (){var statearr_16820 \x3d state_16800;\n(statearr_16820[(14)] \x3d inst_16778);\n\n(statearr_16820[(7)] \x3d inst_16758);\n\n(statearr_16820[(8)] \x3d inst_16757);\n\n(statearr_16820[(15)] \x3d inst_16780);\n\nreturn statearr_16820;\n})();\nvar statearr_16821_17397 \x3d state_16800__$1;\n(statearr_16821_17397[(2)] \x3d null);\n\n(statearr_16821_17397[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (16))){\nvar state_16800__$1 \x3d state_16800;\nvar statearr_16822_17398 \x3d state_16800__$1;\n(statearr_16822_17398[(2)] \x3d null);\n\n(statearr_16822_17398[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (10))){\nvar inst_16771 \x3d (state_16800[(2)]);\nvar state_16800__$1 \x3d state_16800;\nif(cljs.core.truth_(inst_16771)){\nvar statearr_16823_17399 \x3d state_16800__$1;\n(statearr_16823_17399[(1)] \x3d (11));\n\n} else {\nvar statearr_16824_17400 \x3d state_16800__$1;\n(statearr_16824_17400[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (18))){\nvar inst_16790 \x3d (state_16800[(2)]);\nvar state_16800__$1 \x3d state_16800;\nvar statearr_16825_17401 \x3d state_16800__$1;\n(statearr_16825_17401[(2)] \x3d inst_16790);\n\n(statearr_16825_17401[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_16801 \x3d\x3d\x3d (8))){\nvar inst_16766 \x3d (state_16800[(13)]);\nvar state_16800__$1 \x3d state_16800;\nvar statearr_16826_17402 \x3d state_16800__$1;\n(statearr_16826_17402[(2)] \x3d inst_16766);\n\n(statearr_16826_17402[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__14361__auto__ \x3d null;\nvar cljs$core$async$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_16827 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_16827[(0)] \x3d cljs$core$async$state_machine__14361__auto__);\n\n(statearr_16827[(1)] \x3d (1));\n\nreturn statearr_16827;\n});\nvar cljs$core$async$state_machine__14361__auto____1 \x3d (function (state_16800){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_16800);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e16828){var ex__14364__auto__ \x3d e16828;\nvar statearr_16829_17403 \x3d state_16800;\n(statearr_16829_17403[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_16800[(4)]))){\nvar statearr_16830_17404 \x3d state_16800;\n(statearr_16830_17404[(1)] \x3d cljs.core.first((state_16800[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17405 \x3d state_16800;\nstate_16800 \x3d G__17405;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__14361__auto__ \x3d function(state_16800){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__14361__auto____1.call(this,state_16800);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__14361__auto____0;\ncljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__14361__auto____1;\nreturn cljs$core$async$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_16831 \x3d f__14407__auto__();\n(statearr_16831[(6)] \x3d c__14406__auto___17384);\n\nreturn statearr_16831;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition_by.cljs$lang$maxFixedArity \x3d 3);\n\n"); +SHADOW_ENV.evalLoad("shadow.dom.js", true , "goog.provide(\x27shadow.dom\x27);\nshadow.dom.transition_supported_QMARK_ \x3d (((typeof window !\x3d\x3d \x27undefined\x27))?goog.style.transition.isSupported():null);\n\n/**\n * @interface\n */\nshadow.dom.IElement \x3d function(){};\n\nvar shadow$dom$IElement$_to_dom$dyn_17557 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.dom._to_dom[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.dom._to_dom[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IElement.-to-dom\x22,this$);\n}\n}\n});\nshadow.dom._to_dom \x3d (function shadow$dom$_to_dom(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$IElement$_to_dom$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$IElement$_to_dom$arity$1(this$);\n} else {\nreturn shadow$dom$IElement$_to_dom$dyn_17557(this$);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.dom.SVGElement \x3d function(){};\n\nvar shadow$dom$SVGElement$_to_svg$dyn_17558 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.dom._to_svg[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.dom._to_svg[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22SVGElement.-to-svg\x22,this$);\n}\n}\n});\nshadow.dom._to_svg \x3d (function shadow$dom$_to_svg(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$SVGElement$_to_svg$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$SVGElement$_to_svg$arity$1(this$);\n} else {\nreturn shadow$dom$SVGElement$_to_svg$dyn_17558(this$);\n}\n});\n\nshadow.dom.lazy_native_coll_seq \x3d (function shadow$dom$lazy_native_coll_seq(coll,idx){\nif((idx \x3c coll.length)){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons((coll[idx]),(function (){var G__16853 \x3d coll;\nvar G__16854 \x3d (idx + (1));\nreturn (shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2 ? shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2(G__16853,G__16854) : shadow.dom.lazy_native_coll_seq.call(null,G__16853,G__16854));\n})());\n}),null,null));\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n*/\nshadow.dom.NativeColl \x3d (function (coll){\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8421394;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.dom.NativeColl.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (this$,n){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.coll[n]);\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (this$,n,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar or__5045__auto__ \x3d (self__.coll[n]);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn not_found;\n}\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll.length;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.dom.lazy_native_coll_seq(self__.coll,(0));\n}));\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(shadow.dom.NativeColl.cljs$lang$type \x3d true);\n\n(shadow.dom.NativeColl.cljs$lang$ctorStr \x3d \x22shadow.dom/NativeColl\x22);\n\n(shadow.dom.NativeColl.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.dom/NativeColl\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/NativeColl.\n */\nshadow.dom.__GT_NativeColl \x3d (function shadow$dom$__GT_NativeColl(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\n\nshadow.dom.native_coll \x3d (function shadow$dom$native_coll(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\nshadow.dom.dom_node \x3d (function shadow$dom$dom_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$IElement$))))?true:false):false)){\nreturn el.shadow$dom$IElement$_to_dom$arity$1(null);\n} else {\nif(typeof el \x3d\x3d\x3d \x27string\x27){\nreturn document.createTextNode(el);\n} else {\nif(typeof el \x3d\x3d\x3d \x27number\x27){\nreturn document.createTextNode(cljs.core.str.cljs$core$IFn$_invoke$arity$1(el));\n} else {\nreturn el;\n\n}\n}\n}\n}\n});\nshadow.dom.query_one \x3d (function shadow$dom$query_one(var_args){\nvar G__16861 \x3d arguments.length;\nswitch (G__16861) {\ncase 1:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn document.querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn shadow.dom.dom_node(root).querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.query \x3d (function shadow$dom$query(var_args){\nvar G__16866 \x3d arguments.length;\nswitch (G__16866) {\ncase 1:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn (new shadow.dom.NativeColl(document.querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(root).querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.by_id \x3d (function shadow$dom$by_id(var_args){\nvar G__16874 \x3d arguments.length;\nswitch (G__16874) {\ncase 2:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2 \x3d (function (id,el){\nreturn shadow.dom.dom_node(el).getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1 \x3d (function (id){\nreturn document.getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.build \x3d shadow.dom.dom_node;\nshadow.dom.ev_stop \x3d (function shadow$dom$ev_stop(var_args){\nvar G__16879 \x3d arguments.length;\nswitch (G__16879) {\ncase 1:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1 \x3d (function (e){\nif(cljs.core.truth_(e.stopPropagation)){\ne.stopPropagation();\n\ne.preventDefault();\n} else {\n(e.cancelBubble \x3d true);\n\n(e.returnValue \x3d false);\n}\n\nreturn e;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2 \x3d (function (e,el){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4 \x3d (function (e,el,scope,owner){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * check wether a parent node (or the document) contains the child\n */\nshadow.dom.contains_QMARK_ \x3d (function shadow$dom$contains_QMARK_(var_args){\nvar G__16895 \x3d arguments.length;\nswitch (G__16895) {\ncase 1:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn goog.dom.contains(document,shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (parent,el){\nreturn goog.dom.contains(shadow.dom.dom_node(parent),shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.add_class \x3d (function shadow$dom$add_class(el,cls){\nreturn goog.dom.classlist.add(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.remove_class \x3d (function shadow$dom$remove_class(el,cls){\nreturn goog.dom.classlist.remove(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.toggle_class \x3d (function shadow$dom$toggle_class(var_args){\nvar G__16948 \x3d arguments.length;\nswitch (G__16948) {\ncase 2:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,cls){\nreturn goog.dom.classlist.toggle(shadow.dom.dom_node(el),cls);\n}));\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,cls,v){\nif(cljs.core.truth_(v)){\nreturn shadow.dom.add_class(el,cls);\n} else {\nreturn shadow.dom.remove_class(el,cls);\n}\n}));\n\n(shadow.dom.toggle_class.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.dom_listen \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn document.addEventListener;\n}\n})())?(function shadow$dom$dom_listen_good(el,ev,handler){\nreturn el.addEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_ie(el,ev,handler){\ntry{return el.attachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),(function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n}));\n}catch (e16964){if((e16964 instanceof Object)){\nvar e \x3d e16964;\nreturn console.log(\x22didnt support attachEvent\x22,el,e);\n} else {\nthrow e16964;\n\n}\n}}));\nshadow.dom.dom_listen_remove \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn document.removeEventListener;\n}\n})())?(function shadow$dom$dom_listen_remove_good(el,ev,handler){\nreturn el.removeEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_remove_ie(el,ev,handler){\nreturn el.detachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),handler);\n}));\nshadow.dom.on_query \x3d (function shadow$dom$on_query(root_el,ev,selector,handler){\nvar seq__16976 \x3d cljs.core.seq(shadow.dom.query.cljs$core$IFn$_invoke$arity$2(selector,root_el));\nvar chunk__16977 \x3d null;\nvar count__16978 \x3d (0);\nvar i__16979 \x3d (0);\nwhile(true){\nif((i__16979 \x3c count__16978)){\nvar el \x3d chunk__16977.cljs$core$IIndexed$_nth$arity$2(null,i__16979);\nvar handler_17565__$1 \x3d ((function (seq__16976,chunk__16977,count__16978,i__16979,el){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__16976,chunk__16977,count__16978,i__16979,el))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_17565__$1);\n\n\nvar G__17566 \x3d seq__16976;\nvar G__17567 \x3d chunk__16977;\nvar G__17568 \x3d count__16978;\nvar G__17569 \x3d (i__16979 + (1));\nseq__16976 \x3d G__17566;\nchunk__16977 \x3d G__17567;\ncount__16978 \x3d G__17568;\ni__16979 \x3d G__17569;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__16976);\nif(temp__5804__auto__){\nvar seq__16976__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__16976__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__16976__$1);\nvar G__17570 \x3d cljs.core.chunk_rest(seq__16976__$1);\nvar G__17571 \x3d c__5568__auto__;\nvar G__17572 \x3d cljs.core.count(c__5568__auto__);\nvar G__17573 \x3d (0);\nseq__16976 \x3d G__17570;\nchunk__16977 \x3d G__17571;\ncount__16978 \x3d G__17572;\ni__16979 \x3d G__17573;\ncontinue;\n} else {\nvar el \x3d cljs.core.first(seq__16976__$1);\nvar handler_17574__$1 \x3d ((function (seq__16976,chunk__16977,count__16978,i__16979,el,seq__16976__$1,temp__5804__auto__){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__16976,chunk__16977,count__16978,i__16979,el,seq__16976__$1,temp__5804__auto__))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_17574__$1);\n\n\nvar G__17575 \x3d cljs.core.next(seq__16976__$1);\nvar G__17576 \x3d null;\nvar G__17577 \x3d (0);\nvar G__17578 \x3d (0);\nseq__16976 \x3d G__17575;\nchunk__16977 \x3d G__17576;\ncount__16978 \x3d G__17577;\ni__16979 \x3d G__17578;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.on \x3d (function shadow$dom$on(var_args){\nvar G__17038 \x3d arguments.length;\nswitch (G__17038) {\ncase 3:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,ev,handler){\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4(el,ev,handler,false);\n}));\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$4 \x3d (function (el,ev,handler,capture){\nif(cljs.core.vector_QMARK_(ev)){\nreturn shadow.dom.on_query(el,cljs.core.first(ev),cljs.core.second(ev),handler);\n} else {\nvar handler__$1 \x3d (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});\nreturn shadow.dom.dom_listen(shadow.dom.dom_node(el),cljs.core.name(ev),handler__$1);\n}\n}));\n\n(shadow.dom.on.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.dom.remove_event_handler \x3d (function shadow$dom$remove_event_handler(el,ev,handler){\nreturn shadow.dom.dom_listen_remove(shadow.dom.dom_node(el),cljs.core.name(ev),handler);\n});\nshadow.dom.add_event_listeners \x3d (function shadow$dom$add_event_listeners(el,events){\nvar seq__17049 \x3d cljs.core.seq(events);\nvar chunk__17050 \x3d null;\nvar count__17051 \x3d (0);\nvar i__17052 \x3d (0);\nwhile(true){\nif((i__17052 \x3c count__17051)){\nvar vec__17069 \x3d chunk__17050.cljs$core$IIndexed$_nth$arity$2(null,i__17052);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17069,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17069,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__17580 \x3d seq__17049;\nvar G__17581 \x3d chunk__17050;\nvar G__17582 \x3d count__17051;\nvar G__17583 \x3d (i__17052 + (1));\nseq__17049 \x3d G__17580;\nchunk__17050 \x3d G__17581;\ncount__17051 \x3d G__17582;\ni__17052 \x3d G__17583;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__17049);\nif(temp__5804__auto__){\nvar seq__17049__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__17049__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__17049__$1);\nvar G__17584 \x3d cljs.core.chunk_rest(seq__17049__$1);\nvar G__17585 \x3d c__5568__auto__;\nvar G__17586 \x3d cljs.core.count(c__5568__auto__);\nvar G__17587 \x3d (0);\nseq__17049 \x3d G__17584;\nchunk__17050 \x3d G__17585;\ncount__17051 \x3d G__17586;\ni__17052 \x3d G__17587;\ncontinue;\n} else {\nvar vec__17076 \x3d cljs.core.first(seq__17049__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17076,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17076,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__17588 \x3d cljs.core.next(seq__17049__$1);\nvar G__17589 \x3d null;\nvar G__17590 \x3d (0);\nvar G__17591 \x3d (0);\nseq__17049 \x3d G__17588;\nchunk__17050 \x3d G__17589;\ncount__17051 \x3d G__17590;\ni__17052 \x3d G__17591;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_style \x3d (function shadow$dom$set_style(el,styles){\nvar dom \x3d shadow.dom.dom_node(el);\nvar seq__17083 \x3d cljs.core.seq(styles);\nvar chunk__17084 \x3d null;\nvar count__17085 \x3d (0);\nvar i__17086 \x3d (0);\nwhile(true){\nif((i__17086 \x3c count__17085)){\nvar vec__17124 \x3d chunk__17084.cljs$core$IIndexed$_nth$arity$2(null,i__17086);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17124,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17124,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__17592 \x3d seq__17083;\nvar G__17593 \x3d chunk__17084;\nvar G__17594 \x3d count__17085;\nvar G__17595 \x3d (i__17086 + (1));\nseq__17083 \x3d G__17592;\nchunk__17084 \x3d G__17593;\ncount__17085 \x3d G__17594;\ni__17086 \x3d G__17595;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__17083);\nif(temp__5804__auto__){\nvar seq__17083__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__17083__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__17083__$1);\nvar G__17596 \x3d cljs.core.chunk_rest(seq__17083__$1);\nvar G__17597 \x3d c__5568__auto__;\nvar G__17598 \x3d cljs.core.count(c__5568__auto__);\nvar G__17599 \x3d (0);\nseq__17083 \x3d G__17596;\nchunk__17084 \x3d G__17597;\ncount__17085 \x3d G__17598;\ni__17086 \x3d G__17599;\ncontinue;\n} else {\nvar vec__17127 \x3d cljs.core.first(seq__17083__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17127,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17127,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__17600 \x3d cljs.core.next(seq__17083__$1);\nvar G__17601 \x3d null;\nvar G__17602 \x3d (0);\nvar G__17603 \x3d (0);\nseq__17083 \x3d G__17600;\nchunk__17084 \x3d G__17601;\ncount__17085 \x3d G__17602;\ni__17086 \x3d G__17603;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_attr_STAR_ \x3d (function shadow$dom$set_attr_STAR_(el,key,value){\nvar G__17135_17604 \x3d key;\nvar G__17135_17605__$1 \x3d (((G__17135_17604 instanceof cljs.core.Keyword))?G__17135_17604.fqn:null);\nswitch (G__17135_17605__$1) {\ncase \x22id\x22:\n(el.id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22class\x22:\n(el.className \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22for\x22:\n(el.htmlFor \x3d value);\n\nbreak;\ncase \x22cellpadding\x22:\nel.setAttribute(\x22cellPadding\x22,value);\n\nbreak;\ncase \x22cellspacing\x22:\nel.setAttribute(\x22cellSpacing\x22,value);\n\nbreak;\ncase \x22colspan\x22:\nel.setAttribute(\x22colSpan\x22,value);\n\nbreak;\ncase \x22frameborder\x22:\nel.setAttribute(\x22frameBorder\x22,value);\n\nbreak;\ncase \x22height\x22:\nel.setAttribute(\x22height\x22,value);\n\nbreak;\ncase \x22maxlength\x22:\nel.setAttribute(\x22maxLength\x22,value);\n\nbreak;\ncase \x22role\x22:\nel.setAttribute(\x22role\x22,value);\n\nbreak;\ncase \x22rowspan\x22:\nel.setAttribute(\x22rowSpan\x22,value);\n\nbreak;\ncase \x22type\x22:\nel.setAttribute(\x22type\x22,value);\n\nbreak;\ncase \x22usemap\x22:\nel.setAttribute(\x22useMap\x22,value);\n\nbreak;\ncase \x22valign\x22:\nel.setAttribute(\x22vAlign\x22,value);\n\nbreak;\ncase \x22width\x22:\nel.setAttribute(\x22width\x22,value);\n\nbreak;\ncase \x22on\x22:\nshadow.dom.add_event_listeners(el,value);\n\nbreak;\ncase \x22style\x22:\nif((value \x3d\x3d null)){\n} else {\nif(typeof value \x3d\x3d\x3d \x27string\x27){\nel.setAttribute(\x22style\x22,value);\n} else {\nif(cljs.core.map_QMARK_(value)){\nshadow.dom.set_style(el,value);\n} else {\ngoog.style.setStyle(el,value);\n\n}\n}\n}\n\nbreak;\ndefault:\nvar ks_17607 \x3d cljs.core.name(key);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d goog.string.startsWith(ks_17607,\x22data-\x22);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn goog.string.startsWith(ks_17607,\x22aria-\x22);\n}\n})())){\nel.setAttribute(ks_17607,value);\n} else {\n(el[ks_17607] \x3d value);\n}\n\n}\n\nreturn el;\n});\nshadow.dom.set_attrs \x3d (function shadow$dom$set_attrs(el,attrs){\nreturn cljs.core.reduce_kv((function (el__$1,key,value){\nshadow.dom.set_attr_STAR_(el__$1,key,value);\n\nreturn el__$1;\n}),shadow.dom.dom_node(el),attrs);\n});\nshadow.dom.set_attr \x3d (function shadow$dom$set_attr(el,key,value){\nreturn shadow.dom.set_attr_STAR_(shadow.dom.dom_node(el),key,value);\n});\nshadow.dom.has_class_QMARK_ \x3d (function shadow$dom$has_class_QMARK_(el,cls){\nreturn goog.dom.classlist.contains(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.merge_class_string \x3d (function shadow$dom$merge_class_string(current,extra_class){\nif(cljs.core.seq(current)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(current),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(extra_class)].join(\x27\x27);\n} else {\nreturn extra_class;\n}\n});\nshadow.dom.parse_tag \x3d (function shadow$dom$parse_tag(spec){\nvar spec__$1 \x3d cljs.core.name(spec);\nvar fdot \x3d spec__$1.indexOf(\x22.\x22);\nvar fhash \x3d spec__$1.indexOf(\x22#\x22);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1,null,null], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fdot),null,clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1))),null], null);\n} else {\nif((fhash \x3e fdot)){\nthrow [\x22cant have id after class?\x22,spec__$1].join(\x27\x27);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1)),fdot),clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n\n}\n}\n}\n}\n});\nshadow.dom.create_dom_node \x3d (function shadow$dom$create_dom_node(tag_def,p__17187){\nvar map__17188 \x3d p__17187;\nvar map__17188__$1 \x3d cljs.core.__destructure_map(map__17188);\nvar props \x3d map__17188__$1;\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17188__$1,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996));\nvar tag_props \x3d ({});\nvar vec__17190 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17190,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17190,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17190,(2),null);\nif(cljs.core.truth_(tag_id)){\n(tag_props[\x22id\x22] \x3d tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\n(tag_props[\x22class\x22] \x3d shadow.dom.merge_class_string(class$,tag_classes));\n} else {\n}\n\nvar G__17195 \x3d goog.dom.createDom(tag_name,tag_props);\nshadow.dom.set_attrs(G__17195,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(props,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)));\n\nreturn G__17195;\n});\nshadow.dom.append \x3d (function shadow$dom$append(var_args){\nvar G__17212 \x3d arguments.length;\nswitch (G__17212) {\ncase 1:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nif(cljs.core.truth_(node)){\nvar temp__5804__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar n \x3d temp__5804__auto__;\ndocument.body.appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,node){\nif(cljs.core.truth_(node)){\nvar temp__5804__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar n \x3d temp__5804__auto__;\nshadow.dom.dom_node(el).appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.destructure_node \x3d (function shadow$dom$destructure_node(create_fn,p__17223){\nvar vec__17225 \x3d p__17223;\nvar seq__17226 \x3d cljs.core.seq(vec__17225);\nvar first__17227 \x3d cljs.core.first(seq__17226);\nvar seq__17226__$1 \x3d cljs.core.next(seq__17226);\nvar nn \x3d first__17227;\nvar first__17227__$1 \x3d cljs.core.first(seq__17226__$1);\nvar seq__17226__$2 \x3d cljs.core.next(seq__17226__$1);\nvar np \x3d first__17227__$1;\nvar nc \x3d seq__17226__$2;\nvar node \x3d vec__17225;\nif((nn instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid dom node\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22node\x22,\x22node\x22,581201198),node], null));\n}\n\nif((((np \x3d\x3d null)) \x26\x26 ((nc \x3d\x3d null)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__17231 \x3d nn;\nvar G__17232 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__17231,G__17232) : create_fn.call(null,G__17231,G__17232));\n})(),cljs.core.List.EMPTY], null);\n} else {\nif(cljs.core.map_QMARK_(np)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(nn,np) : create_fn.call(null,nn,np)),nc], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__17234 \x3d nn;\nvar G__17235 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__17234,G__17235) : create_fn.call(null,G__17234,G__17235));\n})(),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(nc,np)], null);\n\n}\n}\n});\nshadow.dom.make_dom_node \x3d (function shadow$dom$make_dom_node(structure){\nvar vec__17240 \x3d shadow.dom.destructure_node(shadow.dom.create_dom_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17240,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17240,(1),null);\nvar seq__17243_17609 \x3d cljs.core.seq(node_children);\nvar chunk__17244_17610 \x3d null;\nvar count__17245_17611 \x3d (0);\nvar i__17246_17612 \x3d (0);\nwhile(true){\nif((i__17246_17612 \x3c count__17245_17611)){\nvar child_struct_17613 \x3d chunk__17244_17610.cljs$core$IIndexed$_nth$arity$2(null,i__17246_17612);\nvar children_17614 \x3d shadow.dom.dom_node(child_struct_17613);\nif(cljs.core.seq_QMARK_(children_17614)){\nvar seq__17336_17615 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_17614));\nvar chunk__17338_17616 \x3d null;\nvar count__17339_17617 \x3d (0);\nvar i__17340_17618 \x3d (0);\nwhile(true){\nif((i__17340_17618 \x3c count__17339_17617)){\nvar child_17619 \x3d chunk__17338_17616.cljs$core$IIndexed$_nth$arity$2(null,i__17340_17618);\nif(cljs.core.truth_(child_17619)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_17619);\n\n\nvar G__17620 \x3d seq__17336_17615;\nvar G__17621 \x3d chunk__17338_17616;\nvar G__17622 \x3d count__17339_17617;\nvar G__17623 \x3d (i__17340_17618 + (1));\nseq__17336_17615 \x3d G__17620;\nchunk__17338_17616 \x3d G__17621;\ncount__17339_17617 \x3d G__17622;\ni__17340_17618 \x3d G__17623;\ncontinue;\n} else {\nvar G__17624 \x3d seq__17336_17615;\nvar G__17625 \x3d chunk__17338_17616;\nvar G__17626 \x3d count__17339_17617;\nvar G__17627 \x3d (i__17340_17618 + (1));\nseq__17336_17615 \x3d G__17624;\nchunk__17338_17616 \x3d G__17625;\ncount__17339_17617 \x3d G__17626;\ni__17340_17618 \x3d G__17627;\ncontinue;\n}\n} else {\nvar temp__5804__auto___17628 \x3d cljs.core.seq(seq__17336_17615);\nif(temp__5804__auto___17628){\nvar seq__17336_17629__$1 \x3d temp__5804__auto___17628;\nif(cljs.core.chunked_seq_QMARK_(seq__17336_17629__$1)){\nvar c__5568__auto___17630 \x3d cljs.core.chunk_first(seq__17336_17629__$1);\nvar G__17631 \x3d cljs.core.chunk_rest(seq__17336_17629__$1);\nvar G__17632 \x3d c__5568__auto___17630;\nvar G__17633 \x3d cljs.core.count(c__5568__auto___17630);\nvar G__17634 \x3d (0);\nseq__17336_17615 \x3d G__17631;\nchunk__17338_17616 \x3d G__17632;\ncount__17339_17617 \x3d G__17633;\ni__17340_17618 \x3d G__17634;\ncontinue;\n} else {\nvar child_17635 \x3d cljs.core.first(seq__17336_17629__$1);\nif(cljs.core.truth_(child_17635)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_17635);\n\n\nvar G__17636 \x3d cljs.core.next(seq__17336_17629__$1);\nvar G__17637 \x3d null;\nvar G__17638 \x3d (0);\nvar G__17639 \x3d (0);\nseq__17336_17615 \x3d G__17636;\nchunk__17338_17616 \x3d G__17637;\ncount__17339_17617 \x3d G__17638;\ni__17340_17618 \x3d G__17639;\ncontinue;\n} else {\nvar G__17640 \x3d cljs.core.next(seq__17336_17629__$1);\nvar G__17641 \x3d null;\nvar G__17642 \x3d (0);\nvar G__17643 \x3d (0);\nseq__17336_17615 \x3d G__17640;\nchunk__17338_17616 \x3d G__17641;\ncount__17339_17617 \x3d G__17642;\ni__17340_17618 \x3d G__17643;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_17614);\n}\n\n\nvar G__17644 \x3d seq__17243_17609;\nvar G__17645 \x3d chunk__17244_17610;\nvar G__17646 \x3d count__17245_17611;\nvar G__17647 \x3d (i__17246_17612 + (1));\nseq__17243_17609 \x3d G__17644;\nchunk__17244_17610 \x3d G__17645;\ncount__17245_17611 \x3d G__17646;\ni__17246_17612 \x3d G__17647;\ncontinue;\n} else {\nvar temp__5804__auto___17648 \x3d cljs.core.seq(seq__17243_17609);\nif(temp__5804__auto___17648){\nvar seq__17243_17649__$1 \x3d temp__5804__auto___17648;\nif(cljs.core.chunked_seq_QMARK_(seq__17243_17649__$1)){\nvar c__5568__auto___17650 \x3d cljs.core.chunk_first(seq__17243_17649__$1);\nvar G__17651 \x3d cljs.core.chunk_rest(seq__17243_17649__$1);\nvar G__17652 \x3d c__5568__auto___17650;\nvar G__17653 \x3d cljs.core.count(c__5568__auto___17650);\nvar G__17654 \x3d (0);\nseq__17243_17609 \x3d G__17651;\nchunk__17244_17610 \x3d G__17652;\ncount__17245_17611 \x3d G__17653;\ni__17246_17612 \x3d G__17654;\ncontinue;\n} else {\nvar child_struct_17655 \x3d cljs.core.first(seq__17243_17649__$1);\nvar children_17656 \x3d shadow.dom.dom_node(child_struct_17655);\nif(cljs.core.seq_QMARK_(children_17656)){\nvar seq__17355_17657 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_17656));\nvar chunk__17357_17658 \x3d null;\nvar count__17358_17659 \x3d (0);\nvar i__17359_17660 \x3d (0);\nwhile(true){\nif((i__17359_17660 \x3c count__17358_17659)){\nvar child_17661 \x3d chunk__17357_17658.cljs$core$IIndexed$_nth$arity$2(null,i__17359_17660);\nif(cljs.core.truth_(child_17661)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_17661);\n\n\nvar G__17662 \x3d seq__17355_17657;\nvar G__17663 \x3d chunk__17357_17658;\nvar G__17664 \x3d count__17358_17659;\nvar G__17665 \x3d (i__17359_17660 + (1));\nseq__17355_17657 \x3d G__17662;\nchunk__17357_17658 \x3d G__17663;\ncount__17358_17659 \x3d G__17664;\ni__17359_17660 \x3d G__17665;\ncontinue;\n} else {\nvar G__17666 \x3d seq__17355_17657;\nvar G__17667 \x3d chunk__17357_17658;\nvar G__17668 \x3d count__17358_17659;\nvar G__17669 \x3d (i__17359_17660 + (1));\nseq__17355_17657 \x3d G__17666;\nchunk__17357_17658 \x3d G__17667;\ncount__17358_17659 \x3d G__17668;\ni__17359_17660 \x3d G__17669;\ncontinue;\n}\n} else {\nvar temp__5804__auto___17670__$1 \x3d cljs.core.seq(seq__17355_17657);\nif(temp__5804__auto___17670__$1){\nvar seq__17355_17671__$1 \x3d temp__5804__auto___17670__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__17355_17671__$1)){\nvar c__5568__auto___17672 \x3d cljs.core.chunk_first(seq__17355_17671__$1);\nvar G__17673 \x3d cljs.core.chunk_rest(seq__17355_17671__$1);\nvar G__17674 \x3d c__5568__auto___17672;\nvar G__17675 \x3d cljs.core.count(c__5568__auto___17672);\nvar G__17676 \x3d (0);\nseq__17355_17657 \x3d G__17673;\nchunk__17357_17658 \x3d G__17674;\ncount__17358_17659 \x3d G__17675;\ni__17359_17660 \x3d G__17676;\ncontinue;\n} else {\nvar child_17677 \x3d cljs.core.first(seq__17355_17671__$1);\nif(cljs.core.truth_(child_17677)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_17677);\n\n\nvar G__17678 \x3d cljs.core.next(seq__17355_17671__$1);\nvar G__17679 \x3d null;\nvar G__17680 \x3d (0);\nvar G__17681 \x3d (0);\nseq__17355_17657 \x3d G__17678;\nchunk__17357_17658 \x3d G__17679;\ncount__17358_17659 \x3d G__17680;\ni__17359_17660 \x3d G__17681;\ncontinue;\n} else {\nvar G__17682 \x3d cljs.core.next(seq__17355_17671__$1);\nvar G__17683 \x3d null;\nvar G__17684 \x3d (0);\nvar G__17685 \x3d (0);\nseq__17355_17657 \x3d G__17682;\nchunk__17357_17658 \x3d G__17683;\ncount__17358_17659 \x3d G__17684;\ni__17359_17660 \x3d G__17685;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_17656);\n}\n\n\nvar G__17686 \x3d cljs.core.next(seq__17243_17649__$1);\nvar G__17687 \x3d null;\nvar G__17688 \x3d (0);\nvar G__17689 \x3d (0);\nseq__17243_17609 \x3d G__17686;\nchunk__17244_17610 \x3d G__17687;\ncount__17245_17611 \x3d G__17688;\ni__17246_17612 \x3d G__17689;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(cljs.core.Keyword.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$__$1], null));\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_dom,this$__$1);\n}));\nif(cljs.core.truth_(((typeof HTMLElement) !\x3d \x27undefined\x27))){\n(HTMLElement.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(HTMLElement.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\nif(cljs.core.truth_(((typeof DocumentFragment) !\x3d \x27undefined\x27))){\n(DocumentFragment.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(DocumentFragment.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\n/**\n * clear node children\n */\nshadow.dom.reset \x3d (function shadow$dom$reset(node){\nreturn goog.dom.removeChildren(shadow.dom.dom_node(node));\n});\nshadow.dom.remove \x3d (function shadow$dom$remove(node){\nif((((!((node \x3d\x3d null))))?(((((node.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d node.cljs$core$ISeqable$))))?true:false):false)){\nvar seq__17407 \x3d cljs.core.seq(node);\nvar chunk__17408 \x3d null;\nvar count__17409 \x3d (0);\nvar i__17410 \x3d (0);\nwhile(true){\nif((i__17410 \x3c count__17409)){\nvar n \x3d chunk__17408.cljs$core$IIndexed$_nth$arity$2(null,i__17410);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__17690 \x3d seq__17407;\nvar G__17691 \x3d chunk__17408;\nvar G__17692 \x3d count__17409;\nvar G__17693 \x3d (i__17410 + (1));\nseq__17407 \x3d G__17690;\nchunk__17408 \x3d G__17691;\ncount__17409 \x3d G__17692;\ni__17410 \x3d G__17693;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__17407);\nif(temp__5804__auto__){\nvar seq__17407__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__17407__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__17407__$1);\nvar G__17694 \x3d cljs.core.chunk_rest(seq__17407__$1);\nvar G__17695 \x3d c__5568__auto__;\nvar G__17696 \x3d cljs.core.count(c__5568__auto__);\nvar G__17697 \x3d (0);\nseq__17407 \x3d G__17694;\nchunk__17408 \x3d G__17695;\ncount__17409 \x3d G__17696;\ni__17410 \x3d G__17697;\ncontinue;\n} else {\nvar n \x3d cljs.core.first(seq__17407__$1);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__17698 \x3d cljs.core.next(seq__17407__$1);\nvar G__17699 \x3d null;\nvar G__17700 \x3d (0);\nvar G__17701 \x3d (0);\nseq__17407 \x3d G__17698;\nchunk__17408 \x3d G__17699;\ncount__17409 \x3d G__17700;\ni__17410 \x3d G__17701;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn goog.dom.removeNode(node);\n}\n});\nshadow.dom.replace_node \x3d (function shadow$dom$replace_node(old,new$){\nreturn goog.dom.replaceNode(shadow.dom.dom_node(new$),shadow.dom.dom_node(old));\n});\nshadow.dom.text \x3d (function shadow$dom$text(var_args){\nvar G__17412 \x3d arguments.length;\nswitch (G__17412) {\ncase 2:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,new_text){\nreturn (shadow.dom.dom_node(el).innerText \x3d new_text);\n}));\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.dom_node(el).innerText;\n}));\n\n(shadow.dom.text.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.check \x3d (function shadow$dom$check(var_args){\nvar G__17414 \x3d arguments.length;\nswitch (G__17414) {\ncase 1:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2(el,true);\n}));\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,checked){\nreturn (shadow.dom.dom_node(el).checked \x3d checked);\n}));\n\n(shadow.dom.check.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.checked_QMARK_ \x3d (function shadow$dom$checked_QMARK_(el){\nreturn shadow.dom.dom_node(el).checked;\n});\nshadow.dom.form_elements \x3d (function shadow$dom$form_elements(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).elements));\n});\nshadow.dom.children \x3d (function shadow$dom$children(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).children));\n});\nshadow.dom.child_nodes \x3d (function shadow$dom$child_nodes(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).childNodes));\n});\nshadow.dom.attr \x3d (function shadow$dom$attr(var_args){\nvar G__17416 \x3d arguments.length;\nswitch (G__17416) {\ncase 2:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,key){\nreturn shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\n}));\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,key,default$){\nvar or__5045__auto__ \x3d shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn default$;\n}\n}));\n\n(shadow.dom.attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.del_attr \x3d (function shadow$dom$del_attr(el,key){\nreturn shadow.dom.dom_node(el).removeAttribute(cljs.core.name(key));\n});\nshadow.dom.data \x3d (function shadow$dom$data(el,key){\nreturn shadow.dom.dom_node(el).getAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27));\n});\nshadow.dom.set_data \x3d (function shadow$dom$set_data(el,key,value){\nreturn shadow.dom.dom_node(el).setAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n});\nshadow.dom.set_html \x3d (function shadow$dom$set_html(node,text){\nreturn (shadow.dom.dom_node(node).innerHTML \x3d text);\n});\nshadow.dom.get_html \x3d (function shadow$dom$get_html(node){\nreturn shadow.dom.dom_node(node).innerHTML;\n});\nshadow.dom.fragment \x3d (function shadow$dom$fragment(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___17705 \x3d arguments.length;\nvar i__5770__auto___17706 \x3d (0);\nwhile(true){\nif((i__5770__auto___17706 \x3c len__5769__auto___17705)){\nargs__5775__auto__.push((arguments[i__5770__auto___17706]));\n\nvar G__17707 \x3d (i__5770__auto___17706 + (1));\ni__5770__auto___17706 \x3d G__17707;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (nodes){\nvar fragment \x3d document.createDocumentFragment();\nvar seq__17418_17708 \x3d cljs.core.seq(nodes);\nvar chunk__17419_17709 \x3d null;\nvar count__17420_17710 \x3d (0);\nvar i__17421_17711 \x3d (0);\nwhile(true){\nif((i__17421_17711 \x3c count__17420_17710)){\nvar node_17712 \x3d chunk__17419_17709.cljs$core$IIndexed$_nth$arity$2(null,i__17421_17711);\nfragment.appendChild(shadow.dom._to_dom(node_17712));\n\n\nvar G__17713 \x3d seq__17418_17708;\nvar G__17714 \x3d chunk__17419_17709;\nvar G__17715 \x3d count__17420_17710;\nvar G__17716 \x3d (i__17421_17711 + (1));\nseq__17418_17708 \x3d G__17713;\nchunk__17419_17709 \x3d G__17714;\ncount__17420_17710 \x3d G__17715;\ni__17421_17711 \x3d G__17716;\ncontinue;\n} else {\nvar temp__5804__auto___17717 \x3d cljs.core.seq(seq__17418_17708);\nif(temp__5804__auto___17717){\nvar seq__17418_17718__$1 \x3d temp__5804__auto___17717;\nif(cljs.core.chunked_seq_QMARK_(seq__17418_17718__$1)){\nvar c__5568__auto___17719 \x3d cljs.core.chunk_first(seq__17418_17718__$1);\nvar G__17720 \x3d cljs.core.chunk_rest(seq__17418_17718__$1);\nvar G__17721 \x3d c__5568__auto___17719;\nvar G__17722 \x3d cljs.core.count(c__5568__auto___17719);\nvar G__17723 \x3d (0);\nseq__17418_17708 \x3d G__17720;\nchunk__17419_17709 \x3d G__17721;\ncount__17420_17710 \x3d G__17722;\ni__17421_17711 \x3d G__17723;\ncontinue;\n} else {\nvar node_17724 \x3d cljs.core.first(seq__17418_17718__$1);\nfragment.appendChild(shadow.dom._to_dom(node_17724));\n\n\nvar G__17725 \x3d cljs.core.next(seq__17418_17718__$1);\nvar G__17726 \x3d null;\nvar G__17727 \x3d (0);\nvar G__17728 \x3d (0);\nseq__17418_17708 \x3d G__17725;\nchunk__17419_17709 \x3d G__17726;\ncount__17420_17710 \x3d G__17727;\ni__17421_17711 \x3d G__17728;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (new shadow.dom.NativeColl(fragment));\n}));\n\n(shadow.dom.fragment.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.dom.fragment.cljs$lang$applyTo \x3d (function (seq17417){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq17417));\n}));\n\n/**\n * given a html string, eval all \x3cscript\x3e tags and return the html without the scripts\n * don\x27t do this for everything, only content you trust.\n */\nshadow.dom.eval_scripts \x3d (function shadow$dom$eval_scripts(s){\nvar scripts \x3d cljs.core.re_seq(/\x3cscript[^\x3e]*?\x3e(.+?)\x3c\\/script\x3e/,s);\nvar seq__17422_17729 \x3d cljs.core.seq(scripts);\nvar chunk__17423_17730 \x3d null;\nvar count__17424_17731 \x3d (0);\nvar i__17425_17732 \x3d (0);\nwhile(true){\nif((i__17425_17732 \x3c count__17424_17731)){\nvar vec__17432_17733 \x3d chunk__17423_17730.cljs$core$IIndexed$_nth$arity$2(null,i__17425_17732);\nvar script_tag_17734 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17432_17733,(0),null);\nvar script_body_17735 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17432_17733,(1),null);\neval(script_body_17735);\n\n\nvar G__17736 \x3d seq__17422_17729;\nvar G__17737 \x3d chunk__17423_17730;\nvar G__17738 \x3d count__17424_17731;\nvar G__17739 \x3d (i__17425_17732 + (1));\nseq__17422_17729 \x3d G__17736;\nchunk__17423_17730 \x3d G__17737;\ncount__17424_17731 \x3d G__17738;\ni__17425_17732 \x3d G__17739;\ncontinue;\n} else {\nvar temp__5804__auto___17740 \x3d cljs.core.seq(seq__17422_17729);\nif(temp__5804__auto___17740){\nvar seq__17422_17741__$1 \x3d temp__5804__auto___17740;\nif(cljs.core.chunked_seq_QMARK_(seq__17422_17741__$1)){\nvar c__5568__auto___17742 \x3d cljs.core.chunk_first(seq__17422_17741__$1);\nvar G__17743 \x3d cljs.core.chunk_rest(seq__17422_17741__$1);\nvar G__17744 \x3d c__5568__auto___17742;\nvar G__17745 \x3d cljs.core.count(c__5568__auto___17742);\nvar G__17746 \x3d (0);\nseq__17422_17729 \x3d G__17743;\nchunk__17423_17730 \x3d G__17744;\ncount__17424_17731 \x3d G__17745;\ni__17425_17732 \x3d G__17746;\ncontinue;\n} else {\nvar vec__17435_17747 \x3d cljs.core.first(seq__17422_17741__$1);\nvar script_tag_17748 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17435_17747,(0),null);\nvar script_body_17749 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17435_17747,(1),null);\neval(script_body_17749);\n\n\nvar G__17750 \x3d cljs.core.next(seq__17422_17741__$1);\nvar G__17751 \x3d null;\nvar G__17752 \x3d (0);\nvar G__17753 \x3d (0);\nseq__17422_17729 \x3d G__17750;\nchunk__17423_17730 \x3d G__17751;\ncount__17424_17731 \x3d G__17752;\ni__17425_17732 \x3d G__17753;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s__$1,p__17438){\nvar vec__17439 \x3d p__17438;\nvar script_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17439,(0),null);\nvar script_body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17439,(1),null);\nreturn clojure.string.replace(s__$1,script_tag,\x22\x22);\n}),s,scripts);\n});\nshadow.dom.str__GT_fragment \x3d (function shadow$dom$str__GT_fragment(s){\nvar el \x3d document.createElement(\x22div\x22);\n(el.innerHTML \x3d s);\n\nreturn (new shadow.dom.NativeColl(goog.dom.childrenToNode_(document,el)));\n});\nshadow.dom.node_name \x3d (function shadow$dom$node_name(el){\nreturn shadow.dom.dom_node(el).nodeName;\n});\nshadow.dom.ancestor_by_class \x3d (function shadow$dom$ancestor_by_class(el,cls){\nreturn goog.dom.getAncestorByClass(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.ancestor_by_tag \x3d (function shadow$dom$ancestor_by_tag(var_args){\nvar G__17443 \x3d arguments.length;\nswitch (G__17443) {\ncase 2:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,tag){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,tag,cls){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag),cljs.core.name(cls));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.get_value \x3d (function shadow$dom$get_value(dom){\nreturn goog.dom.forms.getValue(shadow.dom.dom_node(dom));\n});\nshadow.dom.set_value \x3d (function shadow$dom$set_value(dom,value){\nreturn goog.dom.forms.setValue(shadow.dom.dom_node(dom),value);\n});\nshadow.dom.px \x3d (function shadow$dom$px(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((value | (0))),\x22px\x22].join(\x27\x27);\n});\nshadow.dom.pct \x3d (function shadow$dom$pct(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(value),\x22%\x22].join(\x27\x27);\n});\nshadow.dom.remove_style_STAR_ \x3d (function shadow$dom$remove_style_STAR_(el,style){\nreturn el.style.removeProperty(cljs.core.name(style));\n});\nshadow.dom.remove_style \x3d (function shadow$dom$remove_style(el,style){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nreturn shadow.dom.remove_style_STAR_(el__$1,style);\n});\nshadow.dom.remove_styles \x3d (function shadow$dom$remove_styles(el,style_keys){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar seq__17444 \x3d cljs.core.seq(style_keys);\nvar chunk__17445 \x3d null;\nvar count__17446 \x3d (0);\nvar i__17447 \x3d (0);\nwhile(true){\nif((i__17447 \x3c count__17446)){\nvar it \x3d chunk__17445.cljs$core$IIndexed$_nth$arity$2(null,i__17447);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__17755 \x3d seq__17444;\nvar G__17756 \x3d chunk__17445;\nvar G__17757 \x3d count__17446;\nvar G__17758 \x3d (i__17447 + (1));\nseq__17444 \x3d G__17755;\nchunk__17445 \x3d G__17756;\ncount__17446 \x3d G__17757;\ni__17447 \x3d G__17758;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__17444);\nif(temp__5804__auto__){\nvar seq__17444__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__17444__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__17444__$1);\nvar G__17760 \x3d cljs.core.chunk_rest(seq__17444__$1);\nvar G__17761 \x3d c__5568__auto__;\nvar G__17762 \x3d cljs.core.count(c__5568__auto__);\nvar G__17763 \x3d (0);\nseq__17444 \x3d G__17760;\nchunk__17445 \x3d G__17761;\ncount__17446 \x3d G__17762;\ni__17447 \x3d G__17763;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__17444__$1);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__17764 \x3d cljs.core.next(seq__17444__$1);\nvar G__17765 \x3d null;\nvar G__17766 \x3d (0);\nvar G__17767 \x3d (0);\nseq__17444 \x3d G__17764;\nchunk__17445 \x3d G__17765;\ncount__17446 \x3d G__17766;\ni__17447 \x3d G__17767;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Coordinate \x3d (function (x,y,__meta,__extmap,__hash){\nthis.x \x3d x;\nthis.y \x3d y;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k17449,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__17453 \x3d k17449;\nvar G__17453__$1 \x3d (((G__17453 instanceof cljs.core.Keyword))?G__17453.fqn:null);\nswitch (G__17453__$1) {\ncase \x22x\x22:\nreturn self__.x;\n\nbreak;\ncase \x22y\x22:\nreturn self__.y;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k17449,else__5346__auto__);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__17454){\nvar vec__17455 \x3d p__17454;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17455,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17455,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.dom.Coordinate{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__17448){\nvar self__ \x3d this;\nvar G__17448__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__17448__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (145542109 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this17450,other17451){\nvar self__ \x3d this;\nvar this17450__$1 \x3d this;\nreturn (((!((other17451 \x3d\x3d null)))) \x26\x26 ((((this17450__$1.constructor \x3d\x3d\x3d other17451.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17450__$1.x,other17451.x)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17450__$1.y,other17451.y)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17450__$1.__extmap,other17451.__extmap)))))))));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k17449){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__17458 \x3d k17449;\nvar G__17458__$1 \x3d (((G__17458 instanceof cljs.core.Keyword))?G__17458.fqn:null);\nswitch (G__17458__$1) {\ncase \x22x\x22:\ncase \x22y\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k17449);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__17448){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__17459 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__17460 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__17459.cljs$core$IFn$_invoke$arity$2 ? pred__17459.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__17460) : pred__17459.call(null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__17460)))){\nreturn (new shadow.dom.Coordinate(G__17448,self__.y,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__17459.cljs$core$IFn$_invoke$arity$2 ? pred__17459.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__17460) : pred__17459.call(null,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__17460)))){\nreturn (new shadow.dom.Coordinate(self__.x,G__17448,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__17448),null));\n}\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__17448){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,G__17448,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.dom.Coordinate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22y\x22,\x22y\x22,-117328249,null)], null);\n}));\n\n(shadow.dom.Coordinate.cljs$lang$type \x3d true);\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Coordinate\x22,null,(1),null));\n}));\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.dom/Coordinate\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Coordinate.\n */\nshadow.dom.__GT_Coordinate \x3d (function shadow$dom$__GT_Coordinate(x,y){\nreturn (new shadow.dom.Coordinate(x,y,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Coordinate, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Coordinate \x3d (function shadow$dom$map__GT_Coordinate(G__17452){\nvar extmap__5385__auto__ \x3d (function (){var G__17462 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__17452,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], 0));\nif(cljs.core.record_QMARK_(G__17452)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__17462);\n} else {\nreturn G__17462;\n}\n})();\nreturn (new shadow.dom.Coordinate(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(G__17452),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(G__17452),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.dom.get_position \x3d (function shadow$dom$get_position(el){\nvar pos \x3d goog.style.getPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_client_position \x3d (function shadow$dom$get_client_position(el){\nvar pos \x3d goog.style.getClientPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_page_offset \x3d (function shadow$dom$get_page_offset(el){\nvar pos \x3d goog.style.getPageOffset(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Size \x3d (function (w,h,__meta,__extmap,__hash){\nthis.w \x3d w;\nthis.h \x3d h;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k17464,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__17468 \x3d k17464;\nvar G__17468__$1 \x3d (((G__17468 instanceof cljs.core.Keyword))?G__17468.fqn:null);\nswitch (G__17468__$1) {\ncase \x22w\x22:\nreturn self__.w;\n\nbreak;\ncase \x22h\x22:\nreturn self__.h;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k17464,else__5346__auto__);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__17469){\nvar vec__17470 \x3d p__17469;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17470,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17470,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.dom.Size{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__17463){\nvar self__ \x3d this;\nvar G__17463__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__17463__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-1228019642 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this17465,other17466){\nvar self__ \x3d this;\nvar this17465__$1 \x3d this;\nreturn (((!((other17466 \x3d\x3d null)))) \x26\x26 ((((this17465__$1.constructor \x3d\x3d\x3d other17466.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17465__$1.w,other17466.w)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17465__$1.h,other17466.h)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17465__$1.__extmap,other17466.__extmap)))))))));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k17464){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__17473 \x3d k17464;\nvar G__17473__$1 \x3d (((G__17473 instanceof cljs.core.Keyword))?G__17473.fqn:null);\nswitch (G__17473__$1) {\ncase \x22w\x22:\ncase \x22h\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k17464);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__17463){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__17474 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__17475 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__17474.cljs$core$IFn$_invoke$arity$2 ? pred__17474.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__17475) : pred__17474.call(null,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__17475)))){\nreturn (new shadow.dom.Size(G__17463,self__.h,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__17474.cljs$core$IFn$_invoke$arity$2 ? pred__17474.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__17475) : pred__17474.call(null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__17475)))){\nreturn (new shadow.dom.Size(self__.w,G__17463,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__17463),null));\n}\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__17463){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,G__17463,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.dom.Size.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22w\x22,\x22w\x22,1994700528,null),new cljs.core.Symbol(null,\x22h\x22,\x22h\x22,-1544777029,null)], null);\n}));\n\n(shadow.dom.Size.cljs$lang$type \x3d true);\n\n(shadow.dom.Size.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Size\x22,null,(1),null));\n}));\n\n(shadow.dom.Size.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.dom/Size\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Size.\n */\nshadow.dom.__GT_Size \x3d (function shadow$dom$__GT_Size(w,h){\nreturn (new shadow.dom.Size(w,h,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Size, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Size \x3d (function shadow$dom$map__GT_Size(G__17467){\nvar extmap__5385__auto__ \x3d (function (){var G__17477 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__17467,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], 0));\nif(cljs.core.record_QMARK_(G__17467)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__17477);\n} else {\nreturn G__17477;\n}\n})();\nreturn (new shadow.dom.Size(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(G__17467),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740).cljs$core$IFn$_invoke$arity$1(G__17467),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.dom.size__GT_clj \x3d (function shadow$dom$size__GT_clj(size){\nreturn (new shadow.dom.Size(size.width,size.height,null,null,null));\n});\nshadow.dom.get_size \x3d (function shadow$dom$get_size(el){\nreturn shadow.dom.size__GT_clj(goog.style.getSize(shadow.dom.dom_node(el)));\n});\nshadow.dom.get_height \x3d (function shadow$dom$get_height(el){\nreturn shadow.dom.get_size(el).h;\n});\nshadow.dom.get_viewport_size \x3d (function shadow$dom$get_viewport_size(){\nreturn shadow.dom.size__GT_clj(goog.dom.getViewportSize());\n});\nshadow.dom.first_child \x3d (function shadow$dom$first_child(el){\nreturn (shadow.dom.dom_node(el).children[(0)]);\n});\nshadow.dom.select_option_values \x3d (function shadow$dom$select_option_values(el){\nvar native$ \x3d shadow.dom.dom_node(el);\nvar opts \x3d (native$[\x22options\x22]);\nvar a__5633__auto__ \x3d opts;\nvar l__5634__auto__ \x3d a__5633__auto__.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((i \x3c l__5634__auto__)){\nvar G__17780 \x3d (i + (1));\nvar G__17781 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(opts[i][\x22value\x22]));\ni \x3d G__17780;\nret \x3d G__17781;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nshadow.dom.build_url \x3d (function shadow$dom$build_url(path,query_params){\nif(cljs.core.empty_QMARK_(query_params)){\nreturn path;\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22?\x22,clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x26\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__17482){\nvar vec__17483 \x3d p__17482;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17483,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17483,(1),null);\nreturn [cljs.core.name(k),\x22\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(encodeURIComponent(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v)))].join(\x27\x27);\n}),query_params))].join(\x27\x27);\n}\n});\nshadow.dom.redirect \x3d (function shadow$dom$redirect(var_args){\nvar G__17487 \x3d arguments.length;\nswitch (G__17487) {\ncase 1:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1 \x3d (function (path){\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2(path,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2 \x3d (function (path,query_params){\nreturn (document[\x22location\x22][\x22href\x22] \x3d shadow.dom.build_url(path,query_params));\n}));\n\n(shadow.dom.redirect.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.reload_BANG_ \x3d (function shadow$dom$reload_BANG_(){\nreturn (document.location.href \x3d document.location.href);\n});\nshadow.dom.tag_name \x3d (function shadow$dom$tag_name(el){\nvar dom \x3d shadow.dom.dom_node(el);\nreturn dom.tagName;\n});\nshadow.dom.insert_after \x3d (function shadow$dom$insert_after(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingAfter(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_before \x3d (function shadow$dom$insert_before(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingBefore(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_first \x3d (function shadow$dom$insert_first(ref,new$){\nvar temp__5802__auto__ \x3d shadow.dom.dom_node(ref).firstChild;\nif(cljs.core.truth_(temp__5802__auto__)){\nvar child \x3d temp__5802__auto__;\nreturn shadow.dom.insert_before(child,new$);\n} else {\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(ref,new$);\n}\n});\nshadow.dom.index_of \x3d (function shadow$dom$index_of(el){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar i \x3d (0);\nwhile(true){\nvar ps \x3d el__$1.previousSibling;\nif((ps \x3d\x3d null)){\nreturn i;\n} else {\nvar G__17786 \x3d ps;\nvar G__17787 \x3d (i + (1));\nel__$1 \x3d G__17786;\ni \x3d G__17787;\ncontinue;\n}\nbreak;\n}\n});\nshadow.dom.get_parent \x3d (function shadow$dom$get_parent(el){\nreturn goog.dom.getParentElement(shadow.dom.dom_node(el));\n});\nshadow.dom.parents \x3d (function shadow$dom$parents(el){\nvar parent \x3d shadow.dom.get_parent(el);\nif(cljs.core.truth_(parent)){\nreturn cljs.core.cons(parent,(new cljs.core.LazySeq(null,(function (){\nreturn (shadow.dom.parents.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.parents.cljs$core$IFn$_invoke$arity$1(parent) : shadow.dom.parents.call(null,parent));\n}),null,null)));\n} else {\nreturn null;\n}\n});\nshadow.dom.matches \x3d (function shadow$dom$matches(el,sel){\nreturn shadow.dom.dom_node(el).matches(sel);\n});\nshadow.dom.get_next_sibling \x3d (function shadow$dom$get_next_sibling(el){\nreturn goog.dom.getNextElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.get_previous_sibling \x3d (function shadow$dom$get_previous_sibling(el){\nreturn goog.dom.getPreviousElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.xmlns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [\x22svg\x22,\x22http://www.w3.org/2000/svg\x22,\x22xlink\x22,\x22http://www.w3.org/1999/xlink\x22], null));\nshadow.dom.create_svg_node \x3d (function shadow$dom$create_svg_node(tag_def,props){\nvar vec__17488 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17488,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17488,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17488,(2),null);\nvar el \x3d document.createElementNS(\x22http://www.w3.org/2000/svg\x22,tag_name);\nif(cljs.core.truth_(tag_id)){\nel.setAttribute(\x22id\x22,tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\nel.setAttribute(\x22class\x22,shadow.dom.merge_class_string(new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(props),tag_classes));\n} else {\n}\n\nvar seq__17491_17790 \x3d cljs.core.seq(props);\nvar chunk__17492_17791 \x3d null;\nvar count__17493_17792 \x3d (0);\nvar i__17494_17793 \x3d (0);\nwhile(true){\nif((i__17494_17793 \x3c count__17493_17792)){\nvar vec__17501_17794 \x3d chunk__17492_17791.cljs$core$IIndexed$_nth$arity$2(null,i__17494_17793);\nvar k_17795 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17501_17794,(0),null);\nvar v_17796 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17501_17794,(1),null);\nel.setAttributeNS((function (){var temp__5804__auto__ \x3d cljs.core.namespace(k_17795);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_17795),v_17796);\n\n\nvar G__17797 \x3d seq__17491_17790;\nvar G__17798 \x3d chunk__17492_17791;\nvar G__17799 \x3d count__17493_17792;\nvar G__17800 \x3d (i__17494_17793 + (1));\nseq__17491_17790 \x3d G__17797;\nchunk__17492_17791 \x3d G__17798;\ncount__17493_17792 \x3d G__17799;\ni__17494_17793 \x3d G__17800;\ncontinue;\n} else {\nvar temp__5804__auto___17801 \x3d cljs.core.seq(seq__17491_17790);\nif(temp__5804__auto___17801){\nvar seq__17491_17802__$1 \x3d temp__5804__auto___17801;\nif(cljs.core.chunked_seq_QMARK_(seq__17491_17802__$1)){\nvar c__5568__auto___17803 \x3d cljs.core.chunk_first(seq__17491_17802__$1);\nvar G__17804 \x3d cljs.core.chunk_rest(seq__17491_17802__$1);\nvar G__17805 \x3d c__5568__auto___17803;\nvar G__17806 \x3d cljs.core.count(c__5568__auto___17803);\nvar G__17807 \x3d (0);\nseq__17491_17790 \x3d G__17804;\nchunk__17492_17791 \x3d G__17805;\ncount__17493_17792 \x3d G__17806;\ni__17494_17793 \x3d G__17807;\ncontinue;\n} else {\nvar vec__17504_17808 \x3d cljs.core.first(seq__17491_17802__$1);\nvar k_17809 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17504_17808,(0),null);\nvar v_17810 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17504_17808,(1),null);\nel.setAttributeNS((function (){var temp__5804__auto____$1 \x3d cljs.core.namespace(k_17809);\nif(cljs.core.truth_(temp__5804__auto____$1)){\nvar ns \x3d temp__5804__auto____$1;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_17809),v_17810);\n\n\nvar G__17811 \x3d cljs.core.next(seq__17491_17802__$1);\nvar G__17812 \x3d null;\nvar G__17813 \x3d (0);\nvar G__17814 \x3d (0);\nseq__17491_17790 \x3d G__17811;\nchunk__17492_17791 \x3d G__17812;\ncount__17493_17792 \x3d G__17813;\ni__17494_17793 \x3d G__17814;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn el;\n});\nshadow.dom.svg_node \x3d (function shadow$dom$svg_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$SVGElement$))))?true:false):false)){\nreturn el.shadow$dom$SVGElement$_to_svg$arity$1(null);\n} else {\nreturn el;\n\n}\n}\n});\nshadow.dom.make_svg_node \x3d (function shadow$dom$make_svg_node(structure){\nvar vec__17508 \x3d shadow.dom.destructure_node(shadow.dom.create_svg_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17508,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17508,(1),null);\nvar seq__17511_17815 \x3d cljs.core.seq(node_children);\nvar chunk__17513_17816 \x3d null;\nvar count__17514_17817 \x3d (0);\nvar i__17515_17818 \x3d (0);\nwhile(true){\nif((i__17515_17818 \x3c count__17514_17817)){\nvar child_struct_17819 \x3d chunk__17513_17816.cljs$core$IIndexed$_nth$arity$2(null,i__17515_17818);\nif((!((child_struct_17819 \x3d\x3d null)))){\nif(typeof child_struct_17819 \x3d\x3d\x3d \x27string\x27){\nvar text_17820 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_17820),child_struct_17819].join(\x27\x27));\n} else {\nvar children_17821 \x3d shadow.dom.svg_node(child_struct_17819);\nif(cljs.core.seq_QMARK_(children_17821)){\nvar seq__17529_17822 \x3d cljs.core.seq(children_17821);\nvar chunk__17531_17823 \x3d null;\nvar count__17532_17824 \x3d (0);\nvar i__17533_17825 \x3d (0);\nwhile(true){\nif((i__17533_17825 \x3c count__17532_17824)){\nvar child_17826 \x3d chunk__17531_17823.cljs$core$IIndexed$_nth$arity$2(null,i__17533_17825);\nif(cljs.core.truth_(child_17826)){\nnode.appendChild(child_17826);\n\n\nvar G__17827 \x3d seq__17529_17822;\nvar G__17828 \x3d chunk__17531_17823;\nvar G__17829 \x3d count__17532_17824;\nvar G__17830 \x3d (i__17533_17825 + (1));\nseq__17529_17822 \x3d G__17827;\nchunk__17531_17823 \x3d G__17828;\ncount__17532_17824 \x3d G__17829;\ni__17533_17825 \x3d G__17830;\ncontinue;\n} else {\nvar G__17831 \x3d seq__17529_17822;\nvar G__17832 \x3d chunk__17531_17823;\nvar G__17833 \x3d count__17532_17824;\nvar G__17834 \x3d (i__17533_17825 + (1));\nseq__17529_17822 \x3d G__17831;\nchunk__17531_17823 \x3d G__17832;\ncount__17532_17824 \x3d G__17833;\ni__17533_17825 \x3d G__17834;\ncontinue;\n}\n} else {\nvar temp__5804__auto___17835 \x3d cljs.core.seq(seq__17529_17822);\nif(temp__5804__auto___17835){\nvar seq__17529_17836__$1 \x3d temp__5804__auto___17835;\nif(cljs.core.chunked_seq_QMARK_(seq__17529_17836__$1)){\nvar c__5568__auto___17837 \x3d cljs.core.chunk_first(seq__17529_17836__$1);\nvar G__17838 \x3d cljs.core.chunk_rest(seq__17529_17836__$1);\nvar G__17839 \x3d c__5568__auto___17837;\nvar G__17840 \x3d cljs.core.count(c__5568__auto___17837);\nvar G__17841 \x3d (0);\nseq__17529_17822 \x3d G__17838;\nchunk__17531_17823 \x3d G__17839;\ncount__17532_17824 \x3d G__17840;\ni__17533_17825 \x3d G__17841;\ncontinue;\n} else {\nvar child_17842 \x3d cljs.core.first(seq__17529_17836__$1);\nif(cljs.core.truth_(child_17842)){\nnode.appendChild(child_17842);\n\n\nvar G__17843 \x3d cljs.core.next(seq__17529_17836__$1);\nvar G__17844 \x3d null;\nvar G__17845 \x3d (0);\nvar G__17846 \x3d (0);\nseq__17529_17822 \x3d G__17843;\nchunk__17531_17823 \x3d G__17844;\ncount__17532_17824 \x3d G__17845;\ni__17533_17825 \x3d G__17846;\ncontinue;\n} else {\nvar G__17847 \x3d cljs.core.next(seq__17529_17836__$1);\nvar G__17848 \x3d null;\nvar G__17849 \x3d (0);\nvar G__17850 \x3d (0);\nseq__17529_17822 \x3d G__17847;\nchunk__17531_17823 \x3d G__17848;\ncount__17532_17824 \x3d G__17849;\ni__17533_17825 \x3d G__17850;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_17821);\n}\n}\n\n\nvar G__17851 \x3d seq__17511_17815;\nvar G__17852 \x3d chunk__17513_17816;\nvar G__17853 \x3d count__17514_17817;\nvar G__17854 \x3d (i__17515_17818 + (1));\nseq__17511_17815 \x3d G__17851;\nchunk__17513_17816 \x3d G__17852;\ncount__17514_17817 \x3d G__17853;\ni__17515_17818 \x3d G__17854;\ncontinue;\n} else {\nvar G__17855 \x3d seq__17511_17815;\nvar G__17856 \x3d chunk__17513_17816;\nvar G__17857 \x3d count__17514_17817;\nvar G__17858 \x3d (i__17515_17818 + (1));\nseq__17511_17815 \x3d G__17855;\nchunk__17513_17816 \x3d G__17856;\ncount__17514_17817 \x3d G__17857;\ni__17515_17818 \x3d G__17858;\ncontinue;\n}\n} else {\nvar temp__5804__auto___17862 \x3d cljs.core.seq(seq__17511_17815);\nif(temp__5804__auto___17862){\nvar seq__17511_17863__$1 \x3d temp__5804__auto___17862;\nif(cljs.core.chunked_seq_QMARK_(seq__17511_17863__$1)){\nvar c__5568__auto___17864 \x3d cljs.core.chunk_first(seq__17511_17863__$1);\nvar G__17865 \x3d cljs.core.chunk_rest(seq__17511_17863__$1);\nvar G__17866 \x3d c__5568__auto___17864;\nvar G__17867 \x3d cljs.core.count(c__5568__auto___17864);\nvar G__17868 \x3d (0);\nseq__17511_17815 \x3d G__17865;\nchunk__17513_17816 \x3d G__17866;\ncount__17514_17817 \x3d G__17867;\ni__17515_17818 \x3d G__17868;\ncontinue;\n} else {\nvar child_struct_17869 \x3d cljs.core.first(seq__17511_17863__$1);\nif((!((child_struct_17869 \x3d\x3d null)))){\nif(typeof child_struct_17869 \x3d\x3d\x3d \x27string\x27){\nvar text_17870 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_17870),child_struct_17869].join(\x27\x27));\n} else {\nvar children_17871 \x3d shadow.dom.svg_node(child_struct_17869);\nif(cljs.core.seq_QMARK_(children_17871)){\nvar seq__17535_17872 \x3d cljs.core.seq(children_17871);\nvar chunk__17537_17873 \x3d null;\nvar count__17538_17874 \x3d (0);\nvar i__17539_17875 \x3d (0);\nwhile(true){\nif((i__17539_17875 \x3c count__17538_17874)){\nvar child_17876 \x3d chunk__17537_17873.cljs$core$IIndexed$_nth$arity$2(null,i__17539_17875);\nif(cljs.core.truth_(child_17876)){\nnode.appendChild(child_17876);\n\n\nvar G__17877 \x3d seq__17535_17872;\nvar G__17878 \x3d chunk__17537_17873;\nvar G__17879 \x3d count__17538_17874;\nvar G__17880 \x3d (i__17539_17875 + (1));\nseq__17535_17872 \x3d G__17877;\nchunk__17537_17873 \x3d G__17878;\ncount__17538_17874 \x3d G__17879;\ni__17539_17875 \x3d G__17880;\ncontinue;\n} else {\nvar G__17881 \x3d seq__17535_17872;\nvar G__17882 \x3d chunk__17537_17873;\nvar G__17883 \x3d count__17538_17874;\nvar G__17884 \x3d (i__17539_17875 + (1));\nseq__17535_17872 \x3d G__17881;\nchunk__17537_17873 \x3d G__17882;\ncount__17538_17874 \x3d G__17883;\ni__17539_17875 \x3d G__17884;\ncontinue;\n}\n} else {\nvar temp__5804__auto___17885__$1 \x3d cljs.core.seq(seq__17535_17872);\nif(temp__5804__auto___17885__$1){\nvar seq__17535_17886__$1 \x3d temp__5804__auto___17885__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__17535_17886__$1)){\nvar c__5568__auto___17887 \x3d cljs.core.chunk_first(seq__17535_17886__$1);\nvar G__17888 \x3d cljs.core.chunk_rest(seq__17535_17886__$1);\nvar G__17889 \x3d c__5568__auto___17887;\nvar G__17890 \x3d cljs.core.count(c__5568__auto___17887);\nvar G__17891 \x3d (0);\nseq__17535_17872 \x3d G__17888;\nchunk__17537_17873 \x3d G__17889;\ncount__17538_17874 \x3d G__17890;\ni__17539_17875 \x3d G__17891;\ncontinue;\n} else {\nvar child_17892 \x3d cljs.core.first(seq__17535_17886__$1);\nif(cljs.core.truth_(child_17892)){\nnode.appendChild(child_17892);\n\n\nvar G__17893 \x3d cljs.core.next(seq__17535_17886__$1);\nvar G__17894 \x3d null;\nvar G__17895 \x3d (0);\nvar G__17896 \x3d (0);\nseq__17535_17872 \x3d G__17893;\nchunk__17537_17873 \x3d G__17894;\ncount__17538_17874 \x3d G__17895;\ni__17539_17875 \x3d G__17896;\ncontinue;\n} else {\nvar G__17897 \x3d cljs.core.next(seq__17535_17886__$1);\nvar G__17898 \x3d null;\nvar G__17899 \x3d (0);\nvar G__17900 \x3d (0);\nseq__17535_17872 \x3d G__17897;\nchunk__17537_17873 \x3d G__17898;\ncount__17538_17874 \x3d G__17899;\ni__17539_17875 \x3d G__17900;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_17871);\n}\n}\n\n\nvar G__17901 \x3d cljs.core.next(seq__17511_17863__$1);\nvar G__17902 \x3d null;\nvar G__17903 \x3d (0);\nvar G__17904 \x3d (0);\nseq__17511_17815 \x3d G__17901;\nchunk__17513_17816 \x3d G__17902;\ncount__17514_17817 \x3d G__17903;\ni__17515_17818 \x3d G__17904;\ncontinue;\n} else {\nvar G__17905 \x3d cljs.core.next(seq__17511_17863__$1);\nvar G__17906 \x3d null;\nvar G__17907 \x3d (0);\nvar G__17908 \x3d (0);\nseq__17511_17815 \x3d G__17905;\nchunk__17513_17816 \x3d G__17906;\ncount__17514_17817 \x3d G__17907;\ni__17515_17818 \x3d G__17908;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(shadow.dom.SVGElement[\x22string\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22string\x22] \x3d (function (this$){\nif((this$ instanceof cljs.core.Keyword)){\nreturn shadow.dom.make_svg_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$], null));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22strings cannot be in svgs\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22this\x22,\x22this\x22,-611633625),this$], null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_svg_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_svg,this$__$1);\n}));\n\n(shadow.dom.SVGElement[\x22null\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\nshadow.dom.svg \x3d (function shadow$dom$svg(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___17913 \x3d arguments.length;\nvar i__5770__auto___17914 \x3d (0);\nwhile(true){\nif((i__5770__auto___17914 \x3c len__5769__auto___17913)){\nargs__5775__auto__.push((arguments[i__5770__auto___17914]));\n\nvar G__17915 \x3d (i__5770__auto___17914 + (1));\ni__5770__auto___17914 \x3d G__17915;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (attrs,children){\nreturn shadow.dom._to_svg(cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22svg\x22,\x22svg\x22,856789142),attrs], null),children)));\n}));\n\n(shadow.dom.svg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.dom.svg.cljs$lang$applyTo \x3d (function (seq17541){\nvar G__17542 \x3d cljs.core.first(seq17541);\nvar seq17541__$1 \x3d cljs.core.next(seq17541);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17542,seq17541__$1);\n}));\n\n/**\n * returns a channel for events on el\n * transform-fn should be a (fn [e el] some-val) where some-val will be put on the chan\n * once-or-cleanup handles the removal of the event handler\n * - true: remove after one event\n * - false: never removed\n * - chan: remove on msg/close\n */\nshadow.dom.event_chan \x3d (function shadow$dom$event_chan(var_args){\nvar G__17544 \x3d arguments.length;\nswitch (G__17544) {\ncase 2:\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,event){\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4(el,event,null,false);\n}));\n\n(shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,event,xf){\nreturn shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4(el,event,xf,false);\n}));\n\n(shadow.dom.event_chan.cljs$core$IFn$_invoke$arity$4 \x3d (function (el,event,xf,once_or_cleanup){\nvar buf \x3d cljs.core.async.sliding_buffer((1));\nvar chan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2(buf,xf);\nvar event_fn \x3d (function shadow$dom$event_fn(e){\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(chan,e);\n\nif(once_or_cleanup \x3d\x3d\x3d true){\nshadow.dom.remove_event_handler(el,event,shadow$dom$event_fn);\n\nreturn cljs.core.async.close_BANG_(chan);\n} else {\nreturn null;\n}\n});\nshadow.dom.dom_listen(shadow.dom.dom_node(el),cljs.core.name(event),event_fn);\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d once_or_cleanup;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!(once_or_cleanup \x3d\x3d\x3d true));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nvar c__14406__auto___17917 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_17549){\nvar state_val_17550 \x3d (state_17549[(1)]);\nif((state_val_17550 \x3d\x3d\x3d (1))){\nvar state_17549__$1 \x3d state_17549;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_17549__$1,(2),once_or_cleanup);\n} else {\nif((state_val_17550 \x3d\x3d\x3d (2))){\nvar inst_17546 \x3d (state_17549[(2)]);\nvar inst_17547 \x3d shadow.dom.remove_event_handler(el,event,event_fn);\nvar state_17549__$1 \x3d (function (){var statearr_17551 \x3d state_17549;\n(statearr_17551[(7)] \x3d inst_17546);\n\nreturn statearr_17551;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_17549__$1,inst_17547);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar shadow$dom$state_machine__14361__auto__ \x3d null;\nvar shadow$dom$state_machine__14361__auto____0 \x3d (function (){\nvar statearr_17552 \x3d [null,null,null,null,null,null,null,null];\n(statearr_17552[(0)] \x3d shadow$dom$state_machine__14361__auto__);\n\n(statearr_17552[(1)] \x3d (1));\n\nreturn statearr_17552;\n});\nvar shadow$dom$state_machine__14361__auto____1 \x3d (function (state_17549){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_17549);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e17553){var ex__14364__auto__ \x3d e17553;\nvar statearr_17554_17918 \x3d state_17549;\n(statearr_17554_17918[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_17549[(4)]))){\nvar statearr_17555_17919 \x3d state_17549;\n(statearr_17555_17919[(1)] \x3d cljs.core.first((state_17549[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__17920 \x3d state_17549;\nstate_17549 \x3d G__17920;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\nshadow$dom$state_machine__14361__auto__ \x3d function(state_17549){\nswitch(arguments.length){\ncase 0:\nreturn shadow$dom$state_machine__14361__auto____0.call(this);\ncase 1:\nreturn shadow$dom$state_machine__14361__auto____1.call(this,state_17549);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$dom$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$dom$state_machine__14361__auto____0;\nshadow$dom$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$dom$state_machine__14361__auto____1;\nreturn shadow$dom$state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_17556 \x3d f__14407__auto__();\n(statearr_17556[(6)] \x3d c__14406__auto___17917);\n\nreturn statearr_17556;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\n} else {\n}\n\nreturn chan;\n}));\n\n(shadow.dom.event_chan.cljs$lang$maxFixedArity \x3d 4);\n\n"); +SHADOW_ENV.evalLoad("clojure.data.js", true , "goog.provide(\x27clojure.data\x27);\n/**\n * Internal helper for diff.\n */\nclojure.data.atom_diff \x3d (function clojure$data$atom_diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [a,b,null], null);\n}\n});\n/**\n * Convert an associative-by-numeric-index collection into\n * an equivalent vector, with nil for any missing keys\n */\nclojure.data.vectorize \x3d (function clojure$data$vectorize(m){\nif(cljs.core.seq(m)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,p__14553){\nvar vec__14555 \x3d p__14553;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14555,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14555,(1),null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,k,v);\n}),cljs.core.vec(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.keys(m)),null)),m);\n} else {\nreturn null;\n}\n});\n/**\n * Diff associative things a and b, comparing only the key k.\n */\nclojure.data.diff_associative_key \x3d (function clojure$data$diff_associative_key(a,b,k){\nvar va \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,k);\nvar vb \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,k);\nvar vec__14559 \x3d clojure.data.diff(va,vb);\nvar a_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14559,(0),null);\nvar b_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14559,(1),null);\nvar ab \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14559,(2),null);\nvar in_a \x3d cljs.core.contains_QMARK_(a,k);\nvar in_b \x3d cljs.core.contains_QMARK_(b,k);\nvar same \x3d ((in_a) \x26\x26 (((in_b) \x26\x26 ((((!((ab \x3d\x3d null)))) || ((((va \x3d\x3d null)) \x26\x26 ((vb \x3d\x3d null)))))))));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((((in_a) \x26\x26 ((((!((a_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,a_STAR_]):null),((((in_b) \x26\x26 ((((!((b_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,b_STAR_]):null),((same)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ab]):null)], null);\n});\n/**\n * Diff associative things a and b, comparing only keys in ks (if supplied).\n */\nclojure.data.diff_associative \x3d (function clojure$data$diff_associative(var_args){\nvar G__14581 \x3d arguments.length;\nswitch (G__14581) {\ncase 2:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(a,b,clojure.set.union.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(a),cljs.core.keys(b)));\n}));\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (diff1,diff2){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.merge,diff1,diff2));\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,null], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$3(clojure.data.diff_associative_key,a,b),ks));\n}));\n\n(clojure.data.diff_associative.cljs$lang$maxFixedArity \x3d 3);\n\nclojure.data.diff_sequential \x3d (function clojure$data$diff_sequential(a,b){\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.data.vectorize,clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(((cljs.core.vector_QMARK_(a))?a:cljs.core.vec(a)),((cljs.core.vector_QMARK_(b))?b:cljs.core.vec(b)),cljs.core.range.cljs$core$IFn$_invoke$arity$1((function (){var x__5130__auto__ \x3d cljs.core.count(a);\nvar y__5131__auto__ \x3d cljs.core.count(b);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})()))));\n});\nclojure.data.diff_set \x3d (function clojure$data$diff_set(a,b){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(a,b)),cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(b,a)),cljs.core.not_empty(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(a,b))], null);\n});\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.EqualityPartition \x3d function(){};\n\nvar clojure$data$EqualityPartition$equality_partition$dyn_14650 \x3d (function (x){\nvar x__5393__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5394__auto__ \x3d (clojure.data.equality_partition[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5394__auto__.call(null,x));\n} else {\nvar m__5392__auto__ \x3d (clojure.data.equality_partition[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5392__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22EqualityPartition.equality-partition\x22,x);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.equality_partition \x3d (function clojure$data$equality_partition(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.clojure$data$EqualityPartition$equality_partition$arity$1 \x3d\x3d null)))))){\nreturn x.clojure$data$EqualityPartition$equality_partition$arity$1(x);\n} else {\nreturn clojure$data$EqualityPartition$equality_partition$dyn_14650(x);\n}\n});\n\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.Diff \x3d function(){};\n\nvar clojure$data$Diff$diff_similar$dyn_14652 \x3d (function (a,b){\nvar x__5393__auto__ \x3d (((a \x3d\x3d null))?null:a);\nvar m__5394__auto__ \x3d (clojure.data.diff_similar[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5394__auto__.call(null,a,b));\n} else {\nvar m__5392__auto__ \x3d (clojure.data.diff_similar[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5392__auto__.call(null,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Diff.diff-similar\x22,a);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.diff_similar \x3d (function clojure$data$diff_similar(a,b){\nif((((!((a \x3d\x3d null)))) \x26\x26 ((!((a.clojure$data$Diff$diff_similar$arity$2 \x3d\x3d null)))))){\nreturn a.clojure$data$Diff$diff_similar$arity$2(a,b);\n} else {\nreturn clojure$data$Diff$diff_similar$dyn_14652(a,b);\n}\n});\n\n(clojure.data.EqualityPartition[\x22null\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22null\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22string\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22string\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22number\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22number\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22array\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22array\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n}));\n\n(clojure.data.EqualityPartition[\x22function\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22function\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22boolean\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22boolean\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22_\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22_\x22] \x3d (function (x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x))){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x))){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x))){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n} else {\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n\n}\n}\n}\n}));\n(clojure.data.Diff[\x22null\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22null\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22string\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22string\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22number\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22number\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22array\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22array\x22] \x3d (function (a,b){\nreturn clojure.data.diff_sequential(a,b);\n}));\n\n(clojure.data.Diff[\x22function\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22function\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22boolean\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22boolean\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22_\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22_\x22] \x3d (function (a,b){\nvar fexpr__14623 \x3d (function (){var G__14624 \x3d clojure.data.equality_partition(a);\nvar G__14624__$1 \x3d (((G__14624 instanceof cljs.core.Keyword))?G__14624.fqn:null);\nswitch (G__14624__$1) {\ncase \x22atom\x22:\nreturn clojure.data.atom_diff;\n\nbreak;\ncase \x22set\x22:\nreturn clojure.data.diff_set;\n\nbreak;\ncase \x22sequential\x22:\nreturn clojure.data.diff_sequential;\n\nbreak;\ncase \x22map\x22:\nreturn clojure.data.diff_associative;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__14624__$1)].join(\x27\x27)));\n\n}\n})();\nreturn (fexpr__14623.cljs$core$IFn$_invoke$arity$2 ? fexpr__14623.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__14623.call(null,a,b));\n}));\n/**\n * Recursively compares a and b, returning a tuple of\n * [things-only-in-a things-only-in-b things-in-both].\n * Comparison rules:\n * \n * * For equal a and b, return [nil nil a].\n * * Maps are subdiffed where keys match and values differ.\n * * Sets are never subdiffed.\n * * All sequential things are treated as associative collections\n * by their indexes, with results returned as vectors.\n * * Everything else (including strings!) is treated as\n * an atom and compared for equality.\n */\nclojure.data.diff \x3d (function clojure$data$diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clojure.data.equality_partition(a),clojure.data.equality_partition(b))){\nreturn clojure.data.diff_similar(a,b);\n} else {\nreturn clojure.data.atom_diff(a,b);\n}\n}\n});\n"); +SHADOW_ENV.evalLoad("shadow.util.js", true , "goog.provide(\x27shadow.util\x27);\nshadow.util.console_friendly \x3d (function shadow$util$console_friendly(a){\nif((a \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nif((a instanceof cljs.core.Keyword)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);\n} else {\nif(typeof a \x3d\x3d\x3d \x27string\x27){\nreturn a;\n} else {\nif(typeof a \x3d\x3d\x3d \x27number\x27){\nreturn a;\n} else {\nif((((!((a \x3d\x3d null))))?(((((a.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d a.cljs$core$IPrintWithWriter$))))?true:(((!a.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a))){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a], 0));\n} else {\nreturn a;\n\n}\n}\n}\n}\n}\n});\nshadow.util.console_QMARK_ \x3d (typeof console !\x3d\x3d \x27undefined\x27);\nshadow.util.log \x3d (function shadow$util$log(var_args){\nvar G__14860 \x3d arguments.length;\nswitch (G__14860) {\ncase 1:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5794__auto__ \x3d [];\nvar len__5769__auto___14937 \x3d arguments.length;\nvar i__5770__auto___14938 \x3d (0);\nwhile(true){\nif((i__5770__auto___14938 \x3c len__5769__auto___14937)){\nargs_arr__5794__auto__.push((arguments[i__5770__auto___14938]));\n\nvar G__14939 \x3d (i__5770__auto___14938 + (1));\ni__5770__auto___14938 \x3d G__14939;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5795__auto__ \x3d (new cljs.core.IndexedSeq(args_arr__5794__auto__.slice((6)),(0),null));\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5795__auto__);\n\n}\n});\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$1 \x3d (function (a1){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$2 \x3d (function (a1,a2){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$3 \x3d (function (a1,a2,a3){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$4 \x3d (function (a1,a2,a3,a4){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$5 \x3d (function (a1,a2,a3,a4,a5){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$6 \x3d (function (a1,a2,a3,a4,a5,a6){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a1,a2,a3,a4,a5,a6,more){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6),\x22more:\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));\n} else {\nreturn null;\n}\n}));\n\n/** @this {Function} */\n(shadow.util.log.cljs$lang$applyTo \x3d (function (seq14853){\nvar G__14854 \x3d cljs.core.first(seq14853);\nvar seq14853__$1 \x3d cljs.core.next(seq14853);\nvar G__14855 \x3d cljs.core.first(seq14853__$1);\nvar seq14853__$2 \x3d cljs.core.next(seq14853__$1);\nvar G__14856 \x3d cljs.core.first(seq14853__$2);\nvar seq14853__$3 \x3d cljs.core.next(seq14853__$2);\nvar G__14857 \x3d cljs.core.first(seq14853__$3);\nvar seq14853__$4 \x3d cljs.core.next(seq14853__$3);\nvar G__14858 \x3d cljs.core.first(seq14853__$4);\nvar seq14853__$5 \x3d cljs.core.next(seq14853__$4);\nvar G__14859 \x3d cljs.core.first(seq14853__$5);\nvar seq14853__$6 \x3d cljs.core.next(seq14853__$5);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14854,G__14855,G__14856,G__14857,G__14858,G__14859,seq14853__$6);\n}));\n\n(shadow.util.log.cljs$lang$maxFixedArity \x3d (6));\n\nshadow.util.remove_from_vector \x3d (function shadow$util$remove_from_vector(coll,key){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,p__14895){\nvar vec__14896 \x3d p__14895;\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14896,(0),null);\nvar item \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14896,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(idx,key)){\nreturn v;\n} else {\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,item);\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,coll)));\n});\nshadow.util.remove_item_from_coll \x3d (function shadow$util$remove_item_from_coll(coll,key,value){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IVector$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll))){\nreturn shadow.util.remove_from_vector(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IMap$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll))){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISet$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll))){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,value);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unknown coll type\x22,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22coll\x22,\x22coll\x22,1647737163),coll,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22value\x22,\x22value\x22,305978217),value], null));\n\n}\n}\n}\n});\n"); +SHADOW_ENV.evalLoad("shadow.object.js", true , "goog.provide(\x27shadow.object\x27);\nshadow.object.console_friendly \x3d shadow.util.console_friendly;\nshadow.object.log \x3d shadow.util.log;\nshadow.object.debug \x3d shadow.util.log;\nshadow.object.info \x3d shadow.util.log;\nshadow.object.warn \x3d shadow.util.log;\nshadow.object.error \x3d shadow.util.log;\nshadow.object.obj_id \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\nshadow.object.next_id \x3d (function shadow$object$next_id(){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.obj_id,cljs.core.inc);\n});\nshadow.object.object_defs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.behavior_fns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instances \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_parent \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.events \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.define_event \x3d (function shadow$object$define_event(event_name,desc,args){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.events,cljs.core.assoc,event_name,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),event_name,new cljs.core.Keyword(null,\x22description\x22,\x22description\x22,-1428560544),desc,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n});\nshadow.object.unmunge \x3d (function shadow$object$unmunge(s){\nreturn clojure.string.replace(clojure.string.replace(s,/_DOT_/,\x22.\x22),/_/,\x22-\x22);\n});\nshadow.object.define_event(new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434),\x22object initialization\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),\x22object descruction\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),\x22cause of destruction, :parent means the parent was destroyed, :direct is default\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),\x22called after the dom was created but has not entered the document yet\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),\x22the dom that was created\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596),\x22should be called whenever a dom node is added to the document, since that\\n is not in control of this library its up to you to call this\\n use (so/notify-tree! your-obj :dom/entered) to notify the node and every child you created\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160),\x22need to rethink this\x22,cljs.core.PersistentVector.EMPTY);\n\n/**\n * @interface\n */\nshadow.object.IObject \x3d function(){};\n\nvar shadow$object$IObject$_id$dyn_18095 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._id[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._id[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-id\x22,this$);\n}\n}\n});\nshadow.object._id \x3d (function shadow$object$_id(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_id$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_id$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_id$dyn_18095(this$);\n}\n});\n\nvar shadow$object$IObject$_type$dyn_18096 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._type[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._type[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-type\x22,this$);\n}\n}\n});\nshadow.object._type \x3d (function shadow$object$_type(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_type$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_type$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_type$dyn_18096(this$);\n}\n});\n\nvar shadow$object$IObject$_data$dyn_18097 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._data[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._data[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-data\x22,this$);\n}\n}\n});\nshadow.object._data \x3d (function shadow$object$_data(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_data$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_data$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_data$dyn_18097(this$);\n}\n});\n\nvar shadow$object$IObject$_update$dyn_18098 \x3d (function (this$,update_fn){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._update[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5394__auto__.call(null,this$,update_fn));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._update[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5392__auto__.call(null,this$,update_fn));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-update\x22,this$);\n}\n}\n});\n/**\n * update and notify watches\n */\nshadow.object._update \x3d (function shadow$object$_update(this$,update_fn){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_update$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_update$arity$2(this$,update_fn);\n} else {\nreturn shadow$object$IObject$_update$dyn_18098(this$,update_fn);\n}\n});\n\nvar shadow$object$IObject$_destroy_BANG_$dyn_18103 \x3d (function (this$,cause){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.object._destroy_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5394__auto__.call(null,this$,cause));\n} else {\nvar m__5392__auto__ \x3d (shadow.object._destroy_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5392__auto__.call(null,this$,cause));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-destroy!\x22,this$);\n}\n}\n});\nshadow.object._destroy_BANG_ \x3d (function shadow$object$_destroy_BANG_(this$,cause){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_destroy_BANG_$arity$2(this$,cause);\n} else {\nreturn shadow$object$IObject$_destroy_BANG_$dyn_18103(this$,cause);\n}\n});\n\nshadow.object.get_type \x3d (function shadow$object$get_type(this$){\nreturn shadow.object._type(this$);\n});\nshadow.object.get_type_attr \x3d (function shadow$object$get_type_attr(var_args){\nvar G__17768 \x3d arguments.length;\nswitch (G__17768) {\ncase 2:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,key){\nif((oref \x3d\x3d null)){\nreturn null;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null));\n}\n}));\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,key,default$){\nif((oref \x3d\x3d null)){\nreturn default$;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null),default$);\n}\n}));\n\n(shadow.object.get_type_attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.get_dom \x3d (function shadow$object$get_dom(oref){\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(oref);\n});\ngoog.exportSymbol(\x27shadow.object.get_dom\x27, shadow.object.get_dom);\nshadow.object.get_by_id \x3d (function shadow$object$get_by_id(id){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),id);\n});\ngoog.exportSymbol(\x27shadow.object.get_by_id\x27, shadow.object.get_by_id);\nshadow.object.get_from_dom \x3d (function shadow$object$get_from_dom(dom){\nvar oid \x3d shadow.dom.data(dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(oid)){\nreturn shadow.object.get_by_id(parseInt(oid,(10)));\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_from_dom\x27, shadow.object.get_from_dom);\nshadow.object.is_object_QMARK_ \x3d (function shadow$object$is_object_QMARK_(obj_or_dom){\nvar or__5045__auto__ \x3d (((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn shadow.object.get_from_dom(obj_or_dom);\n}\n});\nshadow.object.equal_QMARK_ \x3d (function shadow$object$equal_QMARK_(obj,obj_or_dom){\nif((((!((obj \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.shadow$object$IObject$))))?true:(((!obj.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22can only test objects\x22,\x22\\n\x22,\x22(satisfies? IObject obj)\x22].join(\x27\x27)));\n}\n\nif((((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom))){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),shadow.object._id(obj_or_dom));\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),(function (){var temp__5804__auto__ \x3d shadow.dom.data(obj_or_dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar oid \x3d temp__5804__auto__;\nreturn parseInt(oid,(10));\n} else {\nreturn null;\n}\n})());\n}\n});\nshadow.object.get_parent \x3d (function shadow$object$get_parent(oref){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),shadow.object._id(oref));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar parent_id \x3d temp__5804__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),parent_id);\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent\x27, shadow.object.get_parent);\nshadow.object.get_parent_of_type \x3d (function shadow$object$get_parent_of_type(oref,parent_type){\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(oref);\nwhile(true){\nif(cljs.core.truth_(parent)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._type(parent),parent_type)){\nreturn parent;\n} else {\nvar G__18105 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(parent);\nparent \x3d G__18105;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent_of_type\x27, shadow.object.get_parent_of_type);\nshadow.object.get_children \x3d (function shadow$object$get_children(parent){\nvar parent_id \x3d shadow.object._id(parent);\nvar child_ids \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.instance_children),parent_id,cljs.core.PersistentVector.EMPTY);\nvar instances \x3d cljs.core.deref(shadow.object.instances);\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__17775_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(instances,p1__17775_SHARP_);\n}),child_ids));\n});\ngoog.exportSymbol(\x27shadow.object.get_children\x27, shadow.object.get_children);\nshadow.object.tree_seq \x3d (function shadow$object$tree_seq(var_args){\nvar G__17778 \x3d arguments.length;\nswitch (G__17778) {\ncase 1:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\ngoog.exportSymbol(\x27shadow.object.tree_seq\x27, shadow.object.tree_seq);\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (root){\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2(root,(function (node){\nreturn true;\n}));\n}));\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (root,branch_QMARK_){\nreturn cljs.core.tree_seq(branch_QMARK_,shadow.object.get_children,root);\n}));\n\n(shadow.object.tree_seq.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_children_of_type \x3d (function shadow$object$get_children_of_type(oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__17779_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__17779_SHARP_));\n}),shadow.object.get_children(oref));\n});\n/**\n * basically (get-children (:parent this))\n */\nshadow.object.get_siblings \x3d (function shadow$object$get_siblings(p__17783){\nvar map__17784 \x3d p__17783;\nvar map__17784__$1 \x3d cljs.core.__destructure_map(map__17784);\nvar oref \x3d map__17784__$1;\nvar parent \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17784__$1,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\nif(cljs.core.truth_(parent)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object has no parent, thus has no siblings\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nreturn shadow.object.get_children(parent);\n});\n/**\n * returns set of all siblings of a common type\n */\nshadow.object.get_siblings_of_type \x3d (function shadow$object$get_siblings_of_type(var_args){\nvar G__17789 \x3d arguments.length;\nswitch (G__17789) {\ncase 1:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2(oref,oref);\n}));\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__17785_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__17785_SHARP_));\n}),shadow.object.get_siblings(oref));\n}));\n\n(shadow.object.get_siblings_of_type.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_collection_item \x3d (function shadow$object$get_collection_item(oref){\nvar item_key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,item_key);\n});\n/**\n * find the object that contains this dom node\n */\nshadow.object.find_containing_object \x3d (function shadow$object$find_containing_object(dom){\nwhile(true){\nvar temp__5802__auto__ \x3d shadow.object.get_from_dom(dom);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar obj \x3d temp__5802__auto__;\nreturn obj;\n} else {\nvar temp__5804__auto__ \x3d dom.parentElement;\nif(cljs.core.truth_(temp__5804__auto__)){\nvar parent \x3d temp__5804__auto__;\nvar G__18108 \x3d parent;\ndom \x3d G__18108;\ncontinue;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.notify_BANG_ \x3d (function shadow$object$notify_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18109 \x3d arguments.length;\nvar i__5770__auto___18110 \x3d (0);\nwhile(true){\nif((i__5770__auto___18110 \x3c len__5769__auto___18109)){\nargs__5775__auto__.push((arguments[i__5770__auto___18110]));\n\nvar G__18111 \x3d (i__5770__auto___18110 + (1));\ni__5770__auto___18110 \x3d G__18111;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar temp__5804__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),ev], null));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar reactions_to_trigger \x3d temp__5804__auto__;\nvar seq__17909 \x3d cljs.core.seq(reactions_to_trigger);\nvar chunk__17910 \x3d null;\nvar count__17911 \x3d (0);\nvar i__17912 \x3d (0);\nwhile(true){\nif((i__17912 \x3c count__17911)){\nvar rfn \x3d chunk__17910.cljs$core$IIndexed$_nth$arity$2(null,i__17912);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__18118 \x3d seq__17909;\nvar G__18119 \x3d chunk__17910;\nvar G__18120 \x3d count__17911;\nvar G__18121 \x3d (i__17912 + (1));\nseq__17909 \x3d G__18118;\nchunk__17910 \x3d G__18119;\ncount__17911 \x3d G__18120;\ni__17912 \x3d G__18121;\ncontinue;\n} else {\nvar temp__5804__auto____$1 \x3d cljs.core.seq(seq__17909);\nif(temp__5804__auto____$1){\nvar seq__17909__$1 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__17909__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__17909__$1);\nvar G__18122 \x3d cljs.core.chunk_rest(seq__17909__$1);\nvar G__18123 \x3d c__5568__auto__;\nvar G__18124 \x3d cljs.core.count(c__5568__auto__);\nvar G__18125 \x3d (0);\nseq__17909 \x3d G__18122;\nchunk__17910 \x3d G__18123;\ncount__17911 \x3d G__18124;\ni__17912 \x3d G__18125;\ncontinue;\n} else {\nvar rfn \x3d cljs.core.first(seq__17909__$1);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__18126 \x3d cljs.core.next(seq__17909__$1);\nvar G__18127 \x3d null;\nvar G__18128 \x3d (0);\nvar G__18129 \x3d (0);\nseq__17909 \x3d G__18126;\nchunk__17910 \x3d G__18127;\ncount__17911 \x3d G__18128;\ni__17912 \x3d G__18129;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.notify_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_BANG_.cljs$lang$applyTo \x3d (function (seq17859){\nvar G__17860 \x3d cljs.core.first(seq17859);\nvar seq17859__$1 \x3d cljs.core.next(seq17859);\nvar G__17861 \x3d cljs.core.first(seq17859__$1);\nvar seq17859__$2 \x3d cljs.core.next(seq17859__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17860,G__17861,seq17859__$2);\n}));\n\nshadow.object.do_notify_tree \x3d (function shadow$object$do_notify_tree(current_obj,ev,notify_fn){\nvar seq__17921_18130 \x3d cljs.core.seq(shadow.object.get_children(current_obj));\nvar chunk__17922_18131 \x3d null;\nvar count__17923_18132 \x3d (0);\nvar i__17924_18133 \x3d (0);\nwhile(true){\nif((i__17924_18133 \x3c count__17923_18132)){\nvar child_18134 \x3d chunk__17922_18131.cljs$core$IIndexed$_nth$arity$2(null,i__17924_18133);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_18134,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_18134,ev,notify_fn));\n\n\nvar G__18135 \x3d seq__17921_18130;\nvar G__18136 \x3d chunk__17922_18131;\nvar G__18137 \x3d count__17923_18132;\nvar G__18138 \x3d (i__17924_18133 + (1));\nseq__17921_18130 \x3d G__18135;\nchunk__17922_18131 \x3d G__18136;\ncount__17923_18132 \x3d G__18137;\ni__17924_18133 \x3d G__18138;\ncontinue;\n} else {\nvar temp__5804__auto___18139 \x3d cljs.core.seq(seq__17921_18130);\nif(temp__5804__auto___18139){\nvar seq__17921_18140__$1 \x3d temp__5804__auto___18139;\nif(cljs.core.chunked_seq_QMARK_(seq__17921_18140__$1)){\nvar c__5568__auto___18141 \x3d cljs.core.chunk_first(seq__17921_18140__$1);\nvar G__18142 \x3d cljs.core.chunk_rest(seq__17921_18140__$1);\nvar G__18143 \x3d c__5568__auto___18141;\nvar G__18144 \x3d cljs.core.count(c__5568__auto___18141);\nvar G__18145 \x3d (0);\nseq__17921_18130 \x3d G__18142;\nchunk__17922_18131 \x3d G__18143;\ncount__17923_18132 \x3d G__18144;\ni__17924_18133 \x3d G__18145;\ncontinue;\n} else {\nvar child_18146 \x3d cljs.core.first(seq__17921_18140__$1);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_18146,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_18146,ev,notify_fn));\n\n\nvar G__18147 \x3d cljs.core.next(seq__17921_18140__$1);\nvar G__18148 \x3d null;\nvar G__18149 \x3d (0);\nvar G__18150 \x3d (0);\nseq__17921_18130 \x3d G__18147;\nchunk__17922_18131 \x3d G__18148;\ncount__17923_18132 \x3d G__18149;\ni__17924_18133 \x3d G__18150;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (notify_fn.cljs$core$IFn$_invoke$arity$1 ? notify_fn.cljs$core$IFn$_invoke$arity$1(current_obj) : notify_fn.call(null,current_obj));\n});\nshadow.object.notify_tree_BANG_ \x3d (function shadow$object$notify_tree_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18152 \x3d arguments.length;\nvar i__5770__auto___18153 \x3d (0);\nwhile(true){\nif((i__5770__auto___18153 \x3c len__5769__auto___18152)){\nargs__5775__auto__.push((arguments[i__5770__auto___18153]));\n\nvar G__18154 \x3d (i__5770__auto___18153 + (1));\ni__5770__auto___18153 \x3d G__18154;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar notify_fn \x3d (function (obj){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,obj,ev,args);\n});\nreturn shadow.object.do_notify_tree(oref,ev,notify_fn);\n}));\n\n(shadow.object.notify_tree_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_tree_BANG_.cljs$lang$applyTo \x3d (function (seq17925){\nvar G__17926 \x3d cljs.core.first(seq17925);\nvar seq17925__$1 \x3d cljs.core.next(seq17925);\nvar G__17927 \x3d cljs.core.first(seq17925__$1);\nvar seq17925__$2 \x3d cljs.core.next(seq17925__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17926,G__17927,seq17925__$2);\n}));\n\nshadow.object.notify_down_BANG_ \x3d shadow.object.notify_tree_BANG_;\nshadow.object.notify_up_BANG_ \x3d (function shadow$object$notify_up_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18156 \x3d arguments.length;\nvar i__5770__auto___18157 \x3d (0);\nwhile(true){\nif((i__5770__auto___18157 \x3c len__5769__auto___18156)){\nargs__5775__auto__.push((arguments[i__5770__auto___18157]));\n\nvar G__18162 \x3d (i__5770__auto___18157 + (1));\ni__5770__auto___18157 \x3d G__18162;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar current \x3d shadow.object.get_parent(oref);\nwhile(true){\nif(cljs.core.truth_(current)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,current,ev,args);\n\nvar G__18166 \x3d shadow.object.get_parent(current);\ncurrent \x3d G__18166;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.object.notify_up_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_up_BANG_.cljs$lang$applyTo \x3d (function (seq17928){\nvar G__17929 \x3d cljs.core.first(seq17928);\nvar seq17928__$1 \x3d cljs.core.next(seq17928);\nvar G__17930 \x3d cljs.core.first(seq17928__$1);\nvar seq17928__$2 \x3d cljs.core.next(seq17928__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17929,G__17930,seq17928__$2);\n}));\n\nshadow.object.update_BANG_ \x3d (function shadow$object$update_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18167 \x3d arguments.length;\nvar i__5770__auto___18168 \x3d (0);\nwhile(true){\nif((i__5770__auto___18168 \x3c len__5769__auto___18167)){\nargs__5775__auto__.push((arguments[i__5770__auto___18168]));\n\nvar G__18169 \x3d (i__5770__auto___18168 + (1));\ni__5770__auto___18168 \x3d G__18169;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,update_fn,args){\nif(cljs.core.fn_QMARK_(update_fn)){\n} else {\nthrow [\x22update! expects a fn as second arg, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([update_fn], 0))].join(\x27\x27);\n}\n\nvar id \x3d shadow.object._id(oref);\nvar data \x3d shadow.object._data(oref);\nvar work_fn \x3d (function (data__$1){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(update_fn,data__$1,args);\n});\nreturn shadow.object._update(oref,work_fn);\n}));\n\n(shadow.object.update_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.update_BANG_.cljs$lang$applyTo \x3d (function (seq17931){\nvar G__17932 \x3d cljs.core.first(seq17931);\nvar seq17931__$1 \x3d cljs.core.next(seq17931);\nvar G__17933 \x3d cljs.core.first(seq17931__$1);\nvar seq17931__$2 \x3d cljs.core.next(seq17931__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17932,G__17933,seq17931__$2);\n}));\n\nshadow.object.return_value \x3d (function shadow$object$return_value(oref,return_value){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360),return_value], 0));\n});\nshadow.object.set_parent_BANG_ \x3d (function shadow$object$set_parent_BANG_(child,parent){\nvar child_id \x3d shadow.object._id(child);\nvar parent_id \x3d shadow.object._id(parent);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instance_parent,cljs.core.assoc,child_id,parent_id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.instance_children,(function (x){\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.PersistentHashSet.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,child_id));\n}));\n\nreturn true;\n});\nshadow.object.dom_destroy \x3d (function shadow$object$dom_destroy(this$,cause){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cause,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779))){\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nvar temp__5802__auto__ \x3d shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(this$,new cljs.core.Keyword(\x22dom\x22,\x22remove\x22,\x22dom/remove\x22,-131527420));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar custom_remove \x3d temp__5802__auto__;\nvar G__17934 \x3d this$;\nvar G__17935 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$);\nreturn (custom_remove.cljs$core$IFn$_invoke$arity$2 ? custom_remove.cljs$core$IFn$_invoke$arity$2(G__17934,G__17935) : custom_remove.call(null,G__17934,G__17935));\n} else {\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n}\n}\n});\nshadow.object.destroy_BANG_ \x3d (function shadow$object$destroy_BANG_(var_args){\nvar G__17937 \x3d arguments.length;\nswitch (G__17937) {\ncase 1:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(null,\x22direct\x22,\x22direct\x22,-1775717856));\n}));\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,cause){\nreturn shadow.object._destroy_BANG_(oref,cause);\n}));\n\n(shadow.object.destroy_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.bind_dom_events \x3d (function shadow$object$bind_dom_events(oref,dom,dom_events){\nif((cljs.core.rem(cljs.core.count(dom_events),(2)) \x3d\x3d\x3d (0))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object defined invalid event\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22object-type\x22,\x22object-type\x22,-1889869015),shadow.object._type(oref),new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527),dom_events], null));\n}\n\nvar seq__17938 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),dom_events));\nvar chunk__17939 \x3d null;\nvar count__17940 \x3d (0);\nvar i__17941 \x3d (0);\nwhile(true){\nif((i__17941 \x3c count__17940)){\nvar vec__17948 \x3d chunk__17939.cljs$core$IIndexed$_nth$arity$2(null,i__17941);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17948,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17948,(1),null);\nvar ev_def \x3d vec__17948;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_18186__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__17938,chunk__17939,count__17940,i__17941,vec__17948,ev,handler,ev_def){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__17938,chunk__17939,count__17940,i__17941,vec__17948,ev,handler,ev_def))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__17938,chunk__17939,count__17940,i__17941,handler_18186__$1,vec__17948,ev,handler,ev_def){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_18186__$1.cljs$core$IFn$_invoke$arity$3 ? handler_18186__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_18186__$1.call(null,oref,e,el));\n});})(seq__17938,chunk__17939,count__17940,i__17941,handler_18186__$1,vec__17948,ev,handler,ev_def))\n);\n\n\nvar G__18187 \x3d seq__17938;\nvar G__18188 \x3d chunk__17939;\nvar G__18189 \x3d count__17940;\nvar G__18190 \x3d (i__17941 + (1));\nseq__17938 \x3d G__18187;\nchunk__17939 \x3d G__18188;\ncount__17940 \x3d G__18189;\ni__17941 \x3d G__18190;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__17938);\nif(temp__5804__auto__){\nvar seq__17938__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__17938__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__17938__$1);\nvar G__18191 \x3d cljs.core.chunk_rest(seq__17938__$1);\nvar G__18192 \x3d c__5568__auto__;\nvar G__18193 \x3d cljs.core.count(c__5568__auto__);\nvar G__18194 \x3d (0);\nseq__17938 \x3d G__18191;\nchunk__17939 \x3d G__18192;\ncount__17940 \x3d G__18193;\ni__17941 \x3d G__18194;\ncontinue;\n} else {\nvar vec__17951 \x3d cljs.core.first(seq__17938__$1);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17951,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17951,(1),null);\nvar ev_def \x3d vec__17951;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_18195__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__17938,chunk__17939,count__17940,i__17941,vec__17951,ev,handler,ev_def,seq__17938__$1,temp__5804__auto__){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__17938,chunk__17939,count__17940,i__17941,vec__17951,ev,handler,ev_def,seq__17938__$1,temp__5804__auto__))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__17938,chunk__17939,count__17940,i__17941,handler_18195__$1,vec__17951,ev,handler,ev_def,seq__17938__$1,temp__5804__auto__){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_18195__$1.cljs$core$IFn$_invoke$arity$3 ? handler_18195__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_18195__$1.call(null,oref,e,el));\n});})(seq__17938,chunk__17939,count__17940,i__17941,handler_18195__$1,vec__17951,ev,handler,ev_def,seq__17938__$1,temp__5804__auto__))\n);\n\n\nvar G__18197 \x3d cljs.core.next(seq__17938__$1);\nvar G__18198 \x3d null;\nvar G__18199 \x3d (0);\nvar G__18200 \x3d (0);\nseq__17938 \x3d G__18197;\nchunk__17939 \x3d G__18198;\ncount__17940 \x3d G__18199;\ni__17941 \x3d G__18200;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.reaction_merge \x3d (function shadow$object$reaction_merge(result,p__17954){\nvar vec__17955 \x3d p__17954;\nvar event \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17955,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17955,(1),null);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d event;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn handler;\n} else {\nreturn and__5043__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid reaction\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22event\x22,\x22event\x22,301435442),event,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),handler], null));\n}\n\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.List.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,handler));\n});\nshadow.object.merge_reactions \x3d (function shadow$object$merge_reactions(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behaviors must be vectors\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(behavior))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid behavior\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.reaction_merge,result,cljs.core.reverse(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),behavior)));\n});\nshadow.object.merge_behaviors \x3d (function shadow$object$merge_behaviors(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,behavior);\n} else {\nif(cljs.core.map_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277)], null),(function (watches){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(watches,new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY));\n})),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527)], null),(function (default$){\nreturn cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(default$,new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)));\n}));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behavior not understood\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n\n}\n}\n});\nshadow.object.define \x3d (function shadow$object$define(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18201 \x3d arguments.length;\nvar i__5770__auto___18202 \x3d (0);\nwhile(true){\nif((i__5770__auto___18202 \x3c len__5769__auto___18201)){\nargs__5775__auto__.push((arguments[i__5770__auto___18202]));\n\nvar G__18203 \x3d (i__5770__auto___18202 + (1));\ni__5770__auto___18202 \x3d G__18203;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn shadow.object.define.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(shadow.object.define.cljs$core$IFn$_invoke$arity$variadic \x3d (function (id,args){\nif((id instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object id needs to be a keyword\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(args))){\n} else {\nthrow [\x22invalid object definition \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id),\x22 args: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0))].join(\x27\x27);\n}\n\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),id)){\nconsole.warn([\x22object already defined \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id)].join(\x27\x27));\n} else {\n}\n\ntry{var odef \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,args);\nvar reactions \x3d shadow.object.merge_reactions(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY));\nvar odef__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22id\x22,\x22shadow.object/id\x22,-647954841),id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),reactions], 0));\nvar odef__$2 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.merge_behaviors,odef__$1,cljs.core.reverse(new cljs.core.Keyword(null,\x22behaviors\x22,\x22behaviors\x22,120724909).cljs$core$IFn$_invoke$arity$2(odef__$1,cljs.core.PersistentVector.EMPTY)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.object_defs,cljs.core.assoc,id,odef__$2);\n\nreturn odef__$2;\n}catch (e17960){if((e17960 instanceof Object)){\nvar e \x3d e17960;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to define object\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n} else {\nthrow e17960;\n\n}\n}}));\n\n(shadow.object.define.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.object.define.cljs$lang$applyTo \x3d (function (seq17958){\nvar G__17959 \x3d cljs.core.first(seq17958);\nvar seq17958__$1 \x3d cljs.core.next(seq17958);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17959,seq17958__$1);\n}));\n\nshadow.object.merge_defaults \x3d (function shadow$object$merge_defaults(data,type){\nvar defaults \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type,new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214)], null));\nif((defaults \x3d\x3d null)){\nreturn data;\n} else {\nif(cljs.core.map_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([defaults,data], 0));\n} else {\nif(cljs.core.fn_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(defaults.cljs$core$IFn$_invoke$arity$0 ? defaults.cljs$core$IFn$_invoke$arity$0() : defaults.call(null)),data], 0));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid object defaults\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214),defaults,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type], null));\n\n}\n}\n}\n});\nshadow.object.make_dom \x3d (function shadow$object$make_dom(var_args){\nvar G__17962 \x3d arguments.length;\nswitch (G__17962) {\ncase 3:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,dom_key,events_key){\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4(oref,dom_key,events_key,null);\n}));\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,dom_key,events_key,value){\nvar dom_fn \x3d (((dom_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(oref,dom_key):dom_key);\nvar events \x3d (((events_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3(oref,events_key,cljs.core.PersistentVector.EMPTY):events_key);\nvar dom \x3d (function (){var G__17963 \x3d (dom_fn.cljs$core$IFn$_invoke$arity$2 ? dom_fn.cljs$core$IFn$_invoke$arity$2(oref,value) : dom_fn.call(null,oref,value));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__17963) : shadow.dom.build.call(null,G__17963));\n})();\nshadow.object.bind_dom_events(oref,dom,events);\n\nreturn dom;\n}));\n\n(shadow.object.make_dom.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.alive_QMARK_ \x3d (function shadow$object$alive_QMARK_(obj){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.instances),shadow.object._id(obj));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.Watch \x3d (function (key,handler,__meta,__extmap,__hash){\nthis.key \x3d key;\nthis.handler \x3d handler;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k17965,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__17969 \x3d k17965;\nvar G__17969__$1 \x3d (((G__17969 instanceof cljs.core.Keyword))?G__17969.fqn:null);\nswitch (G__17969__$1) {\ncase \x22key\x22:\nreturn self__.key;\n\nbreak;\ncase \x22handler\x22:\nreturn self__.handler;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k17965,else__5346__auto__);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__17970){\nvar vec__17971 \x3d p__17970;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17971,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__17971,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.object.Watch{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler],null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__17964){\nvar self__ \x3d this;\nvar G__17964__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__17964__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-17677043 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this17966,other17967){\nvar self__ \x3d this;\nvar this17966__$1 \x3d this;\nreturn (((!((other17967 \x3d\x3d null)))) \x26\x26 ((((this17966__$1.constructor \x3d\x3d\x3d other17967.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17966__$1.key,other17967.key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17966__$1.handler,other17967.handler)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this17966__$1.__extmap,other17967.__extmap)))))))));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k17965){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__17974 \x3d k17965;\nvar G__17974__$1 \x3d (((G__17974 instanceof cljs.core.Keyword))?G__17974.fqn:null);\nswitch (G__17974__$1) {\ncase \x22key\x22:\ncase \x22handler\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k17965);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__17964){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__17975 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__17976 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__17975.cljs$core$IFn$_invoke$arity$2 ? pred__17975.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__17976) : pred__17975.call(null,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__17976)))){\nreturn (new shadow.object.Watch(G__17964,self__.handler,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__17975.cljs$core$IFn$_invoke$arity$2 ? pred__17975.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__17976) : pred__17975.call(null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__17976)))){\nreturn (new shadow.object.Watch(self__.key,G__17964,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__17964),null));\n}\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler,null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__17964){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,G__17964,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.object.Watch.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null)], null);\n}));\n\n(shadow.object.Watch.cljs$lang$type \x3d true);\n\n(shadow.object.Watch.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.object/Watch\x22,null,(1),null));\n}));\n\n(shadow.object.Watch.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.object/Watch\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/Watch.\n */\nshadow.object.__GT_Watch \x3d (function shadow$object$__GT_Watch(key,handler){\nreturn (new shadow.object.Watch(key,handler,null,null,null));\n});\n\n/**\n * Factory function for shadow.object/Watch, taking a map of keywords to field values.\n */\nshadow.object.map__GT_Watch \x3d (function shadow$object$map__GT_Watch(G__17968){\nvar extmap__5385__auto__ \x3d (function (){var G__17978 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__17968,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], 0));\nif(cljs.core.record_QMARK_(G__17968)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__17978);\n} else {\nreturn G__17978;\n}\n})();\nreturn (new shadow.object.Watch(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(G__17968),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612).cljs$core$IFn$_invoke$arity$1(G__17968),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IEquiv}\n * @implements {shadow.object.IObject}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {shadow.dom.SVGElement}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.ObjectRef \x3d (function (id,type,data,watches,result_chan){\nthis.id \x3d id;\nthis.type \x3d type;\nthis.data \x3d data;\nthis.watches \x3d watches;\nthis.result_chan \x3d result_chan;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2149613824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2;\n});\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.result_chan,handler);\n}));\n\n(shadow.object.ObjectRef.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.data,k);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,k,d){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.data,k,d);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this$,writer,opts){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#\x3cObjectRef {:id \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.id),\x22, :type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.type),\x22}\x3e\x22].join(\x27\x27));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof shadow.object.ObjectRef)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this$__$1.shadow$object$IObject$_id$arity$1(null),shadow.object._id(other))));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthrow (new Error(\x22who be calling?\x22));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.watches,(new shadow.object.Watch(key,f,null,null,null))));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__17979_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(p1__17979_SHARP_));\n}),self__.watches));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_id$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.id;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_type$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.type;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_data$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_update$arity$2 \x3d (function (this$,update_fn){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar old \x3d self__.data;\nvar new$ \x3d (update_fn.cljs$core$IFn$_invoke$arity$1 ? update_fn.cljs$core$IFn$_invoke$arity$1(self__.data) : update_fn.call(null,self__.data));\n(self__.data \x3d new$);\n\nvar seq__17980 \x3d cljs.core.seq(self__.watches);\nvar chunk__17981 \x3d null;\nvar count__17982 \x3d (0);\nvar i__17983 \x3d (0);\nwhile(true){\nif((i__17983 \x3c count__17982)){\nvar map__17986 \x3d chunk__17981.cljs$core$IIndexed$_nth$arity$2(null,i__17983);\nvar map__17986__$1 \x3d cljs.core.__destructure_map(map__17986);\nvar watch \x3d map__17986__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17986__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17986__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__18243 \x3d seq__17980;\nvar G__18244 \x3d chunk__17981;\nvar G__18245 \x3d count__17982;\nvar G__18246 \x3d (i__17983 + (1));\nseq__17980 \x3d G__18243;\nchunk__17981 \x3d G__18244;\ncount__17982 \x3d G__18245;\ni__17983 \x3d G__18246;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__17980);\nif(temp__5804__auto__){\nvar seq__17980__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__17980__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__17980__$1);\nvar G__18247 \x3d cljs.core.chunk_rest(seq__17980__$1);\nvar G__18248 \x3d c__5568__auto__;\nvar G__18249 \x3d cljs.core.count(c__5568__auto__);\nvar G__18250 \x3d (0);\nseq__17980 \x3d G__18247;\nchunk__17981 \x3d G__18248;\ncount__17982 \x3d G__18249;\ni__17983 \x3d G__18250;\ncontinue;\n} else {\nvar map__17987 \x3d cljs.core.first(seq__17980__$1);\nvar map__17987__$1 \x3d cljs.core.__destructure_map(map__17987);\nvar watch \x3d map__17987__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17987__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__17987__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__18253 \x3d cljs.core.next(seq__17980__$1);\nvar G__18254 \x3d null;\nvar G__18255 \x3d (0);\nvar G__18256 \x3d (0);\nseq__17980 \x3d G__18253;\nchunk__17981 \x3d G__18254;\ncount__17982 \x3d G__18255;\ni__17983 \x3d G__18256;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d (function (this$,cause){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar parent_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),self__.id);\nvar seq__17988_18257 \x3d cljs.core.seq(shadow.object.get_children(this$__$1));\nvar chunk__17989_18258 \x3d null;\nvar count__17990_18259 \x3d (0);\nvar i__17991_18260 \x3d (0);\nwhile(true){\nif((i__17991_18260 \x3c count__17990_18259)){\nvar child_18261 \x3d chunk__17989_18258.cljs$core$IIndexed$_nth$arity$2(null,i__17991_18260);\nshadow.object._destroy_BANG_(child_18261,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__18262 \x3d seq__17988_18257;\nvar G__18263 \x3d chunk__17989_18258;\nvar G__18264 \x3d count__17990_18259;\nvar G__18265 \x3d (i__17991_18260 + (1));\nseq__17988_18257 \x3d G__18262;\nchunk__17989_18258 \x3d G__18263;\ncount__17990_18259 \x3d G__18264;\ni__17991_18260 \x3d G__18265;\ncontinue;\n} else {\nvar temp__5804__auto___18266 \x3d cljs.core.seq(seq__17988_18257);\nif(temp__5804__auto___18266){\nvar seq__17988_18267__$1 \x3d temp__5804__auto___18266;\nif(cljs.core.chunked_seq_QMARK_(seq__17988_18267__$1)){\nvar c__5568__auto___18268 \x3d cljs.core.chunk_first(seq__17988_18267__$1);\nvar G__18269 \x3d cljs.core.chunk_rest(seq__17988_18267__$1);\nvar G__18270 \x3d c__5568__auto___18268;\nvar G__18271 \x3d cljs.core.count(c__5568__auto___18268);\nvar G__18272 \x3d (0);\nseq__17988_18257 \x3d G__18269;\nchunk__17989_18258 \x3d G__18270;\ncount__17990_18259 \x3d G__18271;\ni__17991_18260 \x3d G__18272;\ncontinue;\n} else {\nvar child_18273 \x3d cljs.core.first(seq__17988_18267__$1);\nshadow.object._destroy_BANG_(child_18273,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__18274 \x3d cljs.core.next(seq__17988_18267__$1);\nvar G__18275 \x3d null;\nvar G__18276 \x3d (0);\nvar G__18277 \x3d (0);\nseq__17988_18257 \x3d G__18274;\nchunk__17989_18258 \x3d G__18275;\ncount__17990_18259 \x3d G__18276;\ni__17991_18260 \x3d G__18277;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$__$1,new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cause], 0));\n\nshadow.object.dom_destroy(this$__$1,cause);\n\nvar return_value_18278 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360).cljs$core$IFn$_invoke$arity$1(this$__$1);\nif((return_value_18278 \x3d\x3d null)){\n} else {\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(self__.result_chan,return_value_18278);\n}\n\ncljs.core.async.close_BANG_(self__.result_chan);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instances,cljs.core.dissoc,self__.id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instance_parent,cljs.core.dissoc,self__.id);\n\nif(cljs.core.truth_(parent_id)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.object.instance_children,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [parent_id], null),cljs.core.disj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.id], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22result-chan\x22,\x22result-chan\x22,3070926,null)], null);\n}));\n\n(shadow.object.ObjectRef.cljs$lang$type \x3d true);\n\n(shadow.object.ObjectRef.cljs$lang$ctorStr \x3d \x22shadow.object/ObjectRef\x22);\n\n(shadow.object.ObjectRef.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.object/ObjectRef\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/ObjectRef.\n */\nshadow.object.__GT_ObjectRef \x3d (function shadow$object$__GT_ObjectRef(id,type,data,watches,result_chan){\nreturn (new shadow.object.ObjectRef(id,type,data,watches,result_chan));\n});\n\nshadow.object.add_reaction_BANG_ \x3d (function shadow$object$add_reaction_BANG_(var_args){\nvar G__17993 \x3d arguments.length;\nswitch (G__17993) {\ncase 3:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,ev,handler_fn){\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ev,handler_fn], null));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,list){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.update_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,list], 0));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.bind_change \x3d (function shadow$object$bind_change(var_args){\nvar G__17995 \x3d arguments.length;\nswitch (G__17995) {\ncase 3:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,callback){\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4(oref,attr,callback,cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind-change\x22));\n}));\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,attr,callback,watch_key){\nif((((!((oref \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d oref.shadow$object$IObject$))))?true:(((!oref.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22binding currently only supports shadow objects, other atoms might leak, may add later\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref,new cljs.core.Keyword(null,\x22attr\x22,\x22attr\x22,-604132353),attr], null));\n}\n\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nreturn cljs.core.add_watch(oref,watch_key,(function shadow$object$bind_change_watch(_,___$1,old,new$){\nvar ov \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(old,attr__$1);\nvar nv \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new$,attr__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ov,nv)){\nreturn null;\n} else {\nreturn (callback.cljs$core$IFn$_invoke$arity$2 ? callback.cljs$core$IFn$_invoke$arity$2(ov,nv) : callback.call(null,ov,nv));\n}\n}));\n}));\n\n(shadow.object.bind_change.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.dom_enter \x3d (function shadow$object$dom_enter(parent,child){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(parent,child);\n\nif(cljs.core.truth_(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1(parent))){\nreturn shadow.object.notify_tree_BANG_(child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n} else {\nreturn null;\n}\n});\nshadow.object.create \x3d (function shadow$object$create(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18313 \x3d arguments.length;\nvar i__5770__auto___18315 \x3d (0);\nwhile(true){\nif((i__5770__auto___18315 \x3c len__5769__auto___18313)){\nargs__5775__auto__.push((arguments[i__5770__auto___18315]));\n\nvar G__18320 \x3d (i__5770__auto___18315 + (1));\ni__5770__auto___18315 \x3d G__18320;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.create.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.object.create.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,args,node_children){\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),type)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22cannot create unknown child type: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(type)].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.map_QMARK_(args)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22so/create second arg must be a map\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nvar oid \x3d shadow.object.next_id();\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(args);\nvar result_chan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar odef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),type);\nvar obj \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(shadow.object.merge_defaults(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Keyword(\x22shadow.object\x22,\x22object-id\x22,\x22shadow.object/object-id\x22,-685993804),oid,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.get.cljs$core$IFn$_invoke$arity$3(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.PersistentArrayMap.EMPTY)], 0)),type),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922)], 0));\nvar oref \x3d (new shadow.object.ObjectRef(oid,type,obj,cljs.core.PersistentVector.EMPTY,result_chan));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instances,cljs.core.assoc,oid,oref);\n\nif(cljs.core.truth_(parent)){\nshadow.object.set_parent_BANG_(oref,parent);\n} else {\n}\n\nshadow.object.notify_BANG_(oref,new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434));\n\nvar dom_events_18370 \x3d new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY);\nvar temp__5802__auto___18371 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(args);\nif(cljs.core.truth_(temp__5802__auto___18371)){\nvar dom_18372 \x3d temp__5802__auto___18371;\nshadow.dom.set_data(dom_18372,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.bind_dom_events(oref,dom_18372,dom_events_18370);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_18372], 0));\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_18372], 0));\n} else {\nvar temp__5804__auto___18373 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5804__auto___18373)){\nvar dom_fn_18374 \x3d temp__5804__auto___18373;\nvar dom_18375 \x3d (function (){var G__18000 \x3d (dom_fn_18374.cljs$core$IFn$_invoke$arity$2 ? dom_fn_18374.cljs$core$IFn$_invoke$arity$2(oref,node_children) : dom_fn_18374.call(null,oref,node_children));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__18000) : shadow.dom.build.call(null,G__18000));\n})();\nshadow.dom.set_data(dom_18375,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_18375], 0));\n\nshadow.object.bind_dom_events(oref,dom_18375,dom_events_18370);\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_18375], 0));\n} else {\n}\n}\n\nvar temp__5804__auto___18376 \x3d new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5804__auto___18376)){\nvar watches_18377 \x3d temp__5804__auto___18376;\nvar seq__18001_18378 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),watches_18377));\nvar chunk__18002_18379 \x3d null;\nvar count__18003_18380 \x3d (0);\nvar i__18004_18381 \x3d (0);\nwhile(true){\nif((i__18004_18381 \x3c count__18003_18380)){\nvar vec__18011_18382 \x3d chunk__18002_18379.cljs$core$IIndexed$_nth$arity$2(null,i__18004_18381);\nvar attr_18383 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18011_18382,(0),null);\nvar handler_18384 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18011_18382,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_18383,((function (seq__18001_18378,chunk__18002_18379,count__18003_18380,i__18004_18381,vec__18011_18382,attr_18383,handler_18384,watches_18377,temp__5804__auto___18376,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_18384.cljs$core$IFn$_invoke$arity$3 ? handler_18384.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_18384.call(null,oref,old,new$));\n});})(seq__18001_18378,chunk__18002_18379,count__18003_18380,i__18004_18381,vec__18011_18382,attr_18383,handler_18384,watches_18377,temp__5804__auto___18376,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__18385 \x3d seq__18001_18378;\nvar G__18386 \x3d chunk__18002_18379;\nvar G__18387 \x3d count__18003_18380;\nvar G__18388 \x3d (i__18004_18381 + (1));\nseq__18001_18378 \x3d G__18385;\nchunk__18002_18379 \x3d G__18386;\ncount__18003_18380 \x3d G__18387;\ni__18004_18381 \x3d G__18388;\ncontinue;\n} else {\nvar temp__5804__auto___18389__$1 \x3d cljs.core.seq(seq__18001_18378);\nif(temp__5804__auto___18389__$1){\nvar seq__18001_18390__$1 \x3d temp__5804__auto___18389__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__18001_18390__$1)){\nvar c__5568__auto___18391 \x3d cljs.core.chunk_first(seq__18001_18390__$1);\nvar G__18392 \x3d cljs.core.chunk_rest(seq__18001_18390__$1);\nvar G__18393 \x3d c__5568__auto___18391;\nvar G__18394 \x3d cljs.core.count(c__5568__auto___18391);\nvar G__18395 \x3d (0);\nseq__18001_18378 \x3d G__18392;\nchunk__18002_18379 \x3d G__18393;\ncount__18003_18380 \x3d G__18394;\ni__18004_18381 \x3d G__18395;\ncontinue;\n} else {\nvar vec__18014_18396 \x3d cljs.core.first(seq__18001_18390__$1);\nvar attr_18397 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18014_18396,(0),null);\nvar handler_18398 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18014_18396,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_18397,((function (seq__18001_18378,chunk__18002_18379,count__18003_18380,i__18004_18381,vec__18014_18396,attr_18397,handler_18398,seq__18001_18390__$1,temp__5804__auto___18389__$1,watches_18377,temp__5804__auto___18376,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_18398.cljs$core$IFn$_invoke$arity$3 ? handler_18398.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_18398.call(null,oref,old,new$));\n});})(seq__18001_18378,chunk__18002_18379,count__18003_18380,i__18004_18381,vec__18014_18396,attr_18397,handler_18398,seq__18001_18390__$1,temp__5804__auto___18389__$1,watches_18377,temp__5804__auto___18376,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__18399 \x3d cljs.core.next(seq__18001_18390__$1);\nvar G__18400 \x3d null;\nvar G__18401 \x3d (0);\nvar G__18402 \x3d (0);\nseq__18001_18378 \x3d G__18399;\nchunk__18002_18379 \x3d G__18400;\ncount__18003_18380 \x3d G__18401;\ni__18004_18381 \x3d G__18402;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn oref;\n}));\n\n(shadow.object.create.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.create.cljs$lang$applyTo \x3d (function (seq17997){\nvar G__17998 \x3d cljs.core.first(seq17997);\nvar seq17997__$1 \x3d cljs.core.next(seq17997);\nvar G__17999 \x3d cljs.core.first(seq17997__$1);\nvar seq17997__$2 \x3d cljs.core.next(seq17997__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__17998,G__17999,seq17997__$2);\n}));\n\n/**\n * [oref attr node-gen] produces a node via (node-gen new-value)\n * watches obj for changes and replaces the generated node on change (node-gen defaults to str)\n * \n * only use if the node has no attached behavior like clicks, use bind with an extra object for those\n */\nshadow.object.bind_simple \x3d (function shadow$object$bind_simple(var_args){\nvar G__18019 \x3d arguments.length;\nswitch (G__18019) {\ncase 2:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,attr){\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3(oref,attr,cljs.core.str);\n}));\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,node_gen){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar node_get \x3d (function (p1__18017_SHARP_){\nvar G__18024 \x3d (node_gen.cljs$core$IFn$_invoke$arity$1 ? node_gen.cljs$core$IFn$_invoke$arity$1(p1__18017_SHARP_) : node_gen.call(null,p1__18017_SHARP_));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__18024) : shadow.dom.build.call(null,G__18024));\n});\nvar node \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(node_get(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1)));\nvar bind_key \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind\x22);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_node \x3d node_get(new$);\nvar current_node \x3d cljs.core.deref(node);\nshadow.dom.replace_node(current_node,new_node);\n\nreturn cljs.core.reset_BANG_(node,new_node);\n}));\n\nreturn cljs.core.deref(node);\n}));\n\n(shadow.object.bind_simple.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * bind the given attribute a child item\n * the item will be recreated whenever the value changes (old one will be destroyed)\n */\nshadow.object.bind \x3d (function shadow$object$bind(oref,attr,item_type,item_key,item_attrs){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar curval \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1);\nvar make_child_fn \x3d (function (value){\nreturn shadow.object.create(item_type,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([item_attrs,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),oref,item_key,value])], 0)));\n});\nvar child \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(make_child_fn(curval));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_child \x3d make_child_fn(new$);\nvar current_node \x3d cljs.core.deref(child);\nshadow.dom.replace_node(current_node,new_child);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(child));\n\ncljs.core.reset_BANG_(child,new_child);\n\nreturn (shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2 ? shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2(new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)) : shadow.object.notify_down_BANG_.call(null,new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)));\n}));\n\nreturn cljs.core.deref(child);\n});\nshadow.object.coll_destroy_children \x3d (function shadow$object$coll_destroy_children(children,c,diff){\nvar seq__18025_18404 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(c + diff),c));\nvar chunk__18026_18405 \x3d null;\nvar count__18027_18406 \x3d (0);\nvar i__18028_18407 \x3d (0);\nwhile(true){\nif((i__18028_18407 \x3c count__18027_18406)){\nvar obj_18408 \x3d chunk__18026_18405.cljs$core$IIndexed$_nth$arity$2(null,i__18028_18407);\nvar obj_18409__$1 \x3d shadow.object.get_from_dom(obj_18408);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_18409__$1);\n\n\nvar G__18410 \x3d seq__18025_18404;\nvar G__18411 \x3d chunk__18026_18405;\nvar G__18412 \x3d count__18027_18406;\nvar G__18413 \x3d (i__18028_18407 + (1));\nseq__18025_18404 \x3d G__18410;\nchunk__18026_18405 \x3d G__18411;\ncount__18027_18406 \x3d G__18412;\ni__18028_18407 \x3d G__18413;\ncontinue;\n} else {\nvar temp__5804__auto___18414 \x3d cljs.core.seq(seq__18025_18404);\nif(temp__5804__auto___18414){\nvar seq__18025_18415__$1 \x3d temp__5804__auto___18414;\nif(cljs.core.chunked_seq_QMARK_(seq__18025_18415__$1)){\nvar c__5568__auto___18416 \x3d cljs.core.chunk_first(seq__18025_18415__$1);\nvar G__18417 \x3d cljs.core.chunk_rest(seq__18025_18415__$1);\nvar G__18418 \x3d c__5568__auto___18416;\nvar G__18419 \x3d cljs.core.count(c__5568__auto___18416);\nvar G__18420 \x3d (0);\nseq__18025_18404 \x3d G__18417;\nchunk__18026_18405 \x3d G__18418;\ncount__18027_18406 \x3d G__18419;\ni__18028_18407 \x3d G__18420;\ncontinue;\n} else {\nvar obj_18421 \x3d cljs.core.first(seq__18025_18415__$1);\nvar obj_18422__$1 \x3d shadow.object.get_from_dom(obj_18421);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_18422__$1);\n\n\nvar G__18423 \x3d cljs.core.next(seq__18025_18415__$1);\nvar G__18424 \x3d null;\nvar G__18425 \x3d (0);\nvar G__18426 \x3d (0);\nseq__18025_18404 \x3d G__18423;\nchunk__18026_18405 \x3d G__18424;\ncount__18027_18406 \x3d G__18425;\ni__18028_18407 \x3d G__18426;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(0),(c + diff));\n});\nshadow.object.bind_children \x3d (function shadow$object$bind_children(var_args){\nvar G__18031 \x3d arguments.length;\nswitch (G__18031) {\ncase 5:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5 \x3d (function (node,parent,attr,item_type,item_key){\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6(node,parent,attr,item_type,item_key,(function (p1__18029_SHARP_){\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,p1__18029_SHARP_);\n}));\n}));\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6 \x3d (function (node,parent,attr,item_type,item_key,coll_transform){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar update_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nvar coll_dom \x3d (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(node) : shadow.dom.build.call(null,node));\nvar make_item_fn \x3d (function (p__18032){\nvar vec__18033 \x3d p__18032;\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18033,(0),null);\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18033,(1),null);\nvar obj \x3d shadow.object.create(item_type,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),parent,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048),attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616),key,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366),item_key,item_key,val]));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(obj,item_key,(function (old,new$){\nvar parent_key \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(obj));\n(shadow.object.log.cljs$core$IFn$_invoke$arity$6 ? shadow.object.log.cljs$core$IFn$_invoke$arity$6(\x22direct child update\x22,parent,obj,key,parent_key,new$) : shadow.object.log.call(null,\x22direct child update\x22,parent,obj,key,parent_key,new$));\n\ncljs.core.reset_BANG_(update_children,false);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([parent_key,new$], 0));\n\nreturn cljs.core.reset_BANG_(update_children,true);\n}));\n\nreturn obj;\n});\nvar seq__18036_18428 \x3d cljs.core.seq((function (){var G__18041 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,attr__$1);\nreturn (coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(G__18041) : coll_transform.call(null,G__18041));\n})());\nvar chunk__18037_18429 \x3d null;\nvar count__18038_18430 \x3d (0);\nvar i__18039_18431 \x3d (0);\nwhile(true){\nif((i__18039_18431 \x3c count__18038_18430)){\nvar item_18432 \x3d chunk__18037_18429.cljs$core$IIndexed$_nth$arity$2(null,i__18039_18431);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_18432));\n\n\nvar G__18433 \x3d seq__18036_18428;\nvar G__18434 \x3d chunk__18037_18429;\nvar G__18435 \x3d count__18038_18430;\nvar G__18436 \x3d (i__18039_18431 + (1));\nseq__18036_18428 \x3d G__18433;\nchunk__18037_18429 \x3d G__18434;\ncount__18038_18430 \x3d G__18435;\ni__18039_18431 \x3d G__18436;\ncontinue;\n} else {\nvar temp__5804__auto___18437 \x3d cljs.core.seq(seq__18036_18428);\nif(temp__5804__auto___18437){\nvar seq__18036_18438__$1 \x3d temp__5804__auto___18437;\nif(cljs.core.chunked_seq_QMARK_(seq__18036_18438__$1)){\nvar c__5568__auto___18439 \x3d cljs.core.chunk_first(seq__18036_18438__$1);\nvar G__18440 \x3d cljs.core.chunk_rest(seq__18036_18438__$1);\nvar G__18441 \x3d c__5568__auto___18439;\nvar G__18442 \x3d cljs.core.count(c__5568__auto___18439);\nvar G__18443 \x3d (0);\nseq__18036_18428 \x3d G__18440;\nchunk__18037_18429 \x3d G__18441;\ncount__18038_18430 \x3d G__18442;\ni__18039_18431 \x3d G__18443;\ncontinue;\n} else {\nvar item_18444 \x3d cljs.core.first(seq__18036_18438__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_18444));\n\n\nvar G__18445 \x3d cljs.core.next(seq__18036_18438__$1);\nvar G__18446 \x3d null;\nvar G__18447 \x3d (0);\nvar G__18448 \x3d (0);\nseq__18036_18428 \x3d G__18445;\nchunk__18037_18429 \x3d G__18446;\ncount__18038_18430 \x3d G__18447;\ni__18039_18431 \x3d G__18448;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(parent,attr__$1,(function shadow$object$bind_children_watch(old,new$){\nif(cljs.core.truth_(cljs.core.deref(update_children))){\nvar children \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,shadow.dom.children(coll_dom));\nvar new_coll \x3d cljs.core.vec((coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(new$) : coll_transform.call(null,new$)));\nvar count_children \x3d cljs.core.count(children);\nvar count_new \x3d cljs.core.count(new$);\nvar diff \x3d (count_new - count_children);\nvar children__$1 \x3d (((diff \x3c (0)))?shadow.object.coll_destroy_children(children,count_children,diff):children);\nvar count_children__$1 \x3d (function (){var x__5133__auto__ \x3d count_new;\nvar y__5134__auto__ \x3d count_children;\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar n__5636__auto___18471 \x3d count_children__$1;\nvar idx_18472 \x3d (0);\nwhile(true){\nif((idx_18472 \x3c n__5636__auto___18471)){\nvar cn_18473 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,idx_18472);\nvar cc_18474 \x3d shadow.object.get_from_dom(cn_18473);\nvar ckey_18475 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(cc_18474);\nvar cval_18476 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cc_18474,item_key);\nvar vec__18042_18477 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new_coll,idx_18472);\nvar nkey_18478 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18042_18477,(0),null);\nvar nval_18479 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18042_18477,(1),null);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ckey_18475,nkey_18478)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cval_18476,nval_18479)))){\n} else {\nvar new_obj_18480 \x3d make_item_fn(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [nkey_18478,nval_18479], null));\nshadow.dom.replace_node(cn_18473,new_obj_18480);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cc_18474);\n\nshadow.object.notify_tree_BANG_(new_obj_18480,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n}\n\nvar G__18481 \x3d (idx_18472 + (1));\nidx_18472 \x3d G__18481;\ncontinue;\n} else {\n}\nbreak;\n}\n\nif((diff \x3e (0))){\nvar seq__18045_18482 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(new_coll,count_children__$1,count_new));\nvar chunk__18046_18483 \x3d null;\nvar count__18047_18484 \x3d (0);\nvar i__18048_18485 \x3d (0);\nwhile(true){\nif((i__18048_18485 \x3c count__18047_18484)){\nvar item_18486 \x3d chunk__18046_18483.cljs$core$IIndexed$_nth$arity$2(null,i__18048_18485);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_18486));\n\n\nvar G__18487 \x3d seq__18045_18482;\nvar G__18488 \x3d chunk__18046_18483;\nvar G__18489 \x3d count__18047_18484;\nvar G__18490 \x3d (i__18048_18485 + (1));\nseq__18045_18482 \x3d G__18487;\nchunk__18046_18483 \x3d G__18488;\ncount__18047_18484 \x3d G__18489;\ni__18048_18485 \x3d G__18490;\ncontinue;\n} else {\nvar temp__5804__auto___18491 \x3d cljs.core.seq(seq__18045_18482);\nif(temp__5804__auto___18491){\nvar seq__18045_18492__$1 \x3d temp__5804__auto___18491;\nif(cljs.core.chunked_seq_QMARK_(seq__18045_18492__$1)){\nvar c__5568__auto___18493 \x3d cljs.core.chunk_first(seq__18045_18492__$1);\nvar G__18494 \x3d cljs.core.chunk_rest(seq__18045_18492__$1);\nvar G__18495 \x3d c__5568__auto___18493;\nvar G__18496 \x3d cljs.core.count(c__5568__auto___18493);\nvar G__18497 \x3d (0);\nseq__18045_18482 \x3d G__18494;\nchunk__18046_18483 \x3d G__18495;\ncount__18047_18484 \x3d G__18496;\ni__18048_18485 \x3d G__18497;\ncontinue;\n} else {\nvar item_18500 \x3d cljs.core.first(seq__18045_18492__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_18500));\n\n\nvar G__18501 \x3d cljs.core.next(seq__18045_18492__$1);\nvar G__18502 \x3d null;\nvar G__18503 \x3d (0);\nvar G__18504 \x3d (0);\nseq__18045_18482 \x3d G__18501;\nchunk__18046_18483 \x3d G__18502;\ncount__18047_18484 \x3d G__18503;\ni__18048_18485 \x3d G__18504;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn shadow.object.notify_BANG_(parent,new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160));\n} else {\nreturn null;\n}\n}));\n\nreturn coll_dom;\n}));\n\n(shadow.object.bind_children.cljs$lang$maxFixedArity \x3d 6);\n\nshadow.object.remove_in_parent_BANG_ \x3d (function shadow$object$remove_in_parent_BANG_(oref){\nvar parent \x3d shadow.object.get_parent(oref);\nvar key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(oref);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref));\nvar path \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048).cljs$core$IFn$_invoke$arity$1(oref);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d key;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn path;\n} else {\nreturn and__5043__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22remove-in-parent! should only be called from items created via so/bind-children\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nvar coll \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,path);\nvar new_coll \x3d shadow.util.remove_item_from_coll(coll,key,value);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,new cljs.core.Keyword(\x22bind\x22,\x22update\x22,\x22bind/update\x22,1048601733),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path,new_coll], 0));\n});\nshadow.object.inspect_BANG_ \x3d (function shadow$object$inspect_BANG_(oref){\nvar G__18051 \x3d \x22inspect!\x22;\nvar G__18052 \x3d shadow.object._id(oref);\nvar G__18053 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.object._type(oref));\nvar G__18054 \x3d cljs.core.clj__GT_js(cljs.core.deref(shadow.object._data(oref)));\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__18051,G__18052,G__18053,G__18054) : shadow.object.info.call(null,G__18051,G__18052,G__18053,G__18054));\n});\nshadow.object.dump_BANG_ \x3d (function shadow$object$dump_BANG_(){\n(shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- LIVE OBJECTS ------------\x22));\n\nvar seq__18055_18505 \x3d cljs.core.seq(cljs.core.seq(cljs.core.deref(shadow.object.instances)));\nvar chunk__18056_18506 \x3d null;\nvar count__18057_18507 \x3d (0);\nvar i__18058_18508 \x3d (0);\nwhile(true){\nif((i__18058_18508 \x3c count__18057_18507)){\nvar vec__18073_18509 \x3d chunk__18056_18506.cljs$core$IIndexed$_nth$arity$2(null,i__18058_18508);\nvar id_18510 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18073_18509,(0),null);\nvar oref_18511 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18073_18509,(1),null);\nvar G__18076_18512 \x3d \x22dump\x22;\nvar G__18077_18513 \x3d id_18510;\nvar G__18078_18514 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_18511)], 0));\nvar G__18079_18515 \x3d cljs.core.deref(shadow.object._data(oref_18511));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__18076_18512,G__18077_18513,G__18078_18514,G__18079_18515) : shadow.object.info.call(null,G__18076_18512,G__18077_18513,G__18078_18514,G__18079_18515));\n\n\nvar G__18516 \x3d seq__18055_18505;\nvar G__18517 \x3d chunk__18056_18506;\nvar G__18518 \x3d count__18057_18507;\nvar G__18519 \x3d (i__18058_18508 + (1));\nseq__18055_18505 \x3d G__18516;\nchunk__18056_18506 \x3d G__18517;\ncount__18057_18507 \x3d G__18518;\ni__18058_18508 \x3d G__18519;\ncontinue;\n} else {\nvar temp__5804__auto___18520 \x3d cljs.core.seq(seq__18055_18505);\nif(temp__5804__auto___18520){\nvar seq__18055_18521__$1 \x3d temp__5804__auto___18520;\nif(cljs.core.chunked_seq_QMARK_(seq__18055_18521__$1)){\nvar c__5568__auto___18522 \x3d cljs.core.chunk_first(seq__18055_18521__$1);\nvar G__18523 \x3d cljs.core.chunk_rest(seq__18055_18521__$1);\nvar G__18524 \x3d c__5568__auto___18522;\nvar G__18525 \x3d cljs.core.count(c__5568__auto___18522);\nvar G__18526 \x3d (0);\nseq__18055_18505 \x3d G__18523;\nchunk__18056_18506 \x3d G__18524;\ncount__18057_18507 \x3d G__18525;\ni__18058_18508 \x3d G__18526;\ncontinue;\n} else {\nvar vec__18080_18527 \x3d cljs.core.first(seq__18055_18521__$1);\nvar id_18528 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18080_18527,(0),null);\nvar oref_18529 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18080_18527,(1),null);\nvar G__18083_18530 \x3d \x22dump\x22;\nvar G__18084_18531 \x3d id_18528;\nvar G__18085_18532 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_18529)], 0));\nvar G__18086_18533 \x3d cljs.core.deref(shadow.object._data(oref_18529));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__18083_18530,G__18084_18531,G__18085_18532,G__18086_18533) : shadow.object.info.call(null,G__18083_18530,G__18084_18531,G__18085_18532,G__18086_18533));\n\n\nvar G__18534 \x3d cljs.core.next(seq__18055_18521__$1);\nvar G__18535 \x3d null;\nvar G__18536 \x3d (0);\nvar G__18537 \x3d (0);\nseq__18055_18505 \x3d G__18534;\nchunk__18056_18506 \x3d G__18535;\ncount__18057_18507 \x3d G__18536;\ni__18058_18508 \x3d G__18537;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- //LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- //LIVE OBJECTS ------------\x22));\n});\ngoog.exportSymbol(\x27shadow.object.dump_BANG_\x27, shadow.object.dump_BANG_);\n"); +SHADOW_ENV.evalLoad("shadow.animate.js", true , "goog.provide(\x27shadow.animate\x27);\n\n/**\n * @interface\n */\nshadow.animate.Animation \x3d function(){};\n\nvar shadow$animate$Animation$_animate_from$dyn_18581 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_from[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_from[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-from\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr initial-value}\n */\nshadow.animate._animate_from \x3d (function shadow$animate$_animate_from(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_from$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_from$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_from$dyn_18581(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_to$dyn_18582 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_to[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_to[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-to\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_to \x3d (function shadow$animate$_animate_to(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_to$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_to$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_to$dyn_18582(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_toggles$dyn_18583 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_toggles[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_toggles[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-toggles\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_toggles \x3d (function shadow$animate$_animate_toggles(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_toggles$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_toggles$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_toggles$dyn_18583(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_timings$dyn_18584 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_timings[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_timings[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-timings\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr timing-function}\n */\nshadow.animate._animate_timings \x3d (function shadow$animate$_animate_timings(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_timings$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_timings$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_timings$dyn_18584(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_delays$dyn_18585 \x3d (function (this$){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.animate._animate_delays[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5394__auto__.call(null,this$));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate._animate_delays[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5392__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-delays\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr transition-delay}\n */\nshadow.animate._animate_delays \x3d (function shadow$animate$_animate_delays(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_delays$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_delays$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_delays$dyn_18585(this$);\n}\n});\n\nshadow.animate.transition_string \x3d (function shadow$animate$transition_string(duration,adef){\nvar timings \x3d shadow.animate._animate_timings(adef);\nvar delays \x3d shadow.animate._animate_delays(adef);\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22, \x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__18112){\nvar vec__18113 \x3d p__18112;\nvar attr \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18113,(0),null);\nvar timing \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18113,(1),null);\nreturn [cljs.core.name(attr),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(duration),\x22ms\x22,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(timing),(function (){var delay \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(delays,attr);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d delay;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (delay \x3e (0));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn [\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(delay),\x22ms\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27);\n}),timings));\n});\n\n/**\n * @interface\n */\nshadow.animate.IAnimator \x3d function(){};\n\nvar shadow$animate$IAnimator$get_duration$dyn_18586 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.get_duration[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.get_duration[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.get-duration\x22,animator);\n}\n}\n});\nshadow.animate.get_duration \x3d (function shadow$animate$get_duration(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$get_duration$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$get_duration$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$get_duration$dyn_18586(animator);\n}\n});\n\nvar shadow$animate$IAnimator$init_BANG_$dyn_18587 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.init_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.init_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.init!\x22,animator);\n}\n}\n});\n/**\n * apply the initial values\n */\nshadow.animate.init_BANG_ \x3d (function shadow$animate$init_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$init_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$init_BANG_$dyn_18587(animator);\n}\n});\n\nvar shadow$animate$IAnimator$start_BANG_$dyn_18588 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.start_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.start_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.start!\x22,animator);\n}\n}\n});\n/**\n * start the animation, must return a channel that closes once the animation is done\n */\nshadow.animate.start_BANG_ \x3d (function shadow$animate$start_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$start_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$start_BANG_$dyn_18588(animator);\n}\n});\n\nvar shadow$animate$IAnimator$finish_BANG_$dyn_18589 \x3d (function (animator){\nvar x__5393__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5394__auto__ \x3d (shadow.animate.finish_BANG_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5394__auto__.call(null,animator));\n} else {\nvar m__5392__auto__ \x3d (shadow.animate.finish_BANG_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5392__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.finish!\x22,animator);\n}\n}\n});\n/**\n * cleanup\n */\nshadow.animate.finish_BANG_ \x3d (function shadow$animate$finish_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$finish_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$finish_BANG_$dyn_18589(animator);\n}\n});\n\n\n/**\n* @constructor\n * @implements {shadow.animate.IAnimator}\n*/\nshadow.animate.Animator \x3d (function (duration,items){\nthis.duration \x3d duration;\nthis.items \x3d items;\n});\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$get_duration$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.duration;\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5636__auto__ \x3d self__.items.length;\nvar i__14816__auto__ \x3d (0);\nwhile(true){\nif((i__14816__auto__ \x3c n__5636__auto__)){\nvar map__18185_18590 \x3d (self__.items[i__14816__auto__]);\nvar map__18185_18591__$1 \x3d cljs.core.__destructure_map(map__18185_18590);\nvar el_18592 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18185_18591__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar from_18593 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18185_18591__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ngoog.style.setStyle(el_18592,from_18593);\n\nvar G__18594 \x3d (i__14816__auto__ + (1));\ni__14816__auto__ \x3d G__18594;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5636__auto__ \x3d self__.items.length;\nvar i__14816__auto__ \x3d (0);\nwhile(true){\nif((i__14816__auto__ \x3c n__5636__auto__)){\nvar map__18196_18595 \x3d (self__.items[i__14816__auto__]);\nvar map__18196_18596__$1 \x3d cljs.core.__destructure_map(map__18196_18595);\nvar el_18597 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18196_18596__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar to_18598 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18196_18596__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007));\nvar transition_18599 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18196_18596__$1,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007));\n(to_18598[\x22transition\x22] \x3d transition_18599);\n\ngoog.style.setStyle(el_18597,to_18598);\n\nvar G__18600 \x3d (i__14816__auto__ + (1));\ni__14816__auto__ \x3d G__18600;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5636__auto__ \x3d self__.items.length;\nvar i__14816__auto__ \x3d (0);\nwhile(true){\nif((i__14816__auto__ \x3c n__5636__auto__)){\nvar map__18206_18601 \x3d (self__.items[i__14816__auto__]);\nvar map__18206_18602__$1 \x3d cljs.core.__destructure_map(map__18206_18601);\nvar el_18603 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18206_18602__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar toggles_18604 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18206_18602__$1,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479));\n(toggles_18604[\x22transition\x22] \x3d null);\n\ngoog.style.setStyle(el_18603,toggles_18604);\n\nvar G__18605 \x3d (i__14816__auto__ + (1));\ni__14816__auto__ \x3d G__18605;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22duration\x22,\x22duration\x22,-1210334701,null),new cljs.core.Symbol(null,\x22items\x22,\x22items\x22,-1622480831,null)], null);\n}));\n\n(shadow.animate.Animator.cljs$lang$type \x3d true);\n\n(shadow.animate.Animator.cljs$lang$ctorStr \x3d \x22shadow.animate/Animator\x22);\n\n(shadow.animate.Animator.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/Animator\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/Animator.\n */\nshadow.animate.__GT_Animator \x3d (function shadow$animate$__GT_Animator(duration,items){\nreturn (new shadow.animate.Animator(duration,items));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.animate.AnimationStep \x3d (function (el,from,to,toggles,transition,__meta,__extmap,__hash){\nthis.el \x3d el;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.toggles \x3d toggles;\nthis.transition \x3d transition;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k18208,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__18212 \x3d k18208;\nvar G__18212__$1 \x3d (((G__18212 instanceof cljs.core.Keyword))?G__18212.fqn:null);\nswitch (G__18212__$1) {\ncase \x22el\x22:\nreturn self__.el;\n\nbreak;\ncase \x22from\x22:\nreturn self__.from;\n\nbreak;\ncase \x22to\x22:\nreturn self__.to;\n\nbreak;\ncase \x22toggles\x22:\nreturn self__.toggles;\n\nbreak;\ncase \x22transition\x22:\nreturn self__.transition;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k18208,else__5346__auto__);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__18213){\nvar vec__18214 \x3d p__18213;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18214,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18214,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.animate.AnimationStep{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition],null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__18207){\nvar self__ \x3d this;\nvar G__18207__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__18207__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (630436239 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this18209,other18210){\nvar self__ \x3d this;\nvar this18209__$1 \x3d this;\nreturn (((!((other18210 \x3d\x3d null)))) \x26\x26 ((((this18209__$1.constructor \x3d\x3d\x3d other18210.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18209__$1.el,other18210.el)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18209__$1.from,other18210.from)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18209__$1.to,other18210.to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18209__$1.toggles,other18210.toggles)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18209__$1.transition,other18210.transition)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18209__$1.__extmap,other18210.__extmap)))))))))))))));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k18208){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__18347 \x3d k18208;\nvar G__18347__$1 \x3d (((G__18347 instanceof cljs.core.Keyword))?G__18347.fqn:null);\nswitch (G__18347__$1) {\ncase \x22el\x22:\ncase \x22from\x22:\ncase \x22to\x22:\ncase \x22toggles\x22:\ncase \x22transition\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k18208);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__18207){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__18348 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__18349 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__18348.cljs$core$IFn$_invoke$arity$2 ? pred__18348.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__18349) : pred__18348.call(null,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__18349)))){\nreturn (new shadow.animate.AnimationStep(G__18207,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18348.cljs$core$IFn$_invoke$arity$2 ? pred__18348.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__18349) : pred__18348.call(null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__18349)))){\nreturn (new shadow.animate.AnimationStep(self__.el,G__18207,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18348.cljs$core$IFn$_invoke$arity$2 ? pred__18348.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__18349) : pred__18348.call(null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__18349)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,G__18207,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18348.cljs$core$IFn$_invoke$arity$2 ? pred__18348.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__18349) : pred__18348.call(null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__18349)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,G__18207,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18348.cljs$core$IFn$_invoke$arity$2 ? pred__18348.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__18349) : pred__18348.call(null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__18349)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,G__18207,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__18207),null));\n}\n}\n}\n}\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition,null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__18207){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,G__18207,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.animate.AnimationStep.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22el\x22,\x22el\x22,22330409,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.Symbol(null,\x22transition\x22,\x22transition\x22,-1888743762,null)], null);\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$type \x3d true);\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.animate/AnimationStep\x22,null,(1),null));\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.animate/AnimationStep\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/AnimationStep.\n */\nshadow.animate.__GT_AnimationStep \x3d (function shadow$animate$__GT_AnimationStep(el,from,to,toggles,transition){\nreturn (new shadow.animate.AnimationStep(el,from,to,toggles,transition,null,null,null));\n});\n\n/**\n * Factory function for shadow.animate/AnimationStep, taking a map of keywords to field values.\n */\nshadow.animate.map__GT_AnimationStep \x3d (function shadow$animate$map__GT_AnimationStep(G__18211){\nvar extmap__5385__auto__ \x3d (function (){var G__18364 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__18211,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], 0));\nif(cljs.core.record_QMARK_(G__18211)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__18364);\n} else {\nreturn G__18364;\n}\n})();\nreturn (new shadow.animate.AnimationStep(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118).cljs$core$IFn$_invoke$arity$1(G__18211),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044).cljs$core$IFn$_invoke$arity$1(G__18211),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007).cljs$core$IFn$_invoke$arity$1(G__18211),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479).cljs$core$IFn$_invoke$arity$1(G__18211),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007).cljs$core$IFn$_invoke$arity$1(G__18211),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.animate.setup \x3d (function shadow$animate$setup(duration,elements){\nvar items \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function shadow$animate$setup_$_iter__18366(s__18367){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__18367__$1 \x3d s__18367;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__18367__$1);\nif(temp__5804__auto__){\nvar s__18367__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__18367__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__18367__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__18369 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__18368 \x3d (0);\nwhile(true){\nif((i__18368 \x3c size__5522__auto__)){\nvar vec__18449 \x3d cljs.core._nth(c__5521__auto__,i__18368);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18449,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18449,(1),null);\ncljs.core.chunk_append(b__18369,(function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n);\n\nvar G__18619 \x3d (i__18368 + (1));\ni__18368 \x3d G__18619;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18369),shadow$animate$setup_$_iter__18366(cljs.core.chunk_rest(s__18367__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18369),null);\n}\n} else {\nvar vec__18453 \x3d cljs.core.first(s__18367__$2);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18453,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18453,(1),null);\nreturn cljs.core.cons((function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n,shadow$animate$setup_$_iter__18366(cljs.core.rest(s__18367__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(elements);\n})());\nreturn (new shadow.animate.Animator(duration,items));\n});\nshadow.animate.continue_BANG_ \x3d (function shadow$animate$continue_BANG_(animator){\nshadow.animate.start_BANG_(animator);\n\nvar c__14406__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_18463){\nvar state_val_18464 \x3d (state_18463[(1)]);\nif((state_val_18464 \x3d\x3d\x3d (1))){\nvar inst_18457 \x3d shadow.animate.get_duration(animator);\nvar inst_18458 \x3d cljs.core.async.timeout(inst_18457);\nvar state_18463__$1 \x3d state_18463;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_18463__$1,(2),inst_18458);\n} else {\nif((state_val_18464 \x3d\x3d\x3d (2))){\nvar inst_18460 \x3d (state_18463[(2)]);\nvar inst_18461 \x3d shadow.animate.finish_BANG_(animator);\nvar state_18463__$1 \x3d (function (){var statearr_18465 \x3d state_18463;\n(statearr_18465[(7)] \x3d inst_18461);\n\n(statearr_18465[(8)] \x3d inst_18460);\n\nreturn statearr_18465;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_18463__$1,new cljs.core.Keyword(null,\x22done\x22,\x22done\x22,-889844188));\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar shadow$animate$continue_BANG__$_state_machine__14361__auto__ \x3d null;\nvar shadow$animate$continue_BANG__$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_18466 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_18466[(0)] \x3d shadow$animate$continue_BANG__$_state_machine__14361__auto__);\n\n(statearr_18466[(1)] \x3d (1));\n\nreturn statearr_18466;\n});\nvar shadow$animate$continue_BANG__$_state_machine__14361__auto____1 \x3d (function (state_18463){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_18463);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e18467){var ex__14364__auto__ \x3d e18467;\nvar statearr_18468_18624 \x3d state_18463;\n(statearr_18468_18624[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_18463[(4)]))){\nvar statearr_18469_18626 \x3d state_18463;\n(statearr_18469_18626[(1)] \x3d cljs.core.first((state_18463[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__18627 \x3d state_18463;\nstate_18463 \x3d G__18627;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\nshadow$animate$continue_BANG__$_state_machine__14361__auto__ \x3d function(state_18463){\nswitch(arguments.length){\ncase 0:\nreturn shadow$animate$continue_BANG__$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn shadow$animate$continue_BANG__$_state_machine__14361__auto____1.call(this,state_18463);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$animate$continue_BANG__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$animate$continue_BANG__$_state_machine__14361__auto____0;\nshadow$animate$continue_BANG__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$animate$continue_BANG__$_state_machine__14361__auto____1;\nreturn shadow$animate$continue_BANG__$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_18470 \x3d f__14407__auto__();\n(statearr_18470[(6)] \x3d c__14406__auto__);\n\nreturn statearr_18470;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\nreturn c__14406__auto__;\n});\nshadow.animate.start \x3d (function shadow$animate$start(duration,elements){\nvar animator \x3d shadow.animate.setup(duration,elements);\nanimator.shadow$animate$IAnimator$init_BANG_$arity$1(null);\n\nreturn shadow.animate.continue_BANG_(animator);\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate18538 \x3d (function (attr,from,to,timing,delay,meta18539){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta18539 \x3d meta18539;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate18538.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18540,meta18539__$1){\nvar self__ \x3d this;\nvar _18540__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate18538(self__.attr,self__.from,self__.to,self__.timing,self__.delay,meta18539__$1));\n}));\n\n(shadow.animate.t_shadow$animate18538.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18540){\nvar self__ \x3d this;\nvar _18540__$1 \x3d this;\nreturn self__.meta18539;\n}));\n\n(shadow.animate.t_shadow$animate18538.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate18538.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate18538.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate18538.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18538.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate18538.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate18538.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta18539\x22,\x22meta18539\x22,-944069572,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate18538.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate18538.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate18538\x22);\n\n(shadow.animate.t_shadow$animate18538.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate18538\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate18538.\n */\nshadow.animate.__GT_t_shadow$animate18538 \x3d (function shadow$animate$__GT_t_shadow$animate18538(attr,from,to,timing,delay,meta18539){\nreturn (new shadow.animate.t_shadow$animate18538(attr,from,to,timing,delay,meta18539));\n});\n\n\n/**\n * transition the given attr from -\x3e to using timing function and delay\n * timing defaults to ease, delay to 0\n */\nshadow.animate.transition \x3d (function shadow$animate$transition(var_args){\nvar G__18499 \x3d arguments.length;\nswitch (G__18499) {\ncase 3:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$3 \x3d (function (attr,from,to){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,\x22ease\x22,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$4 \x3d (function (attr,from,to,timing){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,timing,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$5 \x3d (function (attr,from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate18538(attr,from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.transition.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate18541 \x3d (function (attr,from,to,meta18542){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.meta18542 \x3d meta18542;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate18541.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18543,meta18542__$1){\nvar self__ \x3d this;\nvar _18543__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate18541(self__.attr,self__.from,self__.to,meta18542__$1));\n}));\n\n(shadow.animate.t_shadow$animate18541.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18543){\nvar self__ \x3d this;\nvar _18543__$1 \x3d this;\nreturn self__.meta18542;\n}));\n\n(shadow.animate.t_shadow$animate18541.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate18541.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18541.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate18541.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate18541.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18541.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18541.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22meta18542\x22,\x22meta18542\x22,-504677238,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate18541.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate18541.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate18541\x22);\n\n(shadow.animate.t_shadow$animate18541.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate18541\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate18541.\n */\nshadow.animate.__GT_t_shadow$animate18541 \x3d (function shadow$animate$__GT_t_shadow$animate18541(attr,from,to,meta18542){\nreturn (new shadow.animate.t_shadow$animate18541(attr,from,to,meta18542));\n});\n\n\nshadow.animate.toggle \x3d (function shadow$animate$toggle(attr,from,to){\nreturn (new shadow.animate.t_shadow$animate18541(attr,from,to,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate18546 \x3d (function (attrs,meta18547){\nthis.attrs \x3d attrs;\nthis.meta18547 \x3d meta18547;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate18546.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18548,meta18547__$1){\nvar self__ \x3d this;\nvar _18548__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate18546(self__.attrs,meta18547__$1));\n}));\n\n(shadow.animate.t_shadow$animate18546.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18548){\nvar self__ \x3d this;\nvar _18548__$1 \x3d this;\nreturn self__.meta18547;\n}));\n\n(shadow.animate.t_shadow$animate18546.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate18546.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18546.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.attrs;\n}));\n\n(shadow.animate.t_shadow$animate18546.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18546.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18546.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18546.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta18547\x22,\x22meta18547\x22,713043130,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate18546.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate18546.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate18546\x22);\n\n(shadow.animate.t_shadow$animate18546.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate18546\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate18546.\n */\nshadow.animate.__GT_t_shadow$animate18546 \x3d (function shadow$animate$__GT_t_shadow$animate18546(attrs,meta18547){\nreturn (new shadow.animate.t_shadow$animate18546(attrs,meta18547));\n});\n\n\n/**\n * set attr to value when the animation starts\n */\nshadow.animate.set_attr \x3d (function shadow$animate$set_attr(var_args){\nvar G__18545 \x3d arguments.length;\nswitch (G__18545) {\ncase 1:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1 \x3d (function (attrs){\nreturn (new shadow.animate.t_shadow$animate18546(attrs,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (attr,value){\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.createAsIfByAssoc([attr,value]));\n}));\n\n(shadow.animate.set_attr.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate18549 \x3d (function (attr,meta18550){\nthis.attr \x3d attr;\nthis.meta18550 \x3d meta18550;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate18549.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18551,meta18550__$1){\nvar self__ \x3d this;\nvar _18551__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate18549(self__.attr,meta18550__$1));\n}));\n\n(shadow.animate.t_shadow$animate18549.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18551){\nvar self__ \x3d this;\nvar _18551__$1 \x3d this;\nreturn self__.meta18550;\n}));\n\n(shadow.animate.t_shadow$animate18549.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate18549.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18549.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18549.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,null]);\n}));\n\n(shadow.animate.t_shadow$animate18549.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18549.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18549.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22meta18550\x22,\x22meta18550\x22,592482201,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate18549.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate18549.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate18549\x22);\n\n(shadow.animate.t_shadow$animate18549.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate18549\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate18549.\n */\nshadow.animate.__GT_t_shadow$animate18549 \x3d (function shadow$animate$__GT_t_shadow$animate18549(attr,meta18550){\nreturn (new shadow.animate.t_shadow$animate18549(attr,meta18550));\n});\n\n\n/**\n * use to remove a given attribute style when the animation is finished\n * usually only needed to remove attributes we no longer need since they are probably\n * inherited and we only used for previous transitions\n */\nshadow.animate.delete_attr \x3d (function shadow$animate$delete_attr(attr){\nreturn (new shadow.animate.t_shadow$animate18549(attr,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate18553 \x3d (function (transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta18554){\nthis.transitions \x3d transitions;\nthis.to \x3d to;\nthis.from \x3d from;\nthis.toggles \x3d toggles;\nthis.timings \x3d timings;\nthis.delays \x3d delays;\nthis.temp__5802__auto__ \x3d temp__5802__auto__;\nthis.meta18554 \x3d meta18554;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate18553.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18555,meta18554__$1){\nvar self__ \x3d this;\nvar _18555__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate18553(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5802__auto__,meta18554__$1));\n}));\n\n(shadow.animate.t_shadow$animate18553.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18555){\nvar self__ \x3d this;\nvar _18555__$1 \x3d this;\nreturn self__.meta18554;\n}));\n\n(shadow.animate.t_shadow$animate18553.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate18553.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.from;\n}));\n\n(shadow.animate.t_shadow$animate18553.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.to;\n}));\n\n(shadow.animate.t_shadow$animate18553.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.toggles;\n}));\n\n(shadow.animate.t_shadow$animate18553.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.timings;\n}));\n\n(shadow.animate.t_shadow$animate18553.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.delays;\n}));\n\n(shadow.animate.t_shadow$animate18553.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22transitions\x22,\x22transitions\x22,-405684594,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.Symbol(null,\x22timings\x22,\x22timings\x22,-569636600,null),new cljs.core.Symbol(null,\x22delays\x22,\x22delays\x22,-873843187,null),new cljs.core.Symbol(null,\x22temp__5802__auto__\x22,\x22temp__5802__auto__\x22,-1659442335,null),new cljs.core.Symbol(null,\x22meta18554\x22,\x22meta18554\x22,1826636903,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate18553.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate18553.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate18553\x22);\n\n(shadow.animate.t_shadow$animate18553.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate18553\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate18553.\n */\nshadow.animate.__GT_t_shadow$animate18553 \x3d (function shadow$animate$__GT_t_shadow$animate18553(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta18554){\nreturn (new shadow.animate.t_shadow$animate18553(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta18554));\n});\n\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate18556 \x3d (function (transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta18557){\nthis.transitions \x3d transitions;\nthis.to \x3d to;\nthis.from \x3d from;\nthis.toggles \x3d toggles;\nthis.timings \x3d timings;\nthis.delays \x3d delays;\nthis.temp__5802__auto__ \x3d temp__5802__auto__;\nthis.meta18557 \x3d meta18557;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate18556.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18558,meta18557__$1){\nvar self__ \x3d this;\nvar _18558__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate18556(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5802__auto__,meta18557__$1));\n}));\n\n(shadow.animate.t_shadow$animate18556.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18558){\nvar self__ \x3d this;\nvar _18558__$1 \x3d this;\nreturn self__.meta18557;\n}));\n\n(shadow.animate.t_shadow$animate18556.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate18556.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.from;\n}));\n\n(shadow.animate.t_shadow$animate18556.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.to;\n}));\n\n(shadow.animate.t_shadow$animate18556.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.toggles;\n}));\n\n(shadow.animate.t_shadow$animate18556.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.timings;\n}));\n\n(shadow.animate.t_shadow$animate18556.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.delays;\n}));\n\n(shadow.animate.t_shadow$animate18556.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22transitions\x22,\x22transitions\x22,-405684594,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22timings\x22,\x22timings\x22,-569636600,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22delays\x22,\x22delays\x22,-873843187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),new cljs.core.Symbol(null,\x22temp__5802__auto__\x22,\x22temp__5802__auto__\x22,-1659442335,null),new cljs.core.Symbol(null,\x22meta18557\x22,\x22meta18557\x22,727689181,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate18556.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate18556.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate18556\x22);\n\n(shadow.animate.t_shadow$animate18556.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate18556\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate18556.\n */\nshadow.animate.__GT_t_shadow$animate18556 \x3d (function shadow$animate$__GT_t_shadow$animate18556(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta18557){\nreturn (new shadow.animate.t_shadow$animate18556(transitions,to,from,toggles,timings,delays,temp__5802__auto__,meta18557));\n});\n\n\nshadow.animate.combine \x3d (function shadow$animate$combine(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18651 \x3d arguments.length;\nvar i__5770__auto___18652 \x3d (0);\nwhile(true){\nif((i__5770__auto___18652 \x3c len__5769__auto___18651)){\nargs__5775__auto__.push((arguments[i__5770__auto___18652]));\n\nvar G__18653 \x3d (i__5770__auto___18652 + (1));\ni__5770__auto___18652 \x3d G__18653;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic \x3d (function (transitions){\nvar to \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar from \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar toggles \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar timings \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar delays \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar transitions__$1 \x3d transitions;\nwhile(true){\nvar temp__5802__auto__ \x3d cljs.core.first(transitions__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar adef \x3d temp__5802__auto__;\nvar G__18654 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([to,shadow.animate._animate_to(adef)], 0));\nvar G__18655 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([from,shadow.animate._animate_from(adef)], 0));\nvar G__18656 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([toggles,shadow.animate._animate_toggles(adef)], 0));\nvar G__18657 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([timings,shadow.animate._animate_timings(adef)], 0));\nvar G__18658 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([delays,shadow.animate._animate_delays(adef)], 0));\nvar G__18659 \x3d cljs.core.rest(transitions__$1);\nto \x3d G__18654;\nfrom \x3d G__18655;\ntoggles \x3d G__18656;\ntimings \x3d G__18657;\ndelays \x3d G__18658;\ntransitions__$1 \x3d G__18659;\ncontinue;\n} else {\nreturn (new shadow.animate.t_shadow$animate18556(transitions__$1,to,from,toggles,timings,delays,temp__5802__auto__,cljs.core.PersistentArrayMap.EMPTY));\n}\nbreak;\n}\n}));\n\n(shadow.animate.combine.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.animate.combine.cljs$lang$applyTo \x3d (function (seq18552){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18552));\n}));\n\nshadow.animate.fade_in \x3d (function shadow$animate$fade_in(var_args){\nvar G__18568 \x3d arguments.length;\nswitch (G__18568) {\ncase 0:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-in\x22);\n}));\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x220\x22,\x221\x22,timing_function);\n}));\n\n(shadow.animate.fade_in.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.fade_out \x3d (function shadow$animate$fade_out(var_args){\nvar G__18570 \x3d arguments.length;\nswitch (G__18570) {\ncase 0:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-out\x22);\n}));\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,timing_function);\n}));\n\n(shadow.animate.fade_out.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.vendor_prefix \x3d goog.dom.vendor.getVendorPrefix();\nshadow.animate.vendor_transform \x3d cljs.core.keyword.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.animate.vendor_prefix),\x22-transform\x22].join(\x27\x27));\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate18573 \x3d (function (from,to,timing,delay,meta18574){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta18574 \x3d meta18574;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate18573.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18575,meta18574__$1){\nvar self__ \x3d this;\nvar _18575__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate18573(self__.from,self__.to,self__.timing,self__.delay,meta18574__$1));\n}));\n\n(shadow.animate.t_shadow$animate18573.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18575){\nvar self__ \x3d this;\nvar _18575__$1 \x3d this;\nreturn self__.meta18574;\n}));\n\n(shadow.animate.t_shadow$animate18573.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate18573.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate18573.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate18573.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate18573.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18573.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate18573.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta18574\x22,\x22meta18574\x22,-319203578,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate18573.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate18573.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate18573\x22);\n\n(shadow.animate.t_shadow$animate18573.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate18573\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate18573.\n */\nshadow.animate.__GT_t_shadow$animate18573 \x3d (function shadow$animate$__GT_t_shadow$animate18573(from,to,timing,delay,meta18574){\nreturn (new shadow.animate.t_shadow$animate18573(from,to,timing,delay,meta18574));\n});\n\n\nshadow.animate.translate_y \x3d (function shadow$animate$translate_y(var_args){\nvar G__18572 \x3d arguments.length;\nswitch (G__18572) {\ncase 3:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate18573(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_y.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate18578 \x3d (function (from,to,timing,delay,meta18579){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta18579 \x3d meta18579;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate18578.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18580,meta18579__$1){\nvar self__ \x3d this;\nvar _18580__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate18578(self__.from,self__.to,self__.timing,self__.delay,meta18579__$1));\n}));\n\n(shadow.animate.t_shadow$animate18578.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18580){\nvar self__ \x3d this;\nvar _18580__$1 \x3d this;\nreturn self__.meta18579;\n}));\n\n(shadow.animate.t_shadow$animate18578.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate18578.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate18578.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate18578.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate18578.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate18578.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate18578.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta18579\x22,\x22meta18579\x22,804796814,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate18578.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate18578.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate18578\x22);\n\n(shadow.animate.t_shadow$animate18578.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.animate/t_shadow$animate18578\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate18578.\n */\nshadow.animate.__GT_t_shadow$animate18578 \x3d (function shadow$animate$__GT_t_shadow$animate18578(from,to,timing,delay,meta18579){\nreturn (new shadow.animate.t_shadow$animate18578(from,to,timing,delay,meta18579));\n});\n\n\nshadow.animate.translate_x \x3d (function shadow$animate$translate_x(var_args){\nvar G__18577 \x3d arguments.length;\nswitch (G__18577) {\ncase 3:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate18578(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_x.cljs$lang$maxFixedArity \x3d 4);\n\n"); SHADOW_ENV.evalLoad("com.cognitect.transit.util.js", true , "goog.provide(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22goog.object\x22);\ngoog.scope(function() {\n var util \x3d com.cognitect.transit.util, gobject \x3d goog.object;\n if (typeof Object.keys !\x3d \x22undefined\x22) {\n util.objectKeys \x3d function(obj) {\n return Object.keys(obj);\n };\n } else {\n util.objectKeys \x3d function(obj) {\n return gobject.getKeys(obj);\n };\n }\n if (typeof Array.isArray !\x3d \x22undefined\x22) {\n util.isArray \x3d function(obj) {\n return Array.isArray(obj);\n };\n } else {\n util.isArray \x3d function(obj) {\n return goog.typeOf(obj) \x3d\x3d\x3d \x22array\x22;\n };\n }\n util.chars \x3d \x22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\x3d\x22;\n util.randInt \x3d function(ub) {\n return Math.round(Math.random() * ub);\n };\n util.randHex \x3d function() {\n return util.randInt(15).toString(16);\n };\n util.randomUUID \x3d function() {\n var rhex \x3d (8 | 3 \x26 util.randInt(14)).toString(16), ret \x3d util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + \x224\x22 + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + rhex + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \n util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex();\n return ret;\n };\n util.btoa \x3d function(input) {\n if (typeof btoa !\x3d \x22undefined\x22) {\n return btoa(input);\n } else {\n var str \x3d String(input);\n for (var block, charCode, idx \x3d 0, map \x3d util.chars, output \x3d \x22\x22; str.charAt(idx | 0) || (map \x3d \x22\\x3d\x22, idx % 1); output +\x3d map.charAt(63 \x26 block \x3e\x3e 8 - idx % 1 * 8)) {\n charCode \x3d str.charCodeAt(idx +\x3d 3 / 4);\n if (charCode \x3e 255) {\n throw new Error(\x22\x27btoa\x27 failed: The string to be encoded contains characters outside of the Latin1 range.\x22);\n }\n block \x3d block \x3c\x3c 8 | charCode;\n }\n return output;\n }\n };\n util.atob \x3d function(input) {\n if (typeof atob !\x3d \x22undefined\x22) {\n return atob(input);\n } else {\n var str \x3d String(input).replace(/\x3d+$/, \x22\x22);\n if (str.length % 4 \x3d\x3d 1) {\n throw new Error(\x22\x27atob\x27 failed: The string to be decoded is not correctly encoded.\x22);\n }\n for (var bc \x3d 0, bs, buffer, idx \x3d 0, output \x3d \x22\x22; buffer \x3d str.charAt(idx++); ~buffer \x26\x26 (bs \x3d bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output +\x3d String.fromCharCode(255 \x26 bs \x3e\x3e (-2 * bc \x26 6)) : 0) {\n buffer \x3d util.chars.indexOf(buffer);\n }\n return output;\n }\n };\n util.Uint8ToBase64 \x3d function(u8Arr) {\n var CHUNK_SIZE \x3d 32768, index \x3d 0, length \x3d u8Arr.length, result \x3d \x22\x22, slice \x3d null;\n while (index \x3c length) {\n slice \x3d u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length));\n result +\x3d String.fromCharCode.apply(null, slice);\n index +\x3d CHUNK_SIZE;\n }\n return util.btoa(result);\n };\n util.Base64ToUint8 \x3d function(base64) {\n var binary_string \x3d util.atob(base64), len \x3d binary_string.length, bytes \x3d new Uint8Array(len);\n for (var i \x3d 0; i \x3c len; i++) {\n var ascii \x3d binary_string.charCodeAt(i);\n bytes[i] \x3d ascii;\n }\n return bytes;\n };\n});\n"); SHADOW_ENV.evalLoad("com.cognitect.transit.delimiters.js", true , "goog.provide(\x22com.cognitect.transit.delimiters\x22);\ngoog.scope(function() {\n var delimiters \x3d com.cognitect.transit.delimiters;\n delimiters.ESC \x3d \x22~\x22;\n delimiters.TAG \x3d \x22#\x22;\n delimiters.SUB \x3d \x22^\x22;\n delimiters.RES \x3d \x22`\x22;\n delimiters.ESC_TAG \x3d \x22~#\x22;\n});\n"); SHADOW_ENV.evalLoad("com.cognitect.transit.caching.js", true , "goog.provide(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.scope(function() {\n var caching \x3d com.cognitect.transit.caching, d \x3d com.cognitect.transit.delimiters;\n caching.MIN_SIZE_CACHEABLE \x3d 3;\n caching.BASE_CHAR_IDX \x3d 48;\n caching.CACHE_CODE_DIGITS \x3d 44;\n caching.MAX_CACHE_ENTRIES \x3d caching.CACHE_CODE_DIGITS * caching.CACHE_CODE_DIGITS;\n caching.MAX_CACHE_SIZE \x3d 4096;\n caching.isCacheable \x3d function(string, asMapKey) {\n if (string.length \x3e caching.MIN_SIZE_CACHEABLE) {\n if (asMapKey) {\n return true;\n } else {\n var c0 \x3d string.charAt(0), c1 \x3d string.charAt(1);\n if (c0 \x3d\x3d\x3d d.ESC) {\n return c1 \x3d\x3d\x3d \x22:\x22 || c1 \x3d\x3d\x3d \x22$\x22 || c1 \x3d\x3d\x3d \x22#\x22;\n } else {\n return false;\n }\n }\n } else {\n return false;\n }\n };\n caching.idxToCode \x3d function(idx) {\n var hi \x3d Math.floor(idx / caching.CACHE_CODE_DIGITS), lo \x3d idx % caching.CACHE_CODE_DIGITS, loc \x3d String.fromCharCode(lo + caching.BASE_CHAR_IDX);\n if (hi \x3d\x3d\x3d 0) {\n return d.SUB + loc;\n } else {\n return d.SUB + String.fromCharCode(hi + caching.BASE_CHAR_IDX) + loc;\n }\n };\n caching.WriteCache \x3d function() {\n this.idx \x3d 0;\n this.gen \x3d 0;\n this.cacheSize \x3d 0;\n this.cache \x3d {};\n };\n caching.WriteCache.prototype.write \x3d function(string, asMapKey) {\n if (caching.isCacheable(string, asMapKey)) {\n if (this.cacheSize \x3d\x3d\x3d caching.MAX_CACHE_SIZE) {\n this.clear();\n this.gen \x3d 0;\n this.cache \x3d {};\n } else if (this.idx \x3d\x3d\x3d caching.MAX_CACHE_ENTRIES) {\n this.clear();\n }\n var entry \x3d this.cache[string];\n if (entry \x3d\x3d null) {\n this.cache[string] \x3d [caching.idxToCode(this.idx), this.gen];\n this.idx++;\n return string;\n } else if (entry[1] !\x3d this.gen) {\n entry[1] \x3d this.gen;\n entry[0] \x3d caching.idxToCode(this.idx);\n this.idx++;\n return string;\n } else {\n return entry[0];\n }\n } else {\n return string;\n }\n };\n caching.WriteCache.prototype.clear \x3d function Transit$WriteCache() {\n this.idx \x3d 0;\n this.gen++;\n };\n caching.writeCache \x3d function() {\n return new caching.WriteCache();\n };\n caching.isCacheCode \x3d function(string) {\n return string.charAt(0) \x3d\x3d\x3d d.SUB \x26\x26 string.charAt(1) !\x3d\x3d \x22 \x22;\n };\n caching.codeToIdx \x3d function(code) {\n if (code.length \x3d\x3d\x3d 2) {\n return code.charCodeAt(1) - caching.BASE_CHAR_IDX;\n } else {\n var hi \x3d (code.charCodeAt(1) - caching.BASE_CHAR_IDX) * caching.CACHE_CODE_DIGITS, lo \x3d code.charCodeAt(2) - caching.BASE_CHAR_IDX;\n return hi + lo;\n }\n };\n caching.ReadCache \x3d function Transit$ReadCache() {\n this.idx \x3d 0;\n this.cache \x3d [];\n };\n caching.ReadCache.prototype.write \x3d function(obj, asMapKey) {\n if (this.idx \x3d\x3d caching.MAX_CACHE_ENTRIES) {\n this.idx \x3d 0;\n }\n this.cache[this.idx] \x3d obj;\n this.idx++;\n return obj;\n };\n caching.ReadCache.prototype.read \x3d function(string, asMapKey) {\n return this.cache[caching.codeToIdx(string)];\n };\n caching.ReadCache.prototype.clear \x3d function() {\n this.idx \x3d 0;\n };\n caching.readCache \x3d function() {\n return new caching.ReadCache();\n };\n});\n"); @@ -1494,25 +1494,25 @@ SHADOW_ENV.evalLoad("com.cognitect.transit.impl.reader.js", true , "goog.provide SHADOW_ENV.evalLoad("com.cognitect.transit.handlers.js", true , "goog.provide(\x22com.cognitect.transit.handlers\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n var handlers \x3d com.cognitect.transit.handlers, util \x3d com.cognitect.transit.util, types \x3d com.cognitect.transit.types, Long \x3d goog.math.Long;\n handlers.ctorGuid \x3d 0;\n handlers.ctorGuidProperty \x3d \x22transit$guid$\x22 + util.randomUUID();\n handlers.typeTag \x3d function(ctor) {\n if (ctor \x3d\x3d null) {\n return \x22null\x22;\n } else if (ctor \x3d\x3d\x3d String) {\n return \x22string\x22;\n } else if (ctor \x3d\x3d\x3d Boolean) {\n return \x22boolean\x22;\n } else if (ctor \x3d\x3d\x3d Number) {\n return \x22number\x22;\n } else if (ctor \x3d\x3d\x3d Array) {\n return \x22array\x22;\n } else if (ctor \x3d\x3d\x3d Object) {\n return \x22map\x22;\n } else {\n var tag \x3d ctor[handlers.ctorGuidProperty];\n if (tag \x3d\x3d null) {\n if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n tag \x3d ++handlers.ctorGuid;\n Object.defineProperty(ctor, handlers.ctorGuidProperty, {value:tag, enumerable:false});\n } else {\n ctor[handlers.ctorGuidProperty] \x3d tag \x3d ++handlers.ctorGuid;\n }\n }\n return tag;\n }\n };\n handlers.constructor \x3d function(x) {\n if (x \x3d\x3d null) {\n return null;\n } else {\n return x.constructor;\n }\n };\n handlers.padZeros \x3d function(n, m) {\n var s \x3d n.toString();\n for (var i \x3d s.length; i \x3c m; i++) {\n s \x3d \x220\x22 + s;\n }\n return s;\n };\n handlers.stringableKeys \x3d function(m) {\n var stringable \x3d false, ks \x3d util.objectKeys(m);\n for (var i \x3d 0; i \x3c ks.length; i++) {\n }\n return true;\n };\n handlers.NilHandler \x3d function Transit$NilHandler() {\n };\n handlers.NilHandler.prototype.tag \x3d function(v) {\n return \x22_\x22;\n };\n handlers.NilHandler.prototype.rep \x3d function(v) {\n return null;\n };\n handlers.NilHandler.prototype.stringRep \x3d function(v) {\n return \x22null\x22;\n };\n handlers.StringHandler \x3d function Transit$StringHandler() {\n };\n handlers.StringHandler.prototype.tag \x3d function(v) {\n return \x22s\x22;\n };\n handlers.StringHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.StringHandler.prototype.stringRep \x3d function(v) {\n return v;\n };\n handlers.NumberHandler \x3d function Transit$NumberHandler() {\n };\n handlers.NumberHandler.prototype.tag \x3d function(v) {\n return \x22i\x22;\n };\n handlers.NumberHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.NumberHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.IntegerHandler \x3d function Transit$IntegerHandler() {\n };\n handlers.IntegerHandler.prototype.tag \x3d function(v) {\n return \x22i\x22;\n };\n handlers.IntegerHandler.prototype.rep \x3d function(v) {\n return v.toString();\n };\n handlers.IntegerHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.BooleanHandler \x3d function Transit$BooleanHandler() {\n };\n handlers.BooleanHandler.prototype.tag \x3d function(v) {\n return \x22?\x22;\n };\n handlers.BooleanHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.BooleanHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.ArrayHandler \x3d function Transit$ArrayHandler() {\n };\n handlers.ArrayHandler.prototype.tag \x3d function(v) {\n return \x22array\x22;\n };\n handlers.ArrayHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.ArrayHandler.prototype.stringRep \x3d function(v) {\n return null;\n };\n handlers.MapHandler \x3d function Transit$MapHandler() {\n };\n handlers.MapHandler.prototype.tag \x3d function(v) {\n return \x22map\x22;\n };\n handlers.MapHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.MapHandler.prototype.stringRep \x3d function(v) {\n return null;\n };\n handlers.VerboseDateHandler \x3d function Transit$VerboseDateHandler() {\n };\n handlers.VerboseDateHandler.prototype.tag \x3d function(v) {\n return \x22t\x22;\n };\n handlers.VerboseDateHandler.prototype.rep \x3d function(v) {\n return v.getUTCFullYear() + \x22-\x22 + handlers.padZeros(v.getUTCMonth() + 1, 2) + \x22-\x22 + handlers.padZeros(v.getUTCDate(), 2) + \x22T\x22 + handlers.padZeros(v.getUTCHours(), 2) + \x22:\x22 + handlers.padZeros(v.getUTCMinutes(), 2) + \x22:\x22 + handlers.padZeros(v.getUTCSeconds(), 2) + \x22.\x22 + handlers.padZeros(v.getUTCMilliseconds(), 3) + \x22Z\x22;\n };\n handlers.VerboseDateHandler.prototype.stringRep \x3d function(v, h) {\n return h.rep(v);\n };\n handlers.DateHandler \x3d function Transit$DateHandler() {\n };\n handlers.DateHandler.prototype.tag \x3d function(v) {\n return \x22m\x22;\n };\n handlers.DateHandler.prototype.rep \x3d function(v) {\n return v.valueOf();\n };\n handlers.DateHandler.prototype.stringRep \x3d function(v) {\n return v.valueOf().toString();\n };\n handlers.DateHandler.prototype.getVerboseHandler \x3d function(v) {\n return new handlers.VerboseDateHandler();\n };\n handlers.UUIDHandler \x3d function Transit$UUIDHandler() {\n };\n handlers.UUIDHandler.prototype.tag \x3d function(v) {\n return \x22u\x22;\n };\n handlers.UUIDHandler.prototype.rep \x3d function(v) {\n return v.toString();\n };\n handlers.UUIDHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.KeywordHandler \x3d function Transit$KeywordHandler() {\n };\n handlers.KeywordHandler.prototype.tag \x3d function(v) {\n return \x22:\x22;\n };\n handlers.KeywordHandler.prototype.rep \x3d function(v) {\n return v._name;\n };\n handlers.KeywordHandler.prototype.stringRep \x3d function(v, h) {\n return h.rep(v);\n };\n handlers.SymbolHandler \x3d function Transit$SymbolHandler() {\n };\n handlers.SymbolHandler.prototype.tag \x3d function(v) {\n return \x22$\x22;\n };\n handlers.SymbolHandler.prototype.rep \x3d function(v) {\n return v._name;\n };\n handlers.SymbolHandler.prototype.stringRep \x3d function(v, h) {\n return h.rep(v);\n };\n handlers.TaggedHandler \x3d function Transit$TaggedHandler() {\n };\n handlers.TaggedHandler.prototype.tag \x3d function(v) {\n return v.tag;\n };\n handlers.TaggedHandler.prototype.rep \x3d function(v) {\n return v.rep;\n };\n handlers.TaggedHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.TransitSetHandler \x3d function Transit$TransitSetHandler() {\n };\n handlers.TransitSetHandler.prototype.tag \x3d function(v) {\n return \x22set\x22;\n };\n handlers.TransitSetHandler.prototype.rep \x3d function(v) {\n var arr \x3d [];\n v.forEach(function(key, set) {\n arr.push(key);\n });\n return types.taggedValue(\x22array\x22, arr);\n };\n handlers.TransitSetHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.TransitArrayMapHandler \x3d function Transit$ArrayMapHandler() {\n };\n handlers.TransitArrayMapHandler.prototype.tag \x3d function(v) {\n return \x22map\x22;\n };\n handlers.TransitArrayMapHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.TransitArrayMapHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.TransitMapHandler \x3d function Transit$MapHandler() {\n };\n handlers.TransitMapHandler.prototype.tag \x3d function(v) {\n return \x22map\x22;\n };\n handlers.TransitMapHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.TransitMapHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.BufferHandler \x3d function Transit$BufferHandler() {\n };\n handlers.BufferHandler.prototype.tag \x3d function(v) {\n return \x22b\x22;\n };\n handlers.BufferHandler.prototype.rep \x3d function(v) {\n return v.toString(\x22base64\x22);\n };\n handlers.BufferHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.Uint8ArrayHandler \x3d function Transit$Uint8ArrayHandler() {\n };\n handlers.Uint8ArrayHandler.prototype.tag \x3d function(v) {\n return \x22b\x22;\n };\n handlers.Uint8ArrayHandler.prototype.rep \x3d function(v) {\n return util.Uint8ToBase64(v);\n };\n handlers.Uint8ArrayHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.defaultHandlers \x3d function(hs) {\n hs.set(null, new handlers.NilHandler());\n hs.set(String, new handlers.StringHandler());\n hs.set(Number, new handlers.NumberHandler());\n hs.set(Long, new handlers.IntegerHandler());\n hs.set(Boolean, new handlers.BooleanHandler());\n hs.set(Array, new handlers.ArrayHandler());\n hs.set(Object, new handlers.MapHandler());\n hs.set(Date, new handlers.DateHandler());\n hs.set(types.UUID, new handlers.UUIDHandler());\n hs.set(types.Keyword, new handlers.KeywordHandler());\n hs.set(types.Symbol, new handlers.SymbolHandler());\n hs.set(types.TaggedValue, new handlers.TaggedHandler());\n hs.set(types.TransitSet, new handlers.TransitSetHandler());\n hs.set(types.TransitArrayMap, new handlers.TransitArrayMapHandler());\n hs.set(types.TransitMap, new handlers.TransitMapHandler());\n if (typeof goog.global.Buffer !\x3d \x22undefined\x22) {\n hs.set(goog.global.Buffer, new handlers.BufferHandler());\n }\n if (typeof Uint8Array !\x3d \x22undefined\x22) {\n hs.set(Uint8Array, new handlers.Uint8ArrayHandler());\n }\n return hs;\n };\n handlers.Handlers \x3d function Transit$Handlers() {\n this.handlers \x3d {};\n handlers.defaultHandlers(this);\n };\n handlers.Handlers.prototype.get \x3d function(ctor) {\n var h \x3d null;\n if (typeof ctor \x3d\x3d\x3d \x22string\x22) {\n h \x3d this.handlers[ctor];\n } else {\n h \x3d this.handlers[handlers.typeTag(ctor)];\n }\n if (h !\x3d null) {\n return h;\n } else {\n return this.handlers[\x22default\x22];\n }\n };\n handlers.Handlers.prototype[\x22get\x22] \x3d handlers.Handlers.prototype.get;\n handlers.validTag \x3d function(tag) {\n switch(tag) {\n case \x22null\x22:\n case \x22string\x22:\n case \x22boolean\x22:\n case \x22number\x22:\n case \x22array\x22:\n case \x22map\x22:\n return false;\n break;\n }\n return true;\n };\n handlers.Handlers.prototype.set \x3d function(ctor, handler) {\n if (typeof ctor \x3d\x3d\x3d \x22string\x22 \x26\x26 handlers.validTag(ctor)) {\n this.handlers[ctor] \x3d handler;\n } else {\n this.handlers[handlers.typeTag(ctor)] \x3d handler;\n }\n };\n});\n"); SHADOW_ENV.evalLoad("com.cognitect.transit.impl.writer.js", true , "goog.provide(\x22com.cognitect.transit.impl.writer\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.handlers\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n var writer \x3d com.cognitect.transit.impl.writer, util \x3d com.cognitect.transit.util, caching \x3d com.cognitect.transit.caching, handlers \x3d com.cognitect.transit.handlers, types \x3d com.cognitect.transit.types, d \x3d com.cognitect.transit.delimiters, Long \x3d goog.math.Long;\n writer.escape \x3d function(string) {\n if (string.length \x3e 0) {\n var c \x3d string.charAt(0);\n if (c \x3d\x3d\x3d d.ESC || c \x3d\x3d\x3d d.SUB || c \x3d\x3d\x3d d.RES) {\n return d.ESC + string;\n } else {\n return string;\n }\n } else {\n return string;\n }\n };\n writer.JSONMarshaller \x3d function Transit$JSONMarshaller(opts) {\n this.opts \x3d opts || {};\n this.preferStrings \x3d this.opts[\x22preferStrings\x22] !\x3d null ? this.opts[\x22preferStrings\x22] : true;\n this.objectBuilder \x3d this.opts[\x22objectBuilder\x22] || null;\n this.transform \x3d this.opts[\x22transform\x22] || null;\n this.handlers \x3d new handlers.Handlers();\n var optsHandlers \x3d this.opts[\x22handlers\x22];\n if (optsHandlers) {\n if (util.isArray(optsHandlers) || !optsHandlers.forEach) {\n throw new Error(\x27transit writer \x22handlers\x22 option must be a map\x27);\n }\n var self \x3d this;\n optsHandlers.forEach(function(v, k) {\n if (k !\x3d\x3d undefined) {\n self.handlers.set(k, v);\n } else {\n throw new Error(\x22Cannot create handler for JavaScript undefined\x22);\n }\n });\n }\n this.handlerForForeign \x3d this.opts[\x22handlerForForeign\x22];\n this.unpack \x3d this.opts[\x22unpack\x22] || function(x) {\n if (types.isArrayMap(x) \x26\x26 x.backingMap \x3d\x3d\x3d null) {\n return x._entries;\n } else {\n return false;\n }\n };\n this.verbose \x3d this.opts \x26\x26 this.opts[\x22verbose\x22] || false;\n };\n writer.JSONMarshaller.prototype.handler \x3d function(obj) {\n var h \x3d this.handlers.get(handlers.constructor(obj));\n if (h !\x3d null) {\n return h;\n } else {\n var tag \x3d obj \x26\x26 obj[\x22transitTag\x22];\n if (tag) {\n return this.handlers.get(tag);\n } else {\n return null;\n }\n }\n };\n writer.JSONMarshaller.prototype.registerHandler \x3d function(ctor, handler) {\n this.handlers.set(ctor, handler);\n };\n writer.JSONMarshaller.prototype.emitNil \x3d function(asMapKey, cache) {\n if (asMapKey) {\n return this.emitString(d.ESC, \x22_\x22, \x22\x22, asMapKey, cache);\n } else {\n return null;\n }\n };\n writer.JSONMarshaller.prototype.emitString \x3d function(prefix, tag, s, asMapKey, cache) {\n var string \x3d prefix + tag + s;\n if (cache) {\n return cache.write(string, asMapKey);\n } else {\n return string;\n }\n };\n writer.JSONMarshaller.prototype.emitBoolean \x3d function(b, asMapKey, cache) {\n if (asMapKey) {\n var s \x3d b.toString();\n return this.emitString(d.ESC, \x22?\x22, s[0], asMapKey, cache);\n } else {\n return b;\n }\n };\n writer.JSONMarshaller.prototype.emitInteger \x3d function(i, asMapKey, cache) {\n if (i \x3d\x3d\x3d Infinity) {\n return this.emitString(d.ESC, \x22z\x22, \x22INF\x22, asMapKey, cache);\n } else if (i \x3d\x3d\x3d -Infinity) {\n return this.emitString(d.ESC, \x22z\x22, \x22-INF\x22, asMapKey, cache);\n } else if (isNaN(i)) {\n return this.emitString(d.ESC, \x22z\x22, \x22NaN\x22, asMapKey, cache);\n } else if (asMapKey || typeof i \x3d\x3d\x3d \x22string\x22 || i instanceof Long) {\n return this.emitString(d.ESC, \x22i\x22, i.toString(), asMapKey, cache);\n } else {\n return i;\n }\n };\n writer.JSONMarshaller.prototype.emitDouble \x3d function(d, asMapKey, cache) {\n if (asMapKey) {\n return this.emitString(d.ESC, \x22d\x22, d, asMapKey, cache);\n } else {\n return d;\n }\n };\n writer.JSONMarshaller.prototype.emitBinary \x3d function(b, asMapKey, cache) {\n return this.emitString(d.ESC, \x22b\x22, b, asMapKey, cache);\n };\n writer.JSONMarshaller.prototype.emitQuoted \x3d function(em, obj, cache) {\n if (em.verbose) {\n var ret \x3d {}, k \x3d this.emitString(d.ESC_TAG, \x22\x27\x22, \x22\x22, true, cache);\n ret[k] \x3d writer.marshal(this, obj, false, cache);\n return ret;\n } else {\n return [this.emitString(d.ESC_TAG, \x22\x27\x22, \x22\x22, true, cache), writer.marshal(this, obj, false, cache)];\n }\n };\n writer.emitObjects \x3d function(em, iterable, cache) {\n var ret \x3d [];\n if (util.isArray(iterable)) {\n for (var i \x3d 0; i \x3c iterable.length; i++) {\n ret.push(writer.marshal(em, iterable[i], false, cache));\n }\n } else {\n iterable.forEach(function(v, i) {\n ret.push(writer.marshal(em, v, false, cache));\n });\n }\n return ret;\n };\n writer.emitArray \x3d function(em, iterable, skip, cache) {\n return writer.emitObjects(em, iterable, cache);\n };\n writer.isStringableKey \x3d function(em, k) {\n if (typeof k !\x3d\x3d \x22string\x22) {\n var h \x3d em.handler(k);\n return h \x26\x26 h.tag(k).length \x3d\x3d\x3d 1;\n } else {\n return true;\n }\n };\n writer.stringableKeys \x3d function(em, obj) {\n var arr \x3d em.unpack(obj), stringableKeys \x3d true;\n if (arr) {\n for (var i \x3d 0; i \x3c arr.length; i +\x3d 2) {\n stringableKeys \x3d writer.isStringableKey(em, arr[i]);\n if (!stringableKeys) {\n break;\n }\n }\n return stringableKeys;\n } else if (obj.keys) {\n var iter \x3d obj.keys(), step \x3d null;\n if (iter.next) {\n step \x3d iter.next();\n while (!step.done) {\n stringableKeys \x3d writer.isStringableKey(em, step.value);\n if (!stringableKeys) {\n break;\n }\n step \x3d iter.next();\n }\n return stringableKeys;\n }\n }\n if (obj.forEach) {\n obj.forEach(function(v, k) {\n stringableKeys \x3d stringableKeys \x26\x26 writer.isStringableKey(em, k);\n });\n return stringableKeys;\n } else {\n throw new Error(\x22Cannot walk keys of object type \x22 + handlers.constructor(obj).name);\n }\n };\n writer.isForeignObject \x3d function(x) {\n if (x.constructor[\x22transit$isObject\x22]) {\n return true;\n }\n var ret \x3d x.constructor.toString();\n ret \x3d ret.substr(\x22function \x22.length);\n ret \x3d ret.substr(0, ret.indexOf(\x22(\x22));\n var isObject \x3d ret \x3d\x3d \x22Object\x22;\n if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n Object.defineProperty(x.constructor, \x22transit$isObject\x22, {value:isObject, enumerable:false});\n } else {\n x.constructor[\x22transit$isObject\x22] \x3d isObject;\n }\n return isObject;\n };\n writer.emitMap \x3d function(em, obj, skip, cache) {\n var arr \x3d null, rep \x3d null, tag \x3d null, ks \x3d null, i \x3d 0;\n if (obj.constructor \x3d\x3d\x3d Object || obj.forEach !\x3d null || em.handlerForForeign \x26\x26 writer.isForeignObject(obj)) {\n if (em.verbose) {\n if (obj.forEach !\x3d null) {\n if (writer.stringableKeys(em, obj)) {\n var ret \x3d {};\n obj.forEach(function(v, k) {\n ret[writer.marshal(em, k, true, false)] \x3d writer.marshal(em, v, false, cache);\n });\n return ret;\n } else {\n arr \x3d em.unpack(obj);\n rep \x3d [];\n tag \x3d em.emitString(d.ESC_TAG, \x22cmap\x22, \x22\x22, true, cache);\n if (arr) {\n for (; i \x3c arr.length; i +\x3d 2) {\n rep.push(writer.marshal(em, arr[i], false, false));\n rep.push(writer.marshal(em, arr[i + 1], false, cache));\n }\n } else {\n obj.forEach(function(v, k) {\n rep.push(writer.marshal(em, k, false, false));\n rep.push(writer.marshal(em, v, false, cache));\n });\n }\n ret \x3d {};\n ret[tag] \x3d rep;\n return ret;\n }\n } else {\n ks \x3d util.objectKeys(obj);\n ret \x3d {};\n for (; i \x3c ks.length; i++) {\n ret[writer.marshal(em, ks[i], true, false)] \x3d writer.marshal(em, obj[ks[i]], false, cache);\n }\n return ret;\n }\n } else {\n if (obj.forEach !\x3d null) {\n if (writer.stringableKeys(em, obj)) {\n arr \x3d em.unpack(obj);\n ret \x3d [\x22^ \x22];\n if (arr) {\n for (; i \x3c arr.length; i +\x3d 2) {\n ret.push(writer.marshal(em, arr[i], true, cache));\n ret.push(writer.marshal(em, arr[i + 1], false, cache));\n }\n } else {\n obj.forEach(function(v, k) {\n ret.push(writer.marshal(em, k, true, cache));\n ret.push(writer.marshal(em, v, false, cache));\n });\n }\n return ret;\n } else {\n arr \x3d em.unpack(obj);\n rep \x3d [];\n tag \x3d em.emitString(d.ESC_TAG, \x22cmap\x22, \x22\x22, true, cache);\n if (arr) {\n for (; i \x3c arr.length; i +\x3d 2) {\n rep.push(writer.marshal(em, arr[i], false, cache));\n rep.push(writer.marshal(em, arr[i + 1], false, cache));\n }\n } else {\n obj.forEach(function(v, k) {\n rep.push(writer.marshal(em, k, false, cache));\n rep.push(writer.marshal(em, v, false, cache));\n });\n }\n return [tag, rep];\n }\n } else {\n ret \x3d [\x22^ \x22];\n ks \x3d util.objectKeys(obj);\n for (; i \x3c ks.length; i++) {\n ret.push(writer.marshal(em, ks[i], true, cache));\n ret.push(writer.marshal(em, obj[ks[i]], false, cache));\n }\n return ret;\n }\n }\n } else if (em.objectBuilder !\x3d null) {\n return em.objectBuilder(obj, function(k) {\n return writer.marshal(em, k, true, cache);\n }, function(v) {\n return writer.marshal(em, v, false, cache);\n });\n } else {\n var name \x3d handlers.constructor(obj).name, err \x3d new Error(\x22Cannot write \x22 + name);\n err.data \x3d {obj:obj, type:name};\n throw err;\n }\n };\n writer.emitTaggedMap \x3d function(em, tag, rep, skip, cache) {\n if (em.verbose) {\n var ret \x3d {};\n ret[em.emitString(d.ESC_TAG, tag, \x22\x22, true, cache)] \x3d writer.marshal(em, rep, false, cache);\n return ret;\n } else {\n return [em.emitString(d.ESC_TAG, tag, \x22\x22, true, cache), writer.marshal(em, rep, false, cache)];\n }\n };\n writer.emitEncoded \x3d function(em, h, tag, rep, obj, asMapKey, cache) {\n if (tag.length \x3d\x3d\x3d 1) {\n if (typeof rep \x3d\x3d\x3d \x22string\x22) {\n return em.emitString(d.ESC, tag, rep, asMapKey, cache);\n } else if (asMapKey || em.preferStrings) {\n var vh \x3d em.verbose \x26\x26 h.getVerboseHandler();\n if (vh) {\n tag \x3d vh.tag(obj);\n rep \x3d vh.stringRep(obj, vh);\n } else {\n rep \x3d h.stringRep(obj, h);\n }\n if (rep !\x3d\x3d null) {\n return em.emitString(d.ESC, tag, rep, asMapKey, cache);\n } else {\n var err \x3d new Error(\x27Tag \x22\x27 + tag + \x27\x22 cannot be encoded as string\x27);\n err.data \x3d {tag:tag, rep:rep, obj:obj};\n throw err;\n }\n } else {\n return writer.emitTaggedMap(em, tag, rep, asMapKey, cache);\n }\n } else {\n return writer.emitTaggedMap(em, tag, rep, asMapKey, cache);\n }\n };\n writer.marshal \x3d function(em, obj, asMapKey, cache) {\n if (em.transform !\x3d\x3d null) {\n obj \x3d em.transform(obj);\n }\n var h \x3d em.handler(obj) || (em.handlerForForeign ? em.handlerForForeign(obj, em.handlers) : null), tag \x3d h ? h.tag(obj) : null, rep \x3d h ? h.rep(obj) : null;\n if (h !\x3d null \x26\x26 tag !\x3d null) {\n switch(tag) {\n case \x22_\x22:\n return em.emitNil(asMapKey, cache);\n break;\n case \x22s\x22:\n return em.emitString(\x22\x22, \x22\x22, writer.escape(rep), asMapKey, cache);\n break;\n case \x22?\x22:\n return em.emitBoolean(rep, asMapKey, cache);\n break;\n case \x22i\x22:\n return em.emitInteger(rep, asMapKey, cache);\n break;\n case \x22d\x22:\n return em.emitDouble(rep, asMapKey, cache);\n break;\n case \x22b\x22:\n return em.emitBinary(rep, asMapKey, cache);\n break;\n case \x22\x27\x22:\n return em.emitQuoted(em, rep, cache);\n break;\n case \x22array\x22:\n return writer.emitArray(em, rep, asMapKey, cache);\n break;\n case \x22map\x22:\n return writer.emitMap(em, rep, asMapKey, cache);\n break;\n default:\n return writer.emitEncoded(em, h, tag, rep, obj, asMapKey, cache);\n break;\n }\n } else {\n var name \x3d handlers.constructor(obj).name, err \x3d new Error(\x22Cannot write \x22 + name);\n err.data \x3d {obj:obj, type:name};\n throw err;\n }\n };\n writer.maybeQuoted \x3d function(em, obj) {\n var h \x3d em.handler(obj) || (em.handlerForForeign ? em.handlerForForeign(obj, em.handlers) : null);\n if (h !\x3d null) {\n if (h.tag(obj).length \x3d\x3d\x3d 1) {\n return types.quoted(obj);\n } else {\n return obj;\n }\n } else {\n var name \x3d handlers.constructor(obj).name, err \x3d new Error(\x22Cannot write \x22 + name);\n err.data \x3d {obj:obj, type:name};\n throw err;\n }\n };\n writer.marshalTop \x3d function(em, obj, asMapKey, cache) {\n return JSON.stringify(writer.marshal(em, writer.maybeQuoted(em, obj), asMapKey, cache));\n };\n writer.Writer \x3d function Transit$Writer(marshaller, options) {\n this._marshaller \x3d marshaller;\n this.options \x3d options || {};\n if (this.options[\x22cache\x22] \x3d\x3d\x3d false) {\n this.cache \x3d null;\n } else {\n this.cache \x3d this.options[\x22cache\x22] ? this.options[\x22cache\x22] : new caching.WriteCache();\n }\n };\n writer.Writer.prototype.marshaller \x3d function() {\n return this._marshaller;\n };\n writer.Writer.prototype[\x22marshaller\x22] \x3d writer.Writer.prototype.marshaller;\n writer.Writer.prototype.write \x3d function(obj, opts) {\n var ret \x3d null, ropts \x3d opts || {}, asMapKey \x3d ropts[\x22asMapKey\x22] || false, cache \x3d this._marshaller.verbose ? false : this.cache;\n if (ropts[\x22marshalTop\x22] \x3d\x3d\x3d false) {\n ret \x3d writer.marshal(this._marshaller, obj, asMapKey, cache);\n } else {\n ret \x3d writer.marshalTop(this._marshaller, obj, asMapKey, cache);\n }\n if (this.cache !\x3d null) {\n this.cache.clear();\n }\n return ret;\n };\n writer.Writer.prototype[\x22write\x22] \x3d writer.Writer.prototype.write;\n writer.Writer.prototype.register \x3d function(type, handler) {\n this._marshaller.registerHandler(type, handler);\n };\n writer.Writer.prototype[\x22register\x22] \x3d writer.Writer.prototype.register;\n});\n"); SHADOW_ENV.evalLoad("com.cognitect.transit.js", true , "goog.provide(\x22com.cognitect.transit\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.impl.reader\x22);\ngoog.require(\x22com.cognitect.transit.impl.writer\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\nvar TRANSIT_DEV \x3d true;\nvar TRANSIT_NODE_TARGET \x3d false;\nvar TRANSIT_BROWSER_TARGET \x3d false;\nvar TRANSIT_BROWSER_AMD_TARGET \x3d false;\ngoog.scope(function() {\n var transit \x3d com.cognitect.transit;\n var util \x3d com.cognitect.transit.util, reader \x3d com.cognitect.transit.impl.reader, writer \x3d com.cognitect.transit.impl.writer, decoder \x3d com.cognitect.transit.impl.decoder, types \x3d com.cognitect.transit.types, eq \x3d com.cognitect.transit.eq, caching \x3d com.cognitect.transit.caching;\n transit.MapLike;\n transit.SetLike;\n transit.reader \x3d function(type, opts) {\n if (type \x3d\x3d\x3d \x22json\x22 || type \x3d\x3d\x3d \x22json-verbose\x22 || type \x3d\x3d null) {\n type \x3d \x22json\x22;\n var unmarshaller \x3d new reader.JSONUnmarshaller(opts);\n return new reader.Reader(unmarshaller, opts);\n } else {\n throw new Error(\x22Cannot create reader of type \x22 + type);\n }\n };\n transit.writer \x3d function(type, opts) {\n if (type \x3d\x3d\x3d \x22json\x22 || type \x3d\x3d\x3d \x22json-verbose\x22 || type \x3d\x3d null) {\n if (type \x3d\x3d\x3d \x22json-verbose\x22) {\n if (opts \x3d\x3d null) {\n opts \x3d {};\n }\n opts[\x22verbose\x22] \x3d true;\n }\n var marshaller \x3d new writer.JSONMarshaller(opts);\n return new writer.Writer(marshaller, opts);\n } else {\n var err \x3d new Error(\x27Type must be \x22json\x22\x27);\n err.data \x3d {type:type};\n throw err;\n }\n };\n transit.makeWriteHandler \x3d function(obj) {\n var Handler \x3d function() {\n };\n Handler.prototype.tag \x3d obj[\x22tag\x22];\n Handler.prototype.rep \x3d obj[\x22rep\x22];\n Handler.prototype.stringRep \x3d obj[\x22stringRep\x22];\n Handler.prototype.getVerboseHandler \x3d obj[\x22getVerboseHandler\x22];\n return new Handler();\n };\n transit.makeBuilder \x3d function(obj) {\n var Builder \x3d function() {\n };\n Builder.prototype.init \x3d obj[\x22init\x22];\n Builder.prototype.add \x3d obj[\x22add\x22];\n Builder.prototype.finalize \x3d obj[\x22finalize\x22];\n Builder.prototype.fromArray \x3d obj[\x22fromArray\x22];\n return new Builder();\n };\n transit.date \x3d types.date;\n transit.integer \x3d types.intValue;\n transit.isInteger \x3d types.isInteger;\n transit.uuid \x3d types.uuid;\n transit.isUUID \x3d types.isUUID;\n transit.bigInt \x3d types.bigInteger;\n transit.isBigInt \x3d types.isBigInteger;\n transit.bigDec \x3d types.bigDecimalValue;\n transit.isBigDec \x3d types.isBigDecimal;\n transit.keyword \x3d types.keyword;\n transit.isKeyword \x3d types.isKeyword;\n transit.symbol \x3d types.symbol;\n transit.isSymbol \x3d types.isSymbol;\n transit.binary \x3d types.binary;\n transit.isBinary \x3d types.isBinary;\n transit.uri \x3d types.uri;\n transit.isURI \x3d types.isURI;\n transit.map \x3d types.map;\n transit.isMap \x3d types.isMap;\n transit.set \x3d types.set;\n transit.isSet \x3d types.isSet;\n transit.list \x3d types.list;\n transit.isList \x3d types.isList;\n transit.quoted \x3d types.quoted;\n transit.isQuoted \x3d types.isQuoted;\n transit.tagged \x3d types.taggedValue;\n transit.isTaggedValue \x3d types.isTaggedValue;\n transit.link \x3d types.link;\n transit.isLink \x3d types.isLink;\n transit.hash \x3d eq.hashCode;\n transit.hashMapLike \x3d eq.hashMapLike;\n transit.hashArrayLike \x3d eq.hashArrayLike;\n transit.equals \x3d eq.equals;\n transit.extendToEQ \x3d eq.extendToEQ;\n transit.mapToObject \x3d function(m) {\n var ret \x3d {};\n m.forEach(function(v, k) {\n if (typeof k !\x3d\x3d \x22string\x22) {\n throw Error(\x22Cannot convert map with non-string keys\x22);\n } else {\n ret[k] \x3d v;\n }\n });\n return ret;\n };\n transit.objectToMap \x3d function(obj) {\n var ret \x3d transit.map();\n for (var p in obj) {\n if (obj.hasOwnProperty(p)) {\n ret.set(p, obj[p]);\n }\n }\n return ret;\n };\n transit.decoder \x3d decoder.decoder;\n transit.readCache \x3d caching.readCache;\n transit.writeCache \x3d caching.writeCache;\n transit.UUIDfromString \x3d types.UUIDfromString;\n transit.randomUUID \x3d util.randomUUID;\n transit.stringableKeys \x3d writer.stringableKeys;\n if (TRANSIT_BROWSER_TARGET) {\n goog.exportSymbol(\x22transit.reader\x22, transit.reader);\n goog.exportSymbol(\x22transit.writer\x22, transit.writer);\n goog.exportSymbol(\x22transit.makeBuilder\x22, transit.makeBuilder);\n goog.exportSymbol(\x22transit.makeWriteHandler\x22, transit.makeWriteHandler);\n goog.exportSymbol(\x22transit.date\x22, types.date);\n goog.exportSymbol(\x22transit.integer\x22, types.intValue);\n goog.exportSymbol(\x22transit.isInteger\x22, types.isInteger);\n goog.exportSymbol(\x22transit.uuid\x22, types.uuid);\n goog.exportSymbol(\x22transit.isUUID\x22, types.isUUID);\n goog.exportSymbol(\x22transit.bigInt\x22, types.bigInteger);\n goog.exportSymbol(\x22transit.isBigInt\x22, types.isBigInteger);\n goog.exportSymbol(\x22transit.bigDec\x22, types.bigDecimalValue);\n goog.exportSymbol(\x22transit.isBigDec\x22, types.isBigDecimal);\n goog.exportSymbol(\x22transit.keyword\x22, types.keyword);\n goog.exportSymbol(\x22transit.isKeyword\x22, types.isKeyword);\n goog.exportSymbol(\x22transit.symbol\x22, types.symbol);\n goog.exportSymbol(\x22transit.isSymbol\x22, types.isSymbol);\n goog.exportSymbol(\x22transit.binary\x22, types.binary);\n goog.exportSymbol(\x22transit.isBinary\x22, types.isBinary);\n goog.exportSymbol(\x22transit.uri\x22, types.uri);\n goog.exportSymbol(\x22transit.isURI\x22, types.isURI);\n goog.exportSymbol(\x22transit.map\x22, types.map);\n goog.exportSymbol(\x22transit.isMap\x22, types.isMap);\n goog.exportSymbol(\x22transit.set\x22, types.set);\n goog.exportSymbol(\x22transit.isSet\x22, types.isSet);\n goog.exportSymbol(\x22transit.list\x22, types.list);\n goog.exportSymbol(\x22transit.isList\x22, types.isList);\n goog.exportSymbol(\x22transit.quoted\x22, types.quoted);\n goog.exportSymbol(\x22transit.isQuoted\x22, types.isQuoted);\n goog.exportSymbol(\x22transit.tagged\x22, types.taggedValue);\n goog.exportSymbol(\x22transit.isTaggedValue\x22, types.isTaggedValue);\n goog.exportSymbol(\x22transit.link\x22, types.link);\n goog.exportSymbol(\x22transit.isLink\x22, types.isLink);\n goog.exportSymbol(\x22transit.hash\x22, eq.hashCode);\n goog.exportSymbol(\x22transit.hashMapLike\x22, eq.hashMapLike);\n goog.exportSymbol(\x22transit.hashArrayLike\x22, eq.hashArrayLike);\n goog.exportSymbol(\x22transit.equals\x22, eq.equals);\n goog.exportSymbol(\x22transit.extendToEQ\x22, eq.extendToEQ);\n goog.exportSymbol(\x22transit.mapToObject\x22, transit.mapToObject);\n goog.exportSymbol(\x22transit.objectToMap\x22, transit.objectToMap);\n goog.exportSymbol(\x22transit.decoder\x22, decoder.decoder);\n goog.exportSymbol(\x22transit.UUIDfromString\x22, types.UUIDfromString);\n goog.exportSymbol(\x22transit.randomUUID\x22, util.randomUUID);\n goog.exportSymbol(\x22transit.stringableKeys\x22, writer.stringableKeys);\n goog.exportSymbol(\x22transit.readCache\x22, caching.readCache);\n goog.exportSymbol(\x22transit.writeCache\x22, caching.writeCache);\n }\n if (TRANSIT_NODE_TARGET) {\n module.exports \x3d {reader:transit.reader, writer:transit.writer, makeBuilder:transit.makeBuilder, makeWriteHandler:transit.makeWriteHandler, date:types.date, integer:types.intValue, isInteger:types.isInteger, uuid:types.uuid, isUUID:types.isUUID, bigInt:types.bigInteger, isBigInt:types.isBigInteger, bigDec:types.bigDecimalValue, isBigDec:types.isBigDecimal, keyword:types.keyword, isKeyword:types.isKeyword, symbol:types.symbol, isSymbol:types.isSymbol, binary:types.binary, isBinary:types.isBinary, \n uri:types.uri, isURI:types.isURI, map:types.map, isMap:types.isMap, set:types.set, isSet:types.isSet, list:types.list, isList:types.isList, quoted:types.quoted, isQuoted:types.isQuoted, tagged:types.taggedValue, isTaggedValue:types.isTaggedValue, link:types.link, isLink:types.isLink, hash:eq.hashCode, hashArrayLike:eq.hashArrayLike, hashMapLike:eq.hashMapLike, equals:eq.equals, extendToEQ:eq.extendToEQ, mapToObject:transit.mapToObject, objectToMap:transit.objectToMap, decoder:decoder.decoder, \n UUIDfromString:types.UUIDfromString, randomUUID:util.randomUUID, stringableKeys:writer.stringableKeys, readCache:caching.readCache, writeCache:caching.writeCache};\n }\n});\n"); -SHADOW_ENV.evalLoad("cognitect.transit.js", true , "goog.provide(\x27cognitect.transit\x27);\ngoog.scope(function(){\n cognitect.transit.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n cognitect.transit.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n});\n(cljs.core.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.uuid);\n} else {\nif((other instanceof com.cognitect.transit.types.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.toString());\n} else {\nreturn false;\n\n}\n}\n}));\n(cljs.core.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn other.cljs$core$IEquiv$_equiv$arity$2(null,this$__$1);\n} else {\nreturn this$__$1.equiv(other);\n}\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.hash(this$__$1.toString());\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (uuid,writer,_){\nvar uuid__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(uuid__$1.toString()),\x22\\\x22\x22].join(\x27\x27));\n}));\ncognitect.transit.opts_merge \x3d (function cognitect$transit$opts_merge(a,b){\nvar seq__18708_19267 \x3d cljs.core.seq(cljs.core.js_keys(b));\nvar chunk__18709_19268 \x3d null;\nvar count__18710_19269 \x3d (0);\nvar i__18711_19270 \x3d (0);\nwhile(true){\nif((i__18711_19270 \x3c count__18710_19269)){\nvar k_19271 \x3d chunk__18709_19268.cljs$core$IIndexed$_nth$arity$2(null,i__18711_19270);\nvar v_19272 \x3d cognitect.transit.goog$module$goog$object.get(b,k_19271);\ncognitect.transit.goog$module$goog$object.set(a,k_19271,v_19272);\n\n\nvar G__19274 \x3d seq__18708_19267;\nvar G__19275 \x3d chunk__18709_19268;\nvar G__19276 \x3d count__18710_19269;\nvar G__19277 \x3d (i__18711_19270 + (1));\nseq__18708_19267 \x3d G__19274;\nchunk__18709_19268 \x3d G__19275;\ncount__18710_19269 \x3d G__19276;\ni__18711_19270 \x3d G__19277;\ncontinue;\n} else {\nvar temp__5804__auto___19279 \x3d cljs.core.seq(seq__18708_19267);\nif(temp__5804__auto___19279){\nvar seq__18708_19283__$1 \x3d temp__5804__auto___19279;\nif(cljs.core.chunked_seq_QMARK_(seq__18708_19283__$1)){\nvar c__5568__auto___19284 \x3d cljs.core.chunk_first(seq__18708_19283__$1);\nvar G__19286 \x3d cljs.core.chunk_rest(seq__18708_19283__$1);\nvar G__19287 \x3d c__5568__auto___19284;\nvar G__19288 \x3d cljs.core.count(c__5568__auto___19284);\nvar G__19289 \x3d (0);\nseq__18708_19267 \x3d G__19286;\nchunk__18709_19268 \x3d G__19287;\ncount__18710_19269 \x3d G__19288;\ni__18711_19270 \x3d G__19289;\ncontinue;\n} else {\nvar k_19290 \x3d cljs.core.first(seq__18708_19283__$1);\nvar v_19291 \x3d cognitect.transit.goog$module$goog$object.get(b,k_19290);\ncognitect.transit.goog$module$goog$object.set(a,k_19290,v_19291);\n\n\nvar G__19292 \x3d cljs.core.next(seq__18708_19283__$1);\nvar G__19293 \x3d null;\nvar G__19294 \x3d (0);\nvar G__19295 \x3d (0);\nseq__18708_19267 \x3d G__19292;\nchunk__18709_19268 \x3d G__19293;\ncount__18710_19269 \x3d G__19294;\ni__18711_19270 \x3d G__19295;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn a;\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.MapBuilder \x3d (function (){\n});\n(cognitect.transit.MapBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cognitect.transit.MapBuilder.prototype.add \x3d (function (m,k,v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}));\n\n(cognitect.transit.MapBuilder.prototype.finalize \x3d (function (m,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(m);\n}));\n\n(cognitect.transit.MapBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3 ? cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3(arr,true,true) : cljs.core.PersistentArrayMap.fromArray.call(null,arr,true,true));\n}));\n\n(cognitect.transit.MapBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapBuilder\x22);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/MapBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapBuilder.\n */\ncognitect.transit.__GT_MapBuilder \x3d (function cognitect$transit$__GT_MapBuilder(){\nreturn (new cognitect.transit.MapBuilder());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorBuilder \x3d (function (){\n});\n(cognitect.transit.VectorBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.add \x3d (function (v,x,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,x);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.finalize \x3d (function (v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(v);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2 ? cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2(arr,true) : cljs.core.PersistentVector.fromArray.call(null,arr,true));\n}));\n\n(cognitect.transit.VectorBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorBuilder\x22);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/VectorBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorBuilder.\n */\ncognitect.transit.__GT_VectorBuilder \x3d (function cognitect$transit$__GT_VectorBuilder(){\nreturn (new cognitect.transit.VectorBuilder());\n});\n\n/**\n * Return a transit reader. type may be either :json or :json-verbose.\n * opts may be a map optionally containing a :handlers entry. The value\n * of :handlers should be map from string tag to a decoder function of one\n * argument which returns the in-memory representation of the semantic transit\n * value. If a :default handler is provided, it will be used when no matching\n * read handler can be found.\n */\ncognitect.transit.reader \x3d (function cognitect$transit$reader(var_args){\nvar G__18750 \x3d arguments.length;\nswitch (G__18750) {\ncase 1:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nreturn com.cognitect.transit.reader(cljs.core.name(type),cognitect.transit.opts_merge(({\x22handlers\x22: cljs.core.clj__GT_js(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 6, [\x22$\x22,(function (v){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22:\x22,(function (v){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22set\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,v);\n}),\x22list\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.List.EMPTY,v.reverse());\n}),\x22cmap\x22,(function (v){\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c v.length)){\nvar G__19312 \x3d (i + (2));\nvar G__19313 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,(v[i]),(v[(i + (1))]));\ni \x3d G__19312;\nret \x3d G__19313;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(ret);\n}\nbreak;\n}\n}),\x22with-meta\x22,(function (v){\nreturn cljs.core.with_meta((v[(0)]),(v[(1)]));\n})], null),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))], 0))), \x22defaultHandler\x22: new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)), \x22mapBuilder\x22: (new cognitect.transit.MapBuilder()), \x22arrayBuilder\x22: (new cognitect.transit.VectorBuilder()), \x22preferStrings\x22: false, \x22preferBuffers\x22: false}),cljs.core.clj__GT_js(clojure.set.rename_keys(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22array-builder\x22,\x22array-builder\x22,1275998041),new cljs.core.Keyword(null,\x22arrayBuilder\x22,\x22arrayBuilder\x22,1446317421),new cljs.core.Keyword(null,\x22map-builder\x22,\x22map-builder\x22,-1843343288),new cljs.core.Keyword(null,\x22mapBuilder\x22,\x22mapBuilder\x22,-278083754),new cljs.core.Keyword(null,\x22prefer-strings\x22,\x22prefer-strings\x22,1254507185),new cljs.core.Keyword(null,\x22preferStrings\x22,\x22preferStrings\x22,-1532249482),new cljs.core.Keyword(null,\x22prefer-buffers\x22,\x22prefer-buffers\x22,377042081),new cljs.core.Keyword(null,\x22preferBuffers\x22,\x22preferBuffers\x22,1843176451)], null)))));\n}));\n\n(cognitect.transit.reader.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Read a transit encoded string into ClojureScript values given a\n * transit reader.\n */\ncognitect.transit.read \x3d (function cognitect$transit$read(r,str){\nreturn r.read(str);\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.KeywordHandler \x3d (function (){\n});\n(cognitect.transit.KeywordHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22:\x22;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.KeywordHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/KeywordHandler\x22);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/KeywordHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/KeywordHandler.\n */\ncognitect.transit.__GT_KeywordHandler \x3d (function cognitect$transit$__GT_KeywordHandler(){\nreturn (new cognitect.transit.KeywordHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SymbolHandler \x3d (function (){\n});\n(cognitect.transit.SymbolHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22$\x22;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SymbolHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SymbolHandler\x22);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/SymbolHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SymbolHandler.\n */\ncognitect.transit.__GT_SymbolHandler \x3d (function cognitect$transit$__GT_SymbolHandler(){\nreturn (new cognitect.transit.SymbolHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.ListHandler \x3d (function (){\n});\n(cognitect.transit.ListHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22list\x22;\n}));\n\n(cognitect.transit.ListHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__18828_19322 \x3d cljs.core.seq(v);\nvar chunk__18829_19323 \x3d null;\nvar count__18830_19324 \x3d (0);\nvar i__18831_19325 \x3d (0);\nwhile(true){\nif((i__18831_19325 \x3c count__18830_19324)){\nvar x_19327 \x3d chunk__18829_19323.cljs$core$IIndexed$_nth$arity$2(null,i__18831_19325);\nret.push(x_19327);\n\n\nvar G__19329 \x3d seq__18828_19322;\nvar G__19330 \x3d chunk__18829_19323;\nvar G__19331 \x3d count__18830_19324;\nvar G__19332 \x3d (i__18831_19325 + (1));\nseq__18828_19322 \x3d G__19329;\nchunk__18829_19323 \x3d G__19330;\ncount__18830_19324 \x3d G__19331;\ni__18831_19325 \x3d G__19332;\ncontinue;\n} else {\nvar temp__5804__auto___19333 \x3d cljs.core.seq(seq__18828_19322);\nif(temp__5804__auto___19333){\nvar seq__18828_19335__$1 \x3d temp__5804__auto___19333;\nif(cljs.core.chunked_seq_QMARK_(seq__18828_19335__$1)){\nvar c__5568__auto___19336 \x3d cljs.core.chunk_first(seq__18828_19335__$1);\nvar G__19337 \x3d cljs.core.chunk_rest(seq__18828_19335__$1);\nvar G__19338 \x3d c__5568__auto___19336;\nvar G__19339 \x3d cljs.core.count(c__5568__auto___19336);\nvar G__19340 \x3d (0);\nseq__18828_19322 \x3d G__19337;\nchunk__18829_19323 \x3d G__19338;\ncount__18830_19324 \x3d G__19339;\ni__18831_19325 \x3d G__19340;\ncontinue;\n} else {\nvar x_19341 \x3d cljs.core.first(seq__18828_19335__$1);\nret.push(x_19341);\n\n\nvar G__19342 \x3d cljs.core.next(seq__18828_19335__$1);\nvar G__19343 \x3d null;\nvar G__19344 \x3d (0);\nvar G__19345 \x3d (0);\nseq__18828_19322 \x3d G__19342;\nchunk__18829_19323 \x3d G__19343;\ncount__18830_19324 \x3d G__19344;\ni__18831_19325 \x3d G__19345;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.ListHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.ListHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.ListHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/ListHandler\x22);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/ListHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/ListHandler.\n */\ncognitect.transit.__GT_ListHandler \x3d (function cognitect$transit$__GT_ListHandler(){\nreturn (new cognitect.transit.ListHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.MapHandler \x3d (function (){\n});\n(cognitect.transit.MapHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22map\x22;\n}));\n\n(cognitect.transit.MapHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v;\n}));\n\n(cognitect.transit.MapHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.MapHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapHandler\x22);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/MapHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapHandler.\n */\ncognitect.transit.__GT_MapHandler \x3d (function cognitect$transit$__GT_MapHandler(){\nreturn (new cognitect.transit.MapHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SetHandler \x3d (function (){\n});\n(cognitect.transit.SetHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22set\x22;\n}));\n\n(cognitect.transit.SetHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__18855_19353 \x3d cljs.core.seq(v);\nvar chunk__18856_19354 \x3d null;\nvar count__18857_19355 \x3d (0);\nvar i__18858_19356 \x3d (0);\nwhile(true){\nif((i__18858_19356 \x3c count__18857_19355)){\nvar x_19357 \x3d chunk__18856_19354.cljs$core$IIndexed$_nth$arity$2(null,i__18858_19356);\nret.push(x_19357);\n\n\nvar G__19358 \x3d seq__18855_19353;\nvar G__19359 \x3d chunk__18856_19354;\nvar G__19360 \x3d count__18857_19355;\nvar G__19361 \x3d (i__18858_19356 + (1));\nseq__18855_19353 \x3d G__19358;\nchunk__18856_19354 \x3d G__19359;\ncount__18857_19355 \x3d G__19360;\ni__18858_19356 \x3d G__19361;\ncontinue;\n} else {\nvar temp__5804__auto___19362 \x3d cljs.core.seq(seq__18855_19353);\nif(temp__5804__auto___19362){\nvar seq__18855_19363__$1 \x3d temp__5804__auto___19362;\nif(cljs.core.chunked_seq_QMARK_(seq__18855_19363__$1)){\nvar c__5568__auto___19364 \x3d cljs.core.chunk_first(seq__18855_19363__$1);\nvar G__19365 \x3d cljs.core.chunk_rest(seq__18855_19363__$1);\nvar G__19366 \x3d c__5568__auto___19364;\nvar G__19367 \x3d cljs.core.count(c__5568__auto___19364);\nvar G__19368 \x3d (0);\nseq__18855_19353 \x3d G__19365;\nchunk__18856_19354 \x3d G__19366;\ncount__18857_19355 \x3d G__19367;\ni__18858_19356 \x3d G__19368;\ncontinue;\n} else {\nvar x_19370 \x3d cljs.core.first(seq__18855_19363__$1);\nret.push(x_19370);\n\n\nvar G__19371 \x3d cljs.core.next(seq__18855_19363__$1);\nvar G__19372 \x3d null;\nvar G__19373 \x3d (0);\nvar G__19374 \x3d (0);\nseq__18855_19353 \x3d G__19371;\nchunk__18856_19354 \x3d G__19372;\ncount__18857_19355 \x3d G__19373;\ni__18858_19356 \x3d G__19374;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.SetHandler.prototype.stringRep \x3d (function (){\nvar self__ \x3d this;\nvar v \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.SetHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SetHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SetHandler\x22);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/SetHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SetHandler.\n */\ncognitect.transit.__GT_SetHandler \x3d (function cognitect$transit$__GT_SetHandler(){\nreturn (new cognitect.transit.SetHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorHandler \x3d (function (){\n});\n(cognitect.transit.VectorHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22array\x22;\n}));\n\n(cognitect.transit.VectorHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__18903_19377 \x3d cljs.core.seq(v);\nvar chunk__18904_19378 \x3d null;\nvar count__18905_19379 \x3d (0);\nvar i__18906_19380 \x3d (0);\nwhile(true){\nif((i__18906_19380 \x3c count__18905_19379)){\nvar x_19384 \x3d chunk__18904_19378.cljs$core$IIndexed$_nth$arity$2(null,i__18906_19380);\nret.push(x_19384);\n\n\nvar G__19385 \x3d seq__18903_19377;\nvar G__19386 \x3d chunk__18904_19378;\nvar G__19387 \x3d count__18905_19379;\nvar G__19388 \x3d (i__18906_19380 + (1));\nseq__18903_19377 \x3d G__19385;\nchunk__18904_19378 \x3d G__19386;\ncount__18905_19379 \x3d G__19387;\ni__18906_19380 \x3d G__19388;\ncontinue;\n} else {\nvar temp__5804__auto___19390 \x3d cljs.core.seq(seq__18903_19377);\nif(temp__5804__auto___19390){\nvar seq__18903_19391__$1 \x3d temp__5804__auto___19390;\nif(cljs.core.chunked_seq_QMARK_(seq__18903_19391__$1)){\nvar c__5568__auto___19394 \x3d cljs.core.chunk_first(seq__18903_19391__$1);\nvar G__19395 \x3d cljs.core.chunk_rest(seq__18903_19391__$1);\nvar G__19396 \x3d c__5568__auto___19394;\nvar G__19397 \x3d cljs.core.count(c__5568__auto___19394);\nvar G__19398 \x3d (0);\nseq__18903_19377 \x3d G__19395;\nchunk__18904_19378 \x3d G__19396;\ncount__18905_19379 \x3d G__19397;\ni__18906_19380 \x3d G__19398;\ncontinue;\n} else {\nvar x_19399 \x3d cljs.core.first(seq__18903_19391__$1);\nret.push(x_19399);\n\n\nvar G__19400 \x3d cljs.core.next(seq__18903_19391__$1);\nvar G__19401 \x3d null;\nvar G__19402 \x3d (0);\nvar G__19403 \x3d (0);\nseq__18903_19377 \x3d G__19400;\nchunk__18904_19378 \x3d G__19401;\ncount__18905_19379 \x3d G__19402;\ni__18906_19380 \x3d G__19403;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn ret;\n}));\n\n(cognitect.transit.VectorHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.VectorHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorHandler\x22);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/VectorHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorHandler.\n */\ncognitect.transit.__GT_VectorHandler \x3d (function cognitect$transit$__GT_VectorHandler(){\nreturn (new cognitect.transit.VectorHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.UUIDHandler \x3d (function (){\n});\n(cognitect.transit.UUIDHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22u\x22;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.uuid;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.rep(v);\n}));\n\n(cognitect.transit.UUIDHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.UUIDHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/UUIDHandler\x22);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/UUIDHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/UUIDHandler.\n */\ncognitect.transit.__GT_UUIDHandler \x3d (function cognitect$transit$__GT_UUIDHandler(){\nreturn (new cognitect.transit.UUIDHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMeta \x3d (function (value,meta){\nthis.value \x3d value;\nthis.meta \x3d meta;\n});\n\n(cognitect.transit.WithMeta.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cognitect.transit.WithMeta.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMeta\x22);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/WithMeta\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMeta.\n */\ncognitect.transit.__GT_WithMeta \x3d (function cognitect$transit$__GT_WithMeta(value,meta){\nreturn (new cognitect.transit.WithMeta(value,meta));\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMetaHandler \x3d (function (){\n});\n(cognitect.transit.WithMetaHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22with-meta\x22;\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn com.cognitect.transit.tagged(\x22array\x22,[v.value,v.meta]);\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.WithMetaHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.WithMetaHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMetaHandler\x22);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/WithMetaHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMetaHandler.\n */\ncognitect.transit.__GT_WithMetaHandler \x3d (function cognitect$transit$__GT_WithMetaHandler(){\nreturn (new cognitect.transit.WithMetaHandler());\n});\n\n/**\n * Return a transit writer. type maybe either :json or :json-verbose.\n * opts is a map with the following optional keys:\n * \n * :handlers - a map of type constructors to handler instances. Can optionally\n * provide a :default write handler which will be used if no\n * matching handler can be found.\n * :transform - a function of one argument returning a transformed value. Will\n * be invoked on a value before it is written.\n */\ncognitect.transit.writer \x3d (function cognitect$transit$writer(var_args){\nvar G__18971 \x3d arguments.length;\nswitch (G__18971) {\ncase 1:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nvar keyword_handler \x3d (new cognitect.transit.KeywordHandler());\nvar symbol_handler \x3d (new cognitect.transit.SymbolHandler());\nvar list_handler \x3d (new cognitect.transit.ListHandler());\nvar map_handler \x3d (new cognitect.transit.MapHandler());\nvar set_handler \x3d (new cognitect.transit.SetHandler());\nvar vector_handler \x3d (new cognitect.transit.VectorHandler());\nvar uuid_handler \x3d (new cognitect.transit.UUIDHandler());\nvar meta_handler \x3d (new cognitect.transit.WithMetaHandler());\nvar handlers \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentHashMap.fromArrays([cljs.core.PersistentHashMap,cljs.core.Cons,cljs.core.PersistentArrayMap,cljs.core.NodeSeq,cljs.core.PersistentQueue,cljs.core.IndexedSeq,cljs.core.Keyword,cljs.core.BlackNode,cljs.core.EmptyList,cljs.core.LazySeq,cljs.core.Subvec,cljs.core.PersistentQueueSeq,cljs.core.ArrayNodeSeq,cljs.core.ValSeq,cognitect.transit.WithMeta,cljs.core.PersistentArrayMapSeq,cljs.core.PersistentVector,cljs.core.List,cljs.core.RSeq,cljs.core.PersistentHashSet,cljs.core.PersistentTreeMap,cljs.core.KeySeq,cljs.core.ChunkedSeq,cljs.core.PersistentTreeSet,cljs.core.ChunkedCons,cljs.core.Symbol,cljs.core.UUID,cljs.core.Range,cljs.core.PersistentTreeMapSeq,cljs.core.RedNode],[map_handler,list_handler,map_handler,list_handler,list_handler,list_handler,keyword_handler,vector_handler,list_handler,list_handler,vector_handler,list_handler,list_handler,list_handler,meta_handler,list_handler,vector_handler,list_handler,list_handler,set_handler,map_handler,list_handler,list_handler,set_handler,list_handler,symbol_handler,uuid_handler,list_handler,list_handler,vector_handler]),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Eduction !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Eduction,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Repeat !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Repeat,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.MapEntry !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.MapEntry,vector_handler]):null),new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)], 0));\nreturn com.cognitect.transit.writer(cljs.core.name(type),cognitect.transit.opts_merge(({\x22objectBuilder\x22: (function (m,kfn,vfn){\nreturn cljs.core.reduce_kv((function (obj,k,v){\nvar G__19006 \x3d obj;\nG__19006.push((kfn.cljs$core$IFn$_invoke$arity$1 ? kfn.cljs$core$IFn$_invoke$arity$1(k) : kfn.call(null,k)),(vfn.cljs$core$IFn$_invoke$arity$1 ? vfn.cljs$core$IFn$_invoke$arity$1(v) : vfn.call(null,v)));\n\nreturn G__19006;\n}),[\x22^ \x22],m);\n}), \x22handlers\x22: (function (){var x19015 \x3d cljs.core.clone(handlers);\n(x19015.forEach \x3d (function (f){\nvar coll \x3d this;\nvar seq__19017 \x3d cljs.core.seq(coll);\nvar chunk__19018 \x3d null;\nvar count__19019 \x3d (0);\nvar i__19020 \x3d (0);\nwhile(true){\nif((i__19020 \x3c count__19019)){\nvar vec__19066 \x3d chunk__19018.cljs$core$IIndexed$_nth$arity$2(null,i__19020);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19066,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19066,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__19428 \x3d seq__19017;\nvar G__19429 \x3d chunk__19018;\nvar G__19430 \x3d count__19019;\nvar G__19431 \x3d (i__19020 + (1));\nseq__19017 \x3d G__19428;\nchunk__19018 \x3d G__19429;\ncount__19019 \x3d G__19430;\ni__19020 \x3d G__19431;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__19017);\nif(temp__5804__auto__){\nvar seq__19017__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__19017__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__19017__$1);\nvar G__19432 \x3d cljs.core.chunk_rest(seq__19017__$1);\nvar G__19433 \x3d c__5568__auto__;\nvar G__19434 \x3d cljs.core.count(c__5568__auto__);\nvar G__19435 \x3d (0);\nseq__19017 \x3d G__19432;\nchunk__19018 \x3d G__19433;\ncount__19019 \x3d G__19434;\ni__19020 \x3d G__19435;\ncontinue;\n} else {\nvar vec__19083 \x3d cljs.core.first(seq__19017__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19083,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19083,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__19438 \x3d cljs.core.next(seq__19017__$1);\nvar G__19439 \x3d null;\nvar G__19440 \x3d (0);\nvar G__19441 \x3d (0);\nseq__19017 \x3d G__19438;\nchunk__19018 \x3d G__19439;\ncount__19019 \x3d G__19440;\ni__19020 \x3d G__19441;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\nreturn x19015;\n})(), \x22unpack\x22: (function (x){\nif((x instanceof cljs.core.PersistentArrayMap)){\nreturn x.arr;\n} else {\nreturn false;\n}\n})}),cljs.core.clj__GT_js(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)))));\n}));\n\n(cognitect.transit.writer.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Encode an object into a transit string given a transit writer.\n */\ncognitect.transit.write \x3d (function cognitect$transit$write(w,o){\nreturn w.write(o);\n});\n/**\n * Construct a read handler. Implemented as identity, exists primarily\n * for API compatiblity with transit-clj\n */\ncognitect.transit.read_handler \x3d (function cognitect$transit$read_handler(from_rep){\nreturn from_rep;\n});\ncognitect.transit.fn_or_val \x3d (function cognitect$transit$fn_or_val(f){\nif(cljs.core.fn_QMARK_(f)){\nreturn f;\n} else {\nreturn cljs.core.constantly(f);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncognitect.transit.t_cognitect$transit19127 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta19128){\nthis.tag_fn \x3d tag_fn;\nthis.rep_fn \x3d rep_fn;\nthis.str_rep_fn \x3d str_rep_fn;\nthis.verbose_handler_fn \x3d verbose_handler_fn;\nthis.meta19128 \x3d meta19128;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cognitect.transit.t_cognitect$transit19127.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19129,meta19128__$1){\nvar self__ \x3d this;\nvar _19129__$1 \x3d this;\nreturn (new cognitect.transit.t_cognitect$transit19127(self__.tag_fn,self__.rep_fn,self__.str_rep_fn,self__.verbose_handler_fn,meta19128__$1));\n}));\n\n(cognitect.transit.t_cognitect$transit19127.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19129){\nvar self__ \x3d this;\nvar _19129__$1 \x3d this;\nreturn self__.meta19128;\n}));\n\n(cognitect.transit.t_cognitect$transit19127.prototype.tag \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.tag_fn.cljs$core$IFn$_invoke$arity$1 ? self__.tag_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.tag_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit19127.prototype.rep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.rep_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit19127.prototype.stringRep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.str_rep_fn)){\nreturn (self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.str_rep_fn.call(null,o));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit19127.prototype.getVerboseHandler \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.verbose_handler_fn)){\nreturn (self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0 ? self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0() : self__.verbose_handler_fn.call(null));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit19127.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag-fn\x22,\x22tag-fn\x22,242055482,null),new cljs.core.Symbol(null,\x22rep-fn\x22,\x22rep-fn\x22,-1724891035,null),new cljs.core.Symbol(null,\x22str-rep-fn\x22,\x22str-rep-fn\x22,-1179615016,null),new cljs.core.Symbol(null,\x22verbose-handler-fn\x22,\x22verbose-handler-fn\x22,547340594,null),new cljs.core.Symbol(null,\x22meta19128\x22,\x22meta19128\x22,191497661,null)], null);\n}));\n\n(cognitect.transit.t_cognitect$transit19127.cljs$lang$type \x3d true);\n\n(cognitect.transit.t_cognitect$transit19127.cljs$lang$ctorStr \x3d \x22cognitect.transit/t_cognitect$transit19127\x22);\n\n(cognitect.transit.t_cognitect$transit19127.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/t_cognitect$transit19127\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/t_cognitect$transit19127.\n */\ncognitect.transit.__GT_t_cognitect$transit19127 \x3d (function cognitect$transit$__GT_t_cognitect$transit19127(tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta19128){\nreturn (new cognitect.transit.t_cognitect$transit19127(tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta19128));\n});\n\n\n/**\n * Creates a transit write handler whose tag, rep,\n * stringRep, and verboseWriteHandler methods\n * invoke the provided fns.\n */\ncognitect.transit.write_handler \x3d (function cognitect$transit$write_handler(var_args){\nvar G__19116 \x3d arguments.length;\nswitch (G__19116) {\ncase 2:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag_fn,rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,null,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3 \x3d (function (tag_fn,rep_fn,str_rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,str_rep_fn,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn){\nvar tag_fn__$1 \x3d cognitect.transit.fn_or_val(tag_fn);\nvar rep_fn__$1 \x3d cognitect.transit.fn_or_val(rep_fn);\nvar str_rep_fn__$1 \x3d cognitect.transit.fn_or_val(str_rep_fn);\nvar verbose_handler_fn__$1 \x3d cognitect.transit.fn_or_val(verbose_handler_fn);\nreturn (new cognitect.transit.t_cognitect$transit19127(tag_fn__$1,rep_fn__$1,str_rep_fn__$1,verbose_handler_fn__$1,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cognitect.transit.write_handler.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Construct a tagged value. tag must be a string and rep can\n * be any transit encodeable value.\n */\ncognitect.transit.tagged_value \x3d (function cognitect$transit$tagged_value(tag,rep){\nreturn com.cognitect.transit.types.taggedValue(tag,rep);\n});\n/**\n * Returns true if x is a transit tagged value, false otherwise.\n */\ncognitect.transit.tagged_value_QMARK_ \x3d (function cognitect$transit$tagged_value_QMARK_(x){\nreturn com.cognitect.transit.types.isTaggedValue(x);\n});\n/**\n * Construct a transit integer value. Returns JavaScript number if\n * in the 53bit integer range, a goog.math.Long instance if above. s\n * may be a string or a JavaScript number.\n */\ncognitect.transit.integer \x3d (function cognitect$transit$integer(s){\nreturn com.cognitect.transit.types.intValue(s);\n});\n/**\n * Returns true if x is an integer value between the 53bit and 64bit\n * range, false otherwise.\n */\ncognitect.transit.integer_QMARK_ \x3d (function cognitect$transit$integer_QMARK_(x){\nreturn com.cognitect.transit.types.isInteger(x);\n});\n/**\n * Construct a big integer from a string.\n */\ncognitect.transit.bigint \x3d (function cognitect$transit$bigint(s){\nreturn com.cognitect.transit.types.bigInteger(s);\n});\n/**\n * Returns true if x is a transit big integer value, false otherwise.\n */\ncognitect.transit.bigint_QMARK_ \x3d (function cognitect$transit$bigint_QMARK_(x){\nreturn com.cognitect.transit.types.isBigInteger(x);\n});\n/**\n * Construct a big decimal from a string.\n */\ncognitect.transit.bigdec \x3d (function cognitect$transit$bigdec(s){\nreturn com.cognitect.transit.types.bigDecimalValue(s);\n});\n/**\n * Returns true if x is a transit big decimal value, false otherwise.\n */\ncognitect.transit.bigdec_QMARK_ \x3d (function cognitect$transit$bigdec_QMARK_(x){\nreturn com.cognitect.transit.types.isBigDecimal(x);\n});\n/**\n * Construct a URI from a string.\n */\ncognitect.transit.uri \x3d (function cognitect$transit$uri(s){\nreturn com.cognitect.transit.types.uri(s);\n});\n/**\n * Returns true if x is a transit URI value, false otherwise.\n */\ncognitect.transit.uri_QMARK_ \x3d (function cognitect$transit$uri_QMARK_(x){\nreturn com.cognitect.transit.types.isURI(x);\n});\n/**\n * Construct a UUID from a string.\n */\ncognitect.transit.uuid \x3d (function cognitect$transit$uuid(s){\nreturn com.cognitect.transit.types.uuid(s);\n});\n/**\n * Returns true if x is a transit UUID value, false otherwise.\n */\ncognitect.transit.uuid_QMARK_ \x3d (function cognitect$transit$uuid_QMARK_(x){\nvar or__5045__auto__ \x3d com.cognitect.transit.types.isUUID(x);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (x instanceof cljs.core.UUID);\n}\n});\n/**\n * Construct a transit binary value. s should be base64 encoded\n * string.\n */\ncognitect.transit.binary \x3d (function cognitect$transit$binary(s){\nreturn com.cognitect.transit.types.binary(s);\n});\n/**\n * Returns true if x is a transit binary value, false otherwise.\n */\ncognitect.transit.binary_QMARK_ \x3d (function cognitect$transit$binary_QMARK_(x){\nreturn com.cognitect.transit.types.isBinary(x);\n});\n/**\n * Construct a quoted transit value. x should be a transit\n * encodeable value.\n */\ncognitect.transit.quoted \x3d (function cognitect$transit$quoted(x){\nreturn com.cognitect.transit.types.quoted(x);\n});\n/**\n * Returns true if x is a transit quoted value, false otherwise.\n */\ncognitect.transit.quoted_QMARK_ \x3d (function cognitect$transit$quoted_QMARK_(x){\nreturn com.cognitect.transit.types.isQuoted(x);\n});\n/**\n * Construct a transit link value. x should be an IMap instance\n * containing at a minimum the following keys: :href, :rel. It\n * may optionall include :name, :render, and :prompt. :href must\n * be a transit URI, all other values are strings, and :render must\n * be either :image or :link.\n */\ncognitect.transit.link \x3d (function cognitect$transit$link(x){\nreturn com.cognitect.transit.types.link(x);\n});\n/**\n * Returns true if x a transit link value, false if otherwise.\n */\ncognitect.transit.link_QMARK_ \x3d (function cognitect$transit$link_QMARK_(x){\nreturn com.cognitect.transit.types.isLink(x);\n});\n/**\n * For :transform. Will write any metadata present on the value.\n */\ncognitect.transit.write_meta \x3d (function cognitect$transit$write_meta(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMeta$))))?true:false):false)){\nvar m \x3d x.cljs$core$IMeta$_meta$arity$1(null);\nif((!((m \x3d\x3d null)))){\nreturn (new cognitect.transit.WithMeta(x.cljs$core$IWithMeta$_with_meta$arity$2(null,null),m));\n} else {\nreturn x;\n}\n} else {\nreturn x;\n}\n});\n"); -SHADOW_ENV.evalLoad("shadow.remote.runtime.api.js", true , "goog.provide(\x27shadow.remote.runtime.api\x27);\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IRuntime \x3d function(){};\n\nvar shadow$remote$runtime$api$IRuntime$relay_msg$dyn_18758 \x3d (function (runtime,msg){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.relay_msg[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5394__auto__.call(null,runtime,msg));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.relay_msg[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5392__auto__.call(null,runtime,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.relay-msg\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.relay_msg \x3d (function shadow$remote$runtime$api$relay_msg(runtime,msg){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2(runtime,msg);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$relay_msg$dyn_18758(runtime,msg);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$add_extension$dyn_18762 \x3d (function (runtime,key,spec){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.add_extension[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5394__auto__.call(null,runtime,key,spec));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.add_extension[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5392__auto__.call(null,runtime,key,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.add-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.add_extension \x3d (function shadow$remote$runtime$api$add_extension(runtime,key,spec){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(runtime,key,spec);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$add_extension$dyn_18762(runtime,key,spec);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$del_extension$dyn_18775 \x3d (function (runtime,key){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.del_extension[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5394__auto__.call(null,runtime,key));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.del_extension[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5392__auto__.call(null,runtime,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.del-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.del_extension \x3d (function shadow$remote$runtime$api$del_extension(runtime,key){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2(runtime,key);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$del_extension$dyn_18775(runtime,key);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.Inspectable \x3d function(){};\n\nvar shadow$remote$runtime$api$Inspectable$describe$dyn_18779 \x3d (function (thing,opts){\nvar x__5393__auto__ \x3d (((thing \x3d\x3d null))?null:thing);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.describe[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5394__auto__.call(null,thing,opts));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.describe[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5392__auto__.call(null,thing,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22Inspectable.describe\x22,thing);\n}\n}\n});\n/**\n * returns a map descriptor that tells system how to handle things further\n */\nshadow.remote.runtime.api.describe \x3d (function shadow$remote$runtime$api$describe(thing,opts){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(thing),cljs.core.with_meta(new cljs.core.Symbol(\x22shadow.remote.runtime.api\x22,\x22describe\x22,\x22shadow.remote.runtime.api/describe\x22,1388020131,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5395__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$2 ? meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : meta_impl__5395__auto__.call(null,thing,opts));\n} else {\nif((((!((thing \x3d\x3d null)))) \x26\x26 ((!((thing.shadow$remote$runtime$api$Inspectable$describe$arity$2 \x3d\x3d null)))))){\nreturn thing.shadow$remote$runtime$api$Inspectable$describe$arity$2(thing,opts);\n} else {\nreturn shadow$remote$runtime$api$Inspectable$describe$dyn_18779(thing,opts);\n}\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalCLJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_18782 \x3d (function (runtime,input,callback){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5394__auto__.call(null,runtime,input,callback));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5392__auto__.call(null,runtime,input,callback));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalCLJS.-cljs-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._cljs_eval \x3d (function shadow$remote$runtime$api$_cljs_eval(runtime,input,callback){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3(runtime,input,callback);\n} else {\nreturn shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_18782(runtime,input,callback);\n}\n});\n\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_18787 \x3d (function (runtime,code){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api._js_eval[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(runtime,code) : m__5394__auto__.call(null,runtime,code));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api._js_eval[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(runtime,code) : m__5392__auto__.call(null,runtime,code));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalJS.-js-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._js_eval \x3d (function shadow$remote$runtime$api$_js_eval(runtime,code){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$2(runtime,code);\n} else {\nreturn shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_18787(runtime,code);\n}\n});\n\n\nshadow.remote.runtime.api.cljs_eval \x3d (function shadow$remote$runtime$api$cljs_eval(runtime,p__18742,callback){\nvar map__18744 \x3d p__18742;\nvar map__18744__$1 \x3d cljs.core.__destructure_map(map__18744);\nvar input \x3d map__18744__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18744__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18744__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(((typeof code \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.simple_symbol_QMARK_(ns)))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid cljs-eval input\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input], null));\n}\n\nreturn shadow.remote.runtime.api._cljs_eval(runtime,input,callback);\n});\n\nshadow.remote.runtime.api.js_eval \x3d (function shadow$remote$runtime$api$js_eval(runtime,code){\nif(typeof code \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? code)\x22));\n}\n\nreturn shadow.remote.runtime.api._js_eval(runtime,code);\n});\n"); -SHADOW_ENV.evalLoad("shadow.remote.runtime.shared.js", true , "goog.provide(\x27shadow.remote.runtime.shared\x27);\nshadow.remote.runtime.shared.init_state \x3d (function shadow$remote$runtime$shared$init_state(client_info){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),(0),new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.PersistentArrayMap.EMPTY], null);\n});\nshadow.remote.runtime.shared.now \x3d (function shadow$remote$runtime$shared$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.shared.get_client_id \x3d (function shadow$remote$runtime$shared$get_client_id(p__18777){\nvar map__18778 \x3d p__18777;\nvar map__18778__$1 \x3d cljs.core.__destructure_map(map__18778);\nvar runtime \x3d map__18778__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18778__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22runtime has no assigned runtime-id\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null));\n}\n});\nshadow.remote.runtime.shared.relay_msg \x3d (function shadow$remote$runtime$shared$relay_msg(runtime,msg){\nvar self_id_18964 \x3d shadow.remote.runtime.shared.get_client_id(runtime);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007).cljs$core$IFn$_invoke$arity$1(msg),self_id_18964)){\nshadow.remote.runtime.api.relay_msg(runtime,msg);\n} else {\nPromise.resolve((1)).then((function (){\nvar G__18785 \x3d runtime;\nvar G__18786 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self_id_18964);\nreturn (shadow.remote.runtime.shared.process.cljs$core$IFn$_invoke$arity$2 ? shadow.remote.runtime.shared.process.cljs$core$IFn$_invoke$arity$2(G__18785,G__18786) : shadow.remote.runtime.shared.process.call(null,G__18785,G__18786));\n}));\n}\n\nreturn msg;\n});\nshadow.remote.runtime.shared.reply \x3d (function shadow$remote$runtime$shared$reply(runtime,p__18792,res){\nvar map__18796 \x3d p__18792;\nvar map__18796__$1 \x3d cljs.core.__destructure_map(map__18796);\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18796__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18796__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar res__$1 \x3d (function (){var G__18797 \x3d res;\nvar G__18797__$1 \x3d (cljs.core.truth_(call_id)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18797,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id):G__18797);\nif(cljs.core.truth_(from)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18797__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),from);\n} else {\nreturn G__18797__$1;\n}\n})();\nreturn shadow.remote.runtime.api.relay_msg(runtime,res__$1);\n});\nshadow.remote.runtime.shared.call \x3d (function shadow$remote$runtime$shared$call(var_args){\nvar G__18799 \x3d arguments.length;\nswitch (G__18799) {\ncase 3:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3 \x3d (function (runtime,msg,handlers){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4(runtime,msg,handlers,(0));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__18801,msg,handlers,timeout_after_ms){\nvar map__18802 \x3d p__18801;\nvar map__18802__$1 \x3d cljs.core.__destructure_map(map__18802);\nvar runtime \x3d map__18802__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18802__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.map_QMARK_(msg)){\n} else {\nthrow (new Error(\x22Assert failed: (map? msg)\x22));\n}\n\nif(cljs.core.map_QMARK_(handlers)){\n} else {\nthrow (new Error(\x22Assert failed: (map? handlers)\x22));\n}\n\nif(cljs.core.nat_int_QMARK_(timeout_after_ms)){\n} else {\nthrow (new Error(\x22Assert failed: (nat-int? timeout-after-ms)\x22));\n}\n\nvar call_id \x3d new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),cljs.core.inc);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),handlers,new cljs.core.Keyword(null,\x22called-at\x22,\x22called-at\x22,607081160),shadow.remote.runtime.shared.now(),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22timeout\x22,\x22timeout\x22,-318625318),timeout_after_ms], null));\n\nreturn shadow.remote.runtime.api.relay_msg(runtime,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.remote.runtime.shared.trigger_BANG_ \x3d (function shadow$remote$runtime$shared$trigger_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18973 \x3d arguments.length;\nvar i__5770__auto___18974 \x3d (0);\nwhile(true){\nif((i__5770__auto___18974 \x3c len__5769__auto___18973)){\nargs__5775__auto__.push((arguments[i__5770__auto___18974]));\n\nvar G__18975 \x3d (i__5770__auto___18974 + (1));\ni__5770__auto___18974 \x3d G__18975;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__18813,ev,args){\nvar map__18815 \x3d p__18813;\nvar map__18815__$1 \x3d cljs.core.__destructure_map(map__18815);\nvar runtime \x3d map__18815__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18815__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar seq__18816 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__18819 \x3d null;\nvar count__18820 \x3d (0);\nvar i__18821 \x3d (0);\nwhile(true){\nif((i__18821 \x3c count__18820)){\nvar ext \x3d chunk__18819.cljs$core$IIndexed$_nth$arity$2(null,i__18821);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__18980 \x3d seq__18816;\nvar G__18981 \x3d chunk__18819;\nvar G__18982 \x3d count__18820;\nvar G__18983 \x3d (i__18821 + (1));\nseq__18816 \x3d G__18980;\nchunk__18819 \x3d G__18981;\ncount__18820 \x3d G__18982;\ni__18821 \x3d G__18983;\ncontinue;\n} else {\nvar G__18984 \x3d seq__18816;\nvar G__18985 \x3d chunk__18819;\nvar G__18986 \x3d count__18820;\nvar G__18987 \x3d (i__18821 + (1));\nseq__18816 \x3d G__18984;\nchunk__18819 \x3d G__18985;\ncount__18820 \x3d G__18986;\ni__18821 \x3d G__18987;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__18816);\nif(temp__5804__auto__){\nvar seq__18816__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__18816__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__18816__$1);\nvar G__18988 \x3d cljs.core.chunk_rest(seq__18816__$1);\nvar G__18989 \x3d c__5568__auto__;\nvar G__18990 \x3d cljs.core.count(c__5568__auto__);\nvar G__18991 \x3d (0);\nseq__18816 \x3d G__18988;\nchunk__18819 \x3d G__18989;\ncount__18820 \x3d G__18990;\ni__18821 \x3d G__18991;\ncontinue;\n} else {\nvar ext \x3d cljs.core.first(seq__18816__$1);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__18992 \x3d cljs.core.next(seq__18816__$1);\nvar G__18993 \x3d null;\nvar G__18994 \x3d (0);\nvar G__18995 \x3d (0);\nseq__18816 \x3d G__18992;\nchunk__18819 \x3d G__18993;\ncount__18820 \x3d G__18994;\ni__18821 \x3d G__18995;\ncontinue;\n} else {\nvar G__18996 \x3d cljs.core.next(seq__18816__$1);\nvar G__18997 \x3d null;\nvar G__18998 \x3d (0);\nvar G__18999 \x3d (0);\nseq__18816 \x3d G__18996;\nchunk__18819 \x3d G__18997;\ncount__18820 \x3d G__18998;\ni__18821 \x3d G__18999;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$applyTo \x3d (function (seq18809){\nvar G__18810 \x3d cljs.core.first(seq18809);\nvar seq18809__$1 \x3d cljs.core.next(seq18809);\nvar G__18811 \x3d cljs.core.first(seq18809__$1);\nvar seq18809__$2 \x3d cljs.core.next(seq18809__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__18810,G__18811,seq18809__$2);\n}));\n\nshadow.remote.runtime.shared.welcome \x3d (function shadow$remote$runtime$shared$welcome(p__18846,p__18847){\nvar map__18848 \x3d p__18846;\nvar map__18848__$1 \x3d cljs.core.__destructure_map(map__18848);\nvar runtime \x3d map__18848__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18848__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__18849 \x3d p__18847;\nvar map__18849__$1 \x3d cljs.core.__destructure_map(map__18849);\nvar msg \x3d map__18849__$1;\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18849__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),client_id);\n\nvar map__18851 \x3d cljs.core.deref(state_ref);\nvar map__18851__$1 \x3d cljs.core.__destructure_map(map__18851);\nvar client_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18851__$1,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504));\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18851__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nshadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22hello\x22,\x22hello\x22,-245025397),new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info], null));\n\nreturn shadow.remote.runtime.shared.trigger_BANG_(runtime,new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125));\n});\nshadow.remote.runtime.shared.ping \x3d (function shadow$remote$runtime$shared$ping(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22pong\x22,\x22pong\x22,-172484958)], null));\n});\nshadow.remote.runtime.shared.request_supported_ops \x3d (function shadow$remote$runtime$shared$request_supported_ops(p__18853,msg){\nvar map__18854 \x3d p__18853;\nvar map__18854__$1 \x3d cljs.core.__destructure_map(map__18854);\nvar runtime \x3d map__18854__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18854__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22supported-ops\x22,\x22supported-ops\x22,337914702),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic(cljs.core.set(cljs.core.keys(new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))),new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),new cljs.core.Keyword(null,\x22tool-disconnect\x22,\x22tool-disconnect\x22,189103996)], 0))], null));\n});\nshadow.remote.runtime.shared.unknown_relay_op \x3d (function shadow$remote$runtime$shared$unknown_relay_op(msg){\nreturn console.warn(\x22unknown-relay-op\x22,msg);\n});\nshadow.remote.runtime.shared.unknown_op \x3d (function shadow$remote$runtime$shared$unknown_op(msg){\nreturn console.warn(\x22unknown-op\x22,msg);\n});\nshadow.remote.runtime.shared.add_extension_STAR_ \x3d (function shadow$remote$runtime$shared$add_extension_STAR_(p__18864,key,p__18865){\nvar map__18868 \x3d p__18864;\nvar map__18868__$1 \x3d cljs.core.__destructure_map(map__18868);\nvar state \x3d map__18868__$1;\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18868__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nvar map__18869 \x3d p__18865;\nvar map__18869__$1 \x3d cljs.core.__destructure_map(map__18869);\nvar spec \x3d map__18869__$1;\nvar ops \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18869__$1,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063));\nif(cljs.core.contains_QMARK_(extensions,key)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22extension already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401),spec], null));\n} else {\n}\n\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nif(cljs.core.truth_(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null)))){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22op already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),op_kw], null));\n} else {\n}\n\nreturn cljs.core.assoc_in(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null),op_handler);\n}),cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null),spec),ops);\n});\nshadow.remote.runtime.shared.add_extension \x3d (function shadow$remote$runtime$shared$add_extension(p__18878,key,spec){\nvar map__18879 \x3d p__18878;\nvar map__18879__$1 \x3d cljs.core.__destructure_map(map__18879);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18879__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,shadow.remote.runtime.shared.add_extension_STAR_,key,spec);\n});\nshadow.remote.runtime.shared.add_defaults \x3d (function shadow$remote$runtime$shared$add_defaults(runtime){\nreturn shadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.shared\x22,\x22defaults\x22,\x22shadow.remote.runtime.shared/defaults\x22,-1821257543),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),(function (p1__18889_SHARP_){\nreturn shadow.remote.runtime.shared.welcome(runtime,p1__18889_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),(function (p1__18890_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_relay_op(p1__18890_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),(function (p1__18891_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_op(p1__18891_SHARP_);\n}),new cljs.core.Keyword(null,\x22ping\x22,\x22ping\x22,-1670114784),(function (p1__18892_SHARP_){\nreturn shadow.remote.runtime.shared.ping(runtime,p1__18892_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),(function (p1__18893_SHARP_){\nreturn shadow.remote.runtime.shared.request_supported_ops(runtime,p1__18893_SHARP_);\n})], null)], null));\n});\nshadow.remote.runtime.shared.del_extension_STAR_ \x3d (function shadow$remote$runtime$shared$del_extension_STAR_(state,key){\nvar ext \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null));\nif(cljs.core.not(ext)){\nreturn state;\n} else {\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063)], null),cljs.core.dissoc,op_kw);\n}),cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.dissoc,key),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(ext));\n}\n});\nshadow.remote.runtime.shared.del_extension \x3d (function shadow$remote$runtime$shared$del_extension(p__18916,key){\nvar map__18917 \x3d p__18916;\nvar map__18917__$1 \x3d cljs.core.__destructure_map(map__18917);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18917__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,shadow.remote.runtime.shared.del_extension_STAR_,key);\n});\nshadow.remote.runtime.shared.unhandled_call_result \x3d (function shadow$remote$runtime$shared$unhandled_call_result(call_config,msg){\nreturn console.warn(\x22unhandled call result\x22,msg,call_config);\n});\nshadow.remote.runtime.shared.unhandled_client_not_found \x3d (function shadow$remote$runtime$shared$unhandled_client_not_found(p__18922,msg){\nvar map__18923 \x3d p__18922;\nvar map__18923__$1 \x3d cljs.core.__destructure_map(map__18923);\nvar runtime \x3d map__18923__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18923__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic(runtime,new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg], 0));\n});\nshadow.remote.runtime.shared.reply_unknown_op \x3d (function shadow$remote$runtime$shared$reply_unknown_op(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n});\nshadow.remote.runtime.shared.process \x3d (function shadow$remote$runtime$shared$process(p__18929,p__18930){\nvar map__18931 \x3d p__18929;\nvar map__18931__$1 \x3d cljs.core.__destructure_map(map__18931);\nvar runtime \x3d map__18931__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18931__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__18932 \x3d p__18930;\nvar map__18932__$1 \x3d cljs.core.__destructure_map(map__18932);\nvar msg \x3d map__18932__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18932__$1,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955));\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18932__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar state \x3d cljs.core.deref(state_ref);\nvar op_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op], null));\nif(cljs.core.truth_(call_id)){\nvar cfg \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null));\nvar call_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cfg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),op], null));\nif(cljs.core.truth_(call_handler)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([call_id], 0));\n\nreturn (call_handler.cljs$core$IFn$_invoke$arity$1 ? call_handler.cljs$core$IFn$_invoke$arity$1(msg) : call_handler.call(null,msg));\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nreturn shadow.remote.runtime.shared.unhandled_call_result(cfg,msg);\n\n}\n}\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),op)){\nreturn shadow.remote.runtime.shared.unhandled_client_not_found(runtime,msg);\n} else {\nreturn shadow.remote.runtime.shared.reply_unknown_op(runtime,msg);\n\n}\n}\n}\n});\nshadow.remote.runtime.shared.run_on_idle \x3d (function shadow$remote$runtime$shared$run_on_idle(state_ref){\nvar seq__18934 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__18936 \x3d null;\nvar count__18937 \x3d (0);\nvar i__18938 \x3d (0);\nwhile(true){\nif((i__18938 \x3c count__18937)){\nvar map__18949 \x3d chunk__18936.cljs$core$IIndexed$_nth$arity$2(null,i__18938);\nvar map__18949__$1 \x3d cljs.core.__destructure_map(map__18949);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18949__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__19025 \x3d seq__18934;\nvar G__19026 \x3d chunk__18936;\nvar G__19027 \x3d count__18937;\nvar G__19028 \x3d (i__18938 + (1));\nseq__18934 \x3d G__19025;\nchunk__18936 \x3d G__19026;\ncount__18937 \x3d G__19027;\ni__18938 \x3d G__19028;\ncontinue;\n} else {\nvar G__19029 \x3d seq__18934;\nvar G__19030 \x3d chunk__18936;\nvar G__19031 \x3d count__18937;\nvar G__19032 \x3d (i__18938 + (1));\nseq__18934 \x3d G__19029;\nchunk__18936 \x3d G__19030;\ncount__18937 \x3d G__19031;\ni__18938 \x3d G__19032;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__18934);\nif(temp__5804__auto__){\nvar seq__18934__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__18934__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__18934__$1);\nvar G__19035 \x3d cljs.core.chunk_rest(seq__18934__$1);\nvar G__19036 \x3d c__5568__auto__;\nvar G__19037 \x3d cljs.core.count(c__5568__auto__);\nvar G__19038 \x3d (0);\nseq__18934 \x3d G__19035;\nchunk__18936 \x3d G__19036;\ncount__18937 \x3d G__19037;\ni__18938 \x3d G__19038;\ncontinue;\n} else {\nvar map__18956 \x3d cljs.core.first(seq__18934__$1);\nvar map__18956__$1 \x3d cljs.core.__destructure_map(map__18956);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18956__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__19040 \x3d cljs.core.next(seq__18934__$1);\nvar G__19041 \x3d null;\nvar G__19042 \x3d (0);\nvar G__19043 \x3d (0);\nseq__18934 \x3d G__19040;\nchunk__18936 \x3d G__19041;\ncount__18937 \x3d G__19042;\ni__18938 \x3d G__19043;\ncontinue;\n} else {\nvar G__19044 \x3d cljs.core.next(seq__18934__$1);\nvar G__19045 \x3d null;\nvar G__19046 \x3d (0);\nvar G__19047 \x3d (0);\nseq__18934 \x3d G__19044;\nchunk__18936 \x3d G__19045;\ncount__18937 \x3d G__19046;\ni__18938 \x3d G__19047;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n"); -SHADOW_ENV.evalLoad("clojure.core.protocols.js", true , "goog.provide(\x27clojure.core.protocols\x27);\n\n/**\n * @interface\n */\nclojure.core.protocols.Datafiable \x3d function(){};\n\nvar clojure$core$protocols$Datafiable$datafy$dyn_18958 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (clojure.core.protocols.datafy[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (clojure.core.protocols.datafy[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22Datafiable.datafy\x22,o);\n}\n}\n});\n/**\n * return a representation of o as data (default identity)\n */\nclojure.core.protocols.datafy \x3d (function clojure$core$protocols$datafy(o){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(o),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22datafy\x22,\x22clojure.core.protocols/datafy\x22,707534751,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5395__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$1 ? meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$1(o) : meta_impl__5395__auto__.call(null,o));\n} else {\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d\x3d null)))))){\nreturn o.clojure$core$protocols$Datafiable$datafy$arity$1(o);\n} else {\nreturn clojure$core$protocols$Datafiable$datafy$dyn_18958(o);\n}\n}\n});\n\n(clojure.core.protocols.Datafiable[\x22null\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\n\n(clojure.core.protocols.Datafiable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22_\x22] \x3d (function (o){\nreturn o;\n}));\n\n/**\n * @interface\n */\nclojure.core.protocols.Navigable \x3d function(){};\n\nvar clojure$core$protocols$Navigable$nav$dyn_18960 \x3d (function (coll,k,v){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (clojure.core.protocols.nav[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5394__auto__.call(null,coll,k,v));\n} else {\nvar m__5392__auto__ \x3d (clojure.core.protocols.nav[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5392__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Navigable.nav\x22,coll);\n}\n}\n});\n/**\n * return (possibly transformed) v in the context of coll and k (a key/index or nil),\n * defaults to returning v.\n */\nclojure.core.protocols.nav \x3d (function clojure$core$protocols$nav(coll,k,v){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(coll),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5395__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$3 ? meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : meta_impl__5395__auto__.call(null,coll,k,v));\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.clojure$core$protocols$Navigable$nav$arity$3 \x3d\x3d null)))))){\nreturn coll.clojure$core$protocols$Navigable$nav$arity$3(coll,k,v);\n} else {\nreturn clojure$core$protocols$Navigable$nav$dyn_18960(coll,k,v);\n}\n}\n});\n\n(clojure.core.protocols.Navigable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.nav[\x22_\x22] \x3d (function (_,___$1,x){\nreturn x;\n}));\n"); -SHADOW_ENV.evalLoad("shadow.remote.runtime.cljs.js_builtins.js", true , "goog.provide(\x27shadow.remote.runtime.cljs.js_builtins\x27);\ngoog.scope(function(){\n shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n(clojure.core.protocols.Datafiable[\x22object\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22object\x22] \x3d (function (o){\nif((!((o.__proto__ \x3d\x3d\x3d Object.prototype)))){\nreturn o;\n} else {\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,key){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,key,shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,key));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.getKeys(o))),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),(function (coll,k,v){\nreturn shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,k);\n})], null));\n}\n}));\n\n(clojure.core.protocols.Datafiable[\x22array\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22array\x22] \x3d (function (o){\nreturn cljs.core.vec(o);\n}));\n\n(Error.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Error.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (e){\nvar e__$1 \x3d this;\nvar data \x3d cljs.core.ex_data(e__$1);\nvar file \x3d e__$1.fileName;\nvar line \x3d e__$1.lineNumber;\nvar column \x3d e__$1.columnNumber;\nvar G__19058 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),e__$1.message,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),e__$1.name,new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),e__$1.stack], null);\nvar G__19058__$1 \x3d (((!((data \x3d\x3d null))))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__19058,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data):G__19058);\nvar G__19058__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__19058__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file):G__19058__$1);\nvar G__19058__$3 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__19058__$2,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line):G__19058__$2);\nif(cljs.core.truth_(column)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__19058__$3,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column);\n} else {\nreturn G__19058__$3;\n}\n}));\n"); +SHADOW_ENV.evalLoad("cognitect.transit.js", true , "goog.provide(\x27cognitect.transit\x27);\ngoog.scope(function(){\n cognitect.transit.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n cognitect.transit.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n});\n(cljs.core.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.uuid);\n} else {\nif((other instanceof com.cognitect.transit.types.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.toString());\n} else {\nreturn false;\n\n}\n}\n}));\n(cljs.core.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn other.cljs$core$IEquiv$_equiv$arity$2(null,this$__$1);\n} else {\nreturn this$__$1.equiv(other);\n}\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.hash(this$__$1.toString());\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (uuid,writer,_){\nvar uuid__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(uuid__$1.toString()),\x22\\\x22\x22].join(\x27\x27));\n}));\ncognitect.transit.opts_merge \x3d (function cognitect$transit$opts_merge(a,b){\nvar seq__18020_18219 \x3d cljs.core.seq(cljs.core.js_keys(b));\nvar chunk__18021_18220 \x3d null;\nvar count__18022_18221 \x3d (0);\nvar i__18023_18222 \x3d (0);\nwhile(true){\nif((i__18023_18222 \x3c count__18022_18221)){\nvar k_18223 \x3d chunk__18021_18220.cljs$core$IIndexed$_nth$arity$2(null,i__18023_18222);\nvar v_18224 \x3d cognitect.transit.goog$module$goog$object.get(b,k_18223);\ncognitect.transit.goog$module$goog$object.set(a,k_18223,v_18224);\n\n\nvar G__18225 \x3d seq__18020_18219;\nvar G__18226 \x3d chunk__18021_18220;\nvar G__18227 \x3d count__18022_18221;\nvar G__18228 \x3d (i__18023_18222 + (1));\nseq__18020_18219 \x3d G__18225;\nchunk__18021_18220 \x3d G__18226;\ncount__18022_18221 \x3d G__18227;\ni__18023_18222 \x3d G__18228;\ncontinue;\n} else {\nvar temp__5804__auto___18229 \x3d cljs.core.seq(seq__18020_18219);\nif(temp__5804__auto___18229){\nvar seq__18020_18230__$1 \x3d temp__5804__auto___18229;\nif(cljs.core.chunked_seq_QMARK_(seq__18020_18230__$1)){\nvar c__5568__auto___18231 \x3d cljs.core.chunk_first(seq__18020_18230__$1);\nvar G__18232 \x3d cljs.core.chunk_rest(seq__18020_18230__$1);\nvar G__18233 \x3d c__5568__auto___18231;\nvar G__18234 \x3d cljs.core.count(c__5568__auto___18231);\nvar G__18235 \x3d (0);\nseq__18020_18219 \x3d G__18232;\nchunk__18021_18220 \x3d G__18233;\ncount__18022_18221 \x3d G__18234;\ni__18023_18222 \x3d G__18235;\ncontinue;\n} else {\nvar k_18236 \x3d cljs.core.first(seq__18020_18230__$1);\nvar v_18237 \x3d cognitect.transit.goog$module$goog$object.get(b,k_18236);\ncognitect.transit.goog$module$goog$object.set(a,k_18236,v_18237);\n\n\nvar G__18238 \x3d cljs.core.next(seq__18020_18230__$1);\nvar G__18239 \x3d null;\nvar G__18240 \x3d (0);\nvar G__18241 \x3d (0);\nseq__18020_18219 \x3d G__18238;\nchunk__18021_18220 \x3d G__18239;\ncount__18022_18221 \x3d G__18240;\ni__18023_18222 \x3d G__18241;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn a;\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.MapBuilder \x3d (function (){\n});\n(cognitect.transit.MapBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cognitect.transit.MapBuilder.prototype.add \x3d (function (m,k,v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}));\n\n(cognitect.transit.MapBuilder.prototype.finalize \x3d (function (m,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(m);\n}));\n\n(cognitect.transit.MapBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3 ? cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3(arr,true,true) : cljs.core.PersistentArrayMap.fromArray.call(null,arr,true,true));\n}));\n\n(cognitect.transit.MapBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapBuilder\x22);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/MapBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapBuilder.\n */\ncognitect.transit.__GT_MapBuilder \x3d (function cognitect$transit$__GT_MapBuilder(){\nreturn (new cognitect.transit.MapBuilder());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorBuilder \x3d (function (){\n});\n(cognitect.transit.VectorBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.add \x3d (function (v,x,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,x);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.finalize \x3d (function (v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(v);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2 ? cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2(arr,true) : cljs.core.PersistentVector.fromArray.call(null,arr,true));\n}));\n\n(cognitect.transit.VectorBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorBuilder\x22);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/VectorBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorBuilder.\n */\ncognitect.transit.__GT_VectorBuilder \x3d (function cognitect$transit$__GT_VectorBuilder(){\nreturn (new cognitect.transit.VectorBuilder());\n});\n\n/**\n * Return a transit reader. type may be either :json or :json-verbose.\n * opts may be a map optionally containing a :handlers entry. The value\n * of :handlers should be map from string tag to a decoder function of one\n * argument which returns the in-memory representation of the semantic transit\n * value. If a :default handler is provided, it will be used when no matching\n * read handler can be found.\n */\ncognitect.transit.reader \x3d (function cognitect$transit$reader(var_args){\nvar G__18050 \x3d arguments.length;\nswitch (G__18050) {\ncase 1:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nreturn com.cognitect.transit.reader(cljs.core.name(type),cognitect.transit.opts_merge(({\x22handlers\x22: cljs.core.clj__GT_js(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 6, [\x22$\x22,(function (v){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22:\x22,(function (v){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22set\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,v);\n}),\x22list\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.List.EMPTY,v.reverse());\n}),\x22cmap\x22,(function (v){\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c v.length)){\nvar G__18251 \x3d (i + (2));\nvar G__18252 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,(v[i]),(v[(i + (1))]));\ni \x3d G__18251;\nret \x3d G__18252;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(ret);\n}\nbreak;\n}\n}),\x22with-meta\x22,(function (v){\nreturn cljs.core.with_meta((v[(0)]),(v[(1)]));\n})], null),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))], 0))), \x22defaultHandler\x22: new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)), \x22mapBuilder\x22: (new cognitect.transit.MapBuilder()), \x22arrayBuilder\x22: (new cognitect.transit.VectorBuilder()), \x22preferStrings\x22: false, \x22preferBuffers\x22: false}),cljs.core.clj__GT_js(clojure.set.rename_keys(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22array-builder\x22,\x22array-builder\x22,1275998041),new cljs.core.Keyword(null,\x22arrayBuilder\x22,\x22arrayBuilder\x22,1446317421),new cljs.core.Keyword(null,\x22map-builder\x22,\x22map-builder\x22,-1843343288),new cljs.core.Keyword(null,\x22mapBuilder\x22,\x22mapBuilder\x22,-278083754),new cljs.core.Keyword(null,\x22prefer-strings\x22,\x22prefer-strings\x22,1254507185),new cljs.core.Keyword(null,\x22preferStrings\x22,\x22preferStrings\x22,-1532249482),new cljs.core.Keyword(null,\x22prefer-buffers\x22,\x22prefer-buffers\x22,377042081),new cljs.core.Keyword(null,\x22preferBuffers\x22,\x22preferBuffers\x22,1843176451)], null)))));\n}));\n\n(cognitect.transit.reader.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Read a transit encoded string into ClojureScript values given a\n * transit reader.\n */\ncognitect.transit.read \x3d (function cognitect$transit$read(r,str){\nreturn r.read(str);\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.KeywordHandler \x3d (function (){\n});\n(cognitect.transit.KeywordHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22:\x22;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.KeywordHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/KeywordHandler\x22);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/KeywordHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/KeywordHandler.\n */\ncognitect.transit.__GT_KeywordHandler \x3d (function cognitect$transit$__GT_KeywordHandler(){\nreturn (new cognitect.transit.KeywordHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SymbolHandler \x3d (function (){\n});\n(cognitect.transit.SymbolHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22$\x22;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SymbolHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SymbolHandler\x22);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/SymbolHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SymbolHandler.\n */\ncognitect.transit.__GT_SymbolHandler \x3d (function cognitect$transit$__GT_SymbolHandler(){\nreturn (new cognitect.transit.SymbolHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.ListHandler \x3d (function (){\n});\n(cognitect.transit.ListHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22list\x22;\n}));\n\n(cognitect.transit.ListHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__18087_18279 \x3d cljs.core.seq(v);\nvar chunk__18088_18280 \x3d null;\nvar count__18089_18281 \x3d (0);\nvar i__18090_18282 \x3d (0);\nwhile(true){\nif((i__18090_18282 \x3c count__18089_18281)){\nvar x_18284 \x3d chunk__18088_18280.cljs$core$IIndexed$_nth$arity$2(null,i__18090_18282);\nret.push(x_18284);\n\n\nvar G__18285 \x3d seq__18087_18279;\nvar G__18286 \x3d chunk__18088_18280;\nvar G__18287 \x3d count__18089_18281;\nvar G__18288 \x3d (i__18090_18282 + (1));\nseq__18087_18279 \x3d G__18285;\nchunk__18088_18280 \x3d G__18286;\ncount__18089_18281 \x3d G__18287;\ni__18090_18282 \x3d G__18288;\ncontinue;\n} else {\nvar temp__5804__auto___18289 \x3d cljs.core.seq(seq__18087_18279);\nif(temp__5804__auto___18289){\nvar seq__18087_18290__$1 \x3d temp__5804__auto___18289;\nif(cljs.core.chunked_seq_QMARK_(seq__18087_18290__$1)){\nvar c__5568__auto___18291 \x3d cljs.core.chunk_first(seq__18087_18290__$1);\nvar G__18292 \x3d cljs.core.chunk_rest(seq__18087_18290__$1);\nvar G__18293 \x3d c__5568__auto___18291;\nvar G__18294 \x3d cljs.core.count(c__5568__auto___18291);\nvar G__18295 \x3d (0);\nseq__18087_18279 \x3d G__18292;\nchunk__18088_18280 \x3d G__18293;\ncount__18089_18281 \x3d G__18294;\ni__18090_18282 \x3d G__18295;\ncontinue;\n} else {\nvar x_18296 \x3d cljs.core.first(seq__18087_18290__$1);\nret.push(x_18296);\n\n\nvar G__18297 \x3d cljs.core.next(seq__18087_18290__$1);\nvar G__18298 \x3d null;\nvar G__18299 \x3d (0);\nvar G__18300 \x3d (0);\nseq__18087_18279 \x3d G__18297;\nchunk__18088_18280 \x3d G__18298;\ncount__18089_18281 \x3d G__18299;\ni__18090_18282 \x3d G__18300;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.ListHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.ListHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.ListHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/ListHandler\x22);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/ListHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/ListHandler.\n */\ncognitect.transit.__GT_ListHandler \x3d (function cognitect$transit$__GT_ListHandler(){\nreturn (new cognitect.transit.ListHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.MapHandler \x3d (function (){\n});\n(cognitect.transit.MapHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22map\x22;\n}));\n\n(cognitect.transit.MapHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v;\n}));\n\n(cognitect.transit.MapHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.MapHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapHandler\x22);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/MapHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapHandler.\n */\ncognitect.transit.__GT_MapHandler \x3d (function cognitect$transit$__GT_MapHandler(){\nreturn (new cognitect.transit.MapHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SetHandler \x3d (function (){\n});\n(cognitect.transit.SetHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22set\x22;\n}));\n\n(cognitect.transit.SetHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__18091_18302 \x3d cljs.core.seq(v);\nvar chunk__18092_18303 \x3d null;\nvar count__18093_18304 \x3d (0);\nvar i__18094_18305 \x3d (0);\nwhile(true){\nif((i__18094_18305 \x3c count__18093_18304)){\nvar x_18306 \x3d chunk__18092_18303.cljs$core$IIndexed$_nth$arity$2(null,i__18094_18305);\nret.push(x_18306);\n\n\nvar G__18307 \x3d seq__18091_18302;\nvar G__18308 \x3d chunk__18092_18303;\nvar G__18309 \x3d count__18093_18304;\nvar G__18310 \x3d (i__18094_18305 + (1));\nseq__18091_18302 \x3d G__18307;\nchunk__18092_18303 \x3d G__18308;\ncount__18093_18304 \x3d G__18309;\ni__18094_18305 \x3d G__18310;\ncontinue;\n} else {\nvar temp__5804__auto___18311 \x3d cljs.core.seq(seq__18091_18302);\nif(temp__5804__auto___18311){\nvar seq__18091_18312__$1 \x3d temp__5804__auto___18311;\nif(cljs.core.chunked_seq_QMARK_(seq__18091_18312__$1)){\nvar c__5568__auto___18314 \x3d cljs.core.chunk_first(seq__18091_18312__$1);\nvar G__18316 \x3d cljs.core.chunk_rest(seq__18091_18312__$1);\nvar G__18317 \x3d c__5568__auto___18314;\nvar G__18318 \x3d cljs.core.count(c__5568__auto___18314);\nvar G__18319 \x3d (0);\nseq__18091_18302 \x3d G__18316;\nchunk__18092_18303 \x3d G__18317;\ncount__18093_18304 \x3d G__18318;\ni__18094_18305 \x3d G__18319;\ncontinue;\n} else {\nvar x_18321 \x3d cljs.core.first(seq__18091_18312__$1);\nret.push(x_18321);\n\n\nvar G__18322 \x3d cljs.core.next(seq__18091_18312__$1);\nvar G__18323 \x3d null;\nvar G__18324 \x3d (0);\nvar G__18325 \x3d (0);\nseq__18091_18302 \x3d G__18322;\nchunk__18092_18303 \x3d G__18323;\ncount__18093_18304 \x3d G__18324;\ni__18094_18305 \x3d G__18325;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.SetHandler.prototype.stringRep \x3d (function (){\nvar self__ \x3d this;\nvar v \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.SetHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SetHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SetHandler\x22);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/SetHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SetHandler.\n */\ncognitect.transit.__GT_SetHandler \x3d (function cognitect$transit$__GT_SetHandler(){\nreturn (new cognitect.transit.SetHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorHandler \x3d (function (){\n});\n(cognitect.transit.VectorHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22array\x22;\n}));\n\n(cognitect.transit.VectorHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__18099_18326 \x3d cljs.core.seq(v);\nvar chunk__18100_18327 \x3d null;\nvar count__18101_18328 \x3d (0);\nvar i__18102_18329 \x3d (0);\nwhile(true){\nif((i__18102_18329 \x3c count__18101_18328)){\nvar x_18330 \x3d chunk__18100_18327.cljs$core$IIndexed$_nth$arity$2(null,i__18102_18329);\nret.push(x_18330);\n\n\nvar G__18331 \x3d seq__18099_18326;\nvar G__18332 \x3d chunk__18100_18327;\nvar G__18333 \x3d count__18101_18328;\nvar G__18334 \x3d (i__18102_18329 + (1));\nseq__18099_18326 \x3d G__18331;\nchunk__18100_18327 \x3d G__18332;\ncount__18101_18328 \x3d G__18333;\ni__18102_18329 \x3d G__18334;\ncontinue;\n} else {\nvar temp__5804__auto___18335 \x3d cljs.core.seq(seq__18099_18326);\nif(temp__5804__auto___18335){\nvar seq__18099_18336__$1 \x3d temp__5804__auto___18335;\nif(cljs.core.chunked_seq_QMARK_(seq__18099_18336__$1)){\nvar c__5568__auto___18337 \x3d cljs.core.chunk_first(seq__18099_18336__$1);\nvar G__18338 \x3d cljs.core.chunk_rest(seq__18099_18336__$1);\nvar G__18339 \x3d c__5568__auto___18337;\nvar G__18340 \x3d cljs.core.count(c__5568__auto___18337);\nvar G__18341 \x3d (0);\nseq__18099_18326 \x3d G__18338;\nchunk__18100_18327 \x3d G__18339;\ncount__18101_18328 \x3d G__18340;\ni__18102_18329 \x3d G__18341;\ncontinue;\n} else {\nvar x_18342 \x3d cljs.core.first(seq__18099_18336__$1);\nret.push(x_18342);\n\n\nvar G__18343 \x3d cljs.core.next(seq__18099_18336__$1);\nvar G__18344 \x3d null;\nvar G__18345 \x3d (0);\nvar G__18346 \x3d (0);\nseq__18099_18326 \x3d G__18343;\nchunk__18100_18327 \x3d G__18344;\ncount__18101_18328 \x3d G__18345;\ni__18102_18329 \x3d G__18346;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn ret;\n}));\n\n(cognitect.transit.VectorHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.VectorHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorHandler\x22);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/VectorHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorHandler.\n */\ncognitect.transit.__GT_VectorHandler \x3d (function cognitect$transit$__GT_VectorHandler(){\nreturn (new cognitect.transit.VectorHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.UUIDHandler \x3d (function (){\n});\n(cognitect.transit.UUIDHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22u\x22;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.uuid;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.rep(v);\n}));\n\n(cognitect.transit.UUIDHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.UUIDHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/UUIDHandler\x22);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/UUIDHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/UUIDHandler.\n */\ncognitect.transit.__GT_UUIDHandler \x3d (function cognitect$transit$__GT_UUIDHandler(){\nreturn (new cognitect.transit.UUIDHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMeta \x3d (function (value,meta){\nthis.value \x3d value;\nthis.meta \x3d meta;\n});\n\n(cognitect.transit.WithMeta.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cognitect.transit.WithMeta.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMeta\x22);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/WithMeta\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMeta.\n */\ncognitect.transit.__GT_WithMeta \x3d (function cognitect$transit$__GT_WithMeta(value,meta){\nreturn (new cognitect.transit.WithMeta(value,meta));\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMetaHandler \x3d (function (){\n});\n(cognitect.transit.WithMetaHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22with-meta\x22;\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn com.cognitect.transit.tagged(\x22array\x22,[v.value,v.meta]);\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.WithMetaHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.WithMetaHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMetaHandler\x22);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/WithMetaHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMetaHandler.\n */\ncognitect.transit.__GT_WithMetaHandler \x3d (function cognitect$transit$__GT_WithMetaHandler(){\nreturn (new cognitect.transit.WithMetaHandler());\n});\n\n/**\n * Return a transit writer. type maybe either :json or :json-verbose.\n * opts is a map with the following optional keys:\n * \n * :handlers - a map of type constructors to handler instances. Can optionally\n * provide a :default write handler which will be used if no\n * matching handler can be found.\n * :transform - a function of one argument returning a transformed value. Will\n * be invoked on a value before it is written.\n */\ncognitect.transit.writer \x3d (function cognitect$transit$writer(var_args){\nvar G__18117 \x3d arguments.length;\nswitch (G__18117) {\ncase 1:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nvar keyword_handler \x3d (new cognitect.transit.KeywordHandler());\nvar symbol_handler \x3d (new cognitect.transit.SymbolHandler());\nvar list_handler \x3d (new cognitect.transit.ListHandler());\nvar map_handler \x3d (new cognitect.transit.MapHandler());\nvar set_handler \x3d (new cognitect.transit.SetHandler());\nvar vector_handler \x3d (new cognitect.transit.VectorHandler());\nvar uuid_handler \x3d (new cognitect.transit.UUIDHandler());\nvar meta_handler \x3d (new cognitect.transit.WithMetaHandler());\nvar handlers \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentHashMap.fromArrays([cljs.core.PersistentHashMap,cljs.core.Cons,cljs.core.PersistentArrayMap,cljs.core.NodeSeq,cljs.core.PersistentQueue,cljs.core.IndexedSeq,cljs.core.Keyword,cljs.core.BlackNode,cljs.core.EmptyList,cljs.core.LazySeq,cljs.core.Subvec,cljs.core.PersistentQueueSeq,cljs.core.ArrayNodeSeq,cljs.core.ValSeq,cognitect.transit.WithMeta,cljs.core.PersistentArrayMapSeq,cljs.core.PersistentVector,cljs.core.List,cljs.core.RSeq,cljs.core.PersistentHashSet,cljs.core.PersistentTreeMap,cljs.core.KeySeq,cljs.core.ChunkedSeq,cljs.core.PersistentTreeSet,cljs.core.ChunkedCons,cljs.core.Symbol,cljs.core.UUID,cljs.core.Range,cljs.core.PersistentTreeMapSeq,cljs.core.RedNode],[map_handler,list_handler,map_handler,list_handler,list_handler,list_handler,keyword_handler,vector_handler,list_handler,list_handler,vector_handler,list_handler,list_handler,list_handler,meta_handler,list_handler,vector_handler,list_handler,list_handler,set_handler,map_handler,list_handler,list_handler,set_handler,list_handler,symbol_handler,uuid_handler,list_handler,list_handler,vector_handler]),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Eduction !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Eduction,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Repeat !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Repeat,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.MapEntry !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.MapEntry,vector_handler]):null),new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)], 0));\nreturn com.cognitect.transit.writer(cljs.core.name(type),cognitect.transit.opts_merge(({\x22objectBuilder\x22: (function (m,kfn,vfn){\nreturn cljs.core.reduce_kv((function (obj,k,v){\nvar G__18151 \x3d obj;\nG__18151.push((kfn.cljs$core$IFn$_invoke$arity$1 ? kfn.cljs$core$IFn$_invoke$arity$1(k) : kfn.call(null,k)),(vfn.cljs$core$IFn$_invoke$arity$1 ? vfn.cljs$core$IFn$_invoke$arity$1(v) : vfn.call(null,v)));\n\nreturn G__18151;\n}),[\x22^ \x22],m);\n}), \x22handlers\x22: (function (){var x18155 \x3d cljs.core.clone(handlers);\n(x18155.forEach \x3d (function (f){\nvar coll \x3d this;\nvar seq__18158 \x3d cljs.core.seq(coll);\nvar chunk__18159 \x3d null;\nvar count__18160 \x3d (0);\nvar i__18161 \x3d (0);\nwhile(true){\nif((i__18161 \x3c count__18160)){\nvar vec__18173 \x3d chunk__18159.cljs$core$IIndexed$_nth$arity$2(null,i__18161);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18173,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18173,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__18352 \x3d seq__18158;\nvar G__18353 \x3d chunk__18159;\nvar G__18354 \x3d count__18160;\nvar G__18355 \x3d (i__18161 + (1));\nseq__18158 \x3d G__18352;\nchunk__18159 \x3d G__18353;\ncount__18160 \x3d G__18354;\ni__18161 \x3d G__18355;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__18158);\nif(temp__5804__auto__){\nvar seq__18158__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__18158__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__18158__$1);\nvar G__18356 \x3d cljs.core.chunk_rest(seq__18158__$1);\nvar G__18357 \x3d c__5568__auto__;\nvar G__18358 \x3d cljs.core.count(c__5568__auto__);\nvar G__18359 \x3d (0);\nseq__18158 \x3d G__18356;\nchunk__18159 \x3d G__18357;\ncount__18160 \x3d G__18358;\ni__18161 \x3d G__18359;\ncontinue;\n} else {\nvar vec__18177 \x3d cljs.core.first(seq__18158__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18177,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18177,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__18360 \x3d cljs.core.next(seq__18158__$1);\nvar G__18361 \x3d null;\nvar G__18362 \x3d (0);\nvar G__18363 \x3d (0);\nseq__18158 \x3d G__18360;\nchunk__18159 \x3d G__18361;\ncount__18160 \x3d G__18362;\ni__18161 \x3d G__18363;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\nreturn x18155;\n})(), \x22unpack\x22: (function (x){\nif((x instanceof cljs.core.PersistentArrayMap)){\nreturn x.arr;\n} else {\nreturn false;\n}\n})}),cljs.core.clj__GT_js(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)))));\n}));\n\n(cognitect.transit.writer.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Encode an object into a transit string given a transit writer.\n */\ncognitect.transit.write \x3d (function cognitect$transit$write(w,o){\nreturn w.write(o);\n});\n/**\n * Construct a read handler. Implemented as identity, exists primarily\n * for API compatiblity with transit-clj\n */\ncognitect.transit.read_handler \x3d (function cognitect$transit$read_handler(from_rep){\nreturn from_rep;\n});\ncognitect.transit.fn_or_val \x3d (function cognitect$transit$fn_or_val(f){\nif(cljs.core.fn_QMARK_(f)){\nreturn f;\n} else {\nreturn cljs.core.constantly(f);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncognitect.transit.t_cognitect$transit18182 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta18183){\nthis.tag_fn \x3d tag_fn;\nthis.rep_fn \x3d rep_fn;\nthis.str_rep_fn \x3d str_rep_fn;\nthis.verbose_handler_fn \x3d verbose_handler_fn;\nthis.meta18183 \x3d meta18183;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cognitect.transit.t_cognitect$transit18182.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18184,meta18183__$1){\nvar self__ \x3d this;\nvar _18184__$1 \x3d this;\nreturn (new cognitect.transit.t_cognitect$transit18182(self__.tag_fn,self__.rep_fn,self__.str_rep_fn,self__.verbose_handler_fn,meta18183__$1));\n}));\n\n(cognitect.transit.t_cognitect$transit18182.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18184){\nvar self__ \x3d this;\nvar _18184__$1 \x3d this;\nreturn self__.meta18183;\n}));\n\n(cognitect.transit.t_cognitect$transit18182.prototype.tag \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.tag_fn.cljs$core$IFn$_invoke$arity$1 ? self__.tag_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.tag_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit18182.prototype.rep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.rep_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit18182.prototype.stringRep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.str_rep_fn)){\nreturn (self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.str_rep_fn.call(null,o));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit18182.prototype.getVerboseHandler \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.verbose_handler_fn)){\nreturn (self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0 ? self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0() : self__.verbose_handler_fn.call(null));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit18182.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag-fn\x22,\x22tag-fn\x22,242055482,null),new cljs.core.Symbol(null,\x22rep-fn\x22,\x22rep-fn\x22,-1724891035,null),new cljs.core.Symbol(null,\x22str-rep-fn\x22,\x22str-rep-fn\x22,-1179615016,null),new cljs.core.Symbol(null,\x22verbose-handler-fn\x22,\x22verbose-handler-fn\x22,547340594,null),new cljs.core.Symbol(null,\x22meta18183\x22,\x22meta18183\x22,751494326,null)], null);\n}));\n\n(cognitect.transit.t_cognitect$transit18182.cljs$lang$type \x3d true);\n\n(cognitect.transit.t_cognitect$transit18182.cljs$lang$ctorStr \x3d \x22cognitect.transit/t_cognitect$transit18182\x22);\n\n(cognitect.transit.t_cognitect$transit18182.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cognitect.transit/t_cognitect$transit18182\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/t_cognitect$transit18182.\n */\ncognitect.transit.__GT_t_cognitect$transit18182 \x3d (function cognitect$transit$__GT_t_cognitect$transit18182(tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta18183){\nreturn (new cognitect.transit.t_cognitect$transit18182(tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta18183));\n});\n\n\n/**\n * Creates a transit write handler whose tag, rep,\n * stringRep, and verboseWriteHandler methods\n * invoke the provided fns.\n */\ncognitect.transit.write_handler \x3d (function cognitect$transit$write_handler(var_args){\nvar G__18181 \x3d arguments.length;\nswitch (G__18181) {\ncase 2:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag_fn,rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,null,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3 \x3d (function (tag_fn,rep_fn,str_rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,str_rep_fn,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn){\nvar tag_fn__$1 \x3d cognitect.transit.fn_or_val(tag_fn);\nvar rep_fn__$1 \x3d cognitect.transit.fn_or_val(rep_fn);\nvar str_rep_fn__$1 \x3d cognitect.transit.fn_or_val(str_rep_fn);\nvar verbose_handler_fn__$1 \x3d cognitect.transit.fn_or_val(verbose_handler_fn);\nreturn (new cognitect.transit.t_cognitect$transit18182(tag_fn__$1,rep_fn__$1,str_rep_fn__$1,verbose_handler_fn__$1,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cognitect.transit.write_handler.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Construct a tagged value. tag must be a string and rep can\n * be any transit encodeable value.\n */\ncognitect.transit.tagged_value \x3d (function cognitect$transit$tagged_value(tag,rep){\nreturn com.cognitect.transit.types.taggedValue(tag,rep);\n});\n/**\n * Returns true if x is a transit tagged value, false otherwise.\n */\ncognitect.transit.tagged_value_QMARK_ \x3d (function cognitect$transit$tagged_value_QMARK_(x){\nreturn com.cognitect.transit.types.isTaggedValue(x);\n});\n/**\n * Construct a transit integer value. Returns JavaScript number if\n * in the 53bit integer range, a goog.math.Long instance if above. s\n * may be a string or a JavaScript number.\n */\ncognitect.transit.integer \x3d (function cognitect$transit$integer(s){\nreturn com.cognitect.transit.types.intValue(s);\n});\n/**\n * Returns true if x is an integer value between the 53bit and 64bit\n * range, false otherwise.\n */\ncognitect.transit.integer_QMARK_ \x3d (function cognitect$transit$integer_QMARK_(x){\nreturn com.cognitect.transit.types.isInteger(x);\n});\n/**\n * Construct a big integer from a string.\n */\ncognitect.transit.bigint \x3d (function cognitect$transit$bigint(s){\nreturn com.cognitect.transit.types.bigInteger(s);\n});\n/**\n * Returns true if x is a transit big integer value, false otherwise.\n */\ncognitect.transit.bigint_QMARK_ \x3d (function cognitect$transit$bigint_QMARK_(x){\nreturn com.cognitect.transit.types.isBigInteger(x);\n});\n/**\n * Construct a big decimal from a string.\n */\ncognitect.transit.bigdec \x3d (function cognitect$transit$bigdec(s){\nreturn com.cognitect.transit.types.bigDecimalValue(s);\n});\n/**\n * Returns true if x is a transit big decimal value, false otherwise.\n */\ncognitect.transit.bigdec_QMARK_ \x3d (function cognitect$transit$bigdec_QMARK_(x){\nreturn com.cognitect.transit.types.isBigDecimal(x);\n});\n/**\n * Construct a URI from a string.\n */\ncognitect.transit.uri \x3d (function cognitect$transit$uri(s){\nreturn com.cognitect.transit.types.uri(s);\n});\n/**\n * Returns true if x is a transit URI value, false otherwise.\n */\ncognitect.transit.uri_QMARK_ \x3d (function cognitect$transit$uri_QMARK_(x){\nreturn com.cognitect.transit.types.isURI(x);\n});\n/**\n * Construct a UUID from a string.\n */\ncognitect.transit.uuid \x3d (function cognitect$transit$uuid(s){\nreturn com.cognitect.transit.types.uuid(s);\n});\n/**\n * Returns true if x is a transit UUID value, false otherwise.\n */\ncognitect.transit.uuid_QMARK_ \x3d (function cognitect$transit$uuid_QMARK_(x){\nvar or__5045__auto__ \x3d com.cognitect.transit.types.isUUID(x);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (x instanceof cljs.core.UUID);\n}\n});\n/**\n * Construct a transit binary value. s should be base64 encoded\n * string.\n */\ncognitect.transit.binary \x3d (function cognitect$transit$binary(s){\nreturn com.cognitect.transit.types.binary(s);\n});\n/**\n * Returns true if x is a transit binary value, false otherwise.\n */\ncognitect.transit.binary_QMARK_ \x3d (function cognitect$transit$binary_QMARK_(x){\nreturn com.cognitect.transit.types.isBinary(x);\n});\n/**\n * Construct a quoted transit value. x should be a transit\n * encodeable value.\n */\ncognitect.transit.quoted \x3d (function cognitect$transit$quoted(x){\nreturn com.cognitect.transit.types.quoted(x);\n});\n/**\n * Returns true if x is a transit quoted value, false otherwise.\n */\ncognitect.transit.quoted_QMARK_ \x3d (function cognitect$transit$quoted_QMARK_(x){\nreturn com.cognitect.transit.types.isQuoted(x);\n});\n/**\n * Construct a transit link value. x should be an IMap instance\n * containing at a minimum the following keys: :href, :rel. It\n * may optionall include :name, :render, and :prompt. :href must\n * be a transit URI, all other values are strings, and :render must\n * be either :image or :link.\n */\ncognitect.transit.link \x3d (function cognitect$transit$link(x){\nreturn com.cognitect.transit.types.link(x);\n});\n/**\n * Returns true if x a transit link value, false if otherwise.\n */\ncognitect.transit.link_QMARK_ \x3d (function cognitect$transit$link_QMARK_(x){\nreturn com.cognitect.transit.types.isLink(x);\n});\n/**\n * For :transform. Will write any metadata present on the value.\n */\ncognitect.transit.write_meta \x3d (function cognitect$transit$write_meta(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMeta$))))?true:false):false)){\nvar m \x3d x.cljs$core$IMeta$_meta$arity$1(null);\nif((!((m \x3d\x3d null)))){\nreturn (new cognitect.transit.WithMeta(x.cljs$core$IWithMeta$_with_meta$arity$2(null,null),m));\n} else {\nreturn x;\n}\n} else {\nreturn x;\n}\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.api.js", true , "goog.provide(\x27shadow.remote.runtime.api\x27);\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IRuntime \x3d function(){};\n\nvar shadow$remote$runtime$api$IRuntime$relay_msg$dyn_18561 \x3d (function (runtime,msg){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.relay_msg[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5394__auto__.call(null,runtime,msg));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.relay_msg[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5392__auto__.call(null,runtime,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.relay-msg\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.relay_msg \x3d (function shadow$remote$runtime$api$relay_msg(runtime,msg){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2(runtime,msg);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$relay_msg$dyn_18561(runtime,msg);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$add_extension$dyn_18562 \x3d (function (runtime,key,spec){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.add_extension[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5394__auto__.call(null,runtime,key,spec));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.add_extension[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5392__auto__.call(null,runtime,key,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.add-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.add_extension \x3d (function shadow$remote$runtime$api$add_extension(runtime,key,spec){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(runtime,key,spec);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$add_extension$dyn_18562(runtime,key,spec);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$del_extension$dyn_18563 \x3d (function (runtime,key){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.del_extension[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5394__auto__.call(null,runtime,key));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.del_extension[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5392__auto__.call(null,runtime,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.del-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.del_extension \x3d (function shadow$remote$runtime$api$del_extension(runtime,key){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2(runtime,key);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$del_extension$dyn_18563(runtime,key);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.Inspectable \x3d function(){};\n\nvar shadow$remote$runtime$api$Inspectable$describe$dyn_18564 \x3d (function (thing,opts){\nvar x__5393__auto__ \x3d (((thing \x3d\x3d null))?null:thing);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api.describe[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5394__auto__.call(null,thing,opts));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api.describe[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5392__auto__.call(null,thing,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22Inspectable.describe\x22,thing);\n}\n}\n});\n/**\n * returns a map descriptor that tells system how to handle things further\n */\nshadow.remote.runtime.api.describe \x3d (function shadow$remote$runtime$api$describe(thing,opts){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(thing),cljs.core.with_meta(new cljs.core.Symbol(\x22shadow.remote.runtime.api\x22,\x22describe\x22,\x22shadow.remote.runtime.api/describe\x22,1388020131,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5395__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$2 ? meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : meta_impl__5395__auto__.call(null,thing,opts));\n} else {\nif((((!((thing \x3d\x3d null)))) \x26\x26 ((!((thing.shadow$remote$runtime$api$Inspectable$describe$arity$2 \x3d\x3d null)))))){\nreturn thing.shadow$remote$runtime$api$Inspectable$describe$arity$2(thing,opts);\n} else {\nreturn shadow$remote$runtime$api$Inspectable$describe$dyn_18564(thing,opts);\n}\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalCLJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_18565 \x3d (function (runtime,input,callback){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5394__auto__.call(null,runtime,input,callback));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5392__auto__.call(null,runtime,input,callback));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalCLJS.-cljs-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._cljs_eval \x3d (function shadow$remote$runtime$api$_cljs_eval(runtime,input,callback){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3(runtime,input,callback);\n} else {\nreturn shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_18565(runtime,input,callback);\n}\n});\n\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_18566 \x3d (function (runtime,code){\nvar x__5393__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5394__auto__ \x3d (shadow.remote.runtime.api._js_eval[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(runtime,code) : m__5394__auto__.call(null,runtime,code));\n} else {\nvar m__5392__auto__ \x3d (shadow.remote.runtime.api._js_eval[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(runtime,code) : m__5392__auto__.call(null,runtime,code));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalJS.-js-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._js_eval \x3d (function shadow$remote$runtime$api$_js_eval(runtime,code){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$2(runtime,code);\n} else {\nreturn shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_18566(runtime,code);\n}\n});\n\n\nshadow.remote.runtime.api.cljs_eval \x3d (function shadow$remote$runtime$api$cljs_eval(runtime,p__18559,callback){\nvar map__18560 \x3d p__18559;\nvar map__18560__$1 \x3d cljs.core.__destructure_map(map__18560);\nvar input \x3d map__18560__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18560__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18560__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(((typeof code \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.simple_symbol_QMARK_(ns)))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid cljs-eval input\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input], null));\n}\n\nreturn shadow.remote.runtime.api._cljs_eval(runtime,input,callback);\n});\n\nshadow.remote.runtime.api.js_eval \x3d (function shadow$remote$runtime$api$js_eval(runtime,code){\nif(typeof code \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? code)\x22));\n}\n\nreturn shadow.remote.runtime.api._js_eval(runtime,code);\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.shared.js", true , "goog.provide(\x27shadow.remote.runtime.shared\x27);\nshadow.remote.runtime.shared.init_state \x3d (function shadow$remote$runtime$shared$init_state(client_info){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),(0),new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.PersistentArrayMap.EMPTY], null);\n});\nshadow.remote.runtime.shared.now \x3d (function shadow$remote$runtime$shared$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.shared.get_client_id \x3d (function shadow$remote$runtime$shared$get_client_id(p__18607){\nvar map__18608 \x3d p__18607;\nvar map__18608__$1 \x3d cljs.core.__destructure_map(map__18608);\nvar runtime \x3d map__18608__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18608__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22runtime has no assigned runtime-id\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null));\n}\n});\nshadow.remote.runtime.shared.relay_msg \x3d (function shadow$remote$runtime$shared$relay_msg(runtime,msg){\nvar self_id_18689 \x3d shadow.remote.runtime.shared.get_client_id(runtime);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007).cljs$core$IFn$_invoke$arity$1(msg),self_id_18689)){\nshadow.remote.runtime.api.relay_msg(runtime,msg);\n} else {\nPromise.resolve((1)).then((function (){\nvar G__18609 \x3d runtime;\nvar G__18610 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self_id_18689);\nreturn (shadow.remote.runtime.shared.process.cljs$core$IFn$_invoke$arity$2 ? shadow.remote.runtime.shared.process.cljs$core$IFn$_invoke$arity$2(G__18609,G__18610) : shadow.remote.runtime.shared.process.call(null,G__18609,G__18610));\n}));\n}\n\nreturn msg;\n});\nshadow.remote.runtime.shared.reply \x3d (function shadow$remote$runtime$shared$reply(runtime,p__18611,res){\nvar map__18612 \x3d p__18611;\nvar map__18612__$1 \x3d cljs.core.__destructure_map(map__18612);\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18612__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18612__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar res__$1 \x3d (function (){var G__18613 \x3d res;\nvar G__18613__$1 \x3d (cljs.core.truth_(call_id)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18613,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id):G__18613);\nif(cljs.core.truth_(from)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18613__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),from);\n} else {\nreturn G__18613__$1;\n}\n})();\nreturn shadow.remote.runtime.api.relay_msg(runtime,res__$1);\n});\nshadow.remote.runtime.shared.call \x3d (function shadow$remote$runtime$shared$call(var_args){\nvar G__18616 \x3d arguments.length;\nswitch (G__18616) {\ncase 3:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3 \x3d (function (runtime,msg,handlers){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4(runtime,msg,handlers,(0));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__18617,msg,handlers,timeout_after_ms){\nvar map__18618 \x3d p__18617;\nvar map__18618__$1 \x3d cljs.core.__destructure_map(map__18618);\nvar runtime \x3d map__18618__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18618__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.map_QMARK_(msg)){\n} else {\nthrow (new Error(\x22Assert failed: (map? msg)\x22));\n}\n\nif(cljs.core.map_QMARK_(handlers)){\n} else {\nthrow (new Error(\x22Assert failed: (map? handlers)\x22));\n}\n\nif(cljs.core.nat_int_QMARK_(timeout_after_ms)){\n} else {\nthrow (new Error(\x22Assert failed: (nat-int? timeout-after-ms)\x22));\n}\n\nvar call_id \x3d new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),cljs.core.inc);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),handlers,new cljs.core.Keyword(null,\x22called-at\x22,\x22called-at\x22,607081160),shadow.remote.runtime.shared.now(),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22timeout\x22,\x22timeout\x22,-318625318),timeout_after_ms], null));\n\nreturn shadow.remote.runtime.api.relay_msg(runtime,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.remote.runtime.shared.trigger_BANG_ \x3d (function shadow$remote$runtime$shared$trigger_BANG_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___18691 \x3d arguments.length;\nvar i__5770__auto___18692 \x3d (0);\nwhile(true){\nif((i__5770__auto___18692 \x3c len__5769__auto___18691)){\nargs__5775__auto__.push((arguments[i__5770__auto___18692]));\n\nvar G__18693 \x3d (i__5770__auto___18692 + (1));\ni__5770__auto___18692 \x3d G__18693;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__18623,ev,args){\nvar map__18625 \x3d p__18623;\nvar map__18625__$1 \x3d cljs.core.__destructure_map(map__18625);\nvar runtime \x3d map__18625__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18625__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar seq__18628 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__18631 \x3d null;\nvar count__18632 \x3d (0);\nvar i__18633 \x3d (0);\nwhile(true){\nif((i__18633 \x3c count__18632)){\nvar ext \x3d chunk__18631.cljs$core$IIndexed$_nth$arity$2(null,i__18633);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__18694 \x3d seq__18628;\nvar G__18695 \x3d chunk__18631;\nvar G__18696 \x3d count__18632;\nvar G__18697 \x3d (i__18633 + (1));\nseq__18628 \x3d G__18694;\nchunk__18631 \x3d G__18695;\ncount__18632 \x3d G__18696;\ni__18633 \x3d G__18697;\ncontinue;\n} else {\nvar G__18698 \x3d seq__18628;\nvar G__18699 \x3d chunk__18631;\nvar G__18700 \x3d count__18632;\nvar G__18701 \x3d (i__18633 + (1));\nseq__18628 \x3d G__18698;\nchunk__18631 \x3d G__18699;\ncount__18632 \x3d G__18700;\ni__18633 \x3d G__18701;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__18628);\nif(temp__5804__auto__){\nvar seq__18628__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__18628__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__18628__$1);\nvar G__18702 \x3d cljs.core.chunk_rest(seq__18628__$1);\nvar G__18703 \x3d c__5568__auto__;\nvar G__18704 \x3d cljs.core.count(c__5568__auto__);\nvar G__18705 \x3d (0);\nseq__18628 \x3d G__18702;\nchunk__18631 \x3d G__18703;\ncount__18632 \x3d G__18704;\ni__18633 \x3d G__18705;\ncontinue;\n} else {\nvar ext \x3d cljs.core.first(seq__18628__$1);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__18706 \x3d cljs.core.next(seq__18628__$1);\nvar G__18707 \x3d null;\nvar G__18708 \x3d (0);\nvar G__18709 \x3d (0);\nseq__18628 \x3d G__18706;\nchunk__18631 \x3d G__18707;\ncount__18632 \x3d G__18708;\ni__18633 \x3d G__18709;\ncontinue;\n} else {\nvar G__18710 \x3d cljs.core.next(seq__18628__$1);\nvar G__18711 \x3d null;\nvar G__18712 \x3d (0);\nvar G__18713 \x3d (0);\nseq__18628 \x3d G__18710;\nchunk__18631 \x3d G__18711;\ncount__18632 \x3d G__18712;\ni__18633 \x3d G__18713;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$applyTo \x3d (function (seq18620){\nvar G__18621 \x3d cljs.core.first(seq18620);\nvar seq18620__$1 \x3d cljs.core.next(seq18620);\nvar G__18622 \x3d cljs.core.first(seq18620__$1);\nvar seq18620__$2 \x3d cljs.core.next(seq18620__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__18621,G__18622,seq18620__$2);\n}));\n\nshadow.remote.runtime.shared.welcome \x3d (function shadow$remote$runtime$shared$welcome(p__18638,p__18639){\nvar map__18640 \x3d p__18638;\nvar map__18640__$1 \x3d cljs.core.__destructure_map(map__18640);\nvar runtime \x3d map__18640__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18640__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__18641 \x3d p__18639;\nvar map__18641__$1 \x3d cljs.core.__destructure_map(map__18641);\nvar msg \x3d map__18641__$1;\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18641__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),client_id);\n\nvar map__18642 \x3d cljs.core.deref(state_ref);\nvar map__18642__$1 \x3d cljs.core.__destructure_map(map__18642);\nvar client_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18642__$1,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504));\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18642__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nshadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22hello\x22,\x22hello\x22,-245025397),new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info], null));\n\nreturn shadow.remote.runtime.shared.trigger_BANG_(runtime,new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125));\n});\nshadow.remote.runtime.shared.ping \x3d (function shadow$remote$runtime$shared$ping(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22pong\x22,\x22pong\x22,-172484958)], null));\n});\nshadow.remote.runtime.shared.request_supported_ops \x3d (function shadow$remote$runtime$shared$request_supported_ops(p__18643,msg){\nvar map__18644 \x3d p__18643;\nvar map__18644__$1 \x3d cljs.core.__destructure_map(map__18644);\nvar runtime \x3d map__18644__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18644__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22supported-ops\x22,\x22supported-ops\x22,337914702),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic(cljs.core.set(cljs.core.keys(new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))),new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),new cljs.core.Keyword(null,\x22tool-disconnect\x22,\x22tool-disconnect\x22,189103996)], 0))], null));\n});\nshadow.remote.runtime.shared.unknown_relay_op \x3d (function shadow$remote$runtime$shared$unknown_relay_op(msg){\nreturn console.warn(\x22unknown-relay-op\x22,msg);\n});\nshadow.remote.runtime.shared.unknown_op \x3d (function shadow$remote$runtime$shared$unknown_op(msg){\nreturn console.warn(\x22unknown-op\x22,msg);\n});\nshadow.remote.runtime.shared.add_extension_STAR_ \x3d (function shadow$remote$runtime$shared$add_extension_STAR_(p__18647,key,p__18648){\nvar map__18649 \x3d p__18647;\nvar map__18649__$1 \x3d cljs.core.__destructure_map(map__18649);\nvar state \x3d map__18649__$1;\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18649__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nvar map__18650 \x3d p__18648;\nvar map__18650__$1 \x3d cljs.core.__destructure_map(map__18650);\nvar spec \x3d map__18650__$1;\nvar ops \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18650__$1,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063));\nif(cljs.core.contains_QMARK_(extensions,key)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22extension already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401),spec], null));\n} else {\n}\n\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nif(cljs.core.truth_(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null)))){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22op already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),op_kw], null));\n} else {\n}\n\nreturn cljs.core.assoc_in(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null),op_handler);\n}),cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null),spec),ops);\n});\nshadow.remote.runtime.shared.add_extension \x3d (function shadow$remote$runtime$shared$add_extension(p__18664,key,spec){\nvar map__18665 \x3d p__18664;\nvar map__18665__$1 \x3d cljs.core.__destructure_map(map__18665);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18665__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,shadow.remote.runtime.shared.add_extension_STAR_,key,spec);\n});\nshadow.remote.runtime.shared.add_defaults \x3d (function shadow$remote$runtime$shared$add_defaults(runtime){\nreturn shadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.shared\x22,\x22defaults\x22,\x22shadow.remote.runtime.shared/defaults\x22,-1821257543),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),(function (p1__18666_SHARP_){\nreturn shadow.remote.runtime.shared.welcome(runtime,p1__18666_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),(function (p1__18667_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_relay_op(p1__18667_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),(function (p1__18668_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_op(p1__18668_SHARP_);\n}),new cljs.core.Keyword(null,\x22ping\x22,\x22ping\x22,-1670114784),(function (p1__18669_SHARP_){\nreturn shadow.remote.runtime.shared.ping(runtime,p1__18669_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),(function (p1__18670_SHARP_){\nreturn shadow.remote.runtime.shared.request_supported_ops(runtime,p1__18670_SHARP_);\n})], null)], null));\n});\nshadow.remote.runtime.shared.del_extension_STAR_ \x3d (function shadow$remote$runtime$shared$del_extension_STAR_(state,key){\nvar ext \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null));\nif(cljs.core.not(ext)){\nreturn state;\n} else {\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063)], null),cljs.core.dissoc,op_kw);\n}),cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.dissoc,key),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(ext));\n}\n});\nshadow.remote.runtime.shared.del_extension \x3d (function shadow$remote$runtime$shared$del_extension(p__18671,key){\nvar map__18672 \x3d p__18671;\nvar map__18672__$1 \x3d cljs.core.__destructure_map(map__18672);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18672__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,shadow.remote.runtime.shared.del_extension_STAR_,key);\n});\nshadow.remote.runtime.shared.unhandled_call_result \x3d (function shadow$remote$runtime$shared$unhandled_call_result(call_config,msg){\nreturn console.warn(\x22unhandled call result\x22,msg,call_config);\n});\nshadow.remote.runtime.shared.unhandled_client_not_found \x3d (function shadow$remote$runtime$shared$unhandled_client_not_found(p__18673,msg){\nvar map__18674 \x3d p__18673;\nvar map__18674__$1 \x3d cljs.core.__destructure_map(map__18674);\nvar runtime \x3d map__18674__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18674__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic(runtime,new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg], 0));\n});\nshadow.remote.runtime.shared.reply_unknown_op \x3d (function shadow$remote$runtime$shared$reply_unknown_op(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n});\nshadow.remote.runtime.shared.process \x3d (function shadow$remote$runtime$shared$process(p__18675,p__18676){\nvar map__18677 \x3d p__18675;\nvar map__18677__$1 \x3d cljs.core.__destructure_map(map__18677);\nvar runtime \x3d map__18677__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18677__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__18678 \x3d p__18676;\nvar map__18678__$1 \x3d cljs.core.__destructure_map(map__18678);\nvar msg \x3d map__18678__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18678__$1,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955));\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18678__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar state \x3d cljs.core.deref(state_ref);\nvar op_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op], null));\nif(cljs.core.truth_(call_id)){\nvar cfg \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null));\nvar call_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cfg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),op], null));\nif(cljs.core.truth_(call_handler)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([call_id], 0));\n\nreturn (call_handler.cljs$core$IFn$_invoke$arity$1 ? call_handler.cljs$core$IFn$_invoke$arity$1(msg) : call_handler.call(null,msg));\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nreturn shadow.remote.runtime.shared.unhandled_call_result(cfg,msg);\n\n}\n}\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),op)){\nreturn shadow.remote.runtime.shared.unhandled_client_not_found(runtime,msg);\n} else {\nreturn shadow.remote.runtime.shared.reply_unknown_op(runtime,msg);\n\n}\n}\n}\n});\nshadow.remote.runtime.shared.run_on_idle \x3d (function shadow$remote$runtime$shared$run_on_idle(state_ref){\nvar seq__18679 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__18681 \x3d null;\nvar count__18682 \x3d (0);\nvar i__18683 \x3d (0);\nwhile(true){\nif((i__18683 \x3c count__18682)){\nvar map__18687 \x3d chunk__18681.cljs$core$IIndexed$_nth$arity$2(null,i__18683);\nvar map__18687__$1 \x3d cljs.core.__destructure_map(map__18687);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18687__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__18715 \x3d seq__18679;\nvar G__18716 \x3d chunk__18681;\nvar G__18717 \x3d count__18682;\nvar G__18718 \x3d (i__18683 + (1));\nseq__18679 \x3d G__18715;\nchunk__18681 \x3d G__18716;\ncount__18682 \x3d G__18717;\ni__18683 \x3d G__18718;\ncontinue;\n} else {\nvar G__18719 \x3d seq__18679;\nvar G__18720 \x3d chunk__18681;\nvar G__18721 \x3d count__18682;\nvar G__18722 \x3d (i__18683 + (1));\nseq__18679 \x3d G__18719;\nchunk__18681 \x3d G__18720;\ncount__18682 \x3d G__18721;\ni__18683 \x3d G__18722;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__18679);\nif(temp__5804__auto__){\nvar seq__18679__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__18679__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__18679__$1);\nvar G__18723 \x3d cljs.core.chunk_rest(seq__18679__$1);\nvar G__18724 \x3d c__5568__auto__;\nvar G__18725 \x3d cljs.core.count(c__5568__auto__);\nvar G__18726 \x3d (0);\nseq__18679 \x3d G__18723;\nchunk__18681 \x3d G__18724;\ncount__18682 \x3d G__18725;\ni__18683 \x3d G__18726;\ncontinue;\n} else {\nvar map__18688 \x3d cljs.core.first(seq__18679__$1);\nvar map__18688__$1 \x3d cljs.core.__destructure_map(map__18688);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__18688__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__18727 \x3d cljs.core.next(seq__18679__$1);\nvar G__18728 \x3d null;\nvar G__18729 \x3d (0);\nvar G__18730 \x3d (0);\nseq__18679 \x3d G__18727;\nchunk__18681 \x3d G__18728;\ncount__18682 \x3d G__18729;\ni__18683 \x3d G__18730;\ncontinue;\n} else {\nvar G__18731 \x3d cljs.core.next(seq__18679__$1);\nvar G__18732 \x3d null;\nvar G__18733 \x3d (0);\nvar G__18734 \x3d (0);\nseq__18679 \x3d G__18731;\nchunk__18681 \x3d G__18732;\ncount__18682 \x3d G__18733;\ni__18683 \x3d G__18734;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n"); +SHADOW_ENV.evalLoad("clojure.core.protocols.js", true , "goog.provide(\x27clojure.core.protocols\x27);\n\n/**\n * @interface\n */\nclojure.core.protocols.Datafiable \x3d function(){};\n\nvar clojure$core$protocols$Datafiable$datafy$dyn_18645 \x3d (function (o){\nvar x__5393__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5394__auto__ \x3d (clojure.core.protocols.datafy[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5394__auto__.call(null,o));\n} else {\nvar m__5392__auto__ \x3d (clojure.core.protocols.datafy[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5392__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22Datafiable.datafy\x22,o);\n}\n}\n});\n/**\n * return a representation of o as data (default identity)\n */\nclojure.core.protocols.datafy \x3d (function clojure$core$protocols$datafy(o){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(o),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22datafy\x22,\x22clojure.core.protocols/datafy\x22,707534751,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5395__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$1 ? meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$1(o) : meta_impl__5395__auto__.call(null,o));\n} else {\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d\x3d null)))))){\nreturn o.clojure$core$protocols$Datafiable$datafy$arity$1(o);\n} else {\nreturn clojure$core$protocols$Datafiable$datafy$dyn_18645(o);\n}\n}\n});\n\n(clojure.core.protocols.Datafiable[\x22null\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\n\n(clojure.core.protocols.Datafiable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22_\x22] \x3d (function (o){\nreturn o;\n}));\n\n/**\n * @interface\n */\nclojure.core.protocols.Navigable \x3d function(){};\n\nvar clojure$core$protocols$Navigable$nav$dyn_18646 \x3d (function (coll,k,v){\nvar x__5393__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5394__auto__ \x3d (clojure.core.protocols.nav[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5394__auto__.call(null,coll,k,v));\n} else {\nvar m__5392__auto__ \x3d (clojure.core.protocols.nav[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5392__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Navigable.nav\x22,coll);\n}\n}\n});\n/**\n * return (possibly transformed) v in the context of coll and k (a key/index or nil),\n * defaults to returning v.\n */\nclojure.core.protocols.nav \x3d (function clojure$core$protocols$nav(coll,k,v){\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(coll),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5802__auto__){\nvar meta_impl__5395__auto__ \x3d temp__5802__auto__;\nreturn (meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$3 ? meta_impl__5395__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : meta_impl__5395__auto__.call(null,coll,k,v));\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.clojure$core$protocols$Navigable$nav$arity$3 \x3d\x3d null)))))){\nreturn coll.clojure$core$protocols$Navigable$nav$arity$3(coll,k,v);\n} else {\nreturn clojure$core$protocols$Navigable$nav$dyn_18646(coll,k,v);\n}\n}\n});\n\n(clojure.core.protocols.Navigable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.nav[\x22_\x22] \x3d (function (_,___$1,x){\nreturn x;\n}));\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.cljs.js_builtins.js", true , "goog.provide(\x27shadow.remote.runtime.cljs.js_builtins\x27);\ngoog.scope(function(){\n shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n(clojure.core.protocols.Datafiable[\x22object\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22object\x22] \x3d (function (o){\nif((!((o.__proto__ \x3d\x3d\x3d Object.prototype)))){\nreturn o;\n} else {\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,key){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,key,shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,key));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.getKeys(o))),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),(function (coll,k,v){\nreturn shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,k);\n})], null));\n}\n}));\n\n(clojure.core.protocols.Datafiable[\x22array\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22array\x22] \x3d (function (o){\nreturn cljs.core.vec(o);\n}));\n\n(Error.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Error.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (e){\nvar e__$1 \x3d this;\nvar data \x3d cljs.core.ex_data(e__$1);\nvar file \x3d e__$1.fileName;\nvar line \x3d e__$1.lineNumber;\nvar column \x3d e__$1.columnNumber;\nvar G__18714 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),e__$1.message,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),e__$1.name,new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),e__$1.stack], null);\nvar G__18714__$1 \x3d (((!((data \x3d\x3d null))))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18714,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data):G__18714);\nvar G__18714__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18714__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file):G__18714__$1);\nvar G__18714__$3 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18714__$2,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line):G__18714__$2);\nif(cljs.core.truth_(column)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__18714__$3,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column);\n} else {\nreturn G__18714__$3;\n}\n}));\n"); SHADOW_ENV.evalLoad("clojure.datafy.js", true , "goog.provide(\x27clojure.datafy\x27);\n/**\n * Attempts to return x as data.\n * datafy will return the value of clojure.protocols/datafy. If\n * the value has been transformed and the result supports\n * metadata, :clojure.datafy/obj will be set on the metadata to the\n * original value of x.\n */\nclojure.datafy.datafy \x3d (function clojure$datafy$datafy(x){\nvar v \x3d clojure.core.protocols.datafy(x);\nif((v \x3d\x3d\x3d x)){\nreturn v;\n} else {\nif((((!((v \x3d\x3d null))))?(((((v.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d v.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(v,cljs.core.assoc,new cljs.core.Keyword(\x22clojure.datafy\x22,\x22obj\x22,\x22clojure.datafy/obj\x22,-330079421),x);\n} else {\nreturn v;\n}\n}\n});\n/**\n * Returns (possibly transformed) v in the context of coll and k (a\n * key/index or nil). Callers should attempt to provide the key/index\n * context k for Indexed/Associative/ILookup colls if possible, but not\n * to fabricate one e.g. for sequences (pass nil). nav will return the\n * value of clojure.core.protocols/nav.\n */\nclojure.datafy.nav \x3d (function clojure$datafy$nav(coll,k,v){\nreturn clojure.core.protocols.nav(coll,k,v);\n});\nclojure.datafy.datify_ref \x3d (function clojure$datafy$datify_ref(r){\nreturn cljs.core.with_meta(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(r)], null),cljs.core.meta(r));\n});\n(cljs.core.Var.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Reduced.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Reduced.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Atom.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Atom.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Volatile.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Delay.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Delay.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n"); -SHADOW_ENV.evalLoad("cljs.pprint.js", true , "goog.provide(\x27cljs.pprint\x27);\ncljs.pprint.print \x3d (function cljs$pprint$print(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24364 \x3d arguments.length;\nvar i__5770__auto___24366 \x3d (0);\nwhile(true){\nif((i__5770__auto___24366 \x3c len__5769__auto___24364)){\nargs__5775__auto__.push((arguments[i__5770__auto___24366]));\n\nvar G__24372 \x3d (i__5770__auto___24366 + (1));\ni__5770__auto___24366 \x3d G__24372;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.print_str,more));\n}));\n\n(cljs.pprint.print.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.print.cljs$lang$applyTo \x3d (function (seq19521){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19521));\n}));\n\ncljs.pprint.println \x3d (function cljs$pprint$println(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24380 \x3d arguments.length;\nvar i__5770__auto___24381 \x3d (0);\nwhile(true){\nif((i__5770__auto___24381 \x3c len__5769__auto___24380)){\nargs__5775__auto__.push((arguments[i__5770__auto___24381]));\n\nvar G__24383 \x3d (i__5770__auto___24381 + (1));\ni__5770__auto___24381 \x3d G__24383;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.print,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.println.cljs$lang$applyTo \x3d (function (seq19543){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19543));\n}));\n\ncljs.pprint.print_char \x3d (function cljs$pprint$print_char(c){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,(function (){var pred__19579 \x3d cljs.core._EQ_;\nvar expr__19580 \x3d c;\nif(cljs.core.truth_((function (){var G__19582 \x3d \x22\\b\x22;\nvar G__19583 \x3d expr__19580;\nreturn (pred__19579.cljs$core$IFn$_invoke$arity$2 ? pred__19579.cljs$core$IFn$_invoke$arity$2(G__19582,G__19583) : pred__19579.call(null,G__19582,G__19583));\n})())){\nreturn \x22\\\\backspace\x22;\n} else {\nif(cljs.core.truth_((function (){var G__19584 \x3d \x22 \x22;\nvar G__19585 \x3d expr__19580;\nreturn (pred__19579.cljs$core$IFn$_invoke$arity$2 ? pred__19579.cljs$core$IFn$_invoke$arity$2(G__19584,G__19585) : pred__19579.call(null,G__19584,G__19585));\n})())){\nreturn \x22\\\\space\x22;\n} else {\nif(cljs.core.truth_((function (){var G__19586 \x3d \x22\\t\x22;\nvar G__19587 \x3d expr__19580;\nreturn (pred__19579.cljs$core$IFn$_invoke$arity$2 ? pred__19579.cljs$core$IFn$_invoke$arity$2(G__19586,G__19587) : pred__19579.call(null,G__19586,G__19587));\n})())){\nreturn \x22\\\\tab\x22;\n} else {\nif(cljs.core.truth_((function (){var G__19588 \x3d \x22\\n\x22;\nvar G__19589 \x3d expr__19580;\nreturn (pred__19579.cljs$core$IFn$_invoke$arity$2 ? pred__19579.cljs$core$IFn$_invoke$arity$2(G__19588,G__19589) : pred__19579.call(null,G__19588,G__19589));\n})())){\nreturn \x22\\\\newline\x22;\n} else {\nif(cljs.core.truth_((function (){var G__19591 \x3d \x22\\f\x22;\nvar G__19592 \x3d expr__19580;\nreturn (pred__19579.cljs$core$IFn$_invoke$arity$2 ? pred__19579.cljs$core$IFn$_invoke$arity$2(G__19591,G__19592) : pred__19579.call(null,G__19591,G__19592));\n})())){\nreturn \x22\\\\formfeed\x22;\n} else {\nif(cljs.core.truth_((function (){var G__19594 \x3d \x22\\r\x22;\nvar G__19595 \x3d expr__19580;\nreturn (pred__19579.cljs$core$IFn$_invoke$arity$2 ? pred__19579.cljs$core$IFn$_invoke$arity$2(G__19594,G__19595) : pred__19579.call(null,G__19594,G__19595));\n})())){\nreturn \x22\\\\return\x22;\n} else {\nif(cljs.core.truth_((function (){var G__19596 \x3d \x22\\\x22\x22;\nvar G__19597 \x3d expr__19580;\nreturn (pred__19579.cljs$core$IFn$_invoke$arity$2 ? pred__19579.cljs$core$IFn$_invoke$arity$2(G__19596,G__19597) : pred__19579.call(null,G__19596,G__19597));\n})())){\nreturn \x22\\\\\\\x22\x22;\n} else {\nif(cljs.core.truth_((function (){var G__19598 \x3d \x22\\\\\x22;\nvar G__19599 \x3d expr__19580;\nreturn (pred__19579.cljs$core$IFn$_invoke$arity$2 ? pred__19579.cljs$core$IFn$_invoke$arity$2(G__19598,G__19599) : pred__19579.call(null,G__19598,G__19599));\n})())){\nreturn \x22\\\\\\\\\x22;\n} else {\nreturn [\x22\\\\\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(\x27\x27);\n}\n}\n}\n}\n}\n}\n}\n}\n})());\n});\ncljs.pprint.pr \x3d (function cljs$pprint$pr(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24389 \x3d arguments.length;\nvar i__5770__auto___24390 \x3d (0);\nwhile(true){\nif((i__5770__auto___24390 \x3c len__5769__auto___24389)){\nargs__5775__auto__.push((arguments[i__5770__auto___24390]));\n\nvar G__24392 \x3d (i__5770__auto___24390 + (1));\ni__5770__auto___24390 \x3d G__24392;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.pr_str,more));\n}));\n\n(cljs.pprint.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.pr.cljs$lang$applyTo \x3d (function (seq19620){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19620));\n}));\n\ncljs.pprint.prn \x3d (function cljs$pprint$prn(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24395 \x3d arguments.length;\nvar i__5770__auto___24396 \x3d (0);\nwhile(true){\nif((i__5770__auto___24396 \x3c len__5769__auto___24395)){\nargs__5775__auto__.push((arguments[i__5770__auto___24396]));\n\nvar G__24397 \x3d (i__5770__auto___24396 + (1));\ni__5770__auto___24396 \x3d G__24397;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.pr,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.prn.cljs$lang$applyTo \x3d (function (seq19656){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19656));\n}));\n\n/**\n * Returns true if n is an float.\n */\ncljs.pprint.float_QMARK_ \x3d (function cljs$pprint$float_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((!((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))))));\n});\n/**\n * Convert char to int\n */\ncljs.pprint.char_code \x3d (function cljs$pprint$char_code(c){\nif(typeof c \x3d\x3d\x3d \x27number\x27){\nreturn c;\n} else {\nif(((typeof c \x3d\x3d\x3d \x27string\x27) \x26\x26 ((c.length \x3d\x3d\x3d (1))))){\nreturn c.charCodeAt((0));\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.pprint.map_passing_context \x3d (function cljs$pprint$map_passing_context(func,initial_context,lis){\nvar context \x3d initial_context;\nvar lis__$1 \x3d lis;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(lis__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar this$ \x3d cljs.core.first(lis__$1);\nvar remainder \x3d cljs.core.next(lis__$1);\nvar vec__19686 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19686,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19686,(1),null);\nvar G__24398 \x3d new_context;\nvar G__24399 \x3d remainder;\nvar G__24400 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__24398;\nlis__$1 \x3d G__24399;\nacc \x3d G__24400;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume \x3d (function cljs$pprint$consume(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__19696 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19696,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19696,(1),null);\nif(cljs.core.not(result)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,new_context], null);\n} else {\nvar G__24402 \x3d new_context;\nvar G__24403 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__24402;\nacc \x3d G__24403;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume_while \x3d (function cljs$pprint$consume_while(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__19705 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19705,(0),null);\nvar continue$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19705,(1),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19705,(2),null);\nif(cljs.core.not(continue$)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar G__24404 \x3d new_context;\nvar G__24405 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__24404;\nacc \x3d G__24405;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.unzip_map \x3d (function cljs$pprint$unzip_map(m){\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__19710(s__19711){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__19711__$1 \x3d s__19711;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__19711__$1);\nif(temp__5804__auto__){\nvar s__19711__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__19711__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__19711__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__19713 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__19712 \x3d (0);\nwhile(true){\nif((i__19712 \x3c size__5522__auto__)){\nvar vec__19714 \x3d cljs.core._nth(c__5521__auto__,i__19712);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19714,(0),null);\nvar vec__19717 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19714,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19717,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19717,(1),null);\ncljs.core.chunk_append(b__19713,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null));\n\nvar G__24410 \x3d (i__19712 + (1));\ni__19712 \x3d G__24410;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__19713),cljs$pprint$unzip_map_$_iter__19710(cljs.core.chunk_rest(s__19711__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__19713),null);\n}\n} else {\nvar vec__19721 \x3d cljs.core.first(s__19711__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19721,(0),null);\nvar vec__19724 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19721,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19724,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19724,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null),cljs$pprint$unzip_map_$_iter__19710(cljs.core.rest(s__19711__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(m);\n})()),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__19730(s__19731){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__19731__$1 \x3d s__19731;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__19731__$1);\nif(temp__5804__auto__){\nvar s__19731__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__19731__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__19731__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__19733 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__19732 \x3d (0);\nwhile(true){\nif((i__19732 \x3c size__5522__auto__)){\nvar vec__19734 \x3d cljs.core._nth(c__5521__auto__,i__19732);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19734,(0),null);\nvar vec__19737 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19734,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19737,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19737,(1),null);\ncljs.core.chunk_append(b__19733,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null));\n\nvar G__24416 \x3d (i__19732 + (1));\ni__19732 \x3d G__24416;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__19733),cljs$pprint$unzip_map_$_iter__19730(cljs.core.chunk_rest(s__19731__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__19733),null);\n}\n} else {\nvar vec__19741 \x3d cljs.core.first(s__19731__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19741,(0),null);\nvar vec__19744 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19741,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19744,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19744,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null),cljs$pprint$unzip_map_$_iter__19730(cljs.core.rest(s__19731__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(m);\n})())], null);\n});\ncljs.pprint.tuple_map \x3d (function cljs$pprint$tuple_map(m,v1){\n\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$tuple_map_$_iter__19748(s__19749){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__19749__$1 \x3d s__19749;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__19749__$1);\nif(temp__5804__auto__){\nvar s__19749__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__19749__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__19749__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__19751 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__19750 \x3d (0);\nwhile(true){\nif((i__19750 \x3c size__5522__auto__)){\nvar vec__19762 \x3d cljs.core._nth(c__5521__auto__,i__19750);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19762,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19762,(1),null);\ncljs.core.chunk_append(b__19751,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null));\n\nvar G__24426 \x3d (i__19750 + (1));\ni__19750 \x3d G__24426;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__19751),cljs$pprint$tuple_map_$_iter__19748(cljs.core.chunk_rest(s__19749__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__19751),null);\n}\n} else {\nvar vec__19782 \x3d cljs.core.first(s__19749__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19782,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19782,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null),cljs$pprint$tuple_map_$_iter__19748(cljs.core.rest(s__19749__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(m);\n})());\n});\ncljs.pprint.rtrim \x3d (function cljs$pprint$rtrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1))),c)))){\nvar n \x3d (len - (1));\nwhile(true){\nif((n \x3c (0))){\nreturn \x22\x22;\n} else {\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(n + (1)));\n} else {\nvar G__24427 \x3d (n - (1));\nn \x3d G__24427;\ncontinue;\n\n}\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.ltrim \x3d (function cljs$pprint$ltrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(0)),c)))){\nvar n \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,len)) || ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,n);\n} else {\nvar G__24428 \x3d (n + (1));\nn \x3d G__24428;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.prefix_count \x3d (function cljs$pprint$prefix_count(aseq,val){\n\nvar test \x3d ((cljs.core.coll_QMARK_(val))?cljs.core.set(val):cljs.core.PersistentHashSet.createAsIfByAssoc([val]));\nvar pos \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pos,cljs.core.count(aseq))) || (cljs.core.not((function (){var G__19922 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(aseq,pos);\nreturn (test.cljs$core$IFn$_invoke$arity$1 ? test.cljs$core$IFn$_invoke$arity$1(G__19922) : test.call(null,G__19922));\n})())))){\nreturn pos;\n} else {\nvar G__24431 \x3d (pos + (1));\npos \x3d G__24431;\ncontinue;\n}\nbreak;\n}\n});\n\n/**\n * @interface\n */\ncljs.pprint.IPrettyFlush \x3d function(){};\n\nvar cljs$pprint$IPrettyFlush$_ppflush$dyn_24433 \x3d (function (pp){\nvar x__5393__auto__ \x3d (((pp \x3d\x3d null))?null:pp);\nvar m__5394__auto__ \x3d (cljs.pprint._ppflush[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5394__auto__.call(null,pp));\n} else {\nvar m__5392__auto__ \x3d (cljs.pprint._ppflush[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5392__auto__.call(null,pp));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrettyFlush.-ppflush\x22,pp);\n}\n}\n});\ncljs.pprint._ppflush \x3d (function cljs$pprint$_ppflush(pp){\nif((((!((pp \x3d\x3d null)))) \x26\x26 ((!((pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d\x3d null)))))){\nreturn pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1(pp);\n} else {\nreturn cljs$pprint$IPrettyFlush$_ppflush$dyn_24433(pp);\n}\n});\n\ncljs.pprint._STAR_default_page_width_STAR_ \x3d (72);\ncljs.pprint.get_field \x3d (function cljs$pprint$get_field(this$,sym){\nvar G__19946 \x3d cljs.core.deref(cljs.core.deref(this$));\nreturn (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(G__19946) : sym.call(null,G__19946));\n});\ncljs.pprint.set_field \x3d (function cljs$pprint$set_field(this$,sym,new_val){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,sym,new_val);\n});\ncljs.pprint.get_column \x3d (function cljs$pprint$get_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599));\n});\ncljs.pprint.get_line \x3d (function cljs$pprint$get_line(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\n});\ncljs.pprint.get_max_column \x3d (function cljs$pprint$get_max_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548));\n});\ncljs.pprint.set_max_column \x3d (function cljs$pprint$set_max_column(this$,new_max){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),new_max);\n\nreturn null;\n});\ncljs.pprint.get_writer \x3d (function cljs$pprint$get_writer(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322));\n});\ncljs.pprint.c_write_char \x3d (function cljs$pprint$c_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0));\n\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + (1)));\n} else {\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + (1)));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),c);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint20015 \x3d (function (writer,max_columns,fields,meta20016){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.fields \x3d fields;\nthis.meta20016 \x3d meta20016;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint20015.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20017,meta20016__$1){\nvar self__ \x3d this;\nvar _20017__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint20015(self__.writer,self__.max_columns,self__.fields,meta20016__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint20015.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20017){\nvar self__ \x3d this;\nvar _20017__$1 \x3d this;\nreturn self__.meta20016;\n}));\n\n(cljs.pprint.t_cljs$pprint20015.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint20015.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint20015.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__20029 \x3d cljs.core._EQ_;\nvar expr__20030 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__20029.cljs$core$IFn$_invoke$arity$2 ? pred__20029.cljs$core$IFn$_invoke$arity$2(String,expr__20030) : pred__20029.call(null,String,expr__20030)))){\nvar s \x3d x;\nvar nl \x3d s.lastIndexOf(\x22\\n\x22);\nif((nl \x3c (0))){\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + cljs.core.count(s)));\n} else {\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),((cljs.core.count(s) - nl) - (1)));\n\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + cljs.core.count(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__20003_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p1__20003_SHARP_,\x22\\n\x22);\n}),s))));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),s);\n} else {\nif(cljs.core.truth_((pred__20029.cljs$core$IFn$_invoke$arity$2 ? pred__20029.cljs$core$IFn$_invoke$arity$2(Number,expr__20030) : pred__20029.call(null,Number,expr__20030)))){\nreturn cljs.pprint.c_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__20030)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint20015.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta20016\x22,\x22meta20016\x22,-628793549,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint20015.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint20015.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint20015\x22);\n\n(cljs.pprint.t_cljs$pprint20015.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint20015\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint20015.\n */\ncljs.pprint.__GT_t_cljs$pprint20015 \x3d (function cljs$pprint$__GT_t_cljs$pprint20015(writer,max_columns,fields,meta20016){\nreturn (new cljs.pprint.t_cljs$pprint20015(writer,max_columns,fields,meta20016));\n});\n\n\ncljs.pprint.column_writer \x3d (function cljs$pprint$column_writer(var_args){\nvar G__20010 \x3d arguments.length;\nswitch (G__20010) {\ncase 1:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (writer){\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,cljs.pprint._STAR_default_page_width_STAR_);\n}));\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (writer,max_columns){\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),max_columns,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(0),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),writer], null));\nreturn (new cljs.pprint.t_cljs$pprint20015(writer,max_columns,fields,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.pprint.column_writer.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.logical_block \x3d (function (parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,__meta,__extmap,__hash){\nthis.parent \x3d parent;\nthis.section \x3d section;\nthis.start_col \x3d start_col;\nthis.indent \x3d indent;\nthis.done_nl \x3d done_nl;\nthis.intra_block_nl \x3d intra_block_nl;\nthis.prefix \x3d prefix;\nthis.per_line_prefix \x3d per_line_prefix;\nthis.suffix \x3d suffix;\nthis.logical_block_callback \x3d logical_block_callback;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k20045,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__20068 \x3d k20045;\nvar G__20068__$1 \x3d (((G__20068 instanceof cljs.core.Keyword))?G__20068.fqn:null);\nswitch (G__20068__$1) {\ncase \x22parent\x22:\nreturn self__.parent;\n\nbreak;\ncase \x22section\x22:\nreturn self__.section;\n\nbreak;\ncase \x22start-col\x22:\nreturn self__.start_col;\n\nbreak;\ncase \x22indent\x22:\nreturn self__.indent;\n\nbreak;\ncase \x22done-nl\x22:\nreturn self__.done_nl;\n\nbreak;\ncase \x22intra-block-nl\x22:\nreturn self__.intra_block_nl;\n\nbreak;\ncase \x22prefix\x22:\nreturn self__.prefix;\n\nbreak;\ncase \x22per-line-prefix\x22:\nreturn self__.per_line_prefix;\n\nbreak;\ncase \x22suffix\x22:\nreturn self__.suffix;\n\nbreak;\ncase \x22logical-block-callback\x22:\nreturn self__.logical_block_callback;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20045,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__20078){\nvar vec__20079 \x3d p__20078;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20079,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20079,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.logical-block{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__20044){\nvar self__ \x3d this;\nvar G__20044__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__20044__$1,10,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (10 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1977012399 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this20047,other20048){\nvar self__ \x3d this;\nvar this20047__$1 \x3d this;\nreturn (((!((other20048 \x3d\x3d null)))) \x26\x26 ((((this20047__$1.constructor \x3d\x3d\x3d other20048.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.parent,other20048.parent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.section,other20048.section)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.start_col,other20048.start_col)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.indent,other20048.indent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.done_nl,other20048.done_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.intra_block_nl,other20048.intra_block_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.prefix,other20048.prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.per_line_prefix,other20048.per_line_prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.suffix,other20048.suffix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.logical_block_callback,other20048.logical_block_callback)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20047__$1.__extmap,other20048.__extmap)))))))))))))))))))))))));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 10, [new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k20045){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__20098 \x3d k20045;\nvar G__20098__$1 \x3d (((G__20098 instanceof cljs.core.Keyword))?G__20098.fqn:null);\nswitch (G__20098__$1) {\ncase \x22parent\x22:\ncase \x22section\x22:\ncase \x22start-col\x22:\ncase \x22indent\x22:\ncase \x22done-nl\x22:\ncase \x22intra-block-nl\x22:\ncase \x22prefix\x22:\ncase \x22per-line-prefix\x22:\ncase \x22suffix\x22:\ncase \x22logical-block-callback\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k20045);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__20044){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__20100 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__20101 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__20101)))){\nreturn (new cljs.pprint.logical_block(G__20044,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__20101)))){\nreturn (new cljs.pprint.logical_block(self__.parent,G__20044,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__20101)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,G__20044,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__20101)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,G__20044,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__20101)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,G__20044,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__20101)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,G__20044,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__20101)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,G__20044,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__20101)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,G__20044,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__20101)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,G__20044,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20100.cljs$core$IFn$_invoke$arity$2 ? pred__20100.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__20101) : pred__20100.call(null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__20101)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,G__20044,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20044),null));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__20044){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,G__20044,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.logical_block.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22parent\x22,\x22parent\x22,761652748,null),new cljs.core.Symbol(null,\x22section\x22,\x22section\x22,1340390001,null),new cljs.core.Symbol(null,\x22start-col\x22,\x22start-col\x22,-1986355626,null),new cljs.core.Symbol(null,\x22indent\x22,\x22indent\x22,1492331402,null),new cljs.core.Symbol(null,\x22done-nl\x22,\x22done-nl\x22,1259507187,null),new cljs.core.Symbol(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,-845608894,null),new cljs.core.Symbol(null,\x22prefix\x22,\x22prefix\x22,1374623062,null),new cljs.core.Symbol(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,-1807493956,null),new cljs.core.Symbol(null,\x22suffix\x22,\x22suffix\x22,2007904584,null),new cljs.core.Symbol(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,-1041744575,null)], null);\n}));\n\n(cljs.pprint.logical_block.cljs$lang$type \x3d true);\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/logical-block\x22,null,(1),null));\n}));\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/logical-block\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/logical-block.\n */\ncljs.pprint.__GT_logical_block \x3d (function cljs$pprint$__GT_logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback){\nreturn (new cljs.pprint.logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/logical-block, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_logical_block \x3d (function cljs$pprint$map__GT_logical_block(G__20061){\nvar extmap__5385__auto__ \x3d (function (){var G__20117 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__20061,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], 0));\nif(cljs.core.record_QMARK_(G__20061)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20117);\n} else {\nreturn G__20117;\n}\n})();\nreturn (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(G__20061),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526).cljs$core$IFn$_invoke$arity$1(G__20061),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(G__20061),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(G__20061),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(G__20061),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(G__20061),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(G__20061),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(G__20061),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(G__20061),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(G__20061),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\ncljs.pprint.ancestor_QMARK_ \x3d (function cljs$pprint$ancestor_QMARK_(parent,child){\nvar child__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child);\nwhile(true){\nif((child__$1 \x3d\x3d null)){\nreturn false;\n} else {\nif((parent \x3d\x3d\x3d child__$1)){\nreturn true;\n} else {\nvar G__24451 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child__$1);\nchild__$1 \x3d G__24451;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.buffer_length \x3d (function cljs$pprint$buffer_length(l){\nvar l__$1 \x3d cljs.core.seq(l);\nif(l__$1){\nreturn (new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(cljs.core.last(l__$1)) - new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(cljs.core.first(l__$1)));\n} else {\nreturn (0);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.buffer_blob \x3d (function (type_tag,data,trailing_white_space,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.data \x3d data;\nthis.trailing_white_space \x3d trailing_white_space;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k20128,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__20134 \x3d k20128;\nvar G__20134__$1 \x3d (((G__20134 instanceof cljs.core.Keyword))?G__20134.fqn:null);\nswitch (G__20134__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22data\x22:\nreturn self__.data;\n\nbreak;\ncase \x22trailing-white-space\x22:\nreturn self__.trailing_white_space;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20128,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__20138){\nvar vec__20139 \x3d p__20138;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20139,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20139,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.buffer-blob{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__20127){\nvar self__ \x3d this;\nvar G__20127__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__20127__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1809113693 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this20129,other20130){\nvar self__ \x3d this;\nvar this20129__$1 \x3d this;\nreturn (((!((other20130 \x3d\x3d null)))) \x26\x26 ((((this20129__$1.constructor \x3d\x3d\x3d other20130.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20129__$1.type_tag,other20130.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20129__$1.data,other20130.data)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20129__$1.trailing_white_space,other20130.trailing_white_space)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20129__$1.start_pos,other20130.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20129__$1.end_pos,other20130.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20129__$1.__extmap,other20130.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k20128){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__20246 \x3d k20128;\nvar G__20246__$1 \x3d (((G__20246 instanceof cljs.core.Keyword))?G__20246.fqn:null);\nswitch (G__20246__$1) {\ncase \x22type-tag\x22:\ncase \x22data\x22:\ncase \x22trailing-white-space\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k20128);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__20127){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__20253 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__20254 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__20253.cljs$core$IFn$_invoke$arity$2 ? pred__20253.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20254) : pred__20253.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20254)))){\nreturn (new cljs.pprint.buffer_blob(G__20127,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20253.cljs$core$IFn$_invoke$arity$2 ? pred__20253.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__20254) : pred__20253.call(null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__20254)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,G__20127,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20253.cljs$core$IFn$_invoke$arity$2 ? pred__20253.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__20254) : pred__20253.call(null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__20254)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,G__20127,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20253.cljs$core$IFn$_invoke$arity$2 ? pred__20253.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20254) : pred__20253.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20254)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,G__20127,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20253.cljs$core$IFn$_invoke$arity$2 ? pred__20253.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20254) : pred__20253.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20254)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,G__20127,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20127),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__20127){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,G__20127,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.buffer_blob.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.Symbol(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,-1158428773,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$type \x3d true);\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/buffer-blob\x22,null,(1),null));\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/buffer-blob\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/buffer-blob.\n */\ncljs.pprint.__GT_buffer_blob \x3d (function cljs$pprint$__GT_buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/buffer-blob, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_buffer_blob \x3d (function cljs$pprint$map__GT_buffer_blob(G__20131){\nvar extmap__5385__auto__ \x3d (function (){var G__20272 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__20131,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__20131)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20272);\n} else {\nreturn G__20272;\n}\n})();\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__20131),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(G__20131),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(G__20131),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__20131),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__20131),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_buffer_blob \x3d (function cljs$pprint$make_buffer_blob(data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.buffer_blob_QMARK_ \x3d (function cljs$pprint$buffer_blob_QMARK_(x__19209__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__19209__auto__),new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.nl_t \x3d (function (type_tag,type,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.type \x3d type;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k20283,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__20295 \x3d k20283;\nvar G__20295__$1 \x3d (((G__20295 instanceof cljs.core.Keyword))?G__20295.fqn:null);\nswitch (G__20295__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22type\x22:\nreturn self__.type;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20283,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__20299){\nvar vec__20300 \x3d p__20299;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20300,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20300,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.nl-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__20282){\nvar self__ \x3d this;\nvar G__20282__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__20282__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-1640656800 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this20284,other20285){\nvar self__ \x3d this;\nvar this20284__$1 \x3d this;\nreturn (((!((other20285 \x3d\x3d null)))) \x26\x26 ((((this20284__$1.constructor \x3d\x3d\x3d other20285.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20284__$1.type_tag,other20285.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20284__$1.type,other20285.type)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20284__$1.logical_block,other20285.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20284__$1.start_pos,other20285.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20284__$1.end_pos,other20285.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20284__$1.__extmap,other20285.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k20283){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__20312 \x3d k20283;\nvar G__20312__$1 \x3d (((G__20312 instanceof cljs.core.Keyword))?G__20312.fqn:null);\nswitch (G__20312__$1) {\ncase \x22type-tag\x22:\ncase \x22type\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k20283);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__20282){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__20313 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__20314 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__20313.cljs$core$IFn$_invoke$arity$2 ? pred__20313.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20314) : pred__20313.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20314)))){\nreturn (new cljs.pprint.nl_t(G__20282,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20313.cljs$core$IFn$_invoke$arity$2 ? pred__20313.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__20314) : pred__20313.call(null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__20314)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,G__20282,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20313.cljs$core$IFn$_invoke$arity$2 ? pred__20313.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__20314) : pred__20313.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__20314)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,G__20282,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20313.cljs$core$IFn$_invoke$arity$2 ? pred__20313.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20314) : pred__20313.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20314)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,G__20282,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20313.cljs$core$IFn$_invoke$arity$2 ? pred__20313.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20314) : pred__20313.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20314)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,G__20282,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20282),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__20282){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,G__20282,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.nl_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.nl_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/nl-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/nl-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/nl-t.\n */\ncljs.pprint.__GT_nl_t \x3d (function cljs$pprint$__GT_nl_t(type_tag,type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(type_tag,type,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/nl-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_nl_t \x3d (function cljs$pprint$map__GT_nl_t(G__20289){\nvar extmap__5385__auto__ \x3d (function (){var G__20323 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__20289,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__20289)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20323);\n} else {\nreturn G__20323;\n}\n})();\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__20289),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(G__20289),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__20289),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__20289),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__20289),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_nl_t \x3d (function cljs$pprint$make_nl_t(type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),type,logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.nl_t_QMARK_ \x3d (function cljs$pprint$nl_t_QMARK_(x__19209__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__19209__auto__),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.start_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k20329,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__20334 \x3d k20329;\nvar G__20334__$1 \x3d (((G__20334 instanceof cljs.core.Keyword))?G__20334.fqn:null);\nswitch (G__20334__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20329,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__20335){\nvar vec__20336 \x3d p__20335;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20336,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20336,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.start-block-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__20328){\nvar self__ \x3d this;\nvar G__20328__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__20328__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-414877272 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this20330,other20331){\nvar self__ \x3d this;\nvar this20330__$1 \x3d this;\nreturn (((!((other20331 \x3d\x3d null)))) \x26\x26 ((((this20330__$1.constructor \x3d\x3d\x3d other20331.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20330__$1.type_tag,other20331.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20330__$1.logical_block,other20331.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20330__$1.start_pos,other20331.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20330__$1.end_pos,other20331.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20330__$1.__extmap,other20331.__extmap)))))))))))));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k20329){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__20385 \x3d k20329;\nvar G__20385__$1 \x3d (((G__20385 instanceof cljs.core.Keyword))?G__20385.fqn:null);\nswitch (G__20385__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k20329);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__20328){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__20398 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__20399 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__20398.cljs$core$IFn$_invoke$arity$2 ? pred__20398.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20399) : pred__20398.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20399)))){\nreturn (new cljs.pprint.start_block_t(G__20328,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20398.cljs$core$IFn$_invoke$arity$2 ? pred__20398.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__20399) : pred__20398.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__20399)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,G__20328,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20398.cljs$core$IFn$_invoke$arity$2 ? pred__20398.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20399) : pred__20398.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20399)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,G__20328,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20398.cljs$core$IFn$_invoke$arity$2 ? pred__20398.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20399) : pred__20398.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20399)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__20328,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20328),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__20328){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__20328,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.start_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/start-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/start-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/start-block-t.\n */\ncljs.pprint.__GT_start_block_t \x3d (function cljs$pprint$__GT_start_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/start-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_start_block_t \x3d (function cljs$pprint$map__GT_start_block_t(G__20332){\nvar extmap__5385__auto__ \x3d (function (){var G__20466 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__20332,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__20332)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20466);\n} else {\nreturn G__20466;\n}\n})();\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__20332),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__20332),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__20332),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__20332),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_start_block_t \x3d (function cljs$pprint$make_start_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.start_block_t_QMARK_ \x3d (function cljs$pprint$start_block_t_QMARK_(x__19209__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__19209__auto__),new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.end_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k20483,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__20492 \x3d k20483;\nvar G__20492__$1 \x3d (((G__20492 instanceof cljs.core.Keyword))?G__20492.fqn:null);\nswitch (G__20492__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20483,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__20498){\nvar vec__20499 \x3d p__20498;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20499,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20499,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.end-block-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__20482){\nvar self__ \x3d this;\nvar G__20482__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__20482__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1365867980 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this20484,other20485){\nvar self__ \x3d this;\nvar this20484__$1 \x3d this;\nreturn (((!((other20485 \x3d\x3d null)))) \x26\x26 ((((this20484__$1.constructor \x3d\x3d\x3d other20485.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20484__$1.type_tag,other20485.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20484__$1.logical_block,other20485.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20484__$1.start_pos,other20485.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20484__$1.end_pos,other20485.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20484__$1.__extmap,other20485.__extmap)))))))))))));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k20483){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__20539 \x3d k20483;\nvar G__20539__$1 \x3d (((G__20539 instanceof cljs.core.Keyword))?G__20539.fqn:null);\nswitch (G__20539__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k20483);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__20482){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__20547 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__20548 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__20547.cljs$core$IFn$_invoke$arity$2 ? pred__20547.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20548) : pred__20547.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20548)))){\nreturn (new cljs.pprint.end_block_t(G__20482,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20547.cljs$core$IFn$_invoke$arity$2 ? pred__20547.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__20548) : pred__20547.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__20548)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,G__20482,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20547.cljs$core$IFn$_invoke$arity$2 ? pred__20547.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20548) : pred__20547.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20548)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,G__20482,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20547.cljs$core$IFn$_invoke$arity$2 ? pred__20547.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20548) : pred__20547.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20548)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__20482,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20482),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__20482){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__20482,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.end_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/end-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/end-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/end-block-t.\n */\ncljs.pprint.__GT_end_block_t \x3d (function cljs$pprint$__GT_end_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/end-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_end_block_t \x3d (function cljs$pprint$map__GT_end_block_t(G__20488){\nvar extmap__5385__auto__ \x3d (function (){var G__20573 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__20488,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__20488)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20573);\n} else {\nreturn G__20573;\n}\n})();\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__20488),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__20488),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__20488),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__20488),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_end_block_t \x3d (function cljs$pprint$make_end_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.end_block_t_QMARK_ \x3d (function cljs$pprint$end_block_t_QMARK_(x__19209__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__19209__auto__),new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.indent_t \x3d (function (type_tag,logical_block,relative_to,offset,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.relative_to \x3d relative_to;\nthis.offset \x3d offset;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k20576,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__20596 \x3d k20576;\nvar G__20596__$1 \x3d (((G__20596 instanceof cljs.core.Keyword))?G__20596.fqn:null);\nswitch (G__20596__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22relative-to\x22:\nreturn self__.relative_to;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20576,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__20597){\nvar vec__20599 \x3d p__20597;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20599,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20599,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.indent-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__20575){\nvar self__ \x3d this;\nvar G__20575__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__20575__$1,6,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (6 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-1602780238 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this20577,other20578){\nvar self__ \x3d this;\nvar this20577__$1 \x3d this;\nreturn (((!((other20578 \x3d\x3d null)))) \x26\x26 ((((this20577__$1.constructor \x3d\x3d\x3d other20578.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20577__$1.type_tag,other20578.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20577__$1.logical_block,other20578.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20577__$1.relative_to,other20578.relative_to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20577__$1.offset,other20578.offset)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20577__$1.start_pos,other20578.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20577__$1.end_pos,other20578.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20577__$1.__extmap,other20578.__extmap)))))))))))))))));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k20576){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__20674 \x3d k20576;\nvar G__20674__$1 \x3d (((G__20674 instanceof cljs.core.Keyword))?G__20674.fqn:null);\nswitch (G__20674__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22relative-to\x22:\ncase \x22offset\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k20576);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__20575){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__20681 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__20682 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__20681.cljs$core$IFn$_invoke$arity$2 ? pred__20681.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20682) : pred__20681.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__20682)))){\nreturn (new cljs.pprint.indent_t(G__20575,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20681.cljs$core$IFn$_invoke$arity$2 ? pred__20681.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__20682) : pred__20681.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__20682)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,G__20575,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20681.cljs$core$IFn$_invoke$arity$2 ? pred__20681.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__20682) : pred__20681.call(null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__20682)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,G__20575,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20681.cljs$core$IFn$_invoke$arity$2 ? pred__20681.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__20682) : pred__20681.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__20682)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,G__20575,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20681.cljs$core$IFn$_invoke$arity$2 ? pred__20681.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20682) : pred__20681.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__20682)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,G__20575,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__20681.cljs$core$IFn$_invoke$arity$2 ? pred__20681.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20682) : pred__20681.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__20682)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,G__20575,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20575),null));\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__20575){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,G__20575,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.indent_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22relative-to\x22,\x22relative-to\x22,1170431476,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.indent_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/indent-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/indent-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/indent-t.\n */\ncljs.pprint.__GT_indent_t \x3d (function cljs$pprint$__GT_indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/indent-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_indent_t \x3d (function cljs$pprint$map__GT_indent_t(G__20589){\nvar extmap__5385__auto__ \x3d (function (){var G__20710 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__20589,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__20589)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20710);\n} else {\nreturn G__20710;\n}\n})();\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__20589),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__20589),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(G__20589),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__20589),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__20589),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__20589),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_indent_t \x3d (function cljs$pprint$make_indent_t(logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.indent_t_QMARK_ \x3d (function cljs$pprint$indent_t_QMARK_(x__19209__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__19209__auto__),new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969));\n});\ncljs.pprint.pp_newline \x3d (function cljs$pprint$pp_newline(){\nreturn \x22\\n\x22;\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.write_token !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.write_token \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__20748 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__20748.cljs$core$IFn$_invoke$arity$0 ? fexpr__20748.cljs$core$IFn$_invoke$arity$0() : fexpr__20748.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22write-token\x22),(function (p1__20740_SHARP_,p2__20739_SHARP_){\nreturn new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(p2__20739_SHARP_);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),(function (this$,token){\nvar temp__5804__auto___24696 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___24696)){\nvar cb_24697 \x3d temp__5804__auto___24696;\n(cb_24697.cljs$core$IFn$_invoke$arity$1 ? cb_24697.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_24697.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nvar temp__5804__auto___24698 \x3d new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(temp__5804__auto___24698)){\nvar prefix_24699 \x3d temp__5804__auto___24698;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix_24699);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb),col);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),col);\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),(function (this$,token){\nvar temp__5804__auto___24704 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___24704)){\nvar cb_24705 \x3d temp__5804__auto___24704;\n(cb_24705.cljs$core$IFn$_invoke$arity$1 ? cb_24705.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_24705.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar suffix \x3d temp__5804__auto__;\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\nreturn null;\n}\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),(function (this$,token){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(token) + (function (){var pred__20841 \x3d cljs.core._EQ_;\nvar expr__20842 \x3d new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(token);\nif(cljs.core.truth_((pred__20841.cljs$core$IFn$_invoke$arity$2 ? pred__20841.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__20842) : pred__20841.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__20842)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__20841.cljs$core$IFn$_invoke$arity$2 ? pred__20841.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__20842) : pred__20841.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__20842)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__20842)].join(\x27\x27)));\n}\n}\n})()));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),(function (this$,token){\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(token));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),(function (this$,token){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889))));\nif(and__5043__auto__){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token)));\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\n(cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2(this$,token) : cljs.pprint.emit_nl.call(null,this$,token));\n} else {\nvar temp__5802__auto___24709 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___24709)){\nvar tws_24711 \x3d temp__5802__auto___24709;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_24711);\n} else {\n}\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n}));\ncljs.pprint.write_tokens \x3d (function cljs$pprint$write_tokens(this$,tokens,force_trailing_whitespace){\nvar seq__20870 \x3d cljs.core.seq(tokens);\nvar chunk__20871 \x3d null;\nvar count__20872 \x3d (0);\nvar i__20873 \x3d (0);\nwhile(true){\nif((i__20873 \x3c count__20872)){\nvar token \x3d chunk__20871.cljs$core$IIndexed$_nth$arity$2(null,i__20873);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5802__auto___24712 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___24712)){\nvar tws_24713 \x3d temp__5802__auto___24712;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_24713);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_24714 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn tws_24714;\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_24714);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__24715 \x3d seq__20870;\nvar G__24716 \x3d chunk__20871;\nvar G__24717 \x3d count__20872;\nvar G__24718 \x3d (i__20873 + (1));\nseq__20870 \x3d G__24715;\nchunk__20871 \x3d G__24716;\ncount__20872 \x3d G__24717;\ni__20873 \x3d G__24718;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__20870);\nif(temp__5804__auto__){\nvar seq__20870__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__20870__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20870__$1);\nvar G__24719 \x3d cljs.core.chunk_rest(seq__20870__$1);\nvar G__24720 \x3d c__5568__auto__;\nvar G__24721 \x3d cljs.core.count(c__5568__auto__);\nvar G__24722 \x3d (0);\nseq__20870 \x3d G__24719;\nchunk__20871 \x3d G__24720;\ncount__20872 \x3d G__24721;\ni__20873 \x3d G__24722;\ncontinue;\n} else {\nvar token \x3d cljs.core.first(seq__20870__$1);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5802__auto___24723 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___24723)){\nvar tws_24724 \x3d temp__5802__auto___24723;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_24724);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_24725 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn tws_24725;\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_24725);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__24726 \x3d cljs.core.next(seq__20870__$1);\nvar G__24727 \x3d null;\nvar G__24728 \x3d (0);\nvar G__24729 \x3d (0);\nseq__20870 \x3d G__24726;\nchunk__20871 \x3d G__24727;\ncount__20872 \x3d G__24728;\ni__20873 \x3d G__24729;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.pprint.tokens_fit_QMARK_ \x3d (function cljs$pprint$tokens_fit_QMARK_(this$,tokens){\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nreturn (((maxcol \x3d\x3d null)) || (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))) + cljs.pprint.buffer_length(tokens)) \x3c maxcol)));\n});\ncljs.pprint.linear_nl_QMARK_ \x3d (function cljs$pprint$linear_nl_QMARK_(this$,lb,section){\nvar or__5045__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (!(cljs.pprint.tokens_fit_QMARK_(this$,section)));\n}\n});\ncljs.pprint.miser_nl_QMARK_ \x3d (function cljs$pprint$miser_nl_QMARK_(this$,lb,section){\nvar miser_width \x3d cljs.pprint.get_miser_width(this$);\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nvar and__5043__auto__ \x3d miser_width;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d maxcol;\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb)) \x3e\x3d (maxcol - miser_width));\nif(and__5043__auto____$2){\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.emit_nl_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.emit_nl_QMARK_ \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__21006 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__21006.cljs$core$IFn$_invoke$arity$0 ? fexpr__21006.cljs$core$IFn$_invoke$arity$0() : fexpr__21006.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22emit-nl?\x22),(function (t,_,___$1,___$2){\nreturn new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(t);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),(function (newl,this$,section,subsection){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nvar or__5045__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,subsection)));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}\n}\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),(function (_,___$1,___$2,___$3){\nreturn true;\n}));\ncljs.pprint.get_section \x3d (function cljs$pprint$get_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__21030_SHARP_){\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__21030_SHARP_)) \x26\x26 (cljs.pprint.ancestor_QMARK_(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__21030_SHARP_),lb)))));\n}),cljs.core.next(buffer)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [section,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((cljs.core.count(section) + (1)),buffer))], null);\n});\ncljs.pprint.get_sub_section \x3d (function cljs$pprint$get_sub_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__21040_SHARP_){\nvar nl_lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__21040_SHARP_);\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__21040_SHARP_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(nl_lb,lb)) || (cljs.pprint.ancestor_QMARK_(nl_lb,lb)))))));\n}),cljs.core.next(buffer)));\nreturn section;\n});\ncljs.pprint.update_nl_state \x3d (function cljs$pprint$update_nl_state(lb){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb),true);\n\nvar lb__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb);\nwhile(true){\nif(cljs.core.truth_(lb__$1)){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\nvar G__24730 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb__$1);\nlb__$1 \x3d G__24730;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.emit_nl \x3d (function cljs$pprint$emit_nl(this$,nl){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar istr_24731 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((cljs.core.deref(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb)) - cljs.core.count(prefix)),\x22 \x22));\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),istr_24731);\n\nreturn cljs.pprint.update_nl_state(lb);\n});\ncljs.pprint.split_at_newline \x3d (function cljs$pprint$split_at_newline(tokens){\nvar pre \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__21069_SHARP_){\nreturn (!(cljs.pprint.nl_t_QMARK_(p1__21069_SHARP_)));\n}),tokens));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(pre),tokens))], null);\n});\ncljs.pprint.write_token_string \x3d (function cljs$pprint$write_token_string(this$,tokens){\nvar vec__21084 \x3d cljs.pprint.split_at_newline(tokens);\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21084,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21084,(1),null);\nif(cljs.core.truth_(a)){\ncljs.pprint.write_tokens(this$,a,false);\n} else {\n}\n\nif(cljs.core.truth_(b)){\nvar vec__21087 \x3d cljs.pprint.get_section(b);\nvar section \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21087,(0),null);\nvar remainder \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21087,(1),null);\nvar newl \x3d cljs.core.first(b);\nvar do_nl \x3d cljs.pprint.emit_nl_QMARK_.cljs$core$IFn$_invoke$arity$4(newl,this$,section,cljs.pprint.get_sub_section(b));\nvar result \x3d (cljs.core.truth_(do_nl)?(function (){\ncljs.pprint.emit_nl(this$,newl);\n\nreturn cljs.core.next(b);\n})()\n:b);\nvar long_section \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,result)));\nvar result__$1 \x3d ((long_section)?(function (){var rem2 \x3d (cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2(this$,section) : cljs.pprint.write_token_string.call(null,this$,section));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(rem2,section)){\ncljs.pprint.write_tokens(this$,section,false);\n\nreturn remainder;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(rem2,remainder));\n}\n})():result);\nreturn result__$1;\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_line \x3d (function cljs$pprint$write_line(this$){\nvar buffer \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nwhile(true){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,buffer));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,buffer)))){\nvar new_buffer \x3d cljs.pprint.write_token_string(this$,buffer);\nif((!((buffer \x3d\x3d\x3d new_buffer)))){\nvar G__24732 \x3d new_buffer;\nbuffer \x3d G__24732;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.add_to_buffer \x3d (function cljs$pprint$add_to_buffer(this$,token){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),token));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))))){\nreturn cljs.pprint.write_line(this$);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_buffered_output \x3d (function cljs$pprint$write_buffered_output(this$){\ncljs.pprint.write_line(this$);\n\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar buf \x3d temp__5802__auto__;\ncljs.pprint.write_tokens(this$,buf,true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_white_space \x3d (function cljs$pprint$write_white_space(this$){\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar tws \x3d temp__5804__auto__;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_initial_lines \x3d (function cljs$pprint$write_initial_lines(this$,s){\nvar lines \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,\x22\\n\x22,(-1));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(lines),(1))){\nreturn s;\n} else {\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(cljs.core.first(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))));\nvar l \x3d cljs.core.first(lines);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))){\nvar oldpos_24733 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_24734 \x3d (oldpos_24733 + cljs.core.count(l));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_24734);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(l,null,oldpos_24733,newpos_24734));\n\ncljs.pprint.write_buffered_output(this$);\n} else {\ncljs.pprint.write_white_space(this$);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l);\n}\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),\x22\\n\x22);\n\nvar seq__21123_24735 \x3d cljs.core.seq(cljs.core.next(cljs.core.butlast(lines)));\nvar chunk__21124_24736 \x3d null;\nvar count__21125_24737 \x3d (0);\nvar i__21126_24738 \x3d (0);\nwhile(true){\nif((i__21126_24738 \x3c count__21125_24737)){\nvar l_24739__$1 \x3d chunk__21124_24736.cljs$core$IIndexed$_nth$arity$2(null,i__21126_24738);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_24739__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__24740 \x3d seq__21123_24735;\nvar G__24741 \x3d chunk__21124_24736;\nvar G__24742 \x3d count__21125_24737;\nvar G__24743 \x3d (i__21126_24738 + (1));\nseq__21123_24735 \x3d G__24740;\nchunk__21124_24736 \x3d G__24741;\ncount__21125_24737 \x3d G__24742;\ni__21126_24738 \x3d G__24743;\ncontinue;\n} else {\nvar temp__5804__auto___24744 \x3d cljs.core.seq(seq__21123_24735);\nif(temp__5804__auto___24744){\nvar seq__21123_24745__$1 \x3d temp__5804__auto___24744;\nif(cljs.core.chunked_seq_QMARK_(seq__21123_24745__$1)){\nvar c__5568__auto___24746 \x3d cljs.core.chunk_first(seq__21123_24745__$1);\nvar G__24747 \x3d cljs.core.chunk_rest(seq__21123_24745__$1);\nvar G__24748 \x3d c__5568__auto___24746;\nvar G__24749 \x3d cljs.core.count(c__5568__auto___24746);\nvar G__24750 \x3d (0);\nseq__21123_24735 \x3d G__24747;\nchunk__21124_24736 \x3d G__24748;\ncount__21125_24737 \x3d G__24749;\ni__21126_24738 \x3d G__24750;\ncontinue;\n} else {\nvar l_24751__$1 \x3d cljs.core.first(seq__21123_24745__$1);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_24751__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__24752 \x3d cljs.core.next(seq__21123_24745__$1);\nvar G__24753 \x3d null;\nvar G__24754 \x3d (0);\nvar G__24755 \x3d (0);\nseq__21123_24735 \x3d G__24752;\nchunk__21124_24736 \x3d G__24753;\ncount__21125_24737 \x3d G__24754;\ni__21126_24738 \x3d G__24755;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108));\n\nreturn cljs.core.last(lines);\n}\n});\ncljs.pprint.p_write_char \x3d (function cljs$pprint$p_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),c);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\nreturn cljs.pprint.write_initial_lines(this$,\x22\\n\x22);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (1));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(cljs.core.char$(c),null,oldpos,newpos));\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.pprint.IPrettyFlush}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint21242 \x3d (function (writer,max_columns,miser_width,lb,fields,meta21243){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.miser_width \x3d miser_width;\nthis.lb \x3d lb;\nthis.fields \x3d fields;\nthis.meta21243 \x3d meta21243;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint21242.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_21244,meta21243__$1){\nvar self__ \x3d this;\nvar _21244__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint21242(self__.writer,self__.max_columns,self__.miser_width,self__.lb,self__.fields,meta21243__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint21242.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_21244){\nvar self__ \x3d this;\nvar _21244__$1 \x3d this;\nreturn self__.meta21243;\n}));\n\n(cljs.pprint.t_cljs$pprint21242.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint21242.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__21249 \x3d cljs.core._EQ_;\nvar expr__21250 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__21249.cljs$core$IFn$_invoke$arity$2 ? pred__21249.cljs$core$IFn$_invoke$arity$2(String,expr__21250) : pred__21249.call(null,String,expr__21250)))){\nvar s0 \x3d cljs.pprint.write_initial_lines(this$__$1,x);\nvar s \x3d clojure.string.replace_first(s0,/\\s+$/,\x22\x22);\nvar white_space \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s0,((s).length));\nvar mode \x3d new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),s);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),white_space);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nvar newpos \x3d (oldpos + cljs.core.count(s0));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$__$1,cljs.pprint.make_buffer_blob(s,white_space,oldpos,newpos));\n}\n} else {\nif(cljs.core.truth_((pred__21249.cljs$core$IFn$_invoke$arity$2 ? pred__21249.cljs$core$IFn$_invoke$arity$2(Number,expr__21250) : pred__21249.call(null,Number,expr__21250)))){\nreturn cljs.pprint.p_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__21250)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint21242.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthis$__$1.cljs$pprint$IPrettyFlush$_ppflush$arity$1(null);\n\nreturn cljs.core._flush(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))));\n}));\n\n(cljs.pprint.t_cljs$pprint21242.prototype.cljs$pprint$IPrettyFlush$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.pprint.t_cljs$pprint21242.prototype.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613))){\ncljs.pprint.write_tokens(this$__$1,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn cljs.pprint.write_white_space(this$__$1);\n}\n}));\n\n(cljs.pprint.t_cljs$pprint21242.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22miser-width\x22,\x22miser-width\x22,330482090,null),new cljs.core.Symbol(null,\x22lb\x22,\x22lb\x22,950310490,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta21243\x22,\x22meta21243\x22,1917784402,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint21242.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint21242.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint21242\x22);\n\n(cljs.pprint.t_cljs$pprint21242.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint21242\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint21242.\n */\ncljs.pprint.__GT_t_cljs$pprint21242 \x3d (function cljs$pprint$__GT_t_cljs$pprint21242(writer,max_columns,miser_width,lb,fields,meta21243){\nreturn (new cljs.pprint.t_cljs$pprint21242(writer,max_columns,miser_width,lb,fields,meta21243));\n});\n\n\ncljs.pprint.pretty_writer \x3d (function cljs$pprint$pretty_writer(writer,max_columns,miser_width){\nvar lb \x3d (new cljs.pprint.logical_block(null,null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),null,null,null,null,null,null,null));\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437),new cljs.core.Keyword(null,\x22buffer-block\x22,\x22buffer-block\x22,-10937307),new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267),new cljs.core.Keyword(null,\x22sections\x22,\x22sections\x22,-886710106),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.Keyword(null,\x22buffer-level\x22,\x22buffer-level\x22,928864731),new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198)],[lb,miser_width,lb,true,null,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108),(0),null,cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,max_columns),(1),cljs.core.PersistentVector.EMPTY]));\nreturn (new cljs.pprint.t_cljs$pprint21242(writer,max_columns,miser_width,lb,fields,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.start_block \x3d (function cljs$pprint$start_block(this$,prefix,per_line_prefix,suffix){\nvar lb \x3d (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),prefix,per_line_prefix,suffix,null,null,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),lb);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nvar temp__5804__auto___24760 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___24760)){\nvar cb_24761 \x3d temp__5804__auto___24760;\n(cb_24761.cljs$core$IFn$_invoke$arity$1 ? cb_24761.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_24761.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(lb.start_col,col);\n\nreturn cljs.core.reset_BANG_(lb.indent,col);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (cljs.core.truth_(prefix)?cljs.core.count(prefix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_start_block_t(lb,oldpos,newpos));\n}\n});\ncljs.pprint.end_block \x3d (function cljs$pprint$end_block(this$){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar suffix \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nif(cljs.core.truth_(suffix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\n}\n\nvar temp__5804__auto___24762 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___24762)){\nvar cb_24763 \x3d temp__5804__auto___24762;\n(cb_24763.cljs$core$IFn$_invoke$arity$1 ? cb_24763.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_24763.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n} else {\nvar oldpos_24764 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_24765 \x3d (oldpos_24764 + (cljs.core.truth_(suffix)?cljs.core.count(suffix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_24765);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_end_block_t(lb,oldpos_24764,newpos_24765));\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb));\n});\ncljs.pprint.nl \x3d (function cljs$pprint$nl(this$,type){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613));\n\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_nl_t(type,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),pos,pos));\n});\ncljs.pprint.indent \x3d (function cljs$pprint$indent(this$,relative_to,offset){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(offset + (function (){var pred__21457 \x3d cljs.core._EQ_;\nvar expr__21458 \x3d relative_to;\nif(cljs.core.truth_((pred__21457.cljs$core$IFn$_invoke$arity$2 ? pred__21457.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__21458) : pred__21457.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__21458)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__21457.cljs$core$IFn$_invoke$arity$2 ? pred__21457.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__21458) : pred__21457.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__21458)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__21458)].join(\x27\x27)));\n}\n}\n})()));\n} else {\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_indent_t(lb,relative_to,offset,pos,pos));\n}\n});\ncljs.pprint.get_miser_width \x3d (function cljs$pprint$get_miser_width(this$){\nreturn new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\n});\n/**\n * Bind to true if you want write to use pretty printing\n */\ncljs.pprint._STAR_print_pretty_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint._STAR_print_pprint_dispatch_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function. Use with-pprint-dispatch or\n * set-pprint-dispatch to modify.\n */\ncljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d null;\n}\n/**\n * Pretty printing will try to avoid anything going beyond this column.\n * Set it to nil to have pprint let the line be arbitrarily long. This will ignore all\n * non-mandatory newlines.\n */\ncljs.pprint._STAR_print_right_margin_STAR_ \x3d (72);\n/**\n * The column at which to enter miser style. Depending on the dispatch table,\n * miser style add newlines in more places to try to keep lines short allowing for further\n * levels of nesting.\n */\ncljs.pprint._STAR_print_miser_width_STAR_ \x3d (40);\n/**\n * Maximum number of lines to print in a pretty print instance (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_lines_STAR_ \x3d null;\n/**\n * Mark circular structures (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_circle_STAR_ \x3d null;\n/**\n * Mark repeated structures rather than repeat them (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_shared_STAR_ \x3d null;\n/**\n * Don\x27t print namespaces with symbols. This is particularly useful when\n * pretty printing the results of macro expansions\n */\ncljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d null;\n/**\n * Print a radix specifier in front of integers and rationals. If *print-base* is 2, 8,\n * or 16, then the radix specifier used is #b, #o, or #x, respectively. Otherwise the\n * radix specifier is in the form #XXr where XX is the decimal value of *print-base* \n */\ncljs.pprint._STAR_print_radix_STAR_ \x3d null;\n/**\n * The base to use for printing integers and rationals.\n */\ncljs.pprint._STAR_print_base_STAR_ \x3d (10);\ncljs.pprint._STAR_current_level_STAR_ \x3d (0);\ncljs.pprint._STAR_current_length_STAR_ \x3d null;\ncljs.pprint.table_ize \x3d (function cljs$pprint$table_ize(t,m){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__21599_SHARP_){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(t,cljs.core.key(p1__21599_SHARP_));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,cljs.core.val(p1__21599_SHARP_)], null);\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m], 0)));\n});\n/**\n * Return true iff x is a PrettyWriter\n */\ncljs.pprint.pretty_writer_QMARK_ \x3d (function cljs$pprint$pretty_writer_QMARK_(x){\nvar and__5043__auto__ \x3d (((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IDeref$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x));\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(x)));\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Wrap base-writer in a PrettyWriter with the specified right-margin and miser-width\n */\ncljs.pprint.make_pretty_writer \x3d (function cljs$pprint$make_pretty_writer(base_writer,right_margin,miser_width){\nreturn cljs.pprint.pretty_writer(base_writer,right_margin,miser_width);\n});\n/**\n * Write an object to *out* subject to the current bindings of the printer control\n * variables. Use the kw-args argument to override individual variables for this call (and\n * any recursive calls).\n * \n * *out* must be a PrettyWriter if pretty printing is enabled. This is the responsibility\n * of the caller.\n * \n * This method is primarily intended for use by pretty print dispatch functions that\n * already know that the pretty printer will have set up their environment appropriately.\n * Normal library clients should use the standard \x22write\x22 interface. \n */\ncljs.pprint.write_out \x3d (function cljs$pprint$write_out(object){\nvar length_reached \x3d (function (){var and__5043__auto__ \x3d cljs.pprint._STAR_current_length_STAR_;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d cljs.core._STAR_print_length_STAR_;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (cljs.pprint._STAR_current_length_STAR_ \x3e\x3d cljs.core._STAR_print_length_STAR_);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.not(cljs.pprint._STAR_print_pretty_STAR_)){\ncljs.pprint.pr.call(null,object);\n} else {\nif(cljs.core.truth_(length_reached)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_current_length_STAR_)){\n(cljs.pprint._STAR_current_length_STAR_ \x3d (cljs.pprint._STAR_current_length_STAR_ + (1)));\n} else {\n}\n\ncljs.pprint._STAR_print_pprint_dispatch_STAR_.call(null,object);\n}\n}\n\nreturn length_reached;\n});\n/**\n * Write an object subject to the current bindings of the printer control variables.\n * Use the kw-args argument to override individual variables for this call (and any\n * recursive calls). Returns the string result if :stream is nil or nil otherwise.\n * \n * The following keyword arguments can be passed with values:\n * Keyword Meaning Default value\n * :stream Writer for output or nil true (indicates *out*)\n * :base Base to use for writing rationals Current value of *print-base*\n * :circle* If true, mark circular structures Current value of *print-circle*\n * :length Maximum elements to show in sublists Current value of *print-length*\n * :level Maximum depth Current value of *print-level*\n * :lines* Maximum lines of output Current value of *print-lines*\n * :miser-width Width to enter miser mode Current value of *print-miser-width*\n * :dispatch The pretty print dispatch function Current value of *print-pprint-dispatch*\n * :pretty If true, do pretty printing Current value of *print-pretty*\n * :radix If true, prepend a radix specifier Current value of *print-radix*\n * :readably* If true, print readably Current value of *print-readably*\n * :right-margin The column for the right margin Current value of *print-right-margin*\n * :suppress-namespaces If true, no namespaces in symbols Current value of *print-suppress-namespaces*\n * \n * * \x3d not yet supported\n */\ncljs.pprint.write \x3d (function cljs$pprint$write(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24766 \x3d arguments.length;\nvar i__5770__auto___24767 \x3d (0);\nwhile(true){\nif((i__5770__auto___24767 \x3c len__5769__auto___24766)){\nargs__5775__auto__.push((arguments[i__5770__auto___24767]));\n\nvar G__24768 \x3d (i__5770__auto___24767 + (1));\ni__5770__auto___24767 \x3d G__24768;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,kw_args){\nvar options \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),true], null),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,kw_args)], 0));\nvar _STAR_print_base_STAR__orig_val__21649 \x3d cljs.pprint._STAR_print_base_STAR_;\nvar _STAR_print_circle_STAR__orig_val__21650 \x3d cljs.pprint._STAR_print_circle_STAR_;\nvar _STAR_print_length_STAR__orig_val__21651 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__21652 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_lines_STAR__orig_val__21653 \x3d cljs.pprint._STAR_print_lines_STAR_;\nvar _STAR_print_miser_width_STAR__orig_val__21654 \x3d cljs.pprint._STAR_print_miser_width_STAR_;\nvar _STAR_print_pprint_dispatch_STAR__orig_val__21655 \x3d cljs.pprint._STAR_print_pprint_dispatch_STAR_;\nvar _STAR_print_pretty_STAR__orig_val__21656 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_radix_STAR__orig_val__21657 \x3d cljs.pprint._STAR_print_radix_STAR_;\nvar _STAR_print_readably_STAR__orig_val__21658 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_right_margin_STAR__orig_val__21659 \x3d cljs.pprint._STAR_print_right_margin_STAR_;\nvar _STAR_print_suppress_namespaces_STAR__orig_val__21660 \x3d cljs.pprint._STAR_print_suppress_namespaces_STAR_;\nvar _STAR_print_base_STAR__temp_val__21661 \x3d new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_base_STAR_);\nvar _STAR_print_circle_STAR__temp_val__21662 \x3d new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_circle_STAR_);\nvar _STAR_print_length_STAR__temp_val__21663 \x3d new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_length_STAR_);\nvar _STAR_print_level_STAR__temp_val__21664 \x3d new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_level_STAR_);\nvar _STAR_print_lines_STAR__temp_val__21665 \x3d new cljs.core.Keyword(null,\x22lines\x22,\x22lines\x22,-700165781).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_lines_STAR_);\nvar _STAR_print_miser_width_STAR__temp_val__21667 \x3d new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_miser_width_STAR_);\nvar _STAR_print_pprint_dispatch_STAR__temp_val__21668 \x3d new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pprint_dispatch_STAR_);\nvar _STAR_print_pretty_STAR__temp_val__21669 \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pretty_STAR_);\nvar _STAR_print_radix_STAR__temp_val__21670 \x3d new cljs.core.Keyword(null,\x22radix\x22,\x22radix\x22,857016463).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_radix_STAR_);\nvar _STAR_print_readably_STAR__temp_val__21671 \x3d new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_readably_STAR_);\nvar _STAR_print_right_margin_STAR__temp_val__21672 \x3d new cljs.core.Keyword(null,\x22right-margin\x22,\x22right-margin\x22,-810413306).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_right_margin_STAR_);\nvar _STAR_print_suppress_namespaces_STAR__temp_val__21673 \x3d new cljs.core.Keyword(null,\x22suppress-namespaces\x22,\x22suppress-namespaces\x22,2130686956).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_suppress_namespaces_STAR_);\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__temp_val__21661);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__temp_val__21662);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__21663);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__21664);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__temp_val__21665);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__temp_val__21667);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__temp_val__21668);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__21669);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__temp_val__21670);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__21671);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__temp_val__21672);\n\n(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__temp_val__21673);\n\ntry{try{var sb \x3d (new goog.string.StringBuffer());\nvar optval \x3d ((cljs.core.contains_QMARK_(options,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648)))?new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648).cljs$core$IFn$_invoke$arity$1(options):true);\nvar base_writer \x3d ((((optval \x3d\x3d\x3d true) || ((optval \x3d\x3d null))))?(new cljs.core.StringBufferWriter(sb)):optval);\nif(cljs.core.truth_(cljs.pprint._STAR_print_pretty_STAR_)){\nvar base_writer__19172__auto___24769 \x3d base_writer;\nvar new_writer__19173__auto___24770 \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__19172__auto___24769));\nvar _STAR_out_STAR__orig_val__21685_24771 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__21686_24772 \x3d ((new_writer__19173__auto___24770)?cljs.pprint.make_pretty_writer(base_writer__19172__auto___24769,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__19172__auto___24769);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__21686_24772);\n\ntry{cljs.pprint.write_out(object);\n\ncljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__21685_24771);\n}} else {\nvar _STAR_out_STAR__orig_val__21688_24773 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__21689_24774 \x3d base_writer;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__21689_24774);\n\ntry{cljs.pprint.pr.call(null,object);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__21688_24773);\n}}\n\nif(optval \x3d\x3d\x3d true){\ncljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\n}\n\nif((optval \x3d\x3d null)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nreturn null;\n}\n}finally {}}finally {(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__orig_val__21660);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__orig_val__21659);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__21658);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__orig_val__21657);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__21656);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__orig_val__21655);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__orig_val__21654);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__orig_val__21653);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__21652);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__21651);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__orig_val__21650);\n\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__orig_val__21649);\n}}));\n\n(cljs.pprint.write.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.pprint.write.cljs$lang$applyTo \x3d (function (seq21643){\nvar G__21644 \x3d cljs.core.first(seq21643);\nvar seq21643__$1 \x3d cljs.core.next(seq21643);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21644,seq21643__$1);\n}));\n\ncljs.pprint.pprint \x3d (function cljs$pprint$pprint(var_args){\nvar G__21694 \x3d arguments.length;\nswitch (G__21694) {\ncase 1:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1 \x3d (function (object){\nvar sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__21697 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__21698 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__21698);\n\ntry{cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(object,cljs.core._STAR_out_STAR_);\n\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__21697);\n}}));\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2 \x3d (function (object,writer){\nvar base_writer__19172__auto__ \x3d writer;\nvar new_writer__19173__auto__ \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__19172__auto__));\nvar _STAR_out_STAR__orig_val__21709 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__21710 \x3d ((new_writer__19173__auto__)?cljs.pprint.make_pretty_writer(base_writer__19172__auto__,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__19172__auto__);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__21710);\n\ntry{var _STAR_print_pretty_STAR__orig_val__21744_24776 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_pretty_STAR__temp_val__21746_24777 \x3d true;\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__21746_24777);\n\ntry{cljs.pprint.write_out(object);\n}finally {(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__21744_24776);\n}\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(cljs.core._STAR_out_STAR_))))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n} else {\n}\n\nreturn cljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__21709);\n}}));\n\n(cljs.pprint.pprint.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.pprint.set_pprint_dispatch \x3d (function cljs$pprint$set_pprint_dispatch(function$){\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d function$);\n\nreturn null;\n});\ncljs.pprint.check_enumerated_arg \x3d (function cljs$pprint$check_enumerated_arg(arg,choices){\nif(cljs.core.not((choices.cljs$core$IFn$_invoke$arity$1 ? choices.cljs$core$IFn$_invoke$arity$1(arg) : choices.call(null,arg)))){\nthrow (new Error([\x22Bad argument: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arg),\x22. It must be one of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(choices)].join(\x27\x27)));\n} else {\nreturn null;\n}\n});\ncljs.pprint.level_exceeded \x3d (function cljs$pprint$level_exceeded(){\nvar and__5043__auto__ \x3d cljs.core._STAR_print_level_STAR_;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (cljs.pprint._STAR_current_level_STAR_ \x3e\x3d cljs.core._STAR_print_level_STAR_);\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Print a conditional newline to a pretty printing stream. kind specifies if the\n * newline is :linear, :miser, :fill, or :mandatory.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_newline \x3d (function cljs$pprint$pprint_newline(kind){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),null], null), null));\n\nreturn cljs.pprint.nl(cljs.core._STAR_out_STAR_,kind);\n});\n/**\n * Create an indent at this point in the pretty printing stream. This defines how\n * following lines are indented. relative-to can be either :block or :current depending\n * whether the indent should be computed relative to the start of the logical block or\n * the current column position. n is an offset.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_indent \x3d (function cljs$pprint$pprint_indent(relative_to,n){\ncljs.pprint.check_enumerated_arg(relative_to,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),null], null), null));\n\nreturn cljs.pprint.indent(cljs.core._STAR_out_STAR_,relative_to,n);\n});\n/**\n * Tab at this point in the pretty printing stream. kind specifies whether the tab\n * is :line, :section, :line-relative, or :section-relative.\n * \n * Colnum and colinc specify the target column and the increment to move the target\n * forward if the output is already past the original target.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n * \n * THIS FUNCTION IS NOT YET IMPLEMENTED.\n */\ncljs.pprint.pprint_tab \x3d (function cljs$pprint$pprint_tab(kind,colnum,colinc){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22line-relative\x22,\x22line-relative\x22,1149548219),null,new cljs.core.Keyword(null,\x22section-relative\x22,\x22section-relative\x22,-658298724),null], null), null));\n\nthrow (new Error(\x22pprint-tab is not yet implemented\x22));\n});\n/**\n * An implementation of a Common Lisp compatible format function. cl-format formats its\n * arguments to an output stream or string based on the format control string given. It\n * supports sophisticated formatting of structured data.\n * \n * Writer satisfies IWriter, true to output via *print-fn* or nil to output\n * to a string, format-in is the format control string and the remaining arguments\n * are the data to be formatted.\n * \n * The format control string is a string to be output with embedded \x27format directives\x27\n * describing how to format the various arguments passed in.\n * \n * If writer is nil, cl-format returns the formatted result string. Otherwise, cl-format\n * returns nil.\n * \n * For example:\n * (let [results [46 38 22]]\n * (cl-format true \x22There ~[are~;is~:;are~]~:* ~d result~:p: ~{~d~^, ~}~%\x22\n * (count results) results))\n * \n * Prints via *print-fn*:\n * There are 3 results: 46, 38, 22\n * \n * Detailed documentation on format control strings is available in the \x22Common Lisp the\n * Language, 2nd edition\x22, Chapter 22 (available online at:\n * http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node200.html#SECTION002633000000000000000)\n * and in the Common Lisp HyperSpec at\n * http://www.lispworks.com/documentation/HyperSpec/Body/22_c.htm\n */\ncljs.pprint.cl_format \x3d (function cljs$pprint$cl_format(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24778 \x3d arguments.length;\nvar i__5770__auto___24779 \x3d (0);\nwhile(true){\nif((i__5770__auto___24779 \x3c len__5769__auto___24778)){\nargs__5775__auto__.push((arguments[i__5770__auto___24779]));\n\nvar G__24780 \x3d (i__5770__auto___24779 + (1));\ni__5770__auto___24779 \x3d G__24780;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,format_in,args){\nvar compiled_format \x3d ((typeof format_in \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(format_in):format_in);\nvar navigator__$1 \x3d cljs.pprint.init_navigator(args);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3(writer,compiled_format,navigator__$1);\n}));\n\n(cljs.pprint.cl_format.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.pprint.cl_format.cljs$lang$applyTo \x3d (function (seq21765){\nvar G__21766 \x3d cljs.core.first(seq21765);\nvar seq21765__$1 \x3d cljs.core.next(seq21765);\nvar G__21767 \x3d cljs.core.first(seq21765__$1);\nvar seq21765__$2 \x3d cljs.core.next(seq21765__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21766,G__21767,seq21765__$2);\n}));\n\ncljs.pprint._STAR_format_str_STAR_ \x3d null;\ncljs.pprint.format_error \x3d (function cljs$pprint$format_error(message,offset){\nvar full_message \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(message),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_format_str_STAR_),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(offset,\x22 \x22))),\x22^\x22,\x22\\n\x22].join(\x27\x27);\nthrow Error(full_message);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.arg_navigator \x3d (function (seq,rest,pos,__meta,__extmap,__hash){\nthis.seq \x3d seq;\nthis.rest \x3d rest;\nthis.pos \x3d pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k21787,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__21792 \x3d k21787;\nvar G__21792__$1 \x3d (((G__21792 instanceof cljs.core.Keyword))?G__21792.fqn:null);\nswitch (G__21792__$1) {\ncase \x22seq\x22:\nreturn self__.seq;\n\nbreak;\ncase \x22rest\x22:\nreturn self__.rest;\n\nbreak;\ncase \x22pos\x22:\nreturn self__.pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k21787,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__21793){\nvar vec__21794 \x3d p__21793;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21794,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21794,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.arg-navigator{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__21786){\nvar self__ \x3d this;\nvar G__21786__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__21786__$1,3,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (3 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-402038447 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this21788,other21789){\nvar self__ \x3d this;\nvar this21788__$1 \x3d this;\nreturn (((!((other21789 \x3d\x3d null)))) \x26\x26 ((((this21788__$1.constructor \x3d\x3d\x3d other21789.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21788__$1.seq,other21789.seq)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21788__$1.rest,other21789.rest)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21788__$1.pos,other21789.pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21788__$1.__extmap,other21789.__extmap)))))))))));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k21787){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__21811 \x3d k21787;\nvar G__21811__$1 \x3d (((G__21811 instanceof cljs.core.Keyword))?G__21811.fqn:null);\nswitch (G__21811__$1) {\ncase \x22seq\x22:\ncase \x22rest\x22:\ncase \x22pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k21787);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__21786){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__21817 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__21818 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__21817.cljs$core$IFn$_invoke$arity$2 ? pred__21817.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__21818) : pred__21817.call(null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__21818)))){\nreturn (new cljs.pprint.arg_navigator(G__21786,self__.rest,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__21817.cljs$core$IFn$_invoke$arity$2 ? pred__21817.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__21818) : pred__21817.call(null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__21818)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,G__21786,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__21817.cljs$core$IFn$_invoke$arity$2 ? pred__21817.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__21818) : pred__21817.call(null,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__21818)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,G__21786,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__21786),null));\n}\n}\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__21786){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,G__21786,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.arg_navigator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22seq\x22,\x22seq\x22,-177272256,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22pos\x22,\x22pos\x22,775924307,null)], null);\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$type \x3d true);\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/arg-navigator\x22,null,(1),null));\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/arg-navigator\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/arg-navigator.\n */\ncljs.pprint.__GT_arg_navigator \x3d (function cljs$pprint$__GT_arg_navigator(seq,rest,pos){\nreturn (new cljs.pprint.arg_navigator(seq,rest,pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/arg-navigator, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_arg_navigator \x3d (function cljs$pprint$map__GT_arg_navigator(G__21791){\nvar extmap__5385__auto__ \x3d (function (){var G__21842 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__21791,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], 0));\nif(cljs.core.record_QMARK_(G__21791)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__21842);\n} else {\nreturn G__21842;\n}\n})();\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(G__21791),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(G__21791),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(G__21791),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n/**\n * Create a new arg-navigator from the sequence with the position set to 0\n */\ncljs.pprint.init_navigator \x3d (function cljs$pprint$init_navigator(s){\nvar s__$1 \x3d cljs.core.seq(s);\nreturn (new cljs.pprint.arg_navigator(s__$1,s__$1,(0),null,null,null));\n});\ncljs.pprint.next_arg \x3d (function cljs$pprint$next_arg(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nthrow Error(\x22Not enough arguments for format definition\x22);\n}\n});\ncljs.pprint.next_arg_or_nil \x3d (function cljs$pprint$next_arg_or_nil(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,navigator], null);\n}\n});\ncljs.pprint.get_format_arg \x3d (function cljs$pprint$get_format_arg(navigator){\nvar vec__21868 \x3d cljs.pprint.next_arg(navigator);\nvar raw_format \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21868,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21868,(1),null);\nvar compiled_format \x3d ((typeof raw_format \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(raw_format):raw_format);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [compiled_format,navigator__$1], null);\n});\ncljs.pprint.absolute_reposition \x3d (function cljs$pprint$absolute_reposition(navigator,position){\nif((position \x3e\x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator))){\nvar G__21878 \x3d navigator;\nvar G__21879 \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) - position);\nreturn (cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2(G__21878,G__21879) : cljs.pprint.relative_reposition.call(null,G__21878,G__21879));\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator)),position,null,null,null));\n}\n});\ncljs.pprint.relative_reposition \x3d (function cljs$pprint$relative_reposition(navigator,position){\nvar newpos \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + position);\nif((position \x3c (0))){\nreturn cljs.pprint.absolute_reposition(navigator,newpos);\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),newpos,null,null,null));\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.compiled_directive \x3d (function (func,def,params,offset,__meta,__extmap,__hash){\nthis.func \x3d func;\nthis.def \x3d def;\nthis.params \x3d params;\nthis.offset \x3d offset;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k21891,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__21907 \x3d k21891;\nvar G__21907__$1 \x3d (((G__21907 instanceof cljs.core.Keyword))?G__21907.fqn:null);\nswitch (G__21907__$1) {\ncase \x22func\x22:\nreturn self__.func;\n\nbreak;\ncase \x22def\x22:\nreturn self__.def;\n\nbreak;\ncase \x22params\x22:\nreturn self__.params;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k21891,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__21910){\nvar vec__21911 \x3d p__21910;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21911,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21911,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.compiled-directive{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__21890){\nvar self__ \x3d this;\nvar G__21890__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__21890__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-829256337 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this21892,other21893){\nvar self__ \x3d this;\nvar this21892__$1 \x3d this;\nreturn (((!((other21893 \x3d\x3d null)))) \x26\x26 ((((this21892__$1.constructor \x3d\x3d\x3d other21893.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21892__$1.func,other21893.func)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21892__$1.def,other21893.def)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21892__$1.params,other21893.params)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21892__$1.offset,other21893.offset)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21892__$1.__extmap,other21893.__extmap)))))))))))));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k21891){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__21971 \x3d k21891;\nvar G__21971__$1 \x3d (((G__21971 instanceof cljs.core.Keyword))?G__21971.fqn:null);\nswitch (G__21971__$1) {\ncase \x22func\x22:\ncase \x22def\x22:\ncase \x22params\x22:\ncase \x22offset\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k21891);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__21890){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__21980 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__21981 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__21980.cljs$core$IFn$_invoke$arity$2 ? pred__21980.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__21981) : pred__21980.call(null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__21981)))){\nreturn (new cljs.pprint.compiled_directive(G__21890,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__21980.cljs$core$IFn$_invoke$arity$2 ? pred__21980.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__21981) : pred__21980.call(null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__21981)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,G__21890,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__21980.cljs$core$IFn$_invoke$arity$2 ? pred__21980.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__21981) : pred__21980.call(null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__21981)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,G__21890,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__21980.cljs$core$IFn$_invoke$arity$2 ? pred__21980.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__21981) : pred__21980.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__21981)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,G__21890,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__21890),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__21890){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,G__21890,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.compiled_directive.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22func\x22,\x22func\x22,1401825487,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22params\x22,\x22params\x22,-1943919534,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null)], null);\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$type \x3d true);\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/compiled-directive\x22,null,(1),null));\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/compiled-directive\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/compiled-directive.\n */\ncljs.pprint.__GT_compiled_directive \x3d (function cljs$pprint$__GT_compiled_directive(func,def,params,offset){\nreturn (new cljs.pprint.compiled_directive(func,def,params,offset,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/compiled-directive, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_compiled_directive \x3d (function cljs$pprint$map__GT_compiled_directive(G__21897){\nvar extmap__5385__auto__ \x3d (function (){var G__22015 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__21897,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], 0));\nif(cljs.core.record_QMARK_(G__21897)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__22015);\n} else {\nreturn G__22015;\n}\n})();\nreturn (new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(G__21897),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(G__21897),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(G__21897),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__21897),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\ncljs.pprint.realize_parameter \x3d (function cljs$pprint$realize_parameter(p__22019,navigator){\nvar vec__22021 \x3d p__22019;\nvar param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22021,(0),null);\nvar vec__22024 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22021,(1),null);\nvar raw_val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22024,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22024,(1),null);\nvar vec__22028 \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),param))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196)))?cljs.pprint.next_arg(navigator):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.count(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),navigator], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null)\n)));\nvar real_param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22028,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22028,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [real_param,offset], null)], null),new_navigator], null);\n});\ncljs.pprint.realize_parameter_list \x3d (function cljs$pprint$realize_parameter_list(parameter_map,navigator){\nvar vec__22045 \x3d cljs.pprint.map_passing_context(cljs.pprint.realize_parameter,navigator,parameter_map);\nvar pairs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22045,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22045,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,pairs),new_navigator], null);\n});\ncljs.pprint.special_radix_markers \x3d new cljs.core.PersistentArrayMap(null, 3, [(2),\x22#b\x22,(8),\x22#o\x22,(16),\x22#x\x22], null);\ncljs.pprint.format_simple_number \x3d (function cljs$pprint$format_simple_number(n){\nif(cljs.core.integer_QMARK_(n)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.pprint._STAR_print_base_STAR_,(10))){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),(cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?\x22.\x22:null)].join(\x27\x27);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?(function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_radix_markers,cljs.pprint._STAR_print_base_STAR_);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn [\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_print_base_STAR_),\x22r\x22].join(\x27\x27);\n}\n})():null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.opt_base_str(cljs.pprint._STAR_print_base_STAR_,n))].join(\x27\x27);\n}\n} else {\nreturn null;\n\n}\n});\ncljs.pprint.format_ascii \x3d (function cljs$pprint$format_ascii(print_func,params,arg_navigator,offsets){\nvar vec__22068 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22068,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22068,(1),null);\nvar base_output \x3d (function (){var or__5045__auto__ \x3d cljs.pprint.format_simple_number(arg);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (print_func.cljs$core$IFn$_invoke$arity$1 ? print_func.cljs$core$IFn$_invoke$arity$1(arg) : print_func.call(null,arg));\n}\n})();\nvar base_width \x3d base_output.length;\nvar min_width \x3d (base_width + new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params));\nvar width \x3d (((min_width \x3e\x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?min_width:(min_width + ((cljs.core.quot(((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - min_width) - (1)),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params)) + (1)) * new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params))));\nvar chars \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((width - base_width),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars),cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output)].join(\x27\x27)], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output),cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars)].join(\x27\x27)], 0));\n}\n\nreturn arg_navigator__$1;\n});\n/**\n * returns true if a number is actually an integer (that is, has no fractional part)\n */\ncljs.pprint.integral_QMARK_ \x3d (function cljs$pprint$integral_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn true;\n} else {\nif(cljs.pprint.float_QMARK_(x)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,Math.floor(x));\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Return the list of remainders (essentially the \x27digits\x27) of val in the given base\n */\ncljs.pprint.remainders \x3d (function cljs$pprint$remainders(base,val){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (p1__22083_SHARP_){\nif((p1__22083_SHARP_ \x3e (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rem(p1__22083_SHARP_,base),cljs.core.quot(p1__22083_SHARP_,base)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n}\n}),val)));\n});\n/**\n * Return val as a string in the given base\n */\ncljs.pprint.base_str \x3d (function cljs$pprint$base_str(base,val){\nif((val \x3d\x3d\x3d (0))){\nreturn \x220\x22;\n} else {\nvar xlated_val \x3d val\n;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__22099_SHARP_){\nif((p1__22099_SHARP_ \x3c (10))){\nreturn cljs.core.char$((cljs.pprint.char_code(\x220\x22) + p1__22099_SHARP_));\n} else {\nreturn cljs.core.char$((cljs.pprint.char_code(\x22a\x22) + (p1__22099_SHARP_ - (10))));\n}\n}),cljs.pprint.remainders(base,val)));\n}\n});\ncljs.pprint.javascript_base_formats \x3d new cljs.core.PersistentArrayMap(null, 3, [(8),\x22%o\x22,(10),\x22%d\x22,(16),\x22%x\x22], null);\n/**\n * Return val as a string in the given base. No cljs format, so no improved performance.\n */\ncljs.pprint.opt_base_str \x3d (function cljs$pprint$opt_base_str(base,val){\nreturn cljs.pprint.base_str(base,val);\n});\ncljs.pprint.group_by_STAR_ \x3d (function cljs$pprint$group_by_STAR_(unit,lis){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (x){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.reverse(cljs.core.take.cljs$core$IFn$_invoke$arity$2(unit,x))),cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(unit,x))], null);\n}),cljs.core.reverse(lis))));\n});\ncljs.pprint.format_integer \x3d (function cljs$pprint$format_integer(base,params,arg_navigator,offsets){\nvar vec__22120 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22120,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22120,(1),null);\nif(cljs.pprint.integral_QMARK_(arg)){\nvar neg_24808 \x3d (arg \x3c (0));\nvar pos_arg_24809 \x3d ((neg_24808)?(- arg):arg);\nvar raw_str_24810 \x3d cljs.pprint.opt_base_str(base,pos_arg_24809);\nvar group_str_24811 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(function (){var groups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__22117_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,p1__22117_SHARP_);\n}),cljs.pprint.group_by_STAR_(new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083).cljs$core$IFn$_invoke$arity$1(params),raw_str_24810));\nvar commas \x3d cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.count(groups),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327).cljs$core$IFn$_invoke$arity$1(params));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.next(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(commas,groups)));\n})():raw_str_24810);\nvar signed_str_24812 \x3d ((neg_24808)?[\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_24811)].join(\x27\x27):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?[\x22+\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_24811)].join(\x27\x27):group_str_24811\n));\nvar padded_str_24813 \x3d (((signed_str_24812.length \x3c new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - signed_str_24812.length),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(signed_str_24812)].join(\x27\x27):signed_str_24812);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([padded_str_24813], 0));\n} else {\ncljs.pprint.format_ascii(cljs.core.print_str,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),(1),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),null);\n}\n\nreturn arg_navigator__$1;\n});\ncljs.pprint.english_cardinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zero\x22,\x22one\x22,\x22two\x22,\x22three\x22,\x22four\x22,\x22five\x22,\x22six\x22,\x22seven\x22,\x22eight\x22,\x22nine\x22,\x22ten\x22,\x22eleven\x22,\x22twelve\x22,\x22thirteen\x22,\x22fourteen\x22,\x22fifteen\x22,\x22sixteen\x22,\x22seventeen\x22,\x22eighteen\x22,\x22nineteen\x22], null);\ncljs.pprint.english_ordinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zeroth\x22,\x22first\x22,\x22second\x22,\x22third\x22,\x22fourth\x22,\x22fifth\x22,\x22sixth\x22,\x22seventh\x22,\x22eighth\x22,\x22ninth\x22,\x22tenth\x22,\x22eleventh\x22,\x22twelfth\x22,\x22thirteenth\x22,\x22fourteenth\x22,\x22fifteenth\x22,\x22sixteenth\x22,\x22seventeenth\x22,\x22eighteenth\x22,\x22nineteenth\x22], null);\ncljs.pprint.english_cardinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twenty\x22,\x22thirty\x22,\x22forty\x22,\x22fifty\x22,\x22sixty\x22,\x22seventy\x22,\x22eighty\x22,\x22ninety\x22], null);\ncljs.pprint.english_ordinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twentieth\x22,\x22thirtieth\x22,\x22fortieth\x22,\x22fiftieth\x22,\x22sixtieth\x22,\x22seventieth\x22,\x22eightieth\x22,\x22ninetieth\x22], null);\ncljs.pprint.english_scale_numbers \x3d new cljs.core.PersistentVector(null, 22, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22thousand\x22,\x22million\x22,\x22billion\x22,\x22trillion\x22,\x22quadrillion\x22,\x22quintillion\x22,\x22sextillion\x22,\x22septillion\x22,\x22octillion\x22,\x22nonillion\x22,\x22decillion\x22,\x22undecillion\x22,\x22duodecillion\x22,\x22tredecillion\x22,\x22quattuordecillion\x22,\x22quindecillion\x22,\x22sexdecillion\x22,\x22septendecillion\x22,\x22octodecillion\x22,\x22novemdecillion\x22,\x22vigintillion\x22], null);\n/**\n * Convert a number less than 1000 to a cardinal english string\n */\ncljs.pprint.format_simple_cardinal \x3d (function cljs$pprint$format_simple_cardinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,unit_digit):null))].join(\x27\x27);\n})()):null))].join(\x27\x27);\n});\n/**\n * Take a sequence of parts, add scale numbers (e.g., million) and combine into a string\n * offset is a factor of 10^3 to multiply by\n */\ncljs.pprint.add_english_scales \x3d (function cljs$pprint$add_english_scales(parts,offset){\nvar cnt \x3d cljs.core.count(parts);\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar pos \x3d (cnt - (1));\nvar this$ \x3d cljs.core.first(parts);\nvar remainder \x3d cljs.core.next(parts);\nwhile(true){\nif((remainder \x3d\x3d null)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,acc))),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 ((!(cljs.core.empty_QMARK_(acc))))))?\x22, \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 (((pos + offset) \x3e (0)))))?[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27):null)].join(\x27\x27);\n} else {\nvar G__24828 \x3d ((cljs.core.empty_QMARK_(this$))?acc:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27)));\nvar G__24829 \x3d (pos - (1));\nvar G__24830 \x3d cljs.core.first(remainder);\nvar G__24831 \x3d cljs.core.next(remainder);\nacc \x3d G__24828;\npos \x3d G__24829;\nthis$ \x3d G__24830;\nremainder \x3d G__24831;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.format_cardinal_english \x3d (function cljs$pprint$format_cardinal_english(params,navigator,offsets){\nvar vec__22214 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22214,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22214,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zero\x22], 0));\n} else {\nvar abs_arg_24832 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_24833 \x3d cljs.pprint.remainders((1000),abs_arg_24832);\nif((cljs.core.count(parts_24833) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_24834 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,parts_24833);\nvar full_str_24835 \x3d cljs.pprint.add_english_scales(parts_strs_24834,(0));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),full_str_24835].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n}\n\nreturn navigator__$1;\n});\n/**\n * Convert a number less than 1000 to a ordinal english string\n * Note this should only be used for the last one in the sequence\n */\ncljs.pprint.format_simple_ordinal \x3d (function cljs$pprint$format_simple_ordinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nif((((ten_digit \x3e (0))) \x26\x26 ((!((unit_digit \x3e (0))))))){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_tens,ten_digit);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,unit_digit):null))].join(\x27\x27);\n}\n})()):(((hundreds \x3e (0)))?\x22th\x22:null)))].join(\x27\x27);\n});\ncljs.pprint.format_ordinal_english \x3d (function cljs$pprint$format_ordinal_english(params,navigator,offsets){\nvar vec__22246 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22246,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22246,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zeroth\x22], 0));\n} else {\nvar abs_arg_24838 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_24839 \x3d cljs.pprint.remainders((1000),abs_arg_24838);\nif((cljs.core.count(parts_24839) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_24840 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1(parts_24839));\nvar head_str_24841 \x3d cljs.pprint.add_english_scales(parts_strs_24840,(1));\nvar tail_str_24842 \x3d cljs.pprint.format_simple_ordinal(cljs.core.last(parts_24839));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),(((((!(cljs.core.empty_QMARK_(head_str_24841)))) \x26\x26 ((!(cljs.core.empty_QMARK_(tail_str_24842))))))?[head_str_24841,\x22, \x22,tail_str_24842].join(\x27\x27):(((!(cljs.core.empty_QMARK_(head_str_24841))))?[head_str_24841,\x22th\x22].join(\x27\x27):tail_str_24842\n))].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n\nvar low_two_digits_24844 \x3d cljs.core.rem(arg,(100));\nvar not_teens_24845 \x3d ((((11) \x3c low_two_digits_24844)) || (((19) \x3e low_two_digits_24844)));\nvar low_digit_24846 \x3d cljs.core.rem(low_two_digits_24844,(10));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(((((low_digit_24846 \x3d\x3d\x3d (1))) \x26\x26 (not_teens_24845)))?\x22st\x22:(((((low_digit_24846 \x3d\x3d\x3d (2))) \x26\x26 (not_teens_24845)))?\x22nd\x22:(((((low_digit_24846 \x3d\x3d\x3d (3))) \x26\x26 (not_teens_24845)))?\x22rd\x22:\x22th\x22\n)))], 0));\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.old_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IIII\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22VIIII\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XXXX\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22LXXXX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CCCC\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22DCCCC\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\ncljs.pprint.new_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IV\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22IX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XL\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22XC\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CD\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22CM\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\n/**\n * Format a roman numeral using the specified look-up table\n */\ncljs.pprint.format_roman \x3d (function cljs$pprint$format_roman(table,params,navigator,offsets){\nvar vec__22274 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22274,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22274,(1),null);\nif(((typeof arg \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((arg \x3e (0))) \x26\x26 ((arg \x3c (4000))))))){\nvar digits_24848 \x3d cljs.pprint.remainders((10),arg);\nvar acc_24849 \x3d cljs.core.PersistentVector.EMPTY;\nvar pos_24850 \x3d (cljs.core.count(digits_24848) - (1));\nvar digits_24851__$1 \x3d digits_24848;\nwhile(true){\nif(cljs.core.empty_QMARK_(digits_24851__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,acc_24849)], 0));\n} else {\nvar digit_24853 \x3d cljs.core.first(digits_24851__$1);\nvar G__24854 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),digit_24853))?acc_24849:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc_24849,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(table,pos_24850),(digit_24853 - (1)))));\nvar G__24855 \x3d (pos_24850 - (1));\nvar G__24856 \x3d cljs.core.next(digits_24851__$1);\nacc_24849 \x3d G__24854;\npos_24850 \x3d G__24855;\ndigits_24851__$1 \x3d G__24856;\ncontinue;\n}\nbreak;\n}\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.format_old_roman \x3d (function cljs$pprint$format_old_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.old_roman_table,params,navigator,offsets);\n});\ncljs.pprint.format_new_roman \x3d (function cljs$pprint$format_new_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.new_roman_table,params,navigator,offsets);\n});\ncljs.pprint.special_chars \x3d new cljs.core.PersistentArrayMap(null, 5, [(8),\x22Backspace\x22,(9),\x22Tab\x22,(10),\x22Newline\x22,(13),\x22Return\x22,(32),\x22Space\x22], null);\ncljs.pprint.pretty_character \x3d (function cljs$pprint$pretty_character(params,navigator,offsets){\nvar vec__22293 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22293,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22293,(1),null);\nvar as_int \x3d cljs.pprint.char_code(c);\nvar base_char \x3d (as_int \x26 (127));\nvar meta \x3d (as_int \x26 (128));\nvar special \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_chars,base_char);\nif((meta \x3e (0))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Meta-\x22], 0));\n} else {\n}\n\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(special)?special:(((base_char \x3c (32)))?[\x22Control-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.char$((base_char + (64))))].join(\x27\x27):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(base_char,(127)))?\x22Control-?\x22:cljs.core.char$(base_char)\n)))], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.readable_character \x3d (function cljs$pprint$readable_character(params,navigator,offsets){\nvar vec__22299 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22299,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22299,(1),null);\nvar pred__22303_24857 \x3d cljs.core._EQ_;\nvar expr__22304_24858 \x3d new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_((function (){var G__22308 \x3d \x22o\x22;\nvar G__22309 \x3d expr__22304_24858;\nreturn (pred__22303_24857.cljs$core$IFn$_invoke$arity$2 ? pred__22303_24857.cljs$core$IFn$_invoke$arity$2(G__22308,G__22309) : pred__22303_24857.call(null,G__22308,G__22309));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\o~3,\x270o\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((function (){var G__22311 \x3d \x22u\x22;\nvar G__22312 \x3d expr__22304_24858;\nreturn (pred__22303_24857.cljs$core$IFn$_invoke$arity$2 ? pred__22303_24857.cljs$core$IFn$_invoke$arity$2(G__22311,G__22312) : pred__22303_24857.call(null,G__22311,G__22312));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\u~4,\x270x\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((pred__22303_24857.cljs$core$IFn$_invoke$arity$2 ? pred__22303_24857.cljs$core$IFn$_invoke$arity$2(null,expr__22304_24858) : pred__22303_24857.call(null,null,expr__22304_24858)))){\ncljs.pprint.print_char(c);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__22304_24858)].join(\x27\x27)));\n}\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.plain_character \x3d (function cljs$pprint$plain_character(params,navigator,offsets){\nvar vec__22334 \x3d cljs.pprint.next_arg(navigator);\nvar char$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22334,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22334,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([char$], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.abort_QMARK_ \x3d (function cljs$pprint$abort_QMARK_(context){\nvar token \x3d cljs.core.first(context);\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),token)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),token)));\n});\ncljs.pprint.execute_sub_format \x3d (function cljs$pprint$execute_sub_format(format,args,base_args){\nreturn cljs.core.second(cljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__22379 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22379,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22379,(1),null);\nvar vec__22382 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22382,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22382,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),base_args);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format));\n});\n/**\n * Produce string parts for the mantissa (normalize 1-9) and exponent\n */\ncljs.pprint.float_parts_base \x3d (function cljs$pprint$float_parts_base(f){\nvar s \x3d clojure.string.lower_case(cljs.core.str.cljs$core$IFn$_invoke$arity$1(f));\nvar exploc \x3d s.indexOf(\x22e\x22);\nvar dotloc \x3d s.indexOf(\x22.\x22);\nif((exploc \x3c (0))){\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((s).length) - (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),dotloc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(dotloc + (1)))].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1((dotloc - (1)))], null);\n}\n} else {\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),exploc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(1)),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(2),exploc)].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n}\n}\n});\n/**\n * Take care of leading and trailing zeros in decomposed floats\n */\ncljs.pprint.float_parts \x3d (function cljs$pprint$float_parts(f){\nvar vec__22409 \x3d cljs.pprint.float_parts_base(f);\nvar m \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22409,(0),null);\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22409,(1),null);\nvar m1 \x3d cljs.pprint.rtrim(m,\x220\x22);\nvar m2 \x3d cljs.pprint.ltrim(m1,\x220\x22);\nvar delta \x3d (cljs.core.count(m1) - cljs.core.count(m2));\nvar e__$1 \x3d (((((cljs.core.count(e) \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(e,(0)),\x22+\x22))))?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(e,(1)):e);\nif(cljs.core.empty_QMARK_(m2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m2,(parseInt(e__$1,(10)) - delta)], null);\n}\n});\n/**\n * Assumption: The input string consists of one or more decimal digits,\n * and no other characters. Return a string containing one or more\n * decimal digits containing a decimal number one larger than the input\n * string. The output string will always be the same length as the input\n * string, or one character longer.\n */\ncljs.pprint.inc_s \x3d (function cljs$pprint$inc_s(s){\nvar len_1 \x3d (cljs.core.count(s) - (1));\nvar i \x3d (len_1 | (0));\nwhile(true){\nif((i \x3c (0))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,\x221\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 + (1)),\x220\x22));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x229\x22,s.charAt(i))){\nvar G__24863 \x3d (i - (1));\ni \x3d G__24863;\ncontinue;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.str,cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),i),cljs.core.char$((cljs.pprint.char_code(s.charAt(i)) + (1))),cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 - i),\x220\x22));\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.round_str \x3d (function cljs$pprint$round_str(m,e,d,w){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d d;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn w;\n}\n})())){\nvar len \x3d cljs.core.count(m);\nvar w__$1 \x3d (cljs.core.truth_(w)?(function (){var x__5130__auto__ \x3d (2);\nvar y__5131__auto__ \x3d w;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})():(0));\nvar round_pos \x3d (cljs.core.truth_(d)?((e + d) + (1)):(((e \x3e\x3d (0)))?(function (){var x__5130__auto__ \x3d (e + (1));\nvar y__5131__auto__ \x3d (w__$1 - (1));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})():(w__$1 + e)\n));\nvar vec__22499 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(round_pos,(0)))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x220\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(e + (1)),(1),(len + (1))], null):new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,round_pos,len], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22499,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22499,(1),null);\nvar round_pos__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22499,(2),null);\nvar len__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22499,(3),null);\nif(cljs.core.truth_(round_pos__$1)){\nif((round_pos__$1 \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0),false], null);\n} else {\nif((len__$1 \x3e round_pos__$1)){\nvar round_char \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(m1,round_pos__$1);\nvar result \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m1,(0),round_pos__$1);\nif((cljs.pprint.char_code(round_char) \x3e\x3d cljs.pprint.char_code(\x225\x22))){\nvar round_up_result \x3d cljs.pprint.inc_s(result);\nvar expanded \x3d (cljs.core.count(round_up_result) \x3e ((result).length));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((expanded)?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(round_up_result,(0),(cljs.core.count(round_up_result) - (1))):round_up_result),e1,expanded], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [result,e1,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n});\ncljs.pprint.expand_fixed \x3d (function cljs$pprint$expand_fixed(m,e,d){\nvar vec__22513 \x3d (((e \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((- e) - (1)),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(-1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22513,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22513,(1),null);\nvar len \x3d cljs.core.count(m1);\nvar target_len \x3d (cljs.core.truth_(d)?((e1 + d) + (1)):(e1 + (1)));\nif((len \x3c target_len)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(m1),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((target_len - len),\x220\x22)))].join(\x27\x27);\n} else {\nreturn m1;\n}\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_decimal \x3d (function cljs$pprint$insert_decimal(m,e){\nif((e \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nvar loc \x3d (e + (1));\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),loc),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,loc)].join(\x27\x27);\n}\n});\ncljs.pprint.get_fixed \x3d (function cljs$pprint$get_fixed(m,e,d){\nreturn cljs.pprint.insert_decimal(cljs.pprint.expand_fixed(m,e,d),e);\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_scaled_decimal \x3d (function cljs$pprint$insert_scaled_decimal(m,k){\nif((k \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),k),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,k)].join(\x27\x27);\n}\n});\ncljs.pprint.convert_ratio \x3d (function cljs$pprint$convert_ratio(x){\nreturn x;\n});\ncljs.pprint.fixed_float \x3d (function cljs$pprint$fixed_float(params,navigator,offsets){\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__22597 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22597,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22597,(1),null);\nvar vec__22600 \x3d (((arg \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22-\x22,(- arg)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22+\x22,arg], null));\nvar sign \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22600,(0),null);\nvar abs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22600,(1),null);\nvar abs__$1 \x3d cljs.pprint.convert_ratio(abs);\nvar vec__22603 \x3d cljs.pprint.float_parts(abs__$1);\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22603,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22603,(1),null);\nvar scaled_exp \x3d (exp + new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params));\nvar add_sign \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar append_zero \x3d ((cljs.core.not(d)) \x26\x26 (((cljs.core.count(mantissa) - (1)) \x3c\x3d scaled_exp)));\nvar vec__22606 \x3d cljs.pprint.round_str(mantissa,scaled_exp,d,(cljs.core.truth_(w)?(w - (cljs.core.truth_(add_sign)?(1):(0))):null));\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22606,(0),null);\nvar scaled_exp__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22606,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22606,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp__$1 + (1)):scaled_exp__$1),d);\nvar fixed_repr__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d w;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d d;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (((d \x3e\x3d (1))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((0)),\x220\x22)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((1)),\x22.\x22)) \x26\x26 ((((fixed_repr).length) \x3e (w - (cljs.core.truth_(add_sign)?(1):(0))))))))));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(fixed_repr,(1)):fixed_repr);\nvar prepend_zero \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fixed_repr__$1),\x22.\x22);\nif(cljs.core.truth_(w)){\nvar len_24869 \x3d ((fixed_repr__$1).length);\nvar signed_len_24870 \x3d (cljs.core.truth_(add_sign)?(len_24869 + (1)):len_24869);\nvar prepend_zero_24871__$1 \x3d ((prepend_zero) \x26\x26 ((!((signed_len_24870 \x3e\x3d w)))));\nvar append_zero_24872__$1 \x3d ((append_zero) \x26\x26 ((!((signed_len_24870 \x3e\x3d w)))));\nvar full_len_24873 \x3d ((((prepend_zero_24871__$1) || (append_zero_24872__$1)))?(signed_len_24870 + (1)):signed_len_24870);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (full_len_24873 \x3e w);\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len_24873),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero_24871__$1)?\x220\x22:null),fixed_repr__$1,((append_zero_24872__$1)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero)?\x220\x22:null),fixed_repr__$1,((append_zero)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.exponential_float \x3d (function cljs$pprint$exponential_float(params,navigator,offset){\nvar vec__22651 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22651,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22651,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar G__22660_24874 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar vec__22661_24875 \x3d G__22660_24874;\nvar mantissa_24876 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22661_24875,(0),null);\nvar exp_24877 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22661_24875,(1),null);\nvar G__22660_24878__$1 \x3d G__22660_24874;\nwhile(true){\nvar vec__22664_24879 \x3d G__22660_24878__$1;\nvar mantissa_24880__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22664_24879,(0),null);\nvar exp_24881__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22664_24879,(1),null);\nvar w_24882 \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d_24883 \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e_24884 \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar k_24885 \x3d new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params);\nvar expchar_24886 \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22E\x22;\n}\n})();\nvar add_sign_24887 \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (arg__$1 \x3c (0));\n}\n})();\nvar prepend_zero_24888 \x3d (k_24885 \x3c\x3d (0));\nvar scaled_exp_24889 \x3d (exp_24881__$1 - (k_24885 - (1)));\nvar scaled_exp_str_24890 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(Math.abs(scaled_exp_24889));\nvar scaled_exp_str_24891__$1 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(expchar_24886),(((scaled_exp_24889 \x3c (0)))?\x22-\x22:\x22+\x22),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(e_24884)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((e_24884 - ((scaled_exp_str_24890).length)),\x220\x22)):null)),scaled_exp_str_24890].join(\x27\x27);\nvar exp_width_24892 \x3d ((scaled_exp_str_24891__$1).length);\nvar base_mantissa_width_24893 \x3d cljs.core.count(mantissa_24880__$1);\nvar scaled_mantissa_24894 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((- k_24885),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(mantissa_24880__$1),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(d_24883)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((d_24883 - (base_mantissa_width_24893 - (1))) - (((k_24885 \x3c (0)))?(- k_24885):(0))),\x220\x22)):null))].join(\x27\x27);\nvar w_mantissa_24895 \x3d (cljs.core.truth_(w_24882)?(w_24882 - exp_width_24892):null);\nvar vec__22668_24896 \x3d cljs.pprint.round_str(scaled_mantissa_24894,(0),((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_24885,(0)))?(d_24883 - (1)):(((k_24885 \x3e (0)))?d_24883:(((k_24885 \x3c (0)))?(d_24883 - (1)):null))),(cljs.core.truth_(w_mantissa_24895)?(w_mantissa_24895 - (cljs.core.truth_(add_sign_24887)?(1):(0))):null));\nvar rounded_mantissa_24897 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22668_24896,(0),null);\nvar __24898 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22668_24896,(1),null);\nvar incr_exp_24899 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22668_24896,(2),null);\nvar full_mantissa_24900 \x3d cljs.pprint.insert_scaled_decimal(rounded_mantissa_24897,k_24885);\nvar append_zero_24901 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_24885,cljs.core.count(rounded_mantissa_24897))) \x26\x26 ((d_24883 \x3d\x3d null)));\nif(cljs.core.not(incr_exp_24899)){\nif(cljs.core.truth_(w_24882)){\nvar len_24906 \x3d (((full_mantissa_24900).length) + exp_width_24892);\nvar signed_len_24907 \x3d (cljs.core.truth_(add_sign_24887)?(len_24906 + (1)):len_24906);\nvar prepend_zero_24908__$1 \x3d ((prepend_zero_24888) \x26\x26 ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(signed_len_24907,w_24882)))));\nvar full_len_24909 \x3d ((prepend_zero_24908__$1)?(signed_len_24907 + (1)):signed_len_24907);\nvar append_zero_24910__$1 \x3d ((append_zero_24901) \x26\x26 ((full_len_24909 \x3c w_24882)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (function (){var or__5045__auto__ \x3d (full_len_24909 \x3e w_24882);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d e_24884;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn ((exp_width_24892 - (2)) \x3e e_24884);\n} else {\nreturn and__5043__auto__;\n}\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w_24882,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((w_24882 - full_len_24909) - ((append_zero_24910__$1)?(1):(0))),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_(add_sign_24887)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_24908__$1)?\x220\x22:null),full_mantissa_24900,((append_zero_24910__$1)?\x220\x22:null),scaled_exp_str_24891__$1].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_(add_sign_24887)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_24888)?\x220\x22:null),full_mantissa_24900,((append_zero_24901)?\x220\x22:null),scaled_exp_str_24891__$1].join(\x27\x27)], 0));\n}\n} else {\nvar G__24914 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rounded_mantissa_24897,(exp_24881__$1 + (1))], null);\nG__22660_24878__$1 \x3d G__24914;\ncontinue;\n}\nbreak;\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.general_float \x3d (function cljs$pprint$general_float(params,navigator,offsets){\nvar vec__22702 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22702,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22702,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar vec__22706 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22706,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22706,(1),null);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg__$1,0.0))?(0):(exp + (1)));\nvar ee \x3d (cljs.core.truth_(e)?(e + (2)):(4));\nvar ww \x3d (cljs.core.truth_(w)?(w - ee):null);\nvar d__$1 \x3d (cljs.core.truth_(d)?d:(function (){var x__5130__auto__ \x3d cljs.core.count(mantissa);\nvar y__5131__auto__ \x3d (function (){var x__5133__auto__ \x3d n;\nvar y__5134__auto__ \x3d (7);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})());\nvar dd \x3d (d__$1 - n);\nif(((((0) \x3c\x3d dd)) \x26\x26 ((dd \x3c\x3d d__$1)))){\nvar navigator__$1 \x3d cljs.pprint.fixed_float(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),ww,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),dd,new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),(0),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params)], null),navigator,offsets);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(ee,\x22 \x22))], 0));\n\nreturn navigator__$1;\n} else {\nreturn cljs.pprint.exponential_float(params,navigator,offsets);\n}\n});\ncljs.pprint.dollar_float \x3d (function cljs$pprint$dollar_float(params,navigator,offsets){\nvar vec__22720 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22720,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22720,(1),null);\nvar vec__22723 \x3d cljs.pprint.float_parts(Math.abs(arg));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22723,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22723,(1),null);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar add_sign \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar vec__22726 \x3d cljs.pprint.round_str(mantissa,exp,d,null);\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22726,(0),null);\nvar scaled_exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22726,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22726,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp + (1)):scaled_exp),d);\nvar full_repr \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((n - fixed_repr.indexOf(\x22.\x22)),\x220\x22))),fixed_repr].join(\x27\x27);\nvar full_len \x3d (((full_repr).length) + (cljs.core.truth_(add_sign)?(1):(0)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn add_sign;\n} else {\nreturn and__5043__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params));\nif(and__5043__auto__){\nreturn add_sign;\n} else {\nreturn and__5043__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),full_repr].join(\x27\x27)], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.choice_conditional \x3d (function cljs$pprint$choice_conditional(params,arg_navigator,offsets){\nvar arg \x3d new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__22740 \x3d (cljs.core.truth_(arg)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg,arg_navigator], null):cljs.pprint.next_arg(arg_navigator));\nvar arg__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22740,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22740,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (((((arg__$1 \x3c (0))) || ((arg__$1 \x3e\x3d cljs.core.count(clauses)))))?cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params)):cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,arg__$1));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.boolean_conditional \x3d (function cljs$pprint$boolean_conditional(params,arg_navigator,offsets){\nvar vec__22751 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22751,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22751,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.second(clauses):cljs.core.first(clauses));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.check_arg_conditional \x3d (function cljs$pprint$check_arg_conditional(params,arg_navigator,offsets){\nvar vec__22754 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22754,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22754,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.first(clauses):null);\nif(cljs.core.truth_(arg)){\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,arg_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn arg_navigator;\n}\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.iterate_sublist \x3d (function cljs$pprint$iterate_sublist(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__22770 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22770,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22770,(1),null);\nvar vec__22773 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22773,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22773,(1),null);\nvar args \x3d cljs.pprint.init_navigator(arg_list);\nvar count \x3d (0);\nvar args__$1 \x3d args;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(args__$1))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,args__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__24924 \x3d (count + (1));\nvar G__24925 \x3d iter_result;\nvar G__24926 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1);\ncount \x3d G__24924;\nargs__$1 \x3d G__24925;\nlast_pos \x3d G__24926;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_list_of_sublists \x3d (function cljs$pprint$iterate_list_of_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__22809 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22809,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22809,(1),null);\nvar vec__22812 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22812,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22812,(1),null);\nvar count \x3d (0);\nvar arg_list__$1 \x3d arg_list;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(arg_list__$1)) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(cljs.core.first(arg_list__$1)),cljs.pprint.init_navigator(cljs.core.next(arg_list__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__24956 \x3d (count + (1));\nvar G__24957 \x3d cljs.core.next(arg_list__$1);\ncount \x3d G__24956;\narg_list__$1 \x3d G__24957;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_list \x3d (function cljs$pprint$iterate_main_list(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__22818 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22818,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22818,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%@{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn cljs.core.second(iter_result);\n} else {\nvar G__24958 \x3d (count + (1));\nvar G__24959 \x3d iter_result;\nvar G__24960 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2);\ncount \x3d G__24958;\nnavigator__$2 \x3d G__24959;\nlast_pos \x3d G__24960;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_sublists \x3d (function cljs$pprint$iterate_main_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__22839 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22839,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22839,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar vec__22846 \x3d cljs.pprint.next_arg_or_nil(navigator__$2);\nvar sublist \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22846,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22846,(1),null);\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(sublist),navigator__$3);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$3;\n} else {\nvar G__24963 \x3d (count + (1));\nvar G__24964 \x3d navigator__$3;\ncount \x3d G__24963;\nnavigator__$2 \x3d G__24964;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.logical_block_or_justify \x3d (function cljs$pprint$logical_block_or_justify(params,navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn cljs.pprint.format_logical_block(params,navigator,offsets);\n} else {\nreturn cljs.pprint.justify_clauses(params,navigator,offsets);\n}\n});\ncljs.pprint.render_clauses \x3d (function cljs$pprint$render_clauses(clauses,navigator,base_navigator){\nvar clauses__$1 \x3d clauses;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar navigator__$1 \x3d navigator;\nwhile(true){\nif(cljs.core.empty_QMARK_(clauses__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,navigator__$1], null);\n} else {\nvar clause \x3d cljs.core.first(clauses__$1);\nvar vec__22870 \x3d (function (){var sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__22873 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__22874 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__22874);\n\ntry{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.execute_sub_format(clause,navigator__$1,base_navigator),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)], null);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__22873);\n}})();\nvar iter_result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22870,(0),null);\nvar result_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22870,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,cljs.core.second(iter_result)], null);\n} else {\nvar G__24969 \x3d cljs.core.next(clauses__$1);\nvar G__24970 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result_str);\nvar G__24971 \x3d iter_result;\nclauses__$1 \x3d G__24969;\nacc \x3d G__24970;\nnavigator__$1 \x3d G__24971;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.justify_clauses \x3d (function cljs$pprint$justify_clauses(params,navigator,offsets){\nvar vec__22876 \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar else$ \x3d temp__5804__auto__;\nreturn cljs.pprint.render_clauses(else$,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn null;\n}\n})();\nvar vec__22879 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22876,(0),null);\nvar eol_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22879,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22876,(1),null);\nvar navigator__$1 \x3d (function (){var or__5045__auto__ \x3d new_navigator;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn navigator;\n}\n})();\nvar vec__22882 \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar p \x3d temp__5804__auto__;\nreturn cljs.pprint.realize_parameter_list(p,navigator__$1);\n} else {\nreturn null;\n}\n})();\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22882,(0),null);\nvar new_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22882,(1),null);\nvar navigator__$2 \x3d (function (){var or__5045__auto__ \x3d new_navigator__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn navigator__$1;\n}\n})();\nvar min_remaining \x3d (function (){var or__5045__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})();\nvar max_columns \x3d (function (){var or__5045__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.pprint.get_max_column(cljs.core._STAR_out_STAR_);\n}\n})();\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__22885 \x3d cljs.pprint.render_clauses(clauses,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nvar strs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22885,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22885,(1),null);\nvar slots \x3d (function (){var x__5130__auto__ \x3d (1);\nvar y__5131__auto__ \x3d (((cljs.core.count(strs) - (1)) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(1):(0))) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?(1):(0)));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar chars \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,strs));\nvar mincol \x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params);\nvar minpad \x3d new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar minout \x3d (chars + (slots * minpad));\nvar result_columns \x3d (((minout \x3c\x3d mincol))?mincol:(mincol + (colinc * ((1) + cljs.core.quot(((minout - mincol) - (1)),colinc)))));\nvar total_pad \x3d (result_columns - chars);\nvar pad \x3d (function (){var x__5130__auto__ \x3d minpad;\nvar y__5131__auto__ \x3d cljs.core.quot(total_pad,slots);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar extra_pad \x3d (total_pad - (pad * slots));\nvar pad_str \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(pad,new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d eol_str;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))) + min_remaining) + result_columns) \x3e max_columns);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([eol_str], 0));\n} else {\n}\n\nvar slots_24986__$1 \x3d slots;\nvar extra_pad_24987__$1 \x3d extra_pad;\nvar strs_24988__$1 \x3d strs;\nvar pad_only_24989 \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(strs_24988__$1),(1))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))));\n}\n})();\nwhile(true){\nif(cljs.core.seq(strs_24988__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(((cljs.core.not(pad_only_24989))?cljs.core.first(strs_24988__$1):null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_((function (){var or__5045__auto__ \x3d pad_only_24989;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.next(strs_24988__$1);\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\n}\n}\n})())?pad_str:null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((extra_pad_24987__$1 \x3e (0)))?new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params):null))].join(\x27\x27)], 0));\n\nvar G__24992 \x3d (slots_24986__$1 - (1));\nvar G__24993 \x3d (extra_pad_24987__$1 - (1));\nvar G__24994 \x3d (cljs.core.truth_(pad_only_24989)?strs_24988__$1:cljs.core.next(strs_24988__$1));\nvar G__24995 \x3d false;\nslots_24986__$1 \x3d G__24992;\nextra_pad_24987__$1 \x3d G__24993;\nstrs_24988__$1 \x3d G__24994;\npad_only_24989 \x3d G__24995;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn navigator__$3;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint22917 \x3d (function (writer,meta22918){\nthis.writer \x3d writer;\nthis.meta22918 \x3d meta22918;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint22917.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22919,meta22918__$1){\nvar self__ \x3d this;\nvar _22919__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint22917(self__.writer,meta22918__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint22917.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22919){\nvar self__ \x3d this;\nvar _22919__$1 \x3d this;\nreturn self__.meta22918;\n}));\n\n(cljs.pprint.t_cljs$pprint22917.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint22917.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__22928 \x3d cljs.core._EQ_;\nvar expr__22929 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__22928.cljs$core$IFn$_invoke$arity$2 ? pred__22928.cljs$core$IFn$_invoke$arity$2(String,expr__22929) : pred__22928.call(null,String,expr__22929)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n} else {\nif(cljs.core.truth_((pred__22928.cljs$core$IFn$_invoke$arity$2 ? pred__22928.cljs$core$IFn$_invoke$arity$2(Number,expr__22929) : pred__22928.call(null,Number,expr__22929)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__22929)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint22917.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta22918\x22,\x22meta22918\x22,1146443526,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint22917.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint22917.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint22917\x22);\n\n(cljs.pprint.t_cljs$pprint22917.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint22917\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint22917.\n */\ncljs.pprint.__GT_t_cljs$pprint22917 \x3d (function cljs$pprint$__GT_t_cljs$pprint22917(writer,meta22918){\nreturn (new cljs.pprint.t_cljs$pprint22917(writer,meta22918));\n});\n\n\n/**\n * Returns a proxy that wraps writer, converting all characters to lower case\n */\ncljs.pprint.downcase_writer \x3d (function cljs$pprint$downcase_writer(writer){\nreturn (new cljs.pprint.t_cljs$pprint22917(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint22939 \x3d (function (writer,meta22940){\nthis.writer \x3d writer;\nthis.meta22940 \x3d meta22940;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint22939.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22941,meta22940__$1){\nvar self__ \x3d this;\nvar _22941__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint22939(self__.writer,meta22940__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint22939.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22941){\nvar self__ \x3d this;\nvar _22941__$1 \x3d this;\nreturn self__.meta22940;\n}));\n\n(cljs.pprint.t_cljs$pprint22939.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint22939.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__22946 \x3d cljs.core._EQ_;\nvar expr__22947 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__22946.cljs$core$IFn$_invoke$arity$2 ? pred__22946.cljs$core$IFn$_invoke$arity$2(String,expr__22947) : pred__22946.call(null,String,expr__22947)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(s));\n} else {\nif(cljs.core.truth_((pred__22946.cljs$core$IFn$_invoke$arity$2 ? pred__22946.cljs$core$IFn$_invoke$arity$2(Number,expr__22947) : pred__22946.call(null,Number,expr__22947)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__22947)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint22939.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta22940\x22,\x22meta22940\x22,379025694,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint22939.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint22939.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint22939\x22);\n\n(cljs.pprint.t_cljs$pprint22939.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint22939\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint22939.\n */\ncljs.pprint.__GT_t_cljs$pprint22939 \x3d (function cljs$pprint$__GT_t_cljs$pprint22939(writer,meta22940){\nreturn (new cljs.pprint.t_cljs$pprint22939(writer,meta22940));\n});\n\n\n/**\n * Returns a proxy that wraps writer, converting all characters to upper case\n */\ncljs.pprint.upcase_writer \x3d (function cljs$pprint$upcase_writer(writer){\nreturn (new cljs.pprint.t_cljs$pprint22939(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Capitalizes the words in a string. If first? is false, don\x27t capitalize the\n * first character of the string even if it\x27s a letter.\n */\ncljs.pprint.capitalize_string \x3d (function cljs$pprint$capitalize_string(s,first_QMARK_){\nvar f \x3d cljs.core.first(s);\nvar s__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d first_QMARK_;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d f;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn goog.string.isUnicodeChar(f);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())?[clojure.string.upper_case(f),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1))].join(\x27\x27):s);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.first(cljs.pprint.consume((function (s__$2){\nif(cljs.core.empty_QMARK_(s__$2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n} else {\nvar m \x3d RegExp(\x22\\\\W\\\\w\x22,\x22g\x22).exec(s__$2);\nvar offset \x3d (function (){var and__5043__auto__ \x3d m;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (m.index + (1));\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s__$2,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s__$2,offset))].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$2,(offset + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$2,null], null);\n}\n}\n}),s__$1)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint22969 \x3d (function (writer,last_was_whitespace_QMARK_,meta22970){\nthis.writer \x3d writer;\nthis.last_was_whitespace_QMARK_ \x3d last_was_whitespace_QMARK_;\nthis.meta22970 \x3d meta22970;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint22969.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22971,meta22970__$1){\nvar self__ \x3d this;\nvar _22971__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint22969(self__.writer,self__.last_was_whitespace_QMARK_,meta22970__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint22969.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22971){\nvar self__ \x3d this;\nvar _22971__$1 \x3d this;\nreturn self__.meta22970;\n}));\n\n(cljs.pprint.t_cljs$pprint22969.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint22969.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__22976 \x3d cljs.core._EQ_;\nvar expr__22977 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__22976.cljs$core$IFn$_invoke$arity$2 ? pred__22976.cljs$core$IFn$_invoke$arity$2(String,expr__22977) : pred__22976.call(null,String,expr__22977)))){\nvar s \x3d x;\ncljs.core._write(self__.writer,cljs.pprint.capitalize_string(s.toLowerCase(),cljs.core.deref(self__.last_was_whitespace_QMARK_)));\n\nif((s.length \x3e (0))){\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1)))));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.truth_((pred__22976.cljs$core$IFn$_invoke$arity$2 ? pred__22976.cljs$core$IFn$_invoke$arity$2(Number,expr__22977) : pred__22976.call(null,Number,expr__22977)))){\nvar c \x3d cljs.core.char$(x);\nvar mod_c \x3d (cljs.core.truth_(cljs.core.deref(self__.last_was_whitespace_QMARK_))?clojure.string.upper_case(c):c);\ncljs.core._write(self__.writer,mod_c);\n\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(c));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__22977)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint22969.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22last-was-whitespace?\x22,\x22last-was-whitespace?\x22,-1073928093,null),new cljs.core.Symbol(null,\x22meta22970\x22,\x22meta22970\x22,1740722612,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint22969.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint22969.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint22969\x22);\n\n(cljs.pprint.t_cljs$pprint22969.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint22969\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint22969.\n */\ncljs.pprint.__GT_t_cljs$pprint22969 \x3d (function cljs$pprint$__GT_t_cljs$pprint22969(writer,last_was_whitespace_QMARK_,meta22970){\nreturn (new cljs.pprint.t_cljs$pprint22969(writer,last_was_whitespace_QMARK_,meta22970));\n});\n\n\n/**\n * Returns a proxy that wraps writer, capitalizing all words\n */\ncljs.pprint.capitalize_word_writer \x3d (function cljs$pprint$capitalize_word_writer(writer){\nvar last_was_whitespace_QMARK_ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nreturn (new cljs.pprint.t_cljs$pprint22969(writer,last_was_whitespace_QMARK_,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint22979 \x3d (function (writer,capped,meta22980){\nthis.writer \x3d writer;\nthis.capped \x3d capped;\nthis.meta22980 \x3d meta22980;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint22979.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22981,meta22980__$1){\nvar self__ \x3d this;\nvar _22981__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint22979(self__.writer,self__.capped,meta22980__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint22979.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22981){\nvar self__ \x3d this;\nvar _22981__$1 \x3d this;\nreturn self__.meta22980;\n}));\n\n(cljs.pprint.t_cljs$pprint22979.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint22979.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__22984 \x3d cljs.core._EQ_;\nvar expr__22985 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__22984.cljs$core$IFn$_invoke$arity$2 ? pred__22984.cljs$core$IFn$_invoke$arity$2(String,expr__22985) : pred__22984.call(null,String,expr__22985)))){\nvar s \x3d clojure.string.lower_case(x);\nif(cljs.core.not(cljs.core.deref(self__.capped))){\nvar m \x3d RegExp(\x22\\\\S\x22,\x22g\x22).exec(s);\nvar offset \x3d (function (){var and__5043__auto__ \x3d m;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn m.index;\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\ncljs.core._write(self__.writer,[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,offset)),clojure.string.lower_case(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(offset + (1))))].join(\x27\x27));\n\nreturn cljs.core.reset_BANG_(self__.capped,true);\n} else {\nreturn cljs.core._write(self__.writer,s);\n}\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n}\n} else {\nif(cljs.core.truth_((pred__22984.cljs$core$IFn$_invoke$arity$2 ? pred__22984.cljs$core$IFn$_invoke$arity$2(Number,expr__22985) : pred__22984.call(null,Number,expr__22985)))){\nvar c \x3d cljs.core.char$(x);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(cljs.core.deref(self__.capped));\nif(and__5043__auto__){\nreturn goog.string.isUnicodeChar(c);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core.reset_BANG_(self__.capped,true);\n\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(c));\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(c));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__22985)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint22979.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22capped\x22,\x22capped\x22,-1650988402,null),new cljs.core.Symbol(null,\x22meta22980\x22,\x22meta22980\x22,-510877769,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint22979.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint22979.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint22979\x22);\n\n(cljs.pprint.t_cljs$pprint22979.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint22979\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint22979.\n */\ncljs.pprint.__GT_t_cljs$pprint22979 \x3d (function cljs$pprint$__GT_t_cljs$pprint22979(writer,capped,meta22980){\nreturn (new cljs.pprint.t_cljs$pprint22979(writer,capped,meta22980));\n});\n\n\n/**\n * Returns a proxy that wraps writer, capitalizing the first word\n */\ncljs.pprint.init_cap_writer \x3d (function cljs$pprint$init_cap_writer(writer){\nvar capped \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\nreturn (new cljs.pprint.t_cljs$pprint22979(writer,capped,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.modify_case \x3d (function cljs$pprint$modify_case(make_writer,params,navigator,offsets){\nvar clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar _STAR_out_STAR__orig_val__22991 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__22992 \x3d (make_writer.cljs$core$IFn$_invoke$arity$1 ? make_writer.cljs$core$IFn$_invoke$arity$1(cljs.core._STAR_out_STAR_) : make_writer.call(null,cljs.core._STAR_out_STAR_));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__22992);\n\ntry{return cljs.pprint.execute_sub_format(clause,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__22991);\n}});\n/**\n * Returns the IWriter passed in wrapped in a pretty writer proxy, unless it\x27s\n * already a pretty writer. Generally, it is unnecessary to call this function, since pprint,\n * write, and cl-format all call it if they need to. However if you want the state to be\n * preserved across calls, you will want to wrap them with this.\n * \n * For example, when you want to generate column-aware output with multiple calls to cl-format,\n * do it like in this example:\n * \n * (defn print-table [aseq column-width]\n * (binding [*out* (get-pretty-writer *out*)]\n * (doseq [row aseq]\n * (doseq [col row]\n * (cl-format true \x22~4D~7,vT\x22 col column-width))\n * (prn))))\n * \n * Now when you run:\n * \n * user\x3e (print-table (map #(vector % (* % %) (* % % %)) (range 1 11)) 8)\n * \n * It prints a table of squares and cubes for the numbers from 1 to 10:\n * \n * 1 1 1\n * 2 4 8\n * 3 9 27\n * 4 16 64\n * 5 25 125\n * 6 36 216\n * 7 49 343\n * 8 64 512\n * 9 81 729\n * 10 100 1000\n */\ncljs.pprint.get_pretty_writer \x3d (function cljs$pprint$get_pretty_writer(writer){\nif(cljs.core.truth_(cljs.pprint.pretty_writer_QMARK_(writer))){\nreturn writer;\n} else {\nreturn cljs.pprint.pretty_writer(writer,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_);\n}\n});\n/**\n * Make a newline if *out* is not already at the beginning of the line. If *out* is\n * not a pretty writer (which keeps track of columns), this function always outputs a newline.\n */\ncljs.pprint.fresh_line \x3d (function cljs$pprint$fresh_line(){\nif((((!((cljs.core._STAR_out_STAR_ \x3d\x3d null))))?(((((cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d cljs.core._STAR_out_STAR_.cljs$core$IDeref$))))?true:(((!cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_))){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))))))){\nreturn cljs.pprint.prn();\n} else {\nreturn null;\n}\n} else {\nreturn cljs.pprint.prn();\n}\n});\ncljs.pprint.absolute_tabulation \x3d (function cljs$pprint$absolute_tabulation(params,navigator,offsets){\nvar colnum_25061 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_25062 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar current_25063 \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_))));\nvar space_count_25064 \x3d (((current_25063 \x3c colnum_25061))?(colnum_25061 - current_25063):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(colinc_25062,(0)))?(0):(colinc_25062 - cljs.core.rem((current_25063 - colnum_25061),colinc_25062))\n));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_25064,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.relative_tabulation \x3d (function cljs$pprint$relative_tabulation(params,navigator,offsets){\nvar colrel_25065 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_25066 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar start_col_25067 \x3d (colrel_25065 + cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))));\nvar offset_25068 \x3d (((colinc_25066 \x3e (0)))?cljs.core.rem(start_col_25067,colinc_25066):(0));\nvar space_count_25069 \x3d (colrel_25065 + ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),offset_25068))?(0):(colinc_25066 - offset_25068)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_25069,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.format_logical_block \x3d (function cljs$pprint$format_logical_block(params,navigator,offsets){\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause_count \x3d cljs.core.count(clauses);\nvar prefix \x3d (((clause_count \x3e (1)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.first(clauses)))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22(\x22:null));\nvar body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(((clause_count \x3e (1)))?(1):(0)));\nvar suffix \x3d (((clause_count \x3e (2)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(2))))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22)\x22:null));\nvar vec__23024 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23024,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23024,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23040_25070 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23041_25071 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23043_25072 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23044_25073 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23043_25072);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23044_25073);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,suffix);\n\ncljs.pprint.execute_sub_format(body,cljs.pprint.init_navigator(arg),new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23041_25071);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23040_25070);\n}}\n\n\nreturn navigator__$1;\n});\ncljs.pprint.set_indent \x3d (function cljs$pprint$set_indent(params,navigator,offsets){\nvar relative_to \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603):new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210));\ncljs.pprint.pprint_indent(relative_to,new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params));\n\nreturn navigator;\n});\ncljs.pprint.conditional_newline \x3d (function cljs$pprint$conditional_newline(params,navigator,offsets){\nvar kind \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336):new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889)):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186):new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697)));\ncljs.pprint.pprint_newline(kind);\n\nreturn navigator;\n});\ncljs.pprint.directive_table \x3d cljs.core.PersistentHashMap.fromArrays([\x22A\x22,\x22S\x22,\x22D\x22,\x22B\x22,\x22O\x22,\x22X\x22,\x22R\x22,\x22P\x22,\x22C\x22,\x22F\x22,\x22E\x22,\x22G\x22,\x22$\x22,\x22%\x22,\x22\x26\x22,\x22|\x22,\x22~\x22,\x22\\n\x22,\x22T\x22,\x22*\x22,\x22?\x22,\x22(\x22,\x22)\x22,\x22[\x22,\x22;\x22,\x22]\x22,\x22{\x22,\x22}\x22,\x22\x3c\x22,\x22\x3e\x22,\x22^\x22,\x22W\x22,\x22_\x22,\x22I\x22],[new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22A\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__23062_SHARP_,p2__23063_SHARP_,p3__23064_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.print_str,p1__23062_SHARP_,p2__23063_SHARP_,p3__23064_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22S\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__23066_SHARP_,p2__23067_SHARP_,p3__23068_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.pr_str,p1__23066_SHARP_,p2__23067_SHARP_,p3__23068_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22D\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__23069_SHARP_,p2__23070_SHARP_,p3__23071_SHARP_){\nreturn cljs.pprint.format_integer((10),p1__23069_SHARP_,p2__23070_SHARP_,p3__23071_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22B\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__23072_SHARP_,p2__23073_SHARP_,p3__23074_SHARP_){\nreturn cljs.pprint.format_integer((2),p1__23072_SHARP_,p2__23073_SHARP_,p3__23074_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22O\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__23075_SHARP_,p2__23076_SHARP_,p3__23077_SHARP_){\nreturn cljs.pprint.format_integer((8),p1__23075_SHARP_,p2__23076_SHARP_,p3__23077_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22X\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__23078_SHARP_,p2__23079_SHARP_,p3__23080_SHARP_){\nreturn cljs.pprint.format_integer((16),p1__23078_SHARP_,p2__23079_SHARP_,p3__23080_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22R\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(cljs.core.first(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn (function (p1__23081_SHARP_,p2__23082_SHARP_,p3__23083_SHARP_){\nreturn cljs.pprint.format_integer(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(p1__23081_SHARP_),p1__23081_SHARP_,p2__23082_SHARP_,p3__23083_SHARP_);\n});\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (function (p1__23084_SHARP_,p2__23085_SHARP_,p3__23086_SHARP_){\nreturn cljs.pprint.format_old_roman(p1__23084_SHARP_,p2__23085_SHARP_,p3__23086_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__23087_SHARP_,p2__23088_SHARP_,p3__23089_SHARP_){\nreturn cljs.pprint.format_new_roman(p1__23087_SHARP_,p2__23088_SHARP_,p3__23089_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__23090_SHARP_,p2__23091_SHARP_,p3__23092_SHARP_){\nreturn cljs.pprint.format_ordinal_english(p1__23090_SHARP_,p2__23091_SHARP_,p3__23092_SHARP_);\n});\n} else {\nreturn (function (p1__23093_SHARP_,p2__23094_SHARP_,p3__23095_SHARP_){\nreturn cljs.pprint.format_cardinal_english(p1__23093_SHARP_,p2__23094_SHARP_,p3__23095_SHARP_);\n});\n\n}\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22P\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar navigator__$1 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.pprint.relative_reposition(navigator,(-1)):navigator);\nvar strs \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22y\x22,\x22ies\x22], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22s\x22], null));\nvar vec__23145 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23145,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23145,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg,(1)))?cljs.core.first(strs):cljs.core.second(strs))], 0));\n\nreturn navigator__$2;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22C\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.pretty_character;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.readable_character;\n} else {\nreturn cljs.pprint.plain_character;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22F\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.fixed_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22E\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.exponential_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22G\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.general_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22$\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(2),Number], null),new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.dollar_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22%\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5636__auto___25088 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_25089 \x3d (0);\nwhile(true){\nif((i_25089 \x3c n__5636__auto___25088)){\ncljs.pprint.prn();\n\nvar G__25090 \x3d (i_25089 + (1));\ni_25089 \x3d G__25090;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x26\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar cnt_25091 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nif((cnt_25091 \x3e (0))){\ncljs.pprint.fresh_line();\n} else {\n}\n\nvar n__5636__auto___25092 \x3d (cnt_25091 - (1));\nvar i_25093 \x3d (0);\nwhile(true){\nif((i_25093 \x3c n__5636__auto___25092)){\ncljs.pprint.prn();\n\nvar G__25094 \x3d (i_25093 + (1));\ni_25093 \x3d G__25094;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22|\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5636__auto___25095 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_25096 \x3d (0);\nwhile(true){\nif((i_25096 \x3c n__5636__auto___25095)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\f\x22], 0));\n\nvar G__25097 \x3d (i_25096 + (1));\ni_25096 \x3d G__25097;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22~\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n,\x22~\x22))], 0));\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\\n\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\ncljs.pprint.prn();\n} else {\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22T\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__23103_SHARP_,p2__23104_SHARP_,p3__23105_SHARP_){\nreturn cljs.pprint.relative_tabulation(p1__23103_SHARP_,p2__23104_SHARP_,p3__23105_SHARP_);\n});\n} else {\nreturn (function (p1__23106_SHARP_,p2__23107_SHARP_,p3__23108_SHARP_){\nreturn cljs.pprint.absolute_tabulation(p1__23106_SHARP_,p2__23107_SHARP_,p3__23108_SHARP_);\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22*\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\nreturn cljs.pprint.absolute_reposition(navigator,n);\n} else {\nreturn cljs.pprint.relative_reposition(navigator,(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?(- n):n));\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22?\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (params__$1,navigator,offsets){\nvar vec__23165 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23165,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23165,(1),null);\nreturn cljs.pprint.execute_sub_format(subformat,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__23174 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23174,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23174,(1),null);\nvar vec__23177 \x3d cljs.pprint.next_arg(navigator__$1);\nvar subargs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23177,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23177,(1),null);\nvar sub_navigator \x3d cljs.pprint.init_navigator(subargs);\ncljs.pprint.execute_sub_format(subformat,sub_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n\nreturn navigator__$2;\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22(\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22)\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),null,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nvar mod_case_writer \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.pprint.upcase_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.capitalize_word_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.init_cap_writer:cljs.pprint.downcase_writer\n)));\nreturn (function (p1__23114_SHARP_,p2__23115_SHARP_,p3__23116_SHARP_){\nreturn cljs.pprint.modify_case(mod_case_writer,p1__23114_SHARP_,p2__23115_SHARP_,p3__23116_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22)\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22[\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22]\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22last\x22,\x22last\x22,1105735132)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.boolean_conditional;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.check_arg_conditional;\n} else {\nreturn cljs.pprint.choice_conditional;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22;\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),true], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22]\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22{\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22}\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),false], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.pprint.iterate_main_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_list_of_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_main_list;\n} else {\nreturn cljs.pprint.iterate_sublist;\n\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22}\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3c\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22\x3e\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.logical_block_or_justify;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3e\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22^\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(3),[new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar arg1 \x3d new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg2 \x3d new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg3 \x3d new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar exit \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007):new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d arg2;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn arg3;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nif((((arg1 \x3c\x3d arg2)) \x26\x26 ((arg2 \x3c\x3d arg3)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn arg2;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,arg2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_(arg1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,(0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif((cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1))):cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n\n}\n}\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22W\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n}\n})())){\nvar bindings \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552),null,new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862),null], null):cljs.core.PersistentVector.EMPTY),(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),true], null):cljs.core.PersistentVector.EMPTY));\nreturn (function (params__$1,navigator,offsets){\nvar vec__23192 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23192,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23192,(1),null);\nif(cljs.core.truth_(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.pprint.write,arg,bindings))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__23195 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23195,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23195,(1),null);\nif(cljs.core.truth_(cljs.pprint.write_out(arg))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22_\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.conditional_newline;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22I\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.set_indent;\n})], null)]);\ncljs.pprint.param_pattern \x3d /^([vV]|#|(\x27.)|([+-]?\\d+)|(?\x3d,))/;\ncljs.pprint.special_params \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335),null,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196),null], null), null);\ncljs.pprint.extract_param \x3d (function cljs$pprint$extract_param(p__23204){\nvar vec__23205 \x3d p__23204;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23205,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23205,(1),null);\nvar saw_comma \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23205,(2),null);\nvar m \x3d (new RegExp(cljs.pprint.param_pattern.source,\x22g\x22));\nvar param \x3d m.exec(s);\nif(cljs.core.truth_(param)){\nvar token_str \x3d cljs.core.first(param);\nvar remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,m.lastIndex);\nvar new_offset \x3d (offset + m.lastIndex);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22,\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(remainder,(0)))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder,new_offset,false], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,(1)),(new_offset + (1)),true], null)], null);\n}\n} else {\nif(cljs.core.truth_(saw_comma)){\nreturn cljs.pprint.format_error(\x22Badly formed parameters in format directive\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset], null)], null);\n}\n}\n});\ncljs.pprint.extract_params \x3d (function cljs$pprint$extract_params(s,offset){\nreturn cljs.pprint.consume(cljs.pprint.extract_param,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,false], null));\n});\n/**\n * Translate the string representation of a param to the internalized\n * representation\n */\ncljs.pprint.translate_param \x3d (function cljs$pprint$translate_param(p__23213){\nvar vec__23218 \x3d p__23213;\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23218,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23218,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(0)))?null:((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22V\x22,null,\x22v\x22,null], null), null),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22#\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(2))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x27\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(1)):parseInt(p,(10))\n)))),offset], null);\n});\ncljs.pprint.flag_defs \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22:\x22,new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),\x22@\x22,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349)], null);\ncljs.pprint.extract_flags \x3d (function cljs$pprint$extract_flags(s,offset){\nreturn cljs.pprint.consume((function (p__23255){\nvar vec__23259 \x3d p__23255;\nvar s__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23259,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23259,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23259,(2),null);\nif(cljs.core.empty_QMARK_(s__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n} else {\nvar flag \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.flag_defs,cljs.core.first(s__$1));\nif(cljs.core.truth_(flag)){\nif(cljs.core.contains_QMARK_(flags,flag)){\nreturn cljs.pprint.format_error([\x22Flag \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(s__$1)),\x22\\\x22 appears more than once in a directive\x22].join(\x27\x27),offset__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$1,(1)),(offset__$1 + (1)),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(flags,flag,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,offset__$1], null))], null)], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.pprint.check_flags \x3d (function cljs$pprint$check_flags(def,flags){\nvar allowed \x3d new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(def);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22@\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22:\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.pprint.format_error([\x22Cannot combine \\\x22@\\\x22 and \\\x22:\\\x22 flags for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),(function (){var x__5133__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1));\nvar y__5134__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1));\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})());\n} else {\nreturn null;\n}\n});\n/**\n * Takes a directive definition and the list of actual parameters and\n * a map of flags and returns a map of the parameters and flags with defaults\n * filled in. We check to make sure that there are the right types and number\n * of parameters as well.\n */\ncljs.pprint.map_params \x3d (function cljs$pprint$map_params(def,params,flags,offset){\ncljs.pprint.check_flags(def,flags);\n\nif((cljs.core.count(params) \x3e cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)))){\ncljs.pprint.format_error(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(null,\x22Too many parameters for directive \\\x22~C\\\x22: ~D~:* ~[were~;was~:;were~] specified but only ~D~:* ~[are~;is~:;are~] allowed\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def),cljs.core.count(params),cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def))], 0)),cljs.core.second(cljs.core.first(params)));\n} else {\n}\n\ncljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__23272_SHARP_,p2__23273_SHARP_){\nvar val \x3d cljs.core.first(p1__23272_SHARP_);\nif((!((((val \x3d\x3d null)) || (((cljs.core.contains_QMARK_(cljs.pprint.special_params,val)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.second(cljs.core.second(p2__23273_SHARP_)),cljs.core.type(val))))))))){\nreturn cljs.pprint.format_error([\x22Parameter \x22,cljs.core.name(cljs.core.first(p2__23273_SHARP_)),\x22 has bad type in directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type(val))].join(\x27\x27),cljs.core.second(p1__23272_SHARP_));\n} else {\nreturn null;\n}\n}),params,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)));\n\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.reverse((function (){var iter__5523__auto__ \x3d (function cljs$pprint$map_params_$_iter__23374(s__23375){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__23375__$1 \x3d s__23375;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__23375__$1);\nif(temp__5804__auto__){\nvar s__23375__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__23375__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__23375__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__23377 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__23376 \x3d (0);\nwhile(true){\nif((i__23376 \x3c size__5522__auto__)){\nvar vec__23380 \x3d cljs.core._nth(c__5521__auto__,i__23376);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23380,(0),null);\nvar vec__23383 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23380,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23383,(0),null);\ncljs.core.chunk_append(b__23377,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null));\n\nvar G__25137 \x3d (i__23376 + (1));\ni__23376 \x3d G__25137;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__23377),cljs$pprint$map_params_$_iter__23374(cljs.core.chunk_rest(s__23375__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__23377),null);\n}\n} else {\nvar vec__23387 \x3d cljs.core.first(s__23375__$2);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23387,(0),null);\nvar vec__23390 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23387,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23390,(0),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null),cljs$pprint$map_params_$_iter__23374(cljs.core.rest(s__23375__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def));\n})())),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__23274_SHARP_,p2__23275_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc,p1__23274_SHARP_,p2__23275_SHARP_);\n}),cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__23276_SHARP_){\nreturn cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__23276_SHARP_,(1)));\n}),cljs.core.zipmap(cljs.core.keys(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)),params))),flags], 0));\n});\ncljs.pprint.compile_directive \x3d (function cljs$pprint$compile_directive(s,offset){\nvar vec__23438 \x3d cljs.pprint.extract_params(s,offset);\nvar raw_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23438,(0),null);\nvar vec__23441 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23438,(1),null);\nvar rest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23441,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23441,(1),null);\nvar vec__23444 \x3d cljs.pprint.extract_flags(rest,offset__$1);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23444,(0),null);\nvar vec__23447 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23444,(1),null);\nvar rest__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23447,(0),null);\nvar offset__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23447,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23447,(2),null);\nvar directive \x3d cljs.core.first(rest__$1);\nvar def \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.directive_table,clojure.string.upper_case(directive));\nvar params \x3d (cljs.core.truth_(def)?cljs.pprint.map_params(def,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.translate_param,raw_params),flags,offset__$2):null);\nif(cljs.core.not(directive)){\ncljs.pprint.format_error(\x22Format string ended in the middle of a directive\x22,offset__$2);\n} else {\n}\n\nif(cljs.core.not(def)){\ncljs.pprint.format_error([\x22Directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(directive),\x22\\\x22 is undefined\x22].join(\x27\x27),offset__$2);\n} else {\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive((function (){var fexpr__23454 \x3d new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656).cljs$core$IFn$_invoke$arity$1(def);\nreturn (fexpr__23454.cljs$core$IFn$_invoke$arity$2 ? fexpr__23454.cljs$core$IFn$_invoke$arity$2(params,offset__$2) : fexpr__23454.call(null,params,offset__$2));\n})(),def,params,offset__$2,null,null,null)),(function (){var remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(rest__$1,(1));\nvar offset__$3 \x3d (offset__$2 + (1));\nvar trim_QMARK_ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))));\nvar trim_count \x3d ((trim_QMARK_)?cljs.pprint.prefix_count(remainder,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,\x22\\t\x22], null)):(0));\nvar remainder__$1 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,trim_count);\nvar offset__$4 \x3d (offset__$3 + trim_count);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder__$1,offset__$4], null);\n})()], null);\n});\ncljs.pprint.compile_raw_string \x3d (function cljs$pprint$compile_raw_string(s,offset){\nreturn (new cljs.pprint.compiled_directive((function (_,a,___$1){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s], 0));\n\nreturn a;\n}),null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),s], null),offset,null,null,null));\n});\ncljs.pprint.right_bracket \x3d (function cljs$pprint$right_bracket(this$){\nreturn new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.separator_QMARK_ \x3d (function cljs$pprint$separator_QMARK_(this$){\nreturn new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.else_separator_QMARK_ \x3d (function cljs$pprint$else_separator_QMARK_(this$){\nvar and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nreturn and__5043__auto__;\n}\n});\ncljs.pprint.process_bracket \x3d (function cljs$pprint$process_bracket(this$,remainder){\nvar vec__23467 \x3d cljs.pprint.collect_clauses(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),remainder);\nvar subex \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23467,(0),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23467,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(this$),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),cljs.pprint.tuple_map(subex,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$))], 0)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),null,null,null)),remainder__$1], null);\n});\ncljs.pprint.process_clause \x3d (function cljs$pprint$process_clause(bracket_info,offset,remainder){\nreturn cljs.pprint.consume((function (remainder__$1){\nif(cljs.core.empty_QMARK_(remainder__$1)){\nreturn cljs.pprint.format_error(\x22No closing bracket found.\x22,offset);\n} else {\nvar this$ \x3d cljs.core.first(remainder__$1);\nvar remainder__$2 \x3d cljs.core.next(remainder__$1);\nif(cljs.core.truth_(cljs.pprint.right_bracket(this$))){\nreturn cljs.pprint.process_bracket(this$,remainder__$2);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket_info),new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),null,remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.else_separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),null,null,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$2], null);\n\n}\n}\n}\n}\n}\n}),remainder);\n});\ncljs.pprint.collect_clauses \x3d (function cljs$pprint$collect_clauses(bracket_info,offset,remainder){\nreturn cljs.core.second(cljs.pprint.consume((function (p__23482){\nvar vec__23483 \x3d p__23482;\nvar clause_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23483,(0),null);\nvar saw_else \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23483,(1),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23483,(2),null);\nvar vec__23486 \x3d cljs.pprint.process_clause(bracket_info,offset,remainder__$1);\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23486,(0),null);\nvar vec__23489 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23486,(1),null);\nvar type \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23489,(0),null);\nvar right_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23489,(1),null);\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23489,(2),null);\nvar remainder__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23489,(3),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,cljs.core.PersistentArrayMap.createAsIfByAssoc([(cljs.core.truth_(saw_else)?new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146):new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237),right_params])], 0)),remainder__$2], null)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(clause_map))){\nreturn cljs.pprint.format_error(\x22Two else clauses (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22An else clause (\\\x22~:;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))) \x26\x26 (cljs.core.seq(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(clause_map))))){\nreturn cljs.pprint.format_error(\x22The else clause (\\\x22~:;\\\x22) is only allowed in the first position for this directive.\x22,offset);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646),else_params], null)], 0)),false,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),true,remainder__$2], null)], null);\n}\n\n}\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125))){\nif(cljs.core.truth_(saw_else)){\nreturn cljs.pprint.format_error(\x22A plain clause (with \\\x22~;\\\x22) follows an else clause (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22A separator (\\\x22~;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),false,remainder__$2], null)], null);\n\n}\n}\n} else {\nreturn null;\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),cljs.core.PersistentVector.EMPTY], null),false,remainder], null)));\n});\n/**\n * Take a linearly compiled format and process the bracket directives to give it\n * the appropriate tree structure\n */\ncljs.pprint.process_nesting \x3d (function cljs$pprint$process_nesting(format){\nreturn cljs.core.first(cljs.pprint.consume((function (remainder){\nvar this$ \x3d cljs.core.first(remainder);\nvar remainder__$1 \x3d cljs.core.next(remainder);\nvar bracket \x3d new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket))){\nreturn cljs.pprint.process_bracket(this$,remainder__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$1], null);\n}\n}),format));\n});\n/**\n * Compiles format-str into a compiled format which can be used as an argument\n * to cl-format just like a plain format string. Use this function for improved\n * performance when you\x27re using the same format string repeatedly\n */\ncljs.pprint.compile_format \x3d (function cljs$pprint$compile_format(format_str){\nvar _STAR_format_str_STAR__orig_val__23496 \x3d cljs.pprint._STAR_format_str_STAR_;\nvar _STAR_format_str_STAR__temp_val__23497 \x3d format_str;\n(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__temp_val__23497);\n\ntry{return cljs.pprint.process_nesting(cljs.core.first(cljs.pprint.consume((function (p__23498){\nvar vec__23499 \x3d p__23498;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23499,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23499,(1),null);\nif(cljs.core.empty_QMARK_(s)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,s], null);\n} else {\nvar tilde \x3d s.indexOf(\x22~\x22);\nif((tilde \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(s,offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,(offset + s.length)], null)], null);\n} else {\nif((tilde \x3d\x3d\x3d (0))){\nreturn cljs.pprint.compile_directive(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1)),(offset + (1)));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),tilde),offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,tilde),(tilde + offset)], null)], null);\n\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [format_str,(0)], null))));\n}finally {(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__orig_val__23496);\n}});\n/**\n * determine whether a given compiled format has any directives that depend on the\n * column number or pretty printing\n */\ncljs.pprint.needs_pretty \x3d (function cljs$pprint$needs_pretty(format){\nvar format__$1 \x3d format;\nwhile(true){\nif(cljs.core.empty_QMARK_(format__$1)){\nreturn false;\n} else {\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1))));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\n}\n}\n})())){\nreturn true;\n} else {\nvar G__25163 \x3d cljs.core.next(format__$1);\nformat__$1 \x3d G__25163;\ncontinue;\n}\n}\nbreak;\n}\n});\n/**\n * Executes the format with the arguments.\n */\ncljs.pprint.execute_format \x3d (function cljs$pprint$execute_format(var_args){\nvar G__23509 \x3d arguments.length;\nswitch (G__23509) {\ncase 3:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,format,args){\nvar sb \x3d (new goog.string.StringBuffer());\nvar real_stream \x3d ((((cljs.core.not(stream)) || (stream \x3d\x3d\x3d true)))?(new cljs.core.StringBufferWriter(sb)):stream);\nvar wrapped_stream \x3d ((((cljs.pprint.needs_pretty(format)) \x26\x26 (cljs.core.not(cljs.pprint.pretty_writer_QMARK_(real_stream)))))?cljs.pprint.get_pretty_writer(real_stream):real_stream);\nvar _STAR_out_STAR__orig_val__23511 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__23512 \x3d wrapped_stream;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__23512);\n\ntry{try{cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(format,args);\n}finally {if((!((real_stream \x3d\x3d\x3d wrapped_stream)))){\ncljs.core._flush(wrapped_stream);\n} else {\n}\n}\nif(cljs.core.not(stream)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nif(stream \x3d\x3d\x3d true){\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\nreturn null;\n\n}\n}\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__23511);\n}}));\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2 \x3d (function (format,args){\ncljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__23513 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23513,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23513,(1),null);\nvar vec__23516 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23516,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23516,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),args__$1);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format);\n\nreturn null;\n}));\n\n(cljs.pprint.execute_format.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.pprint.cached_compile \x3d cljs.core.memoize(cljs.pprint.compile_format);\n/**\n * Installs a function as a new method of multimethod associated with dispatch-value. \n */\ncljs.pprint.use_method \x3d (function cljs$pprint$use_method(multifn,dispatch_val,func){\nreturn cljs.core._add_method(multifn,dispatch_val,func);\n});\ncljs.pprint.reader_macros \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22\x27\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22#\x27\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null),\x22@\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null),\x22~\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22deref\x22,\x22cljs.core/deref\x22,1901963335,null),\x22@\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22unquote\x22,\x22cljs.core/unquote\x22,1013085760,null),\x22~\x22], null);\ncljs.pprint.pprint_reader_macro \x3d (function cljs$pprint$pprint_reader_macro(alis){\nvar macro_char \x3d (function (){var G__23524 \x3d cljs.core.first(alis);\nreturn (cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1(G__23524) : cljs.pprint.reader_macros.call(null,G__23524));\n})();\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d macro_char;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(alis));\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core._write(cljs.core._STAR_out_STAR_,macro_char);\n\ncljs.pprint.write_out(cljs.core.second(alis));\n\nreturn true;\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_simple_list \x3d (function cljs$pprint$pprint_simple_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23531_25177 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23532_25178 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23533_25179 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23534_25180 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23533_25179);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23534_25180);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nvar length_count23535_25182 \x3d (0);\nvar alis_25183__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count23535_25182 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_25183__$1){\ncljs.pprint.write_out(cljs.core.first(alis_25183__$1));\n\nif(cljs.core.next(alis_25183__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__25188 \x3d (length_count23535_25182 + (1));\nvar G__25189 \x3d cljs.core.next(alis_25183__$1);\nlength_count23535_25182 \x3d G__25188;\nalis_25183__$1 \x3d G__25189;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23532_25178);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23531_25177);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_list \x3d (function cljs$pprint$pprint_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nreturn cljs.pprint.pprint_simple_list(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_vector \x3d (function cljs$pprint$pprint_vector(avec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23558_25190 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23559_25191 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23560_25192 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23561_25193 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23560_25192);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23561_25193);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count23595_25195 \x3d (0);\nvar aseq_25196 \x3d cljs.core.seq(avec);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count23595_25195 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_25196){\ncljs.pprint.write_out(cljs.core.first(aseq_25196));\n\nif(cljs.core.next(aseq_25196)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__25197 \x3d (length_count23595_25195 + (1));\nvar G__25198 \x3d cljs.core.next(aseq_25196);\nlength_count23595_25195 \x3d G__25197;\naseq_25196 \x3d G__25198;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23559_25191);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23558_25190);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_array \x3d (function (){var format_in__19445__auto__ \x3d \x22~\x3c[~;~@{~w~^, ~:_~}~;]~:\x3e\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25199__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25199 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25200__i \x3d 0, G__25200__a \x3d new Array(arguments.length - 0);\nwhile (G__25200__i \x3c G__25200__a.length) {G__25200__a[G__25200__i] \x3d arguments[G__25200__i + 0]; ++G__25200__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25200__a,0,null);\n} \nreturn G__25199__delegate.call(this,args__19448__auto__);};\nG__25199.cljs$lang$maxFixedArity \x3d 0;\nG__25199.cljs$lang$applyTo \x3d (function (arglist__25201){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25201);\nreturn G__25199__delegate(args__19448__auto__);\n});\nG__25199.cljs$core$IFn$_invoke$arity$variadic \x3d G__25199__delegate;\nreturn G__25199;\n})()\n;\n})();\ncljs.pprint.pprint_map \x3d (function cljs$pprint$pprint_map(amap){\nvar vec__23644 \x3d (((!(cljs.core.record_QMARK_(amap))))?(function (){var fexpr__23679 \x3d new cljs.core.Var(function(){return cljs.core.lift_ns;},new cljs.core.Symbol(\x22cljs.core\x22,\x22lift-ns\x22,\x22cljs.core/lift-ns\x22,463499081,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22lift-ns\x22,\x22lift-ns\x22,602311926,null),\x22cljs/core.cljs\x22,15,1,10543,10543,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22m\x22,\x22m\x22,-1021758608,null)], null)),\x22Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\x22,(cljs.core.truth_(cljs.core.lift_ns)?cljs.core.lift_ns.cljs$lang$test:null)]));\nreturn (fexpr__23679.cljs$core$IFn$_invoke$arity$1 ? fexpr__23679.cljs$core$IFn$_invoke$arity$1(amap) : fexpr__23679.call(null,amap));\n})():null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23644,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23644,(1),null);\nvar amap__$1 \x3d (function (){var or__5045__auto__ \x3d lift_map;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn amap;\n}\n})();\nvar prefix \x3d (cljs.core.truth_(ns)?[\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22{\x22].join(\x27\x27):\x22{\x22);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23683_25204 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23684_25205 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23685_25206 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23686_25207 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23685_25206);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23686_25207);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22}\x22);\n\nvar length_count23687_25208 \x3d (0);\nvar aseq_25209 \x3d cljs.core.seq(amap__$1);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count23687_25208 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_25209){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23689_25210 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23690_25211 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23691_25212 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23692_25213 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23691_25212);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23692_25213);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\ncljs.pprint.write_out(cljs.core.ffirst(aseq_25209));\n\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d (0));\n\ncljs.pprint.write_out(cljs.core.fnext(cljs.core.first(aseq_25209)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23690_25211);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23689_25210);\n}}\n\n\nif(cljs.core.next(aseq_25209)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22, \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__25214 \x3d (length_count23687_25208 + (1));\nvar G__25215 \x3d cljs.core.next(aseq_25209);\nlength_count23687_25208 \x3d G__25214;\naseq_25209 \x3d G__25215;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23684_25205);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23683_25204);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_simple_default \x3d (function cljs$pprint$pprint_simple_default(obj){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n});\ncljs.pprint.pprint_set \x3d (function (){var format_in__19445__auto__ \x3d \x22~\x3c#{~;~@{~w~^ ~:_~}~;}~:\x3e\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25217__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25217 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25218__i \x3d 0, G__25218__a \x3d new Array(arguments.length - 0);\nwhile (G__25218__i \x3c G__25218__a.length) {G__25218__a[G__25218__i] \x3d arguments[G__25218__i + 0]; ++G__25218__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25218__a,0,null);\n} \nreturn G__25217__delegate.call(this,args__19448__auto__);};\nG__25217.cljs$lang$maxFixedArity \x3d 0;\nG__25217.cljs$lang$applyTo \x3d (function (arglist__25219){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25219);\nreturn G__25217__delegate(args__19448__auto__);\n});\nG__25217.cljs$core$IFn$_invoke$arity$variadic \x3d G__25217__delegate;\nreturn G__25217;\n})()\n;\n})();\ncljs.pprint.type_map \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22core$future_call\x22,\x22Future\x22,\x22core$promise\x22,\x22Promise\x22], null);\n/**\n * Map ugly type names to something simpler\n */\ncljs.pprint.map_ref_type \x3d (function cljs$pprint$map_ref_type(name){\nvar or__5045__auto__ \x3d (function (){var temp__5804__auto__ \x3d cljs.core.re_find(/^[^$]+\\$[^$]+/,name);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar match \x3d temp__5804__auto__;\nreturn (cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1(match) : cljs.pprint.type_map.call(null,match));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn name;\n}\n});\ncljs.pprint.pprint_ideref \x3d (function cljs$pprint$pprint_ideref(o){\nvar prefix \x3d [\x22#\x3c\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.map_ref_type(cljs.core.type(o).name)),\x22@\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.getUid(o)),\x22: \x22].join(\x27\x27);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23708_25221 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23709_25222 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23710_25223 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23711_25224 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23710_25223);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23711_25224);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22\x3e\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(- (((prefix).length) - (2))));\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\ncljs.pprint.write_out((((function (){var and__5043__auto__ \x3d (((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition1$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IPending$))))?true:(((!o.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o));\nif(and__5043__auto__){\nreturn (!(cljs.core._realized_QMARK_(o)));\n} else {\nreturn and__5043__auto__;\n}\n})())?new cljs.core.Keyword(null,\x22not-delivered\x22,\x22not-delivered\x22,1599158697):cljs.core.deref(o)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23709_25222);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23708_25221);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_pqueue \x3d (function (){var format_in__19445__auto__ \x3d \x22~\x3c\x3c-(~;~@{~w~^ ~_~}~;)-\x3c~:\x3e\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25225__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25225 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25226__i \x3d 0, G__25226__a \x3d new Array(arguments.length - 0);\nwhile (G__25226__i \x3c G__25226__a.length) {G__25226__a[G__25226__i] \x3d arguments[G__25226__i + 0]; ++G__25226__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25226__a,0,null);\n} \nreturn G__25225__delegate.call(this,args__19448__auto__);};\nG__25225.cljs$lang$maxFixedArity \x3d 0;\nG__25225.cljs$lang$applyTo \x3d (function (arglist__25227){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25227);\nreturn G__25225__delegate(args__19448__auto__);\n});\nG__25225.cljs$core$IFn$_invoke$arity$variadic \x3d G__25225__delegate;\nreturn G__25225;\n})()\n;\n})();\ncljs.pprint.type_dispatcher \x3d (function cljs$pprint$type_dispatcher(obj){\nif((obj instanceof cljs.core.PersistentQueue)){\nreturn new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IDeref$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj))){\nreturn new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795);\n} else {\nif((obj instanceof cljs.core.Symbol)){\nreturn new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696);\n} else {\nif(cljs.core.seq_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683);\n} else {\nif(cljs.core.map_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif(cljs.core.vector_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158);\n} else {\nif(cljs.core.set_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((obj \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328);\n\n}\n}\n}\n}\n}\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.simple_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for simple data structure format.\n */\ncljs.pprint.simple_dispatch \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__23735 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__23735.cljs$core$IFn$_invoke$arity$0 ? fexpr__23735.cljs$core$IFn$_invoke$arity$0() : fexpr__23735.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22simple-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_list);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,null,(function (){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)));\n}));\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\n/**\n * Figure out which kind of brackets to use\n */\ncljs.pprint.brackets \x3d (function cljs$pprint$brackets(form){\nif(cljs.core.vector_QMARK_(form)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22[\x22,\x22]\x22], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22(\x22,\x22)\x22], null);\n}\n});\n/**\n * Pretty print a single reference (import, use, etc.) from a namespace decl\n */\ncljs.pprint.pprint_ns_reference \x3d (function cljs$pprint$pprint_ns_reference(reference){\nif(cljs.core.sequential_QMARK_(reference)){\nvar vec__23754 \x3d cljs.pprint.brackets(reference);\nvar start \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23754,(0),null);\nvar end \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23754,(1),null);\nvar vec__23757 \x3d reference;\nvar seq__23758 \x3d cljs.core.seq(vec__23757);\nvar first__23759 \x3d cljs.core.first(seq__23758);\nvar seq__23758__$1 \x3d cljs.core.next(seq__23758);\nvar keyw \x3d first__23759;\nvar args \x3d seq__23758__$1;\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23760_25230 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23761_25231 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23762_25232 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23763_25233 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23762_25232);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23763_25233);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start,null,end);\n\n(function (){var format_in__19445__auto__ \x3d \x22~w~:i\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25237__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25237 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25238__i \x3d 0, G__25238__a \x3d new Array(arguments.length - 0);\nwhile (G__25238__i \x3c G__25238__a.length) {G__25238__a[G__25238__i] \x3d arguments[G__25238__i + 0]; ++G__25238__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25238__a,0,null);\n} \nreturn G__25237__delegate.call(this,args__19448__auto__);};\nG__25237.cljs$lang$maxFixedArity \x3d 0;\nG__25237.cljs$lang$applyTo \x3d (function (arglist__25239){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25239);\nreturn G__25237__delegate(args__19448__auto__);\n});\nG__25237.cljs$core$IFn$_invoke$arity$variadic \x3d G__25237__delegate;\nreturn G__25237;\n})()\n;\n})()(keyw);\n\nvar args_25240__$1 \x3d args;\nwhile(true){\nif(cljs.core.seq(args_25240__$1)){\n(function (){var format_in__19445__auto__ \x3d \x22 \x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn ((function (args_25240__$1,format_in__19445__auto__,cf__19446__auto__,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args){\nreturn (function() { \nvar G__25241__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25241 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25242__i \x3d 0, G__25242__a \x3d new Array(arguments.length - 0);\nwhile (G__25242__i \x3c G__25242__a.length) {G__25242__a[G__25242__i] \x3d arguments[G__25242__i + 0]; ++G__25242__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25242__a,0,null);\n} \nreturn G__25241__delegate.call(this,args__19448__auto__);};\nG__25241.cljs$lang$maxFixedArity \x3d 0;\nG__25241.cljs$lang$applyTo \x3d (function (arglist__25243){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25243);\nreturn G__25241__delegate(args__19448__auto__);\n});\nG__25241.cljs$core$IFn$_invoke$arity$variadic \x3d G__25241__delegate;\nreturn G__25241;\n})()\n;\n;})(args_25240__$1,format_in__19445__auto__,cf__19446__auto__,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args))\n})()();\n\nvar arg_25244 \x3d cljs.core.first(args_25240__$1);\nif(cljs.core.sequential_QMARK_(arg_25244)){\nvar vec__23777_25245 \x3d cljs.pprint.brackets(arg_25244);\nvar start_25246__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23777_25245,(0),null);\nvar end_25247__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23777_25245,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23781_25248 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23782_25249 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23783_25250 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23784_25251 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23783_25250);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23784_25251);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start_25246__$1,null,end_25247__$1);\n\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(arg_25244),(3))) \x26\x26 ((cljs.core.second(arg_25244) instanceof cljs.core.Keyword)))){\nvar vec__23785_25252 \x3d arg_25244;\nvar ns_25253 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23785_25252,(0),null);\nvar kw_25254 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23785_25252,(1),null);\nvar lis_25255 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23785_25252,(2),null);\n(function (){var format_in__19445__auto__ \x3d \x22~w ~w \x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn ((function (args_25240__$1,format_in__19445__auto__,cf__19446__auto__,vec__23785_25252,ns_25253,kw_25254,lis_25255,_STAR_current_level_STAR__orig_val__23781_25248,_STAR_current_length_STAR__orig_val__23782_25249,_STAR_current_level_STAR__temp_val__23783_25250,_STAR_current_length_STAR__temp_val__23784_25251,vec__23777_25245,start_25246__$1,end_25247__$1,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args){\nreturn (function() { \nvar G__25256__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25256 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25257__i \x3d 0, G__25257__a \x3d new Array(arguments.length - 0);\nwhile (G__25257__i \x3c G__25257__a.length) {G__25257__a[G__25257__i] \x3d arguments[G__25257__i + 0]; ++G__25257__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25257__a,0,null);\n} \nreturn G__25256__delegate.call(this,args__19448__auto__);};\nG__25256.cljs$lang$maxFixedArity \x3d 0;\nG__25256.cljs$lang$applyTo \x3d (function (arglist__25258){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25258);\nreturn G__25256__delegate(args__19448__auto__);\n});\nG__25256.cljs$core$IFn$_invoke$arity$variadic \x3d G__25256__delegate;\nreturn G__25256;\n})()\n;\n;})(args_25240__$1,format_in__19445__auto__,cf__19446__auto__,vec__23785_25252,ns_25253,kw_25254,lis_25255,_STAR_current_level_STAR__orig_val__23781_25248,_STAR_current_length_STAR__orig_val__23782_25249,_STAR_current_level_STAR__temp_val__23783_25250,_STAR_current_length_STAR__temp_val__23784_25251,vec__23777_25245,start_25246__$1,end_25247__$1,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args))\n})()(ns_25253,kw_25254);\n\nif(cljs.core.sequential_QMARK_(lis_25255)){\n(function (){var format_in__19445__auto__ \x3d ((cljs.core.vector_QMARK_(lis_25255))?\x22~\x3c[~;~@{~w~^ ~:_~}~;]~:\x3e\x22:\x22~\x3c(~;~@{~w~^ ~:_~}~;)~:\x3e\x22);\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn ((function (args_25240__$1,format_in__19445__auto__,cf__19446__auto__,vec__23785_25252,ns_25253,kw_25254,lis_25255,_STAR_current_level_STAR__orig_val__23781_25248,_STAR_current_length_STAR__orig_val__23782_25249,_STAR_current_level_STAR__temp_val__23783_25250,_STAR_current_length_STAR__temp_val__23784_25251,vec__23777_25245,start_25246__$1,end_25247__$1,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args){\nreturn (function() { \nvar G__25259__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25259 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25260__i \x3d 0, G__25260__a \x3d new Array(arguments.length - 0);\nwhile (G__25260__i \x3c G__25260__a.length) {G__25260__a[G__25260__i] \x3d arguments[G__25260__i + 0]; ++G__25260__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25260__a,0,null);\n} \nreturn G__25259__delegate.call(this,args__19448__auto__);};\nG__25259.cljs$lang$maxFixedArity \x3d 0;\nG__25259.cljs$lang$applyTo \x3d (function (arglist__25261){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25261);\nreturn G__25259__delegate(args__19448__auto__);\n});\nG__25259.cljs$core$IFn$_invoke$arity$variadic \x3d G__25259__delegate;\nreturn G__25259;\n})()\n;\n;})(args_25240__$1,format_in__19445__auto__,cf__19446__auto__,vec__23785_25252,ns_25253,kw_25254,lis_25255,_STAR_current_level_STAR__orig_val__23781_25248,_STAR_current_length_STAR__orig_val__23782_25249,_STAR_current_level_STAR__temp_val__23783_25250,_STAR_current_length_STAR__temp_val__23784_25251,vec__23777_25245,start_25246__$1,end_25247__$1,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args))\n})()(lis_25255);\n} else {\ncljs.pprint.write_out(lis_25255);\n}\n} else {\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__19445__auto__ \x3d \x22~w ~:i~@{~w~^ ~:_~}\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn ((function (args_25240__$1,format_in__19445__auto__,cf__19446__auto__,_STAR_current_level_STAR__orig_val__23781_25248,_STAR_current_length_STAR__orig_val__23782_25249,_STAR_current_level_STAR__temp_val__23783_25250,_STAR_current_length_STAR__temp_val__23784_25251,vec__23777_25245,start_25246__$1,end_25247__$1,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args){\nreturn (function() { \nvar G__25262__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25262 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25263__i \x3d 0, G__25263__a \x3d new Array(arguments.length - 0);\nwhile (G__25263__i \x3c G__25263__a.length) {G__25263__a[G__25263__i] \x3d arguments[G__25263__i + 0]; ++G__25263__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25263__a,0,null);\n} \nreturn G__25262__delegate.call(this,args__19448__auto__);};\nG__25262.cljs$lang$maxFixedArity \x3d 0;\nG__25262.cljs$lang$applyTo \x3d (function (arglist__25264){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25264);\nreturn G__25262__delegate(args__19448__auto__);\n});\nG__25262.cljs$core$IFn$_invoke$arity$variadic \x3d G__25262__delegate;\nreturn G__25262;\n})()\n;\n;})(args_25240__$1,format_in__19445__auto__,cf__19446__auto__,_STAR_current_level_STAR__orig_val__23781_25248,_STAR_current_length_STAR__orig_val__23782_25249,_STAR_current_level_STAR__temp_val__23783_25250,_STAR_current_length_STAR__temp_val__23784_25251,vec__23777_25245,start_25246__$1,end_25247__$1,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args))\n})(),arg_25244);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23782_25249);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23781_25248);\n}}\n\n\nif(cljs.core.next(args_25240__$1)){\n(function (){var format_in__19445__auto__ \x3d \x22~_\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn ((function (args_25240__$1,format_in__19445__auto__,cf__19446__auto__,vec__23777_25245,start_25246__$1,end_25247__$1,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args){\nreturn (function() { \nvar G__25265__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25265 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25266__i \x3d 0, G__25266__a \x3d new Array(arguments.length - 0);\nwhile (G__25266__i \x3c G__25266__a.length) {G__25266__a[G__25266__i] \x3d arguments[G__25266__i + 0]; ++G__25266__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25266__a,0,null);\n} \nreturn G__25265__delegate.call(this,args__19448__auto__);};\nG__25265.cljs$lang$maxFixedArity \x3d 0;\nG__25265.cljs$lang$applyTo \x3d (function (arglist__25267){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25267);\nreturn G__25265__delegate(args__19448__auto__);\n});\nG__25265.cljs$core$IFn$_invoke$arity$variadic \x3d G__25265__delegate;\nreturn G__25265;\n})()\n;\n;})(args_25240__$1,format_in__19445__auto__,cf__19446__auto__,vec__23777_25245,start_25246__$1,end_25247__$1,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args))\n})()();\n} else {\n}\n} else {\ncljs.pprint.write_out(arg_25244);\n\nif(cljs.core.next(args_25240__$1)){\n(function (){var format_in__19445__auto__ \x3d \x22~:_\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn ((function (args_25240__$1,format_in__19445__auto__,cf__19446__auto__,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args){\nreturn (function() { \nvar G__25268__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25268 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25269__i \x3d 0, G__25269__a \x3d new Array(arguments.length - 0);\nwhile (G__25269__i \x3c G__25269__a.length) {G__25269__a[G__25269__i] \x3d arguments[G__25269__i + 0]; ++G__25269__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25269__a,0,null);\n} \nreturn G__25268__delegate.call(this,args__19448__auto__);};\nG__25268.cljs$lang$maxFixedArity \x3d 0;\nG__25268.cljs$lang$applyTo \x3d (function (arglist__25270){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25270);\nreturn G__25268__delegate(args__19448__auto__);\n});\nG__25268.cljs$core$IFn$_invoke$arity$variadic \x3d G__25268__delegate;\nreturn G__25268;\n})()\n;\n;})(args_25240__$1,format_in__19445__auto__,cf__19446__auto__,arg_25244,_STAR_current_level_STAR__orig_val__23760_25230,_STAR_current_length_STAR__orig_val__23761_25231,_STAR_current_level_STAR__temp_val__23762_25232,_STAR_current_length_STAR__temp_val__23763_25233,vec__23754,start,end,vec__23757,seq__23758,first__23759,seq__23758__$1,keyw,args))\n})()();\n} else {\n}\n}\n\nvar G__25271 \x3d cljs.core.next(args_25240__$1);\nargs_25240__$1 \x3d G__25271;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23761_25231);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23760_25230);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(reference);\n}\n});\n/**\n * The pretty print dispatch chunk for the ns macro\n */\ncljs.pprint.pprint_ns \x3d (function cljs$pprint$pprint_ns(alis){\nif(cljs.core.next(alis)){\nvar vec__23788 \x3d alis;\nvar seq__23789 \x3d cljs.core.seq(vec__23788);\nvar first__23790 \x3d cljs.core.first(seq__23789);\nvar seq__23789__$1 \x3d cljs.core.next(seq__23789);\nvar ns_sym \x3d first__23790;\nvar first__23790__$1 \x3d cljs.core.first(seq__23789__$1);\nvar seq__23789__$2 \x3d cljs.core.next(seq__23789__$1);\nvar ns_name \x3d first__23790__$1;\nvar stuff \x3d seq__23789__$2;\nvar vec__23791 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23791,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23791,(1),null);\nvar vec__23794 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23794,(0),null);\nvar references \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23794,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23799_25272 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23800_25273 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23801_25274 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23802_25275 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23801_25274);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23802_25275);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__19445__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25276__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25276 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25278__i \x3d 0, G__25278__a \x3d new Array(arguments.length - 0);\nwhile (G__25278__i \x3c G__25278__a.length) {G__25278__a[G__25278__i] \x3d arguments[G__25278__i + 0]; ++G__25278__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25278__a,0,null);\n} \nreturn G__25276__delegate.call(this,args__19448__auto__);};\nG__25276.cljs$lang$maxFixedArity \x3d 0;\nG__25276.cljs$lang$applyTo \x3d (function (arglist__25279){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25279);\nreturn G__25276__delegate(args__19448__auto__);\n});\nG__25276.cljs$core$IFn$_invoke$arity$variadic \x3d G__25276__delegate;\nreturn G__25276;\n})()\n;\n})()(ns_sym,ns_name);\n\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d attr_map;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.seq(references);\n}\n}\n})())){\n(function (){var format_in__19445__auto__ \x3d \x22~@:_\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25281__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25281 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25282__i \x3d 0, G__25282__a \x3d new Array(arguments.length - 0);\nwhile (G__25282__i \x3c G__25282__a.length) {G__25282__a[G__25282__i] \x3d arguments[G__25282__i + 0]; ++G__25282__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25282__a,0,null);\n} \nreturn G__25281__delegate.call(this,args__19448__auto__);};\nG__25281.cljs$lang$maxFixedArity \x3d 0;\nG__25281.cljs$lang$applyTo \x3d (function (arglist__25284){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25284);\nreturn G__25281__delegate(args__19448__auto__);\n});\nG__25281.cljs$core$IFn$_invoke$arity$variadic \x3d G__25281__delegate;\nreturn G__25281;\n})()\n;\n})()();\n} else {\n}\n\nif(cljs.core.truth_(doc_str)){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\x22~a\\\x22~:[~;~:@_~]\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([doc_str,(function (){var or__5045__auto__ \x3d attr_map;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.seq(references);\n}\n})()], 0));\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__19445__auto__ \x3d \x22~w~:[~;~:@_~]\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25285__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25285 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25286__i \x3d 0, G__25286__a \x3d new Array(arguments.length - 0);\nwhile (G__25286__i \x3c G__25286__a.length) {G__25286__a[G__25286__i] \x3d arguments[G__25286__i + 0]; ++G__25286__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25286__a,0,null);\n} \nreturn G__25285__delegate.call(this,args__19448__auto__);};\nG__25285.cljs$lang$maxFixedArity \x3d 0;\nG__25285.cljs$lang$applyTo \x3d (function (arglist__25287){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25287);\nreturn G__25285__delegate(args__19448__auto__);\n});\nG__25285.cljs$core$IFn$_invoke$arity$variadic \x3d G__25285__delegate;\nreturn G__25285;\n})()\n;\n})()(attr_map,cljs.core.seq(references));\n} else {\n}\n\nvar references_25289__$1 \x3d references;\nwhile(true){\ncljs.pprint.pprint_ns_reference(cljs.core.first(references_25289__$1));\n\nvar temp__5804__auto___25290 \x3d cljs.core.next(references_25289__$1);\nif(temp__5804__auto___25290){\nvar references_25291__$2 \x3d temp__5804__auto___25290;\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__25292 \x3d references_25291__$2;\nreferences_25289__$1 \x3d G__25292;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23800_25273);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23799_25272);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(alis);\n}\n});\ncljs.pprint.pprint_hold_first \x3d (function (){var format_in__19445__auto__ \x3d \x22~:\x3c~w~^ ~@_~w~^ ~_~@{~w~^ ~_~}~:\x3e\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25293__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25293 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25294__i \x3d 0, G__25294__a \x3d new Array(arguments.length - 0);\nwhile (G__25294__i \x3c G__25294__a.length) {G__25294__a[G__25294__i] \x3d arguments[G__25294__i + 0]; ++G__25294__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25294__a,0,null);\n} \nreturn G__25293__delegate.call(this,args__19448__auto__);};\nG__25293.cljs$lang$maxFixedArity \x3d 0;\nG__25293.cljs$lang$applyTo \x3d (function (arglist__25295){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25295);\nreturn G__25293__delegate(args__19448__auto__);\n});\nG__25293.cljs$core$IFn$_invoke$arity$variadic \x3d G__25293__delegate;\nreturn G__25293;\n})()\n;\n})();\ncljs.pprint.single_defn \x3d (function cljs$pprint$single_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nif(cljs.core.truth_(has_doc_str_QMARK_)){\n(function (){var format_in__19445__auto__ \x3d \x22 ~_\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25296__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25296 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25297__i \x3d 0, G__25297__a \x3d new Array(arguments.length - 0);\nwhile (G__25297__i \x3c G__25297__a.length) {G__25297__a[G__25297__i] \x3d arguments[G__25297__i + 0]; ++G__25297__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25297__a,0,null);\n} \nreturn G__25296__delegate.call(this,args__19448__auto__);};\nG__25296.cljs$lang$maxFixedArity \x3d 0;\nG__25296.cljs$lang$applyTo \x3d (function (arglist__25298){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25298);\nreturn G__25296__delegate(args__19448__auto__);\n});\nG__25296.cljs$core$IFn$_invoke$arity$variadic \x3d G__25296__delegate;\nreturn G__25296;\n})()\n;\n})()();\n} else {\n(function (){var format_in__19445__auto__ \x3d \x22 ~@_\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25299__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25299 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25300__i \x3d 0, G__25300__a \x3d new Array(arguments.length - 0);\nwhile (G__25300__i \x3c G__25300__a.length) {G__25300__a[G__25300__i] \x3d arguments[G__25300__i + 0]; ++G__25300__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25300__a,0,null);\n} \nreturn G__25299__delegate.call(this,args__19448__auto__);};\nG__25299.cljs$lang$maxFixedArity \x3d 0;\nG__25299.cljs$lang$applyTo \x3d (function (arglist__25301){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25301);\nreturn G__25299__delegate(args__19448__auto__);\n});\nG__25299.cljs$core$IFn$_invoke$arity$variadic \x3d G__25299__delegate;\nreturn G__25299;\n})()\n;\n})()();\n}\n\nreturn (function (){var format_in__19445__auto__ \x3d \x22~{~w~^ ~_~}\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25302__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25302 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25303__i \x3d 0, G__25303__a \x3d new Array(arguments.length - 0);\nwhile (G__25303__i \x3c G__25303__a.length) {G__25303__a[G__25303__i] \x3d arguments[G__25303__i + 0]; ++G__25303__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25303__a,0,null);\n} \nreturn G__25302__delegate.call(this,args__19448__auto__);};\nG__25302.cljs$lang$maxFixedArity \x3d 0;\nG__25302.cljs$lang$applyTo \x3d (function (arglist__25304){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25304);\nreturn G__25302__delegate(args__19448__auto__);\n});\nG__25302.cljs$core$IFn$_invoke$arity$variadic \x3d G__25302__delegate;\nreturn G__25302;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.multi_defn \x3d (function cljs$pprint$multi_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nreturn (function (){var format_in__19445__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25305__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25305 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25306__i \x3d 0, G__25306__a \x3d new Array(arguments.length - 0);\nwhile (G__25306__i \x3c G__25306__a.length) {G__25306__a[G__25306__i] \x3d arguments[G__25306__i + 0]; ++G__25306__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25306__a,0,null);\n} \nreturn G__25305__delegate.call(this,args__19448__auto__);};\nG__25305.cljs$lang$maxFixedArity \x3d 0;\nG__25305.cljs$lang$applyTo \x3d (function (arglist__25307){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25307);\nreturn G__25305__delegate(args__19448__auto__);\n});\nG__25305.cljs$core$IFn$_invoke$arity$variadic \x3d G__25305__delegate;\nreturn G__25305;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_defn \x3d (function cljs$pprint$pprint_defn(alis){\nif(cljs.core.next(alis)){\nvar vec__23936 \x3d alis;\nvar seq__23937 \x3d cljs.core.seq(vec__23936);\nvar first__23938 \x3d cljs.core.first(seq__23937);\nvar seq__23937__$1 \x3d cljs.core.next(seq__23937);\nvar defn_sym \x3d first__23938;\nvar first__23938__$1 \x3d cljs.core.first(seq__23937__$1);\nvar seq__23937__$2 \x3d cljs.core.next(seq__23937__$1);\nvar defn_name \x3d first__23938__$1;\nvar stuff \x3d seq__23937__$2;\nvar vec__23942 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23942,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23942,(1),null);\nvar vec__23945 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23945,(0),null);\nvar stuff__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23945,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__23986_25308 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__23987_25309 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__23988_25310 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__23989_25311 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__23988_25310);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__23989_25311);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__19445__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25313__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25313 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25314__i \x3d 0, G__25314__a \x3d new Array(arguments.length - 0);\nwhile (G__25314__i \x3c G__25314__a.length) {G__25314__a[G__25314__i] \x3d arguments[G__25314__i + 0]; ++G__25314__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25314__a,0,null);\n} \nreturn G__25313__delegate.call(this,args__19448__auto__);};\nG__25313.cljs$lang$maxFixedArity \x3d 0;\nG__25313.cljs$lang$applyTo \x3d (function (arglist__25315){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25315);\nreturn G__25313__delegate(args__19448__auto__);\n});\nG__25313.cljs$core$IFn$_invoke$arity$variadic \x3d G__25313__delegate;\nreturn G__25313;\n})()\n;\n})()(defn_sym,defn_name);\n\nif(cljs.core.truth_(doc_str)){\n(function (){var format_in__19445__auto__ \x3d \x22 ~_~w\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25316__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25316 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25317__i \x3d 0, G__25317__a \x3d new Array(arguments.length - 0);\nwhile (G__25317__i \x3c G__25317__a.length) {G__25317__a[G__25317__i] \x3d arguments[G__25317__i + 0]; ++G__25317__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25317__a,0,null);\n} \nreturn G__25316__delegate.call(this,args__19448__auto__);};\nG__25316.cljs$lang$maxFixedArity \x3d 0;\nG__25316.cljs$lang$applyTo \x3d (function (arglist__25318){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25318);\nreturn G__25316__delegate(args__19448__auto__);\n});\nG__25316.cljs$core$IFn$_invoke$arity$variadic \x3d G__25316__delegate;\nreturn G__25316;\n})()\n;\n})()(doc_str);\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__19445__auto__ \x3d \x22 ~_~w\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25320__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25320 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25321__i \x3d 0, G__25321__a \x3d new Array(arguments.length - 0);\nwhile (G__25321__i \x3c G__25321__a.length) {G__25321__a[G__25321__i] \x3d arguments[G__25321__i + 0]; ++G__25321__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25321__a,0,null);\n} \nreturn G__25320__delegate.call(this,args__19448__auto__);};\nG__25320.cljs$lang$maxFixedArity \x3d 0;\nG__25320.cljs$lang$applyTo \x3d (function (arglist__25322){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25322);\nreturn G__25320__delegate(args__19448__auto__);\n});\nG__25320.cljs$core$IFn$_invoke$arity$variadic \x3d G__25320__delegate;\nreturn G__25320;\n})()\n;\n})()(attr_map);\n} else {\n}\n\nif(cljs.core.vector_QMARK_(cljs.core.first(stuff__$2))){\ncljs.pprint.single_defn(stuff__$2,(function (){var or__5045__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn attr_map;\n}\n})());\n} else {\ncljs.pprint.multi_defn(stuff__$2,(function (){var or__5045__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn attr_map;\n}\n})());\n\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__23987_25309);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__23986_25308);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_binding_form \x3d (function cljs$pprint$pprint_binding_form(binding_vec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__24021_25323 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__24022_25324 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__24023_25325 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__24024_25326 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__24023_25325);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__24024_25326);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count24037_25327 \x3d (0);\nvar binding_25328 \x3d binding_vec;\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count24037_25327 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(cljs.core.seq(binding_25328)){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__24041_25329 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__24042_25330 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__24043_25331 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__24044_25332 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__24043_25331);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__24044_25332);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(binding_25328));\n\nif(cljs.core.next(binding_25328)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(binding_25328));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__24042_25330);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__24041_25329);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(binding_25328))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__25333 \x3d (length_count24037_25327 + (1));\nvar G__25334 \x3d cljs.core.next(cljs.core.rest(binding_25328));\nlength_count24037_25327 \x3d G__25333;\nbinding_25328 \x3d G__25334;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__24022_25324);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__24021_25323);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_let \x3d (function cljs$pprint$pprint_let(alis){\nvar base_sym \x3d cljs.core.first(alis);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__24096_25335 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__24097_25336 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__24098_25337 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__24099_25338 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__24098_25337);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__24099_25338);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nif(((cljs.core.next(alis)) \x26\x26 (cljs.core.vector_QMARK_(cljs.core.second(alis))))){\n(function (){var format_in__19445__auto__ \x3d \x22~w ~1I~@_\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25340__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25340 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25341__i \x3d 0, G__25341__a \x3d new Array(arguments.length - 0);\nwhile (G__25341__i \x3c G__25341__a.length) {G__25341__a[G__25341__i] \x3d arguments[G__25341__i + 0]; ++G__25341__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25341__a,0,null);\n} \nreturn G__25340__delegate.call(this,args__19448__auto__);};\nG__25340.cljs$lang$maxFixedArity \x3d 0;\nG__25340.cljs$lang$applyTo \x3d (function (arglist__25342){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25342);\nreturn G__25340__delegate(args__19448__auto__);\n});\nG__25340.cljs$core$IFn$_invoke$arity$variadic \x3d G__25340__delegate;\nreturn G__25340;\n})()\n;\n})()(base_sym);\n\ncljs.pprint.pprint_binding_form(cljs.core.second(alis));\n\n(function (){var format_in__19445__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25343__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25343 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25344__i \x3d 0, G__25344__a \x3d new Array(arguments.length - 0);\nwhile (G__25344__i \x3c G__25344__a.length) {G__25344__a[G__25344__i] \x3d arguments[G__25344__i + 0]; ++G__25344__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25344__a,0,null);\n} \nreturn G__25343__delegate.call(this,args__19448__auto__);};\nG__25343.cljs$lang$maxFixedArity \x3d 0;\nG__25343.cljs$lang$applyTo \x3d (function (arglist__25345){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25345);\nreturn G__25343__delegate(args__19448__auto__);\n});\nG__25343.cljs$core$IFn$_invoke$arity$variadic \x3d G__25343__delegate;\nreturn G__25343;\n})()\n;\n})()(cljs.core.next(cljs.core.rest(alis)));\n} else {\ncljs.pprint.pprint_simple_code_list(alis);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__24097_25336);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__24096_25335);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_if \x3d (function (){var format_in__19445__auto__ \x3d \x22~:\x3c~1I~w~^ ~@_~w~@{ ~_~w~}~:\x3e\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25349__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25349 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25350__i \x3d 0, G__25350__a \x3d new Array(arguments.length - 0);\nwhile (G__25350__i \x3c G__25350__a.length) {G__25350__a[G__25350__i] \x3d arguments[G__25350__i + 0]; ++G__25350__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25350__a,0,null);\n} \nreturn G__25349__delegate.call(this,args__19448__auto__);};\nG__25349.cljs$lang$maxFixedArity \x3d 0;\nG__25349.cljs$lang$applyTo \x3d (function (arglist__25351){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25351);\nreturn G__25349__delegate(args__19448__auto__);\n});\nG__25349.cljs$core$IFn$_invoke$arity$variadic \x3d G__25349__delegate;\nreturn G__25349;\n})()\n;\n})();\ncljs.pprint.pprint_cond \x3d (function cljs$pprint$pprint_cond(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__24104_25352 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__24105_25353 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__24106_25354 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__24107_25355 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__24106_25354);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__24107_25355);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.pprint.write_out(cljs.core.first(alis));\n\nif(cljs.core.next(alis)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar length_count24108_25356 \x3d (0);\nvar alis_25357__$1 \x3d cljs.core.next(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count24108_25356 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_25357__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__24109_25358 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__24110_25359 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__24111_25360 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__24112_25361 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__24111_25360);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__24112_25361);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_25357__$1));\n\nif(cljs.core.next(alis_25357__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_25357__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__24110_25359);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__24109_25358);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_25357__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__25362 \x3d (length_count24108_25356 + (1));\nvar G__25363 \x3d cljs.core.next(cljs.core.rest(alis_25357__$1));\nlength_count24108_25356 \x3d G__25362;\nalis_25357__$1 \x3d G__25363;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__24105_25353);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__24104_25352);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_condp \x3d (function cljs$pprint$pprint_condp(alis){\nif((cljs.core.count(alis) \x3e (3))){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__24125_25364 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__24126_25365 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__24127_25366 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__24128_25367 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__24127_25366);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__24128_25367);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__19445__auto__ \x3d \x22~w ~@_~w ~@_~w ~_\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25368__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25368 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25369__i \x3d 0, G__25369__a \x3d new Array(arguments.length - 0);\nwhile (G__25369__i \x3c G__25369__a.length) {G__25369__a[G__25369__i] \x3d arguments[G__25369__i + 0]; ++G__25369__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25369__a,0,null);\n} \nreturn G__25368__delegate.call(this,args__19448__auto__);};\nG__25368.cljs$lang$maxFixedArity \x3d 0;\nG__25368.cljs$lang$applyTo \x3d (function (arglist__25370){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25370);\nreturn G__25368__delegate(args__19448__auto__);\n});\nG__25368.cljs$core$IFn$_invoke$arity$variadic \x3d G__25368__delegate;\nreturn G__25368;\n})()\n;\n})(),alis);\n\nvar length_count24129_25371 \x3d (0);\nvar alis_25372__$1 \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((3),alis));\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count24129_25371 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_25372__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__24130_25373 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__24131_25374 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__24132_25375 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__24133_25376 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__24132_25375);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__24133_25376);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_25372__$1));\n\nif(cljs.core.next(alis_25372__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_25372__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__24131_25374);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__24130_25373);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_25372__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__25377 \x3d (length_count24129_25371 + (1));\nvar G__25378 \x3d cljs.core.next(cljs.core.rest(alis_25372__$1));\nlength_count24129_25371 \x3d G__25377;\nalis_25372__$1 \x3d G__25378;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__24126_25365);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__24125_25364);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint._STAR_symbol_map_STAR_ \x3d cljs.core.PersistentArrayMap.EMPTY;\ncljs.pprint.pprint_anon_func \x3d (function cljs$pprint$pprint_anon_func(alis){\nvar args \x3d cljs.core.second(alis);\nvar nlis \x3d cljs.core.first(cljs.core.rest(cljs.core.rest(alis)));\nif(cljs.core.vector_QMARK_(args)){\nvar _STAR_symbol_map_STAR__orig_val__24145 \x3d cljs.pprint._STAR_symbol_map_STAR_;\nvar _STAR_symbol_map_STAR__temp_val__24146 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(args)))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.first(args),\x22%\x22]):cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__24142_SHARP_,p2__24143_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__24142_SHARP_,[\x22%\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p2__24143_SHARP_)].join(\x27\x27)],null));\n}),args,cljs.core.range.cljs$core$IFn$_invoke$arity$2((1),(cljs.core.count(args) + (1))))));\n(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__temp_val__24146);\n\ntry{return (function (){var format_in__19445__auto__ \x3d \x22~\x3c#(~;~@{~w~^ ~_~}~;)~:\x3e\x22;\nvar cf__19446__auto__ \x3d ((typeof format_in__19445__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__19445__auto__):format_in__19445__auto__);\nreturn (function() { \nvar G__25380__delegate \x3d function (args__19448__auto__){\nvar navigator__19449__auto__ \x3d cljs.pprint.init_navigator(args__19448__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__19446__auto__,navigator__19449__auto__);\n};\nvar G__25380 \x3d function (var_args){\nvar args__19448__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__25381__i \x3d 0, G__25381__a \x3d new Array(arguments.length - 0);\nwhile (G__25381__i \x3c G__25381__a.length) {G__25381__a[G__25381__i] \x3d arguments[G__25381__i + 0]; ++G__25381__i;}\n args__19448__auto__ \x3d new cljs.core.IndexedSeq(G__25381__a,0,null);\n} \nreturn G__25380__delegate.call(this,args__19448__auto__);};\nG__25380.cljs$lang$maxFixedArity \x3d 0;\nG__25380.cljs$lang$applyTo \x3d (function (arglist__25382){\nvar args__19448__auto__ \x3d cljs.core.seq(arglist__25382);\nreturn G__25380__delegate(args__19448__auto__);\n});\nG__25380.cljs$core$IFn$_invoke$arity$variadic \x3d G__25380__delegate;\nreturn G__25380;\n})()\n;\n})()(nlis);\n}finally {(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__orig_val__24145);\n}} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_simple_code_list \x3d (function cljs$pprint$pprint_simple_code_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__24155_25383 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__24156_25384 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__24157_25385 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__24158_25386 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__24157_25385);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__24158_25386);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\nvar length_count24159_25387 \x3d (0);\nvar alis_25388__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count24159_25387 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_25388__$1){\ncljs.pprint.write_out(cljs.core.first(alis_25388__$1));\n\nif(cljs.core.next(alis_25388__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__25389 \x3d (length_count24159_25387 + (1));\nvar G__25390 \x3d cljs.core.next(alis_25388__$1);\nlength_count24159_25387 \x3d G__25389;\nalis_25388__$1 \x3d G__25390;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__24156_25384);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__24155_25383);\n}}\n\nreturn null;\n});\ncljs.pprint.two_forms \x3d (function cljs$pprint$two_forms(amap){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var iter__5523__auto__ \x3d (function cljs$pprint$two_forms_$_iter__24174(s__24175){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24175__$1 \x3d s__24175;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__24175__$1);\nif(temp__5804__auto__){\nvar s__24175__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__24175__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24175__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24177 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24176 \x3d (0);\nwhile(true){\nif((i__24176 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__24176);\ncljs.core.chunk_append(b__24177,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null));\n\nvar G__25394 \x3d (i__24176 + (1));\ni__24176 \x3d G__25394;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24177),cljs$pprint$two_forms_$_iter__24174(cljs.core.chunk_rest(s__24175__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24177),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__24175__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null),cljs$pprint$two_forms_$_iter__24174(cljs.core.rest(s__24175__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(amap);\n})()], 0)));\n});\ncljs.pprint.add_core_ns \x3d (function cljs$pprint$add_core_ns(amap){\nvar core \x3d \x22clojure.core\x22;\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__24206_SHARP_){\nvar vec__24210 \x3d p1__24206_SHARP_;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24210,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24210,(1),null);\nif(cljs.core.not((function (){var or__5045__auto__ \x3d cljs.core.namespace(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.special_symbol_QMARK_(s);\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(core,cljs.core.name(s)),f], null);\n} else {\nreturn p1__24206_SHARP_;\n}\n}),amap));\n});\ncljs.pprint._STAR_code_table_STAR_ \x3d cljs.pprint.two_forms(cljs.pprint.add_core_ns(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),new cljs.core.Symbol(null,\x22struct\x22,\x22struct\x22,325972931,null),new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),new cljs.core.Symbol(null,\x22struct-map\x22,\x22struct-map\x22,-1387540878,null)],[cljs.pprint.pprint_hold_first,cljs.pprint.pprint_anon_func,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_condp,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_if,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_if,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_ns,cljs.pprint.pprint_let,cljs.pprint.pprint_cond,cljs.pprint.pprint_let,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first])));\ncljs.pprint.pprint_code_list \x3d (function cljs$pprint$pprint_code_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nvar temp__5802__auto__ \x3d cljs.pprint._STAR_code_table_STAR_.call(null,cljs.core.first(alis));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar special_form \x3d temp__5802__auto__;\nreturn (special_form.cljs$core$IFn$_invoke$arity$1 ? special_form.cljs$core$IFn$_invoke$arity$1(alis) : special_form.call(null,alis));\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_code_symbol \x3d (function cljs$pprint$pprint_code_symbol(sym){\nvar temp__5802__auto__ \x3d (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_symbol_map_STAR_) : sym.call(null,cljs.pprint._STAR_symbol_map_STAR_));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar arg_num \x3d temp__5802__auto__;\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arg_num], 0));\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_print_suppress_namespaces_STAR_)){\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.name(sym)], 0));\n} else {\nreturn cljs.pprint.pr.call(null,sym);\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.code_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for pretty printing Clojure code.\n */\ncljs.pprint.code_dispatch \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__24223 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__24223.cljs$core$IFn$_invoke$arity$0 ? fexpr__24223.cljs$core$IFn$_invoke$arity$0() : fexpr__24223.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22code-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_code_list);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),cljs.pprint.pprint_code_symbol);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.pprint.pprint_pqueue);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),cljs.pprint.pprint_ideref);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,null,cljs.pprint.pr);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\ncljs.pprint.add_padding \x3d (function cljs$pprint$add_padding(width,s){\nvar padding \x3d (function (){var x__5130__auto__ \x3d (0);\nvar y__5131__auto__ \x3d (width - cljs.core.count(s));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(padding,\x22 \x22)),s);\n});\n/**\n * Prints a collection of maps in a textual table. Prints table headings\n * ks, and then a line of output for each row, corresponding to the keys\n * in ks. If ks are not specified, use the keys of the first item in rows.\n */\ncljs.pprint.print_table \x3d (function cljs$pprint$print_table(var_args){\nvar G__24246 \x3d arguments.length;\nswitch (G__24246) {\ncase 2:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2 \x3d (function (ks,rows){\nif(cljs.core.seq(rows)){\nvar widths \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max,((cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)).length),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__24229_SHARP_){\nreturn ((cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(p1__24229_SHARP_,k))).length);\n}),rows));\n}),ks);\nvar spacers \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__24230_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(p1__24230_SHARP_,\x22-\x22));\n}),widths);\nvar fmt_row \x3d (function (leader,divider,trailer,row){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(leader),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(divider,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$iter__24282(s__24283){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__24283__$1 \x3d s__24283;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__24283__$1);\nif(temp__5804__auto__){\nvar s__24283__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__24283__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__24283__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__24285 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__24284 \x3d (0);\nwhile(true){\nif((i__24284 \x3c size__5522__auto__)){\nvar vec__24297 \x3d cljs.core._nth(c__5521__auto__,i__24284);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24297,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24297,(1),null);\ncljs.core.chunk_append(b__24285,cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)));\n\nvar G__25402 \x3d (i__24284 + (1));\ni__24284 \x3d G__25402;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24285),cljs$pprint$iter__24282(cljs.core.chunk_rest(s__24283__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__24285),null);\n}\n} else {\nvar vec__24307 \x3d cljs.core.first(s__24283__$2);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24307,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24307,(1),null);\nreturn cljs.core.cons(cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)),cljs$pprint$iter__24282(cljs.core.rest(s__24283__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__24231_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(row,p1__24231_SHARP_);\n}),ks),widths));\n})()))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(trailer)].join(\x27\x27);\n});\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,cljs.core.zipmap(ks,ks))], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22|-\x22,\x22-+-\x22,\x22-|\x22,cljs.core.zipmap(ks,spacers))], 0));\n\nvar seq__24310 \x3d cljs.core.seq(rows);\nvar chunk__24311 \x3d null;\nvar count__24312 \x3d (0);\nvar i__24313 \x3d (0);\nwhile(true){\nif((i__24313 \x3c count__24312)){\nvar row \x3d chunk__24311.cljs$core$IIndexed$_nth$arity$2(null,i__24313);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__25405 \x3d seq__24310;\nvar G__25406 \x3d chunk__24311;\nvar G__25407 \x3d count__24312;\nvar G__25408 \x3d (i__24313 + (1));\nseq__24310 \x3d G__25405;\nchunk__24311 \x3d G__25406;\ncount__24312 \x3d G__25407;\ni__24313 \x3d G__25408;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__24310);\nif(temp__5804__auto__){\nvar seq__24310__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__24310__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__24310__$1);\nvar G__25409 \x3d cljs.core.chunk_rest(seq__24310__$1);\nvar G__25410 \x3d c__5568__auto__;\nvar G__25411 \x3d cljs.core.count(c__5568__auto__);\nvar G__25412 \x3d (0);\nseq__24310 \x3d G__25409;\nchunk__24311 \x3d G__25410;\ncount__24312 \x3d G__25411;\ni__24313 \x3d G__25412;\ncontinue;\n} else {\nvar row \x3d cljs.core.first(seq__24310__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__25413 \x3d cljs.core.next(seq__24310__$1);\nvar G__25414 \x3d null;\nvar G__25415 \x3d (0);\nvar G__25416 \x3d (0);\nseq__24310 \x3d G__25413;\nchunk__24311 \x3d G__25414;\ncount__24312 \x3d G__25415;\ni__24313 \x3d G__25416;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1 \x3d (function (rows){\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(cljs.core.first(rows)),rows);\n}));\n\n(cljs.pprint.print_table.cljs$lang$maxFixedArity \x3d 2);\n\n"); -SHADOW_ENV.evalLoad("clojure.walk.js", true , "goog.provide(\x27clojure.walk\x27);\n/**\n * Traverses form, an arbitrary data structure. inner and outer are\n * functions. Applies inner to each element of form, building up a\n * data structure of the same type, then applies outer to the result.\n * Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.walk \x3d (function clojure$walk$walk(inner,outer,form){\nif(cljs.core.list_QMARK_(form)){\nvar G__19504 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__19504) : outer.call(null,G__19504));\n} else {\nif(cljs.core.map_entry_QMARK_(form)){\nvar G__19506 \x3d (new cljs.core.MapEntry((function (){var G__19508 \x3d cljs.core.key(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__19508) : inner.call(null,G__19508));\n})(),(function (){var G__19509 \x3d cljs.core.val(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__19509) : inner.call(null,G__19509));\n})(),null));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__19506) : outer.call(null,G__19506));\n} else {\nif(cljs.core.seq_QMARK_(form)){\nvar G__19510 \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__19510) : outer.call(null,G__19510));\n} else {\nif(cljs.core.record_QMARK_(form)){\nvar G__19513 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,x){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(x) : inner.call(null,x)));\n}),form,form);\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__19513) : outer.call(null,G__19513));\n} else {\nif(cljs.core.coll_QMARK_(form)){\nvar G__19516 \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(form),cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__19516) : outer.call(null,G__19516));\n} else {\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(form) : outer.call(null,form));\n\n}\n}\n}\n}\n}\n});\n/**\n * Performs a depth-first, post-order traversal of form. Calls f on\n * each sub-form, uses f\x27s return value in place of the original.\n * Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.postwalk \x3d (function clojure$walk$postwalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.postwalk,f),f,form);\n});\n/**\n * Like postwalk, but does pre-order traversal.\n */\nclojure.walk.prewalk \x3d (function clojure$walk$prewalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.prewalk,f),cljs.core.identity,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(form) : f.call(null,form)));\n});\n/**\n * Recursively transforms all map keys from strings to keywords.\n */\nclojure.walk.keywordize_keys \x3d (function clojure$walk$keywordize_keys(m){\nvar f \x3d (function (p__19529){\nvar vec__19530 \x3d p__19529;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19530,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19530,(1),null);\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms all map keys from keywords to strings.\n */\nclojure.walk.stringify_keys \x3d (function clojure$walk$stringify_keys(m){\nvar f \x3d (function (p__19564){\nvar vec__19566 \x3d p__19564;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19566,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19566,(1),null);\nif((k instanceof cljs.core.Keyword)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.name(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n * values. Like clojure/replace but works on any data structure. Does\n * replacement at the root of the tree first.\n */\nclojure.walk.prewalk_replace \x3d (function clojure$walk$prewalk_replace(smap,form){\nreturn clojure.walk.prewalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n * values. Like clojure/replace but works on any data structure. Does\n * replacement at the leaves of the tree first.\n */\nclojure.walk.postwalk_replace \x3d (function clojure$walk$postwalk_replace(smap,form){\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n"); -SHADOW_ENV.evalLoad("cljs.spec.gen.alpha.js", true , "goog.provide(\x27cljs.spec.gen.alpha\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.spec.gen.alpha.LazyVar \x3d (function (f,cached){\nthis.f \x3d f;\nthis.cached \x3d cached;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.gen.alpha.LazyVar.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((self__.cached \x3d\x3d null)))){\nreturn self__.cached;\n} else {\nvar x \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null));\nif((x \x3d\x3d null)){\n} else {\n(self__.cached \x3d x);\n}\n\nreturn x;\n}\n}));\n\n(cljs.spec.gen.alpha.LazyVar.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cached\x22,\x22cached\x22,-1216707864,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$type \x3d true);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorStr \x3d \x22cljs.spec.gen.alpha/LazyVar\x22);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.gen.alpha/LazyVar\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.gen.alpha/LazyVar.\n */\ncljs.spec.gen.alpha.__GT_LazyVar \x3d (function cljs$spec$gen$alpha$__GT_LazyVar(f,cached){\nreturn (new cljs.spec.gen.alpha.LazyVar(f,cached));\n});\n\ncljs.spec.gen.alpha.quick_check_ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.quick_check !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.quick_check;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.quick_check \x3d (function cljs$spec$gen$alpha$quick_check(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20668 \x3d arguments.length;\nvar i__5770__auto___20670 \x3d (0);\nwhile(true){\nif((i__5770__auto___20670 \x3c len__5769__auto___20668)){\nargs__5775__auto__.push((arguments[i__5770__auto___20670]));\n\nvar G__20671 \x3d (i__5770__auto___20670 + (1));\ni__5770__auto___20670 \x3d G__20671;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.quick_check_ref),args);\n}));\n\n(cljs.spec.gen.alpha.quick_check.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.quick_check.cljs$lang$applyTo \x3d (function (seq19720){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19720));\n}));\n\ncljs.spec.gen.alpha.for_all_STAR__ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties.for_all_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.properties.for_all_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Dynamically loaded clojure.test.check.properties/for-all*.\n */\ncljs.spec.gen.alpha.for_all_STAR_ \x3d (function cljs$spec$gen$alpha$for_all_STAR_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20675 \x3d arguments.length;\nvar i__5770__auto___20676 \x3d (0);\nwhile(true){\nif((i__5770__auto___20676 \x3c len__5769__auto___20675)){\nargs__5775__auto__.push((arguments[i__5770__auto___20676]));\n\nvar G__20677 \x3d (i__5770__auto___20676 + (1));\ni__5770__auto___20676 \x3d G__20677;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.for_all_STAR__ref),args);\n}));\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$applyTo \x3d (function (seq19747){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19747));\n}));\n\nvar g_QMARK__20678 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generator_QMARK_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generator_QMARK_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar g_20679 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generate !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generate;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar mkg_20680 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.__GT_Generator !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.__GT_Generator;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.generator_QMARK_ \x3d (function cljs$spec$gen$alpha$generator_QMARK_(x){\nvar fexpr__19805 \x3d cljs.core.deref(g_QMARK__20678);\nreturn (fexpr__19805.cljs$core$IFn$_invoke$arity$1 ? fexpr__19805.cljs$core$IFn$_invoke$arity$1(x) : fexpr__19805.call(null,x));\n});\n\ncljs.spec.gen.alpha.generator \x3d (function cljs$spec$gen$alpha$generator(gfn){\nvar fexpr__19834 \x3d cljs.core.deref(mkg_20680);\nreturn (fexpr__19834.cljs$core$IFn$_invoke$arity$1 ? fexpr__19834.cljs$core$IFn$_invoke$arity$1(gfn) : fexpr__19834.call(null,gfn));\n});\n\n/**\n * Generate a single value using generator.\n */\ncljs.spec.gen.alpha.generate \x3d (function cljs$spec$gen$alpha$generate(generator){\nvar fexpr__19851 \x3d cljs.core.deref(g_20679);\nreturn (fexpr__19851.cljs$core$IFn$_invoke$arity$1 ? fexpr__19851.cljs$core$IFn$_invoke$arity$1(generator) : fexpr__19851.call(null,generator));\n});\ncljs.spec.gen.alpha.delay_impl \x3d (function cljs$spec$gen$alpha$delay_impl(gfnd){\nreturn cljs.spec.gen.alpha.generator((function (rnd,size){\nvar fexpr__19865 \x3d new cljs.core.Keyword(null,\x22gen\x22,\x22gen\x22,142575302).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(gfnd));\nreturn (fexpr__19865.cljs$core$IFn$_invoke$arity$2 ? fexpr__19865.cljs$core$IFn$_invoke$arity$2(rnd,size) : fexpr__19865.call(null,rnd,size));\n}));\n});\nvar g__11479__auto___20691 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.hash_map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.hash_map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/hash-map\n */\ncljs.spec.gen.alpha.hash_map \x3d (function cljs$spec$gen$alpha$hash_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20692 \x3d arguments.length;\nvar i__5770__auto___20693 \x3d (0);\nwhile(true){\nif((i__5770__auto___20693 \x3c len__5769__auto___20692)){\nargs__5775__auto__.push((arguments[i__5770__auto___20693]));\n\nvar G__20694 \x3d (i__5770__auto___20693 + (1));\ni__5770__auto___20693 \x3d G__20694;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20691),args);\n}));\n\n(cljs.spec.gen.alpha.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.hash_map.cljs$lang$applyTo \x3d (function (seq19914){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19914));\n}));\n\n\nvar g__11479__auto___20696 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.list !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.list;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/list\n */\ncljs.spec.gen.alpha.list \x3d (function cljs$spec$gen$alpha$list(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20698 \x3d arguments.length;\nvar i__5770__auto___20699 \x3d (0);\nwhile(true){\nif((i__5770__auto___20699 \x3c len__5769__auto___20698)){\nargs__5775__auto__.push((arguments[i__5770__auto___20699]));\n\nvar G__20700 \x3d (i__5770__auto___20699 + (1));\ni__5770__auto___20699 \x3d G__20700;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20696),args);\n}));\n\n(cljs.spec.gen.alpha.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.list.cljs$lang$applyTo \x3d (function (seq19932){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19932));\n}));\n\n\nvar g__11479__auto___20703 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/map\n */\ncljs.spec.gen.alpha.map \x3d (function cljs$spec$gen$alpha$map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20707 \x3d arguments.length;\nvar i__5770__auto___20708 \x3d (0);\nwhile(true){\nif((i__5770__auto___20708 \x3c len__5769__auto___20707)){\nargs__5775__auto__.push((arguments[i__5770__auto___20708]));\n\nvar G__20709 \x3d (i__5770__auto___20708 + (1));\ni__5770__auto___20708 \x3d G__20709;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20703),args);\n}));\n\n(cljs.spec.gen.alpha.map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.map.cljs$lang$applyTo \x3d (function (seq19947){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19947));\n}));\n\n\nvar g__11479__auto___20714 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.not_empty !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.not_empty;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/not-empty\n */\ncljs.spec.gen.alpha.not_empty \x3d (function cljs$spec$gen$alpha$not_empty(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20717 \x3d arguments.length;\nvar i__5770__auto___20719 \x3d (0);\nwhile(true){\nif((i__5770__auto___20719 \x3c len__5769__auto___20717)){\nargs__5775__auto__.push((arguments[i__5770__auto___20719]));\n\nvar G__20721 \x3d (i__5770__auto___20719 + (1));\ni__5770__auto___20719 \x3d G__20721;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20714),args);\n}));\n\n(cljs.spec.gen.alpha.not_empty.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.not_empty.cljs$lang$applyTo \x3d (function (seq19970){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19970));\n}));\n\n\nvar g__11479__auto___20722 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.set !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.set;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/set\n */\ncljs.spec.gen.alpha.set \x3d (function cljs$spec$gen$alpha$set(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20724 \x3d arguments.length;\nvar i__5770__auto___20725 \x3d (0);\nwhile(true){\nif((i__5770__auto___20725 \x3c len__5769__auto___20724)){\nargs__5775__auto__.push((arguments[i__5770__auto___20725]));\n\nvar G__20727 \x3d (i__5770__auto___20725 + (1));\ni__5770__auto___20725 \x3d G__20727;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20722),args);\n}));\n\n(cljs.spec.gen.alpha.set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.set.cljs$lang$applyTo \x3d (function (seq19996){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19996));\n}));\n\n\nvar g__11479__auto___20732 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector\n */\ncljs.spec.gen.alpha.vector \x3d (function cljs$spec$gen$alpha$vector(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20735 \x3d arguments.length;\nvar i__5770__auto___20736 \x3d (0);\nwhile(true){\nif((i__5770__auto___20736 \x3c len__5769__auto___20735)){\nargs__5775__auto__.push((arguments[i__5770__auto___20736]));\n\nvar G__20737 \x3d (i__5770__auto___20736 + (1));\ni__5770__auto___20736 \x3d G__20737;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20732),args);\n}));\n\n(cljs.spec.gen.alpha.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector.cljs$lang$applyTo \x3d (function (seq20022){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20022));\n}));\n\n\nvar g__11479__auto___20742 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector_distinct !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector_distinct;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector-distinct\n */\ncljs.spec.gen.alpha.vector_distinct \x3d (function cljs$spec$gen$alpha$vector_distinct(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20744 \x3d arguments.length;\nvar i__5770__auto___20745 \x3d (0);\nwhile(true){\nif((i__5770__auto___20745 \x3c len__5769__auto___20744)){\nargs__5775__auto__.push((arguments[i__5770__auto___20745]));\n\nvar G__20746 \x3d (i__5770__auto___20745 + (1));\ni__5770__auto___20745 \x3d G__20746;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20742),args);\n}));\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$applyTo \x3d (function (seq20036){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20036));\n}));\n\n\nvar g__11479__auto___20749 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.fmap !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.fmap;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/fmap\n */\ncljs.spec.gen.alpha.fmap \x3d (function cljs$spec$gen$alpha$fmap(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20750 \x3d arguments.length;\nvar i__5770__auto___20751 \x3d (0);\nwhile(true){\nif((i__5770__auto___20751 \x3c len__5769__auto___20750)){\nargs__5775__auto__.push((arguments[i__5770__auto___20751]));\n\nvar G__20752 \x3d (i__5770__auto___20751 + (1));\ni__5770__auto___20751 \x3d G__20752;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20749),args);\n}));\n\n(cljs.spec.gen.alpha.fmap.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.fmap.cljs$lang$applyTo \x3d (function (seq20056){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20056));\n}));\n\n\nvar g__11479__auto___20754 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.elements !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.elements;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/elements\n */\ncljs.spec.gen.alpha.elements \x3d (function cljs$spec$gen$alpha$elements(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20756 \x3d arguments.length;\nvar i__5770__auto___20757 \x3d (0);\nwhile(true){\nif((i__5770__auto___20757 \x3c len__5769__auto___20756)){\nargs__5775__auto__.push((arguments[i__5770__auto___20757]));\n\nvar G__20759 \x3d (i__5770__auto___20757 + (1));\ni__5770__auto___20757 \x3d G__20759;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20754),args);\n}));\n\n(cljs.spec.gen.alpha.elements.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.elements.cljs$lang$applyTo \x3d (function (seq20073){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20073));\n}));\n\n\nvar g__11479__auto___20761 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.bind !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.bind;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/bind\n */\ncljs.spec.gen.alpha.bind \x3d (function cljs$spec$gen$alpha$bind(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20764 \x3d arguments.length;\nvar i__5770__auto___20765 \x3d (0);\nwhile(true){\nif((i__5770__auto___20765 \x3c len__5769__auto___20764)){\nargs__5775__auto__.push((arguments[i__5770__auto___20765]));\n\nvar G__20766 \x3d (i__5770__auto___20765 + (1));\ni__5770__auto___20765 \x3d G__20766;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20761),args);\n}));\n\n(cljs.spec.gen.alpha.bind.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.bind.cljs$lang$applyTo \x3d (function (seq20084){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20084));\n}));\n\n\nvar g__11479__auto___20769 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.choose !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.choose;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/choose\n */\ncljs.spec.gen.alpha.choose \x3d (function cljs$spec$gen$alpha$choose(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20773 \x3d arguments.length;\nvar i__5770__auto___20774 \x3d (0);\nwhile(true){\nif((i__5770__auto___20774 \x3c len__5769__auto___20773)){\nargs__5775__auto__.push((arguments[i__5770__auto___20774]));\n\nvar G__20775 \x3d (i__5770__auto___20774 + (1));\ni__5770__auto___20774 \x3d G__20775;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20769),args);\n}));\n\n(cljs.spec.gen.alpha.choose.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.choose.cljs$lang$applyTo \x3d (function (seq20091){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20091));\n}));\n\n\nvar g__11479__auto___20776 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.one_of !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.one_of;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/one-of\n */\ncljs.spec.gen.alpha.one_of \x3d (function cljs$spec$gen$alpha$one_of(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20780 \x3d arguments.length;\nvar i__5770__auto___20781 \x3d (0);\nwhile(true){\nif((i__5770__auto___20781 \x3c len__5769__auto___20780)){\nargs__5775__auto__.push((arguments[i__5770__auto___20781]));\n\nvar G__20782 \x3d (i__5770__auto___20781 + (1));\ni__5770__auto___20781 \x3d G__20782;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20776),args);\n}));\n\n(cljs.spec.gen.alpha.one_of.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.one_of.cljs$lang$applyTo \x3d (function (seq20096){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20096));\n}));\n\n\nvar g__11479__auto___20785 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.such_that !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.such_that;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/such-that\n */\ncljs.spec.gen.alpha.such_that \x3d (function cljs$spec$gen$alpha$such_that(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20787 \x3d arguments.length;\nvar i__5770__auto___20788 \x3d (0);\nwhile(true){\nif((i__5770__auto___20788 \x3c len__5769__auto___20787)){\nargs__5775__auto__.push((arguments[i__5770__auto___20788]));\n\nvar G__20789 \x3d (i__5770__auto___20788 + (1));\ni__5770__auto___20788 \x3d G__20789;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20785),args);\n}));\n\n(cljs.spec.gen.alpha.such_that.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.such_that.cljs$lang$applyTo \x3d (function (seq20099){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20099));\n}));\n\n\nvar g__11479__auto___20791 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.tuple !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.tuple;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/tuple\n */\ncljs.spec.gen.alpha.tuple \x3d (function cljs$spec$gen$alpha$tuple(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20792 \x3d arguments.length;\nvar i__5770__auto___20793 \x3d (0);\nwhile(true){\nif((i__5770__auto___20793 \x3c len__5769__auto___20792)){\nargs__5775__auto__.push((arguments[i__5770__auto___20793]));\n\nvar G__20794 \x3d (i__5770__auto___20793 + (1));\ni__5770__auto___20793 \x3d G__20794;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20791),args);\n}));\n\n(cljs.spec.gen.alpha.tuple.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.tuple.cljs$lang$applyTo \x3d (function (seq20103){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20103));\n}));\n\n\nvar g__11479__auto___20798 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.sample !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.sample;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/sample\n */\ncljs.spec.gen.alpha.sample \x3d (function cljs$spec$gen$alpha$sample(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20809 \x3d arguments.length;\nvar i__5770__auto___20811 \x3d (0);\nwhile(true){\nif((i__5770__auto___20811 \x3c len__5769__auto___20809)){\nargs__5775__auto__.push((arguments[i__5770__auto___20811]));\n\nvar G__20814 \x3d (i__5770__auto___20811 + (1));\ni__5770__auto___20811 \x3d G__20814;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20798),args);\n}));\n\n(cljs.spec.gen.alpha.sample.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.sample.cljs$lang$applyTo \x3d (function (seq20116){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20116));\n}));\n\n\nvar g__11479__auto___20825 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.return$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.return$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/return\n */\ncljs.spec.gen.alpha.return$ \x3d (function cljs$spec$gen$alpha$return(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20834 \x3d arguments.length;\nvar i__5770__auto___20835 \x3d (0);\nwhile(true){\nif((i__5770__auto___20835 \x3c len__5769__auto___20834)){\nargs__5775__auto__.push((arguments[i__5770__auto___20835]));\n\nvar G__20836 \x3d (i__5770__auto___20835 + (1));\ni__5770__auto___20835 \x3d G__20836;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20825),args);\n}));\n\n(cljs.spec.gen.alpha.return$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.return$.cljs$lang$applyTo \x3d (function (seq20119){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20119));\n}));\n\n\nvar g__11479__auto___20837 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/large-integer*\n */\ncljs.spec.gen.alpha.large_integer_STAR_ \x3d (function cljs$spec$gen$alpha$large_integer_STAR_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20839 \x3d arguments.length;\nvar i__5770__auto___20840 \x3d (0);\nwhile(true){\nif((i__5770__auto___20840 \x3c len__5769__auto___20839)){\nargs__5775__auto__.push((arguments[i__5770__auto___20840]));\n\nvar G__20845 \x3d (i__5770__auto___20840 + (1));\ni__5770__auto___20840 \x3d G__20845;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20837),args);\n}));\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$applyTo \x3d (function (seq20132){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20132));\n}));\n\n\nvar g__11479__auto___20848 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/double*\n */\ncljs.spec.gen.alpha.double_STAR_ \x3d (function cljs$spec$gen$alpha$double_STAR_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20850 \x3d arguments.length;\nvar i__5770__auto___20851 \x3d (0);\nwhile(true){\nif((i__5770__auto___20851 \x3c len__5769__auto___20850)){\nargs__5775__auto__.push((arguments[i__5770__auto___20851]));\n\nvar G__20852 \x3d (i__5770__auto___20851 + (1));\ni__5770__auto___20851 \x3d G__20852;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20848),args);\n}));\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$applyTo \x3d (function (seq20137){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20137));\n}));\n\n\nvar g__11479__auto___20855 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.frequency !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.frequency;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/frequency\n */\ncljs.spec.gen.alpha.frequency \x3d (function cljs$spec$gen$alpha$frequency(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20858 \x3d arguments.length;\nvar i__5770__auto___20860 \x3d (0);\nwhile(true){\nif((i__5770__auto___20860 \x3c len__5769__auto___20858)){\nargs__5775__auto__.push((arguments[i__5770__auto___20860]));\n\nvar G__20862 \x3d (i__5770__auto___20860 + (1));\ni__5770__auto___20860 \x3d G__20862;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20855),args);\n}));\n\n(cljs.spec.gen.alpha.frequency.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.frequency.cljs$lang$applyTo \x3d (function (seq20191){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20191));\n}));\n\n\nvar g__11479__auto___20864 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.shuffle !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.shuffle;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/shuffle\n */\ncljs.spec.gen.alpha.shuffle \x3d (function cljs$spec$gen$alpha$shuffle(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20866 \x3d arguments.length;\nvar i__5770__auto___20867 \x3d (0);\nwhile(true){\nif((i__5770__auto___20867 \x3c len__5769__auto___20866)){\nargs__5775__auto__.push((arguments[i__5770__auto___20867]));\n\nvar G__20868 \x3d (i__5770__auto___20867 + (1));\ni__5770__auto___20867 \x3d G__20868;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___20864),args);\n}));\n\n(cljs.spec.gen.alpha.shuffle.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.shuffle.cljs$lang$applyTo \x3d (function (seq20228){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20228));\n}));\n\nvar g__11484__auto___20869 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any\n */\ncljs.spec.gen.alpha.any \x3d (function cljs$spec$gen$alpha$any(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20874 \x3d arguments.length;\nvar i__5770__auto___20875 \x3d (0);\nwhile(true){\nif((i__5770__auto___20875 \x3c len__5769__auto___20874)){\nargs__5775__auto__.push((arguments[i__5770__auto___20875]));\n\nvar G__20877 \x3d (i__5770__auto___20875 + (1));\ni__5770__auto___20875 \x3d G__20877;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20869);\n}));\n\n(cljs.spec.gen.alpha.any.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any.cljs$lang$applyTo \x3d (function (seq20248){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20248));\n}));\n\n\nvar g__11484__auto___20879 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any-printable\n */\ncljs.spec.gen.alpha.any_printable \x3d (function cljs$spec$gen$alpha$any_printable(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20880 \x3d arguments.length;\nvar i__5770__auto___20881 \x3d (0);\nwhile(true){\nif((i__5770__auto___20881 \x3c len__5769__auto___20880)){\nargs__5775__auto__.push((arguments[i__5770__auto___20881]));\n\nvar G__20882 \x3d (i__5770__auto___20881 + (1));\ni__5770__auto___20881 \x3d G__20882;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20879);\n}));\n\n(cljs.spec.gen.alpha.any_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any_printable.cljs$lang$applyTo \x3d (function (seq20264){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20264));\n}));\n\n\nvar g__11484__auto___20885 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.boolean$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.boolean$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/boolean\n */\ncljs.spec.gen.alpha.boolean$ \x3d (function cljs$spec$gen$alpha$boolean(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20889 \x3d arguments.length;\nvar i__5770__auto___20890 \x3d (0);\nwhile(true){\nif((i__5770__auto___20890 \x3c len__5769__auto___20889)){\nargs__5775__auto__.push((arguments[i__5770__auto___20890]));\n\nvar G__20891 \x3d (i__5770__auto___20890 + (1));\ni__5770__auto___20890 \x3d G__20891;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20885);\n}));\n\n(cljs.spec.gen.alpha.boolean$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.boolean$.cljs$lang$applyTo \x3d (function (seq20287){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20287));\n}));\n\n\nvar g__11484__auto___20895 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char\n */\ncljs.spec.gen.alpha.char$ \x3d (function cljs$spec$gen$alpha$char(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20897 \x3d arguments.length;\nvar i__5770__auto___20898 \x3d (0);\nwhile(true){\nif((i__5770__auto___20898 \x3c len__5769__auto___20897)){\nargs__5775__auto__.push((arguments[i__5770__auto___20898]));\n\nvar G__20899 \x3d (i__5770__auto___20898 + (1));\ni__5770__auto___20898 \x3d G__20899;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20895);\n}));\n\n(cljs.spec.gen.alpha.char$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char$.cljs$lang$applyTo \x3d (function (seq20297){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20297));\n}));\n\n\nvar g__11484__auto___20900 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alpha !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alpha;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alpha\n */\ncljs.spec.gen.alpha.char_alpha \x3d (function cljs$spec$gen$alpha$char_alpha(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20902 \x3d arguments.length;\nvar i__5770__auto___20903 \x3d (0);\nwhile(true){\nif((i__5770__auto___20903 \x3c len__5769__auto___20902)){\nargs__5775__auto__.push((arguments[i__5770__auto___20903]));\n\nvar G__20905 \x3d (i__5770__auto___20903 + (1));\ni__5770__auto___20903 \x3d G__20905;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20900);\n}));\n\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$applyTo \x3d (function (seq20306){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20306));\n}));\n\n\nvar g__11484__auto___20907 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alphanumeric\n */\ncljs.spec.gen.alpha.char_alphanumeric \x3d (function cljs$spec$gen$alpha$char_alphanumeric(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20910 \x3d arguments.length;\nvar i__5770__auto___20911 \x3d (0);\nwhile(true){\nif((i__5770__auto___20911 \x3c len__5769__auto___20910)){\nargs__5775__auto__.push((arguments[i__5770__auto___20911]));\n\nvar G__20914 \x3d (i__5770__auto___20911 + (1));\ni__5770__auto___20911 \x3d G__20914;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20907);\n}));\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$applyTo \x3d (function (seq20308){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20308));\n}));\n\n\nvar g__11484__auto___20915 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-ascii\n */\ncljs.spec.gen.alpha.char_ascii \x3d (function cljs$spec$gen$alpha$char_ascii(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20916 \x3d arguments.length;\nvar i__5770__auto___20917 \x3d (0);\nwhile(true){\nif((i__5770__auto___20917 \x3c len__5769__auto___20916)){\nargs__5775__auto__.push((arguments[i__5770__auto___20917]));\n\nvar G__20918 \x3d (i__5770__auto___20917 + (1));\ni__5770__auto___20917 \x3d G__20918;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20915);\n}));\n\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$applyTo \x3d (function (seq20318){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20318));\n}));\n\n\nvar g__11484__auto___20930 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/double\n */\ncljs.spec.gen.alpha.double$ \x3d (function cljs$spec$gen$alpha$double(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20945 \x3d arguments.length;\nvar i__5770__auto___20946 \x3d (0);\nwhile(true){\nif((i__5770__auto___20946 \x3c len__5769__auto___20945)){\nargs__5775__auto__.push((arguments[i__5770__auto___20946]));\n\nvar G__20949 \x3d (i__5770__auto___20946 + (1));\ni__5770__auto___20946 \x3d G__20949;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20930);\n}));\n\n(cljs.spec.gen.alpha.double$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double$.cljs$lang$applyTo \x3d (function (seq20324){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20324));\n}));\n\n\nvar g__11484__auto___20951 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.int$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.int$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/int\n */\ncljs.spec.gen.alpha.int$ \x3d (function cljs$spec$gen$alpha$int(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20953 \x3d arguments.length;\nvar i__5770__auto___20954 \x3d (0);\nwhile(true){\nif((i__5770__auto___20954 \x3c len__5769__auto___20953)){\nargs__5775__auto__.push((arguments[i__5770__auto___20954]));\n\nvar G__20956 \x3d (i__5770__auto___20954 + (1));\ni__5770__auto___20954 \x3d G__20956;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20951);\n}));\n\n(cljs.spec.gen.alpha.int$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.int$.cljs$lang$applyTo \x3d (function (seq20333){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20333));\n}));\n\n\nvar g__11484__auto___20960 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword\n */\ncljs.spec.gen.alpha.keyword \x3d (function cljs$spec$gen$alpha$keyword(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20962 \x3d arguments.length;\nvar i__5770__auto___20963 \x3d (0);\nwhile(true){\nif((i__5770__auto___20963 \x3c len__5769__auto___20962)){\nargs__5775__auto__.push((arguments[i__5770__auto___20963]));\n\nvar G__20965 \x3d (i__5770__auto___20963 + (1));\ni__5770__auto___20963 \x3d G__20965;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20960);\n}));\n\n(cljs.spec.gen.alpha.keyword.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword.cljs$lang$applyTo \x3d (function (seq20339){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20339));\n}));\n\n\nvar g__11484__auto___20967 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword-ns\n */\ncljs.spec.gen.alpha.keyword_ns \x3d (function cljs$spec$gen$alpha$keyword_ns(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20969 \x3d arguments.length;\nvar i__5770__auto___20970 \x3d (0);\nwhile(true){\nif((i__5770__auto___20970 \x3c len__5769__auto___20969)){\nargs__5775__auto__.push((arguments[i__5770__auto___20970]));\n\nvar G__20971 \x3d (i__5770__auto___20970 + (1));\ni__5770__auto___20970 \x3d G__20971;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20967);\n}));\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$applyTo \x3d (function (seq20369){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20369));\n}));\n\n\nvar g__11484__auto___20975 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/large-integer\n */\ncljs.spec.gen.alpha.large_integer \x3d (function cljs$spec$gen$alpha$large_integer(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20978 \x3d arguments.length;\nvar i__5770__auto___20979 \x3d (0);\nwhile(true){\nif((i__5770__auto___20979 \x3c len__5769__auto___20978)){\nargs__5775__auto__.push((arguments[i__5770__auto___20979]));\n\nvar G__20980 \x3d (i__5770__auto___20979 + (1));\ni__5770__auto___20979 \x3d G__20980;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20975);\n}));\n\n(cljs.spec.gen.alpha.large_integer.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer.cljs$lang$applyTo \x3d (function (seq20381){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20381));\n}));\n\n\nvar g__11484__auto___20984 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.ratio !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.ratio;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/ratio\n */\ncljs.spec.gen.alpha.ratio \x3d (function cljs$spec$gen$alpha$ratio(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20986 \x3d arguments.length;\nvar i__5770__auto___20987 \x3d (0);\nwhile(true){\nif((i__5770__auto___20987 \x3c len__5769__auto___20986)){\nargs__5775__auto__.push((arguments[i__5770__auto___20987]));\n\nvar G__20988 \x3d (i__5770__auto___20987 + (1));\ni__5770__auto___20987 \x3d G__20988;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20984);\n}));\n\n(cljs.spec.gen.alpha.ratio.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.ratio.cljs$lang$applyTo \x3d (function (seq20396){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20396));\n}));\n\n\nvar g__11484__auto___20989 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type\n */\ncljs.spec.gen.alpha.simple_type \x3d (function cljs$spec$gen$alpha$simple_type(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20991 \x3d arguments.length;\nvar i__5770__auto___20993 \x3d (0);\nwhile(true){\nif((i__5770__auto___20993 \x3c len__5769__auto___20991)){\nargs__5775__auto__.push((arguments[i__5770__auto___20993]));\n\nvar G__20995 \x3d (i__5770__auto___20993 + (1));\ni__5770__auto___20993 \x3d G__20995;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20989);\n}));\n\n(cljs.spec.gen.alpha.simple_type.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type.cljs$lang$applyTo \x3d (function (seq20453){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20453));\n}));\n\n\nvar g__11484__auto___20999 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type-printable\n */\ncljs.spec.gen.alpha.simple_type_printable \x3d (function cljs$spec$gen$alpha$simple_type_printable(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21001 \x3d arguments.length;\nvar i__5770__auto___21003 \x3d (0);\nwhile(true){\nif((i__5770__auto___21003 \x3c len__5769__auto___21001)){\nargs__5775__auto__.push((arguments[i__5770__auto___21003]));\n\nvar G__21004 \x3d (i__5770__auto___21003 + (1));\ni__5770__auto___21003 \x3d G__21004;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___20999);\n}));\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$applyTo \x3d (function (seq20475){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20475));\n}));\n\n\nvar g__11484__auto___21005 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string\n */\ncljs.spec.gen.alpha.string \x3d (function cljs$spec$gen$alpha$string(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21011 \x3d arguments.length;\nvar i__5770__auto___21012 \x3d (0);\nwhile(true){\nif((i__5770__auto___21012 \x3c len__5769__auto___21011)){\nargs__5775__auto__.push((arguments[i__5770__auto___21012]));\n\nvar G__21013 \x3d (i__5770__auto___21012 + (1));\ni__5770__auto___21012 \x3d G__21013;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___21005);\n}));\n\n(cljs.spec.gen.alpha.string.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string.cljs$lang$applyTo \x3d (function (seq20491){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20491));\n}));\n\n\nvar g__11484__auto___21017 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-ascii\n */\ncljs.spec.gen.alpha.string_ascii \x3d (function cljs$spec$gen$alpha$string_ascii(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21018 \x3d arguments.length;\nvar i__5770__auto___21019 \x3d (0);\nwhile(true){\nif((i__5770__auto___21019 \x3c len__5769__auto___21018)){\nargs__5775__auto__.push((arguments[i__5770__auto___21019]));\n\nvar G__21020 \x3d (i__5770__auto___21019 + (1));\ni__5770__auto___21019 \x3d G__21020;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___21017);\n}));\n\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$applyTo \x3d (function (seq20503){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20503));\n}));\n\n\nvar g__11484__auto___21021 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-alphanumeric\n */\ncljs.spec.gen.alpha.string_alphanumeric \x3d (function cljs$spec$gen$alpha$string_alphanumeric(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21022 \x3d arguments.length;\nvar i__5770__auto___21023 \x3d (0);\nwhile(true){\nif((i__5770__auto___21023 \x3c len__5769__auto___21022)){\nargs__5775__auto__.push((arguments[i__5770__auto___21023]));\n\nvar G__21024 \x3d (i__5770__auto___21023 + (1));\ni__5770__auto___21023 \x3d G__21024;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___21021);\n}));\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$applyTo \x3d (function (seq20511){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20511));\n}));\n\n\nvar g__11484__auto___21026 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol\n */\ncljs.spec.gen.alpha.symbol \x3d (function cljs$spec$gen$alpha$symbol(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21032 \x3d arguments.length;\nvar i__5770__auto___21033 \x3d (0);\nwhile(true){\nif((i__5770__auto___21033 \x3c len__5769__auto___21032)){\nargs__5775__auto__.push((arguments[i__5770__auto___21033]));\n\nvar G__21034 \x3d (i__5770__auto___21033 + (1));\ni__5770__auto___21033 \x3d G__21034;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___21026);\n}));\n\n(cljs.spec.gen.alpha.symbol.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol.cljs$lang$applyTo \x3d (function (seq20526){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20526));\n}));\n\n\nvar g__11484__auto___21036 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol-ns\n */\ncljs.spec.gen.alpha.symbol_ns \x3d (function cljs$spec$gen$alpha$symbol_ns(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21037 \x3d arguments.length;\nvar i__5770__auto___21038 \x3d (0);\nwhile(true){\nif((i__5770__auto___21038 \x3c len__5769__auto___21037)){\nargs__5775__auto__.push((arguments[i__5770__auto___21038]));\n\nvar G__21039 \x3d (i__5770__auto___21038 + (1));\ni__5770__auto___21038 \x3d G__21039;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___21036);\n}));\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$applyTo \x3d (function (seq20546){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20546));\n}));\n\n\nvar g__11484__auto___21041 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.uuid !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.uuid;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/uuid\n */\ncljs.spec.gen.alpha.uuid \x3d (function cljs$spec$gen$alpha$uuid(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21044 \x3d arguments.length;\nvar i__5770__auto___21045 \x3d (0);\nwhile(true){\nif((i__5770__auto___21045 \x3c len__5769__auto___21044)){\nargs__5775__auto__.push((arguments[i__5770__auto___21045]));\n\nvar G__21048 \x3d (i__5770__auto___21045 + (1));\ni__5770__auto___21045 \x3d G__21048;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___21041);\n}));\n\n(cljs.spec.gen.alpha.uuid.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.uuid.cljs$lang$applyTo \x3d (function (seq20557){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20557));\n}));\n\n/**\n * Returns a generator of a sequence catenated from results of\n * gens, each of which should generate something sequential.\n */\ncljs.spec.gen.alpha.cat \x3d (function cljs$spec$gen$alpha$cat(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21051 \x3d arguments.length;\nvar i__5770__auto___21052 \x3d (0);\nwhile(true){\nif((i__5770__auto___21052 \x3c len__5769__auto___21051)){\nargs__5775__auto__.push((arguments[i__5770__auto___21052]));\n\nvar G__21053 \x3d (i__5770__auto___21052 + (1));\ni__5770__auto___21052 \x3d G__21053;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (gens){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__20570_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__20570_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gens)], 0));\n}));\n\n(cljs.spec.gen.alpha.cat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.cat.cljs$lang$applyTo \x3d (function (seq20572){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq20572));\n}));\n\ncljs.spec.gen.alpha.qualified_QMARK_ \x3d (function cljs$spec$gen$alpha$qualified_QMARK_(ident){\nreturn (!((cljs.core.namespace(ident) \x3d\x3d null)));\n});\ncljs.spec.gen.alpha.gen_builtins \x3d (new cljs.core.Delay((function (){\nvar simple \x3d cljs.spec.gen.alpha.simple_type_printable();\nreturn cljs.core.PersistentHashMap.fromArrays([cljs.core.qualified_keyword_QMARK_,cljs.core.seq_QMARK_,cljs.core.vector_QMARK_,cljs.core.any_QMARK_,cljs.core.boolean_QMARK_,cljs.core.char_QMARK_,cljs.core.some_QMARK_,cljs.core.inst_QMARK_,cljs.core.simple_symbol_QMARK_,cljs.core.sequential_QMARK_,cljs.core.float_QMARK_,cljs.core.set_QMARK_,cljs.core.map_QMARK_,cljs.core.empty_QMARK_,cljs.core.string_QMARK_,cljs.core.uri_QMARK_,cljs.core.double_QMARK_,cljs.core.int_QMARK_,cljs.core.associative_QMARK_,cljs.core.keyword_QMARK_,cljs.core.indexed_QMARK_,cljs.core.zero_QMARK_,cljs.core.simple_keyword_QMARK_,cljs.core.neg_int_QMARK_,cljs.core.nil_QMARK_,cljs.core.ident_QMARK_,cljs.core.qualified_ident_QMARK_,cljs.core.true_QMARK_,cljs.core.integer_QMARK_,cljs.core.nat_int_QMARK_,cljs.core.pos_int_QMARK_,cljs.core.uuid_QMARK_,cljs.core.false_QMARK_,cljs.core.list_QMARK_,cljs.core.simple_ident_QMARK_,cljs.core.number_QMARK_,cljs.core.qualified_symbol_QMARK_,cljs.core.seqable_QMARK_,cljs.core.symbol_QMARK_,cljs.core.coll_QMARK_],[cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.keyword_ns()], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.any_printable()], null)], 0)),cljs.spec.gen.alpha.boolean$(),cljs.spec.gen.alpha.char$(),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.some_QMARK_,cljs.spec.gen.alpha.any_printable()], 0)),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__20584_SHARP_){\nreturn (new Date(p1__20584_SHARP_));\n}),cljs.spec.gen.alpha.large_integer()], 0)),cljs.spec.gen.alpha.symbol(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.List.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentArrayMap.EMPTY,cljs.core.PersistentHashSet.EMPTY], null)], 0)),cljs.spec.gen.alpha.string_alphanumeric(),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__20583_SHARP_){\nreturn (new goog.Uri([\x22http://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__20583_SHARP_),\x22.com\x22].join(\x27\x27)));\n}),cljs.spec.gen.alpha.uuid()], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(0)], 0)),cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),(-1)], null)], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0))], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([true], 0)),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(0)], null)], 0)),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(1)], null)], 0)),cljs.spec.gen.alpha.uuid(),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([false], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.symbol()], null)], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.double$()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.symbol_ns()], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.string_alphanumeric()], null)], 0)),cljs.spec.gen.alpha.symbol_ns(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0))]);\n}),null));\n/**\n * Given a predicate, returns a built-in generator if one exists.\n */\ncljs.spec.gen.alpha.gen_for_pred \x3d (function cljs$spec$gen$alpha$gen_for_pred(pred){\nif(cljs.core.set_QMARK_(pred)){\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pred], 0));\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.gen_builtins),pred);\n}\n});\n"); -SHADOW_ENV.evalLoad("cljs.spec.alpha.js", true , "goog.provide(\x27cljs.spec.alpha\x27);\ngoog.scope(function(){\n cljs.spec.alpha.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ncljs.spec.alpha.MAX_INT \x3d (9007199254740991);\n/**\n * A soft limit on how many times a branching spec (or/alt/* /opt-keys/multi-spec)\n * can be recursed through during generation. After this a\n * non-recursive branch will be chosen.\n */\ncljs.spec.alpha._STAR_recursion_limit_STAR_ \x3d (4);\n/**\n * The number of times an anonymous fn specified by fspec will be (generatively) tested during conform\n */\ncljs.spec.alpha._STAR_fspec_iterations_STAR_ \x3d (21);\n/**\n * The number of items validated in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_check_limit_STAR_ \x3d (101);\n/**\n * The number of errors reported by explain in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_error_limit_STAR_ \x3d (20);\n\n/**\n * @interface\n */\ncljs.spec.alpha.Spec \x3d function(){};\n\nvar cljs$spec$alpha$Spec$conform_STAR_$dyn_23719 \x3d (function (spec,x){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.conform_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5394__auto__.call(null,spec,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.conform_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5392__auto__.call(null,spec,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.conform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.conform_STAR_ \x3d (function cljs$spec$alpha$conform_STAR_(spec,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2(spec,x);\n} else {\nreturn cljs$spec$alpha$Spec$conform_STAR_$dyn_23719(spec,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$unform_STAR_$dyn_23720 \x3d (function (spec,y){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.unform_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5394__auto__.call(null,spec,y));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.unform_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5392__auto__.call(null,spec,y));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.unform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.unform_STAR_ \x3d (function cljs$spec$alpha$unform_STAR_(spec,y){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2(spec,y);\n} else {\nreturn cljs$spec$alpha$Spec$unform_STAR_$dyn_23720(spec,y);\n}\n});\n\nvar cljs$spec$alpha$Spec$explain_STAR_$dyn_23721 \x3d (function (spec,path,via,in$,x){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.explain_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5394__auto__.call(null,spec,path,via,in$,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.explain_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5392__auto__.call(null,spec,path,via,in$,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.explain*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.explain_STAR_ \x3d (function cljs$spec$alpha$explain_STAR_(spec,path,via,in$,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5(spec,path,via,in$,x);\n} else {\nreturn cljs$spec$alpha$Spec$explain_STAR_$dyn_23721(spec,path,via,in$,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$gen_STAR_$dyn_23722 \x3d (function (spec,overrides,path,rmap){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.gen_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5394__auto__.call(null,spec,overrides,path,rmap));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.gen_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5392__auto__.call(null,spec,overrides,path,rmap));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.gen_STAR_ \x3d (function cljs$spec$alpha$gen_STAR_(spec,overrides,path,rmap){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4(spec,overrides,path,rmap);\n} else {\nreturn cljs$spec$alpha$Spec$gen_STAR_$dyn_23722(spec,overrides,path,rmap);\n}\n});\n\nvar cljs$spec$alpha$Spec$with_gen_STAR_$dyn_23723 \x3d (function (spec,gfn){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5394__auto__.call(null,spec,gfn));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5392__auto__.call(null,spec,gfn));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.with-gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.with_gen_STAR_ \x3d (function cljs$spec$alpha$with_gen_STAR_(spec,gfn){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2(spec,gfn);\n} else {\nreturn cljs$spec$alpha$Spec$with_gen_STAR_$dyn_23723(spec,gfn);\n}\n});\n\nvar cljs$spec$alpha$Spec$describe_STAR_$dyn_23724 \x3d (function (spec){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.describe_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5394__auto__.call(null,spec));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.describe_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5392__auto__.call(null,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.describe*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.describe_STAR_ \x3d (function cljs$spec$alpha$describe_STAR_(spec){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1(spec);\n} else {\nreturn cljs$spec$alpha$Spec$describe_STAR_$dyn_23724(spec);\n}\n});\n\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.registry_ref !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha.registry_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\ncljs.spec.alpha.deep_resolve \x3d (function cljs$spec$alpha$deep_resolve(reg,k){\nvar spec \x3d k;\nwhile(true){\nif(cljs.core.ident_QMARK_(spec)){\nvar G__23725 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,spec);\nspec \x3d G__23725;\ncontinue;\n} else {\nreturn spec;\n}\nbreak;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, nil if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve \x3d (function cljs$spec$alpha$reg_resolve(k){\nif(cljs.core.ident_QMARK_(k)){\nvar reg \x3d cljs.core.deref(cljs.spec.alpha.registry_ref);\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,k);\nif((!(cljs.core.ident_QMARK_(spec)))){\nreturn spec;\n} else {\nreturn cljs.spec.alpha.deep_resolve(reg,spec);\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, throws if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve_BANG_ \x3d (function cljs$spec$alpha$reg_resolve_BANG_(k){\nif(cljs.core.ident_QMARK_(k)){\nvar or__5045__auto__ \x3d cljs.spec.alpha.reg_resolve(k);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(\x27\x27)));\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns x if x is a spec object, else logical false\n */\ncljs.spec.alpha.spec_QMARK_ \x3d (function cljs$spec$alpha$spec_QMARK_(x){\nif((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$spec$alpha$Spec$))))?true:false):false)){\nreturn x;\n} else {\nreturn null;\n}\n});\n/**\n * returns x if x is a (cljs.spec.alpha) regex op, else logical false\n */\ncljs.spec.alpha.regex_QMARK_ \x3d (function cljs$spec$alpha$regex_QMARK_(x){\nvar and__5043__auto__ \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(x);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn x;\n} else {\nreturn and__5043__auto__;\n}\n});\ncljs.spec.alpha.with_name \x3d (function cljs$spec$alpha$with_name(spec,name){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(spec,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(spec),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name));\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.spec_name \x3d (function cljs$spec$alpha$spec_name(spec){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(spec);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(spec));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * spec-or-k must be a spec, regex or resolvable kw/sym, else returns nil.\n */\ncljs.spec.alpha.maybe_spec \x3d (function cljs$spec$alpha$maybe_spec(spec_or_k){\nvar s \x3d (function (){var or__5045__auto__ \x3d (function (){var and__5043__auto__ \x3d cljs.core.ident_QMARK_(spec_or_k);\nif(and__5043__auto__){\nreturn cljs.spec.alpha.reg_resolve(spec_or_k);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.spec.alpha.spec_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d cljs.spec.alpha.regex_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn null;\n}\n}\n}\n})();\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(s))){\nreturn cljs.spec.alpha.with_name(cljs.spec.alpha.regex_spec_impl(s,null),cljs.spec.alpha.spec_name(s));\n} else {\nreturn s;\n}\n});\n/**\n * spec-or-k must be a spec, regex or kw/sym, else returns nil. Throws if unresolvable kw/sym\n */\ncljs.spec.alpha.the_spec \x3d (function cljs$spec$alpha$the_spec(spec_or_k){\nvar or__5045__auto__ \x3d cljs.spec.alpha.maybe_spec(spec_or_k);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nif(cljs.core.ident_QMARK_(spec_or_k)){\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec_or_k)].join(\x27\x27)));\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.fn_sym \x3d (function cljs$spec$alpha$fn_sym(f_n){\nif(clojure.string.blank_QMARK_(f_n)){\nreturn null;\n} else {\nvar xs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.demunge,clojure.string.split.cljs$core$IFn$_invoke$arity$2(f_n,\x22$\x22));\nif(((((2) \x3c\x3d cljs.core.count(xs))) \x26\x26 (cljs.core.every_QMARK_((function (p1__20996_SHARP_){\nreturn (!(clojure.string.blank_QMARK_(p1__20996_SHARP_)));\n}),xs)))){\nvar vec__21007 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.butlast,cljs.core.last)(xs);\nvar xs__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21007,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21007,(1),null);\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,xs__$1),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27));\n} else {\nreturn null;\n}\n}\n});\n\n/**\n * @interface\n */\ncljs.spec.alpha.Specize \x3d function(){};\n\nvar cljs$spec$alpha$Specize$specize_STAR_$dyn_23748 \x3d (function() {\nvar G__23749 \x3d null;\nvar G__23749__1 \x3d (function (_){\nvar x__5393__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5394__auto__.call(null,_));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5392__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nvar G__23749__2 \x3d (function (_,form){\nvar x__5393__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5394__auto__.call(null,_,form));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5392__auto__.call(null,_,form));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nG__23749 \x3d function(_,form){\nswitch(arguments.length){\ncase 1:\nreturn G__23749__1.call(this,_);\ncase 2:\nreturn G__23749__2.call(this,_,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__23749.cljs$core$IFn$_invoke$arity$1 \x3d G__23749__1;\nG__23749.cljs$core$IFn$_invoke$arity$2 \x3d G__23749__2;\nreturn G__23749;\n})()\n;\ncljs.spec.alpha.specize_STAR_ \x3d (function cljs$spec$alpha$specize_STAR_(var_args){\nvar G__21031 \x3d arguments.length;\nswitch (G__21031) {\ncase 1:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$1(_);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_23748(_);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (_,form){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$2(_,form);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_23748(_,form);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (k){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (k,_){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.spec.alpha.Specize[\x22_\x22] \x3d true);\n\n(cljs.spec.alpha.specize_STAR_[\x22_\x22] \x3d (function() {\nvar G__23776 \x3d null;\nvar G__23776__1 \x3d (function (o){\nvar temp__5802__auto__ \x3d (function (){var and__5043__auto__ \x3d cljs.core.fn_QMARK_(o);\nif(and__5043__auto__){\nreturn cljs.spec.alpha.fn_sym(o.name);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f_n \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(f_n,o,null,null);\n} else {\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818),o,null,null);\n}\n});\nvar G__23776__2 \x3d (function (o,form){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,o,null,null);\n});\nG__23776 \x3d function(o,form){\nswitch(arguments.length){\ncase 1:\nreturn G__23776__1.call(this,o);\ncase 2:\nreturn G__23776__2.call(this,o,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__23776.cljs$core$IFn$_invoke$arity$1 \x3d G__23776__1;\nG__23776.cljs$core$IFn$_invoke$arity$2 \x3d G__23776__2;\nreturn G__23776;\n})()\n);\ncljs.spec.alpha.specize \x3d (function cljs$spec$alpha$specize(var_args){\nvar G__21094 \x3d arguments.length;\nswitch (G__21094) {\ncase 1:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nvar or__5045__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,form){\nvar or__5045__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s,form);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * tests the validity of a conform return value\n */\ncljs.spec.alpha.invalid_QMARK_ \x3d (function cljs$spec$alpha$invalid_QMARK_(ret){\nreturn cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119),ret);\n});\n/**\n * Given a spec and a value, returns :cljs.spec.alpha/invalid if value does\n * not match spec, else the (possibly destructured) value.\n */\ncljs.spec.alpha.conform \x3d (function cljs$spec$alpha$conform(spec,x){\nreturn cljs.spec.alpha.conform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * Given a spec and a value created by or compliant with a call to\n * \x27conform\x27 with the same spec, returns a value with all conform\n * destructuring undone.\n */\ncljs.spec.alpha.unform \x3d (function cljs$spec$alpha$unform(spec,x){\nreturn cljs.spec.alpha.unform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * returns the spec as data\n */\ncljs.spec.alpha.form \x3d (function cljs$spec$alpha$form(spec){\nreturn cljs.spec.alpha.describe_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec));\n});\ncljs.spec.alpha.abbrev \x3d (function cljs$spec$alpha$abbrev(form){\nif(cljs.core.seq_QMARK_(form)){\nreturn clojure.walk.postwalk((function (form__$1){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (form__$1 instanceof cljs.core.Symbol);\nif(and__5043__auto__){\nreturn cljs.core.namespace(form__$1);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form__$1));\n} else {\nif(((cljs.core.seq_QMARK_(form__$1)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),cljs.core.first(form__$1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.second(form__$1))))))){\nreturn cljs.core.last(form__$1);\n} else {\nreturn form__$1;\n\n}\n}\n}),form);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (form instanceof cljs.core.Symbol);\nif(and__5043__auto__){\nreturn cljs.core.namespace(form);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form));\n} else {\nreturn form;\n\n}\n}\n});\n/**\n * returns an abbreviated description of the spec as data\n */\ncljs.spec.alpha.describe \x3d (function cljs$spec$alpha$describe(spec){\nreturn cljs.spec.alpha.abbrev(cljs.spec.alpha.form(spec));\n});\n/**\n * Takes a spec and a no-arg, generator-returning fn and returns a version of that spec that uses that generator\n */\ncljs.spec.alpha.with_gen \x3d (function cljs$spec$alpha$with_gen(spec,gen_fn){\nvar spec__$1 \x3d cljs.spec.alpha.reg_resolve(spec);\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec__$1))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375),gen_fn);\n} else {\nreturn cljs.spec.alpha.with_gen_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec__$1),gen_fn);\n}\n});\ncljs.spec.alpha.explain_data_STAR_ \x3d (function cljs$spec$alpha$explain_data_STAR_(spec,path,via,in$,x){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.explain_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),path,via,in$,x);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar probs \x3d temp__5804__auto__;\nif(cljs.core.empty_QMARK_(probs)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),probs,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22spec\x22,\x22cljs.spec.alpha/spec\x22,1947137578),spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22value\x22,\x22cljs.spec.alpha/value\x22,1974786274),x], null);\n}\n} else {\nreturn null;\n}\n});\n/**\n * Given a spec and a value x which ought to conform, returns nil if x\n * conforms, else a map with at least the key ::problems whose value is\n * a collection of problem-maps, where problem-map has at least :path :pred and :val\n * keys describing the predicate and the value that failed at that\n * path.\n */\ncljs.spec.alpha.explain_data \x3d (function cljs$spec$alpha$explain_data(spec,x){\nreturn cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(spec);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,x);\n});\n/**\n * Default printer for explain-data. nil indicates a successful validation.\n */\ncljs.spec.alpha.explain_printer \x3d (function cljs$spec$alpha$explain_printer(ed){\nif(cljs.core.truth_(ed)){\nvar problems \x3d cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__21169_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168).cljs$core$IFn$_invoke$arity$1(p1__21169_SHARP_)));\n}),cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__21168_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865).cljs$core$IFn$_invoke$arity$1(p1__21168_SHARP_)));\n}),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814).cljs$core$IFn$_invoke$arity$1(ed)));\nreturn cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__21186_23810 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__21187_23811 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__21188_23812 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__21189_23813 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__21188_23812);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__21189_23813);\n\ntry{var seq__21196_23814 \x3d cljs.core.seq(problems);\nvar chunk__21197_23815 \x3d null;\nvar count__21198_23816 \x3d (0);\nvar i__21199_23817 \x3d (0);\nwhile(true){\nif((i__21199_23817 \x3c count__21198_23816)){\nvar map__21386_23818 \x3d chunk__21197_23815.cljs$core$IIndexed$_nth$arity$2(null,i__21199_23817);\nvar map__21386_23819__$1 \x3d cljs.core.__destructure_map(map__21386_23818);\nvar prob_23820 \x3d map__21386_23819__$1;\nvar path_23821 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21386_23819__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_23822 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21386_23819__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_23823 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21386_23819__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_23824 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21386_23819__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_23825 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21386_23819__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_23826 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21386_23819__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_23823], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_23824)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_23824], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_23822)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_23826)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_23826], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_23821)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_23821], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_23825)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_23825)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__21392_23830 \x3d cljs.core.seq(prob_23820);\nvar chunk__21393_23831 \x3d null;\nvar count__21394_23832 \x3d (0);\nvar i__21395_23833 \x3d (0);\nwhile(true){\nif((i__21395_23833 \x3c count__21394_23832)){\nvar vec__21416_23834 \x3d chunk__21393_23831.cljs$core$IIndexed$_nth$arity$2(null,i__21395_23833);\nvar k_23835 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21416_23834,(0),null);\nvar v_23836 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21416_23834,(1),null);\nif(cljs.core.truth_((function (){var fexpr__21421 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__21421.cljs$core$IFn$_invoke$arity$1 ? fexpr__21421.cljs$core$IFn$_invoke$arity$1(k_23835) : fexpr__21421.call(null,k_23835));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_23835], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_23836], 0));\n}\n\n\nvar G__23850 \x3d seq__21392_23830;\nvar G__23851 \x3d chunk__21393_23831;\nvar G__23852 \x3d count__21394_23832;\nvar G__23853 \x3d (i__21395_23833 + (1));\nseq__21392_23830 \x3d G__23850;\nchunk__21393_23831 \x3d G__23851;\ncount__21394_23832 \x3d G__23852;\ni__21395_23833 \x3d G__23853;\ncontinue;\n} else {\nvar temp__5804__auto___23854 \x3d cljs.core.seq(seq__21392_23830);\nif(temp__5804__auto___23854){\nvar seq__21392_23855__$1 \x3d temp__5804__auto___23854;\nif(cljs.core.chunked_seq_QMARK_(seq__21392_23855__$1)){\nvar c__5568__auto___23856 \x3d cljs.core.chunk_first(seq__21392_23855__$1);\nvar G__23857 \x3d cljs.core.chunk_rest(seq__21392_23855__$1);\nvar G__23858 \x3d c__5568__auto___23856;\nvar G__23859 \x3d cljs.core.count(c__5568__auto___23856);\nvar G__23860 \x3d (0);\nseq__21392_23830 \x3d G__23857;\nchunk__21393_23831 \x3d G__23858;\ncount__21394_23832 \x3d G__23859;\ni__21395_23833 \x3d G__23860;\ncontinue;\n} else {\nvar vec__21436_23861 \x3d cljs.core.first(seq__21392_23855__$1);\nvar k_23862 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21436_23861,(0),null);\nvar v_23863 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21436_23861,(1),null);\nif(cljs.core.truth_((function (){var fexpr__21451 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__21451.cljs$core$IFn$_invoke$arity$1 ? fexpr__21451.cljs$core$IFn$_invoke$arity$1(k_23862) : fexpr__21451.call(null,k_23862));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_23862], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_23863], 0));\n}\n\n\nvar G__23864 \x3d cljs.core.next(seq__21392_23855__$1);\nvar G__23865 \x3d null;\nvar G__23866 \x3d (0);\nvar G__23867 \x3d (0);\nseq__21392_23830 \x3d G__23864;\nchunk__21393_23831 \x3d G__23865;\ncount__21394_23832 \x3d G__23866;\ni__21395_23833 \x3d G__23867;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__23868 \x3d seq__21196_23814;\nvar G__23869 \x3d chunk__21197_23815;\nvar G__23870 \x3d count__21198_23816;\nvar G__23871 \x3d (i__21199_23817 + (1));\nseq__21196_23814 \x3d G__23868;\nchunk__21197_23815 \x3d G__23869;\ncount__21198_23816 \x3d G__23870;\ni__21199_23817 \x3d G__23871;\ncontinue;\n} else {\nvar temp__5804__auto___23872 \x3d cljs.core.seq(seq__21196_23814);\nif(temp__5804__auto___23872){\nvar seq__21196_23873__$1 \x3d temp__5804__auto___23872;\nif(cljs.core.chunked_seq_QMARK_(seq__21196_23873__$1)){\nvar c__5568__auto___23874 \x3d cljs.core.chunk_first(seq__21196_23873__$1);\nvar G__23875 \x3d cljs.core.chunk_rest(seq__21196_23873__$1);\nvar G__23876 \x3d c__5568__auto___23874;\nvar G__23877 \x3d cljs.core.count(c__5568__auto___23874);\nvar G__23878 \x3d (0);\nseq__21196_23814 \x3d G__23875;\nchunk__21197_23815 \x3d G__23876;\ncount__21198_23816 \x3d G__23877;\ni__21199_23817 \x3d G__23878;\ncontinue;\n} else {\nvar map__21455_23879 \x3d cljs.core.first(seq__21196_23873__$1);\nvar map__21455_23880__$1 \x3d cljs.core.__destructure_map(map__21455_23879);\nvar prob_23881 \x3d map__21455_23880__$1;\nvar path_23882 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21455_23880__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_23883 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21455_23880__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_23884 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21455_23880__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_23885 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21455_23880__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_23886 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21455_23880__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_23887 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21455_23880__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_23884], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_23885)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_23885], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_23883)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_23887)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_23887], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_23882)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_23882], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_23886)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_23886)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__21468_23892 \x3d cljs.core.seq(prob_23881);\nvar chunk__21469_23893 \x3d null;\nvar count__21470_23894 \x3d (0);\nvar i__21471_23895 \x3d (0);\nwhile(true){\nif((i__21471_23895 \x3c count__21470_23894)){\nvar vec__21545_23896 \x3d chunk__21469_23893.cljs$core$IIndexed$_nth$arity$2(null,i__21471_23895);\nvar k_23897 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21545_23896,(0),null);\nvar v_23898 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21545_23896,(1),null);\nif(cljs.core.truth_((function (){var fexpr__21550 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__21550.cljs$core$IFn$_invoke$arity$1 ? fexpr__21550.cljs$core$IFn$_invoke$arity$1(k_23897) : fexpr__21550.call(null,k_23897));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_23897], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_23898], 0));\n}\n\n\nvar G__23903 \x3d seq__21468_23892;\nvar G__23904 \x3d chunk__21469_23893;\nvar G__23905 \x3d count__21470_23894;\nvar G__23906 \x3d (i__21471_23895 + (1));\nseq__21468_23892 \x3d G__23903;\nchunk__21469_23893 \x3d G__23904;\ncount__21470_23894 \x3d G__23905;\ni__21471_23895 \x3d G__23906;\ncontinue;\n} else {\nvar temp__5804__auto___23907__$1 \x3d cljs.core.seq(seq__21468_23892);\nif(temp__5804__auto___23907__$1){\nvar seq__21468_23908__$1 \x3d temp__5804__auto___23907__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__21468_23908__$1)){\nvar c__5568__auto___23910 \x3d cljs.core.chunk_first(seq__21468_23908__$1);\nvar G__23911 \x3d cljs.core.chunk_rest(seq__21468_23908__$1);\nvar G__23912 \x3d c__5568__auto___23910;\nvar G__23913 \x3d cljs.core.count(c__5568__auto___23910);\nvar G__23914 \x3d (0);\nseq__21468_23892 \x3d G__23911;\nchunk__21469_23893 \x3d G__23912;\ncount__21470_23894 \x3d G__23913;\ni__21471_23895 \x3d G__23914;\ncontinue;\n} else {\nvar vec__21560_23915 \x3d cljs.core.first(seq__21468_23908__$1);\nvar k_23916 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21560_23915,(0),null);\nvar v_23917 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21560_23915,(1),null);\nif(cljs.core.truth_((function (){var fexpr__21563 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__21563.cljs$core$IFn$_invoke$arity$1 ? fexpr__21563.cljs$core$IFn$_invoke$arity$1(k_23916) : fexpr__21563.call(null,k_23916));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_23916], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_23917], 0));\n}\n\n\nvar G__23918 \x3d cljs.core.next(seq__21468_23908__$1);\nvar G__23919 \x3d null;\nvar G__23920 \x3d (0);\nvar G__23921 \x3d (0);\nseq__21468_23892 \x3d G__23918;\nchunk__21469_23893 \x3d G__23919;\ncount__21470_23894 \x3d G__23920;\ni__21471_23895 \x3d G__23921;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__23922 \x3d cljs.core.next(seq__21196_23873__$1);\nvar G__23923 \x3d null;\nvar G__23924 \x3d (0);\nvar G__23925 \x3d (0);\nseq__21196_23814 \x3d G__23922;\nchunk__21197_23815 \x3d G__23923;\ncount__21198_23816 \x3d G__23924;\ni__21199_23817 \x3d G__23925;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__21187_23811);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__21186_23810);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})()], 0));\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Success!\x22], 0));\n}\n});\ncljs.spec.alpha._STAR_explain_out_STAR_ \x3d cljs.spec.alpha.explain_printer;\n/**\n * Prints explanation data (per \x27explain-data\x27) to *out* using the printer in *explain-out*,\n * by default explain-printer.\n */\ncljs.spec.alpha.explain_out \x3d (function cljs$spec$alpha$explain_out(ed){\nreturn cljs.spec.alpha._STAR_explain_out_STAR_.call(null,ed);\n});\n/**\n * Given a spec and a value that fails to conform, prints an explanation to *out*.\n */\ncljs.spec.alpha.explain \x3d (function cljs$spec$alpha$explain(spec,x){\nreturn cljs.spec.alpha.explain_out(cljs.spec.alpha.explain_data(spec,x));\n});\n/**\n * Given a spec and a value that fails to conform, returns an explanation as a string.\n */\ncljs.spec.alpha.explain_str \x3d (function cljs$spec$alpha$explain_str(spec,x){\nvar sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__21608_23926 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__21609_23927 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__21610_23928 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__21611_23929 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__21610_23928);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__21611_23929);\n\ntry{cljs.spec.alpha.explain(spec,x);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__21609_23927);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__21608_23926);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n});\ncljs.spec.alpha.gensub \x3d (function cljs$spec$alpha$gensub(spec,overrides,path,rmap,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nvar temp__5802__auto__ \x3d (function (){var or__5045__auto__ \x3d (function (){var temp__5804__auto__ \x3d (function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,(function (){var or__5045__auto__ \x3d cljs.spec.alpha.spec_name(spec__$1);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn spec__$1;\n}\n})());\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar gfn \x3d temp__5804__auto__;\nreturn (gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.gen_STAR_(spec__$1,overrides,path,rmap);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar g \x3d temp__5802__auto__;\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__21616_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,p1__21616_SHARP_);\n}),g,(100)], 0));\n} else {\nthrow (new Error([\x22Unable to construct gen at: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22 for: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.abbrev(form))].join(\x27\x27)));\n}\n});\n/**\n * Given a spec, returns the generator for it, or throws if none can\n * be constructed. Optionally an overrides map can be provided which\n * should map spec names or paths (vectors of keywords) to no-arg\n * generator-creating fns. These will be used instead of the generators at those\n * names/paths. Note that parent generator (in the spec or overrides\n * map) will supersede those of any subtrees. A generator for a regex\n * op must always return a sequential collection (i.e. a generator for\n * s/? should return either an empty sequence/vector or a\n * sequence/vector with one item in it)\n */\ncljs.spec.alpha.gen \x3d (function cljs$spec$alpha$gen(var_args){\nvar G__21632 \x3d arguments.length;\nswitch (G__21632) {\ncase 1:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,null);\n}));\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,overrides){\nreturn cljs.spec.alpha.gensub(spec,overrides,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994),cljs.spec.alpha._STAR_recursion_limit_STAR_], null),spec);\n}));\n\n(cljs.spec.alpha.gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Do not call this directly, use \x27def\x27\n */\ncljs.spec.alpha.def_impl \x3d (function cljs$spec$alpha$def_impl(k,form,spec){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.ident_QMARK_(k);\nif(and__5043__auto__){\nreturn cljs.core.namespace(k);\n} else {\nreturn and__5043__auto__;\n}\n})())){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22k must be namespaced keyword or resolveable symbol\x22,\x22\\n\x22,\x22(c/and (ident? k) (namespace k))\x22].join(\x27\x27)));\n}\n\nif((spec \x3d\x3d null)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.registry_ref,cljs.core.dissoc,k);\n} else {\nvar spec_23933__$1 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.spec.alpha.spec_QMARK_(spec);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.spec.alpha.regex_QMARK_(spec);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.alpha.registry_ref),spec);\n}\n}\n})())?spec:cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,spec,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.spec.alpha.registry_ref,cljs.core.assoc,k,cljs.spec.alpha.with_name(spec_23933__$1,k));\n}\n\nreturn k;\n});\n/**\n * returns the registry map, prefer \x27get-spec\x27 to lookup a spec by name\n */\ncljs.spec.alpha.registry \x3d (function cljs$spec$alpha$registry(){\nreturn cljs.core.deref(cljs.spec.alpha.registry_ref);\n});\n/**\n * Returns a symbol from a symbol or var\n */\ncljs.spec.alpha.__GT_sym \x3d (function cljs$spec$alpha$__GT_sym(x){\nif(cljs.core.var_QMARK_(x)){\nreturn x.sym;\n} else {\nreturn x;\n}\n});\n/**\n * Returns spec registered for keyword/symbol/var k, or nil.\n */\ncljs.spec.alpha.get_spec \x3d (function cljs$spec$alpha$get_spec(k){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.registry(),(((k instanceof cljs.core.Keyword))?k:cljs.spec.alpha.__GT_sym(k)));\n});\ncljs.spec.alpha.macroexpand_check \x3d (function cljs$spec$alpha$macroexpand_check(v,args){\nvar specs \x3d cljs.spec.alpha.get_spec(v);\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar arg_spec \x3d temp__5804__auto__;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform(arg_spec,args))){\nvar ed \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(arg_spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(arg_spec);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,args),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22args\x22,\x22cljs.spec.alpha/args\x22,1870769783),args);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Call to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.__GT_sym(v)),\x22 did not conform to spec.\x22].join(\x27\x27),ed);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.recur_limit_QMARK_ \x3d (function cljs$spec$alpha$recur_limit_QMARK_(rmap,id,path,k){\nreturn (((cljs.core.get.cljs$core$IFn$_invoke$arity$2(rmap,id) \x3e new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994).cljs$core$IFn$_invoke$arity$1(rmap))) \x26\x26 (cljs.core.contains_QMARK_(cljs.core.set(path),k)));\n});\ncljs.spec.alpha.inck \x3d (function cljs$spec$alpha$inck(m,k){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,((function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})() + (1)));\n});\ncljs.spec.alpha.dt \x3d (function cljs$spec$alpha$dt(var_args){\nvar G__21699 \x3d arguments.length;\nswitch (G__21699) {\ncase 3:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(pred,x,form,null);\n}));\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4 \x3d (function (pred,x,form,cpred_QMARK_){\nif(cljs.core.truth_(pred)){\nvar temp__5802__auto__ \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar spec \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.conform(spec,x);\n} else {\nif(cljs.core.ifn_QMARK_(pred)){\nif(cljs.core.truth_(cpred_QMARK_)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x));\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n} else {\nthrow (new Error([cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([form], 0)),\x22 is not a fn, expected predicate fn\x22].join(\x27\x27)));\n}\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.dt.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.valid_QMARK_ \x3d (function cljs$spec$alpha$valid_QMARK_(var_args){\nvar G__21756 \x3d arguments.length;\nswitch (G__21756) {\ncase 2:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,x){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,x,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(spec,form);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * internal helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.pvalid_QMARK_ \x3d (function cljs$spec$alpha$pvalid_QMARK_(var_args){\nvar G__21768 \x3d arguments.length;\nswitch (G__21768) {\ncase 2:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,x){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818)))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,form))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.explain_1 \x3d (function cljs$spec$alpha$explain_1(form,pred,path,via,in$,v){\nvar pred__$1 \x3d cljs.spec.alpha.maybe_spec(pred);\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred__$1))){\nreturn cljs.spec.alpha.explain_STAR_(pred__$1,path,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(pred__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})(),in$,v);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),v,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n});\n\n/**\n * returns a generator for form f, which can be a keyword or a list\n * starting with \x27or or \x27and.\n */\ncljs.spec.alpha.k_gen \x3d (function cljs$spec$alpha$k_gen(f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((1),cljs.core.rest(f));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.and_k_gen(cljs.core.rest(f));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * returns a tuple generator made up of generators for a random subset\n * of min-count (default 0) to all elements in s.\n */\ncljs.spec.alpha.or_k_gen \x3d (function cljs$spec$alpha$or_k_gen(var_args){\nvar G__21804 \x3d arguments.length;\nswitch (G__21804) {\ncase 1:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((0),s);\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (min_count,s){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([min_count,cljs.core.count(s)], 0)),cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s)], 0))], 0)),(function (p__21806){\nvar vec__21813 \x3d p__21806;\nvar n \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21813,(0),null);\nvar gens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21813,(1),null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,gens));\n})], 0));\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * returns a tuple generator made up of generators for every element\n * in s.\n */\ncljs.spec.alpha.and_k_gen \x3d (function cljs$spec$alpha$and_k_gen(s){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha21875 \x3d (function (keys__GT_specnames,opt,req_un,opt_un,map__21864,gfn,pred_exprs,keys_pred,argm,opt_keys,req_specs,p__21863,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta21876){\nthis.keys__GT_specnames \x3d keys__GT_specnames;\nthis.opt \x3d opt;\nthis.req_un \x3d req_un;\nthis.opt_un \x3d opt_un;\nthis.map__21864 \x3d map__21864;\nthis.gfn \x3d gfn;\nthis.pred_exprs \x3d pred_exprs;\nthis.keys_pred \x3d keys_pred;\nthis.argm \x3d argm;\nthis.opt_keys \x3d opt_keys;\nthis.req_specs \x3d req_specs;\nthis.p__21863 \x3d p__21863;\nthis.req \x3d req;\nthis.id \x3d id;\nthis.req_keys \x3d req_keys;\nthis.opt_specs \x3d opt_specs;\nthis.k__GT_s \x3d k__GT_s;\nthis.pred_forms \x3d pred_forms;\nthis.meta21876 \x3d meta21876;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_21877,meta21876__$1){\nvar self__ \x3d this;\nvar _21877__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha21875(self__.keys__GT_specnames,self__.opt,self__.req_un,self__.opt_un,self__.map__21864,self__.gfn,self__.pred_exprs,self__.keys_pred,self__.argm,self__.opt_keys,self__.req_specs,self__.p__21863,self__.req,self__.id,self__.req_keys,self__.opt_specs,self__.k__GT_s,self__.pred_forms,meta21876__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_21877){\nvar self__ \x3d this;\nvar _21877__$1 \x3d this;\nreturn self__.meta21876;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.keys_pred.cljs$core$IFn$_invoke$arity$1 ? self__.keys_pred.cljs$core$IFn$_invoke$arity$1(m) : self__.keys_pred.call(null,m)))){\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__21930 \x3d m;\nvar vec__21931 \x3d G__21930;\nvar seq__21932 \x3d cljs.core.seq(vec__21931);\nvar first__21933 \x3d cljs.core.first(seq__21932);\nvar seq__21932__$1 \x3d cljs.core.next(seq__21932);\nvar vec__21934 \x3d first__21933;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21934,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21934,(1),null);\nvar ks \x3d seq__21932__$1;\nvar keys \x3d vec__21931;\nvar ret__$1 \x3d ret;\nvar G__21930__$1 \x3d G__21930;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__21941 \x3d G__21930__$1;\nvar seq__21942 \x3d cljs.core.seq(vec__21941);\nvar first__21943 \x3d cljs.core.first(seq__21942);\nvar seq__21942__$1 \x3d cljs.core.next(seq__21942);\nvar vec__21944 \x3d first__21943;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21944,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21944,(1),null);\nvar ks__$1 \x3d seq__21942__$1;\nvar keys__$1 \x3d vec__21941;\nif(cljs.core.truth_(keys__$1)){\nvar sname \x3d (self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1));\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,sname);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar s \x3d temp__5802__auto__;\nvar cv \x3d cljs.spec.alpha.conform(s,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__24001 \x3d (((cv \x3d\x3d\x3d v__$1))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,cv));\nvar G__24002 \x3d ks__$1;\nret__$1 \x3d G__24001;\nG__21930__$1 \x3d G__24002;\ncontinue;\n}\n} else {\nvar G__24003 \x3d ret__$2;\nvar G__24004 \x3d ks__$1;\nret__$1 \x3d G__24003;\nG__21930__$1 \x3d G__24004;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__21970 \x3d cljs.core.keys(m);\nvar vec__21972 \x3d G__21970;\nvar seq__21973 \x3d cljs.core.seq(vec__21972);\nvar first__21974 \x3d cljs.core.first(seq__21973);\nvar seq__21973__$1 \x3d cljs.core.next(seq__21973);\nvar k \x3d first__21974;\nvar ks \x3d seq__21973__$1;\nvar keys \x3d vec__21972;\nvar ret__$1 \x3d ret;\nvar G__21970__$1 \x3d G__21970;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__21986 \x3d G__21970__$1;\nvar seq__21987 \x3d cljs.core.seq(vec__21986);\nvar first__21988 \x3d cljs.core.first(seq__21987);\nvar seq__21987__$1 \x3d cljs.core.next(seq__21987);\nvar k__$1 \x3d first__21988;\nvar ks__$1 \x3d seq__21987__$1;\nvar keys__$1 \x3d vec__21986;\nif(cljs.core.truth_(keys__$1)){\nif(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)))){\nvar cv \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k__$1);\nvar v \x3d cljs.spec.alpha.unform((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)),cv);\nvar G__24005 \x3d (((cv \x3d\x3d\x3d v))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,v));\nvar G__24006 \x3d ks__$1;\nret__$1 \x3d G__24005;\nG__21970__$1 \x3d G__24006;\ncontinue;\n} else {\nvar G__24007 \x3d ret__$2;\nvar G__24008 \x3d ks__$1;\nret__$1 \x3d G__24007;\nG__21970__$1 \x3d G__24008;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.map_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar reg \x3d cljs.spec.alpha.registry();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.concat,(function (){var temp__5804__auto__ \x3d cljs.core.seq(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (pred,form){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn null;\n} else {\nreturn form;\n}\n}),self__.pred_exprs,self__.pred_forms)));\nif(temp__5804__auto__){\nvar probs \x3d temp__5804__auto__;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__21843_SHARP_){\nreturn cljs.core.identity(new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),p1__21843_SHARP_,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}),probs);\n} else {\nreturn null;\n}\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__22008){\nvar vec__22010 \x3d p__22008;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22010,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22010,(1),null);\nif((((!(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)))))) || (cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),v,k)))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\n}\n}),cljs.core.seq(x)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nvar rgen \x3d (function (k,s){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k)], null);\n});\nvar ogen \x3d (function (k,s){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k);\n}),null)))], null);\n}\n});\nvar reqs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3(rgen,self__.req_keys,self__.req_specs);\nvar opts \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$3(ogen,self__.opt_keys,self__.opt_specs));\nif(cljs.core.every_QMARK_(cljs.core.identity,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,reqs),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,opts)))){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.and_k_gen(self__.req),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt),cljs.spec.alpha.and_k_gen(self__.req_un),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt_un)], 0)),(function (p__22031){\nvar vec__22033 \x3d p__22031;\nvar req_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22033,(0),null);\nvar opt_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22033,(1),null);\nvar req_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22033,(2),null);\nvar opt_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22033,(3),null);\nvar qks \x3d cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_ks,opt_ks));\nvar unqks \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,cljs.core.name),cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_un_ks,opt_un_ks)));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.hash_map,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__21850_SHARP_){\nvar G__22044 \x3d cljs.core.first(p1__21850_SHARP_);\nvar fexpr__22043 \x3d cljs.core.set(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(qks,unqks));\nreturn (fexpr__22043.cljs$core$IFn$_invoke$arity$1 ? fexpr__22043.cljs$core$IFn$_invoke$arity$1(G__22044) : fexpr__22043.call(null,G__22044));\n}),cljs.core.into.cljs$core$IFn$_invoke$arity$2(reqs,opts))));\n})], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__22052 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.argm,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474),gfn__$1);\nreturn (cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1(G__22052) : cljs.spec.alpha.map_spec_impl.call(null,G__22052));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22keys\x22,\x22cljs.spec.alpha/keys\x22,1109346032,null),(function (){var G__22057 \x3d cljs.core.PersistentVector.EMPTY;\nvar G__22057__$1 \x3d (cljs.core.truth_(self__.req)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__22057,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req], 0)):G__22057);\nvar G__22057__$2 \x3d (cljs.core.truth_(self__.opt)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__22057__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt], 0)):G__22057__$1);\nvar G__22057__$3 \x3d (cljs.core.truth_(self__.req_un)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__22057__$2,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req_un], 0)):G__22057__$2);\nif(cljs.core.truth_(self__.opt_un)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__22057__$3,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt_un], 0));\n} else {\nreturn G__22057__$3;\n}\n})());\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 19, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22keys-\x3especnames\x22,\x22keys-\x3especnames\x22,1791294693,null),new cljs.core.Symbol(null,\x22opt\x22,\x22opt\x22,845825158,null),new cljs.core.Symbol(null,\x22req-un\x22,\x22req-un\x22,-1579864761,null),new cljs.core.Symbol(null,\x22opt-un\x22,\x22opt-un\x22,-1770993273,null),new cljs.core.Symbol(null,\x22map__21864\x22,\x22map__21864\x22,1802546473,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22pred-exprs\x22,\x22pred-exprs\x22,-862164374,null),new cljs.core.Symbol(null,\x22keys-pred\x22,\x22keys-pred\x22,-1795451030,null),new cljs.core.Symbol(null,\x22argm\x22,\x22argm\x22,-181546357,null),new cljs.core.Symbol(null,\x22opt-keys\x22,\x22opt-keys\x22,-1391747508,null),new cljs.core.Symbol(null,\x22req-specs\x22,\x22req-specs\x22,-2100473456,null),new cljs.core.Symbol(null,\x22p__21863\x22,\x22p__21863\x22,-994595564,null),new cljs.core.Symbol(null,\x22req\x22,\x22req\x22,1314083224,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22req-keys\x22,\x22req-keys\x22,-2140116548,null),new cljs.core.Symbol(null,\x22opt-specs\x22,\x22opt-specs\x22,1255626077,null),new cljs.core.Symbol(null,\x22k-\x3es\x22,\x22k-\x3es\x22,-1685112801,null),new cljs.core.Symbol(null,\x22pred-forms\x22,\x22pred-forms\x22,1813143359,null),new cljs.core.Symbol(null,\x22meta21876\x22,\x22meta21876\x22,1983612463,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha21875\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha21875.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha21875\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha21875.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha21875 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha21875(keys__GT_specnames,opt,req_un,opt_un,map__21864,gfn,pred_exprs,keys_pred,argm,opt_keys,req_specs,p__21863,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta21876){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha21875(keys__GT_specnames,opt,req_un,opt_un,map__21864,gfn,pred_exprs,keys_pred,argm,opt_keys,req_specs,p__21863,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta21876));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27 with a map argument\n */\ncljs.spec.alpha.map_spec_impl \x3d (function cljs$spec$alpha$map_spec_impl(p__21863){\nvar map__21864 \x3d p__21863;\nvar map__21864__$1 \x3d cljs.core.__destructure_map(map__21864);\nvar argm \x3d map__21864__$1;\nvar opt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369));\nvar req_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008));\nvar opt_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474));\nvar pred_exprs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22pred-exprs\x22,\x22pred-exprs\x22,1792271395));\nvar keys_pred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22keys-pred\x22,\x22keys-pred\x22,858984739));\nvar opt_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22opt-keys\x22,\x22opt-keys\x22,1262688261));\nvar req_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22req-specs\x22,\x22req-specs\x22,553962313));\nvar req \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303));\nvar req_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22req-keys\x22,\x22req-keys\x22,514319221));\nvar opt_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22opt-specs\x22,\x22opt-specs\x22,-384905450));\nvar pred_forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21864__$1,new cljs.core.Keyword(null,\x22pred-forms\x22,\x22pred-forms\x22,172611832));\nvar k__GT_s \x3d cljs.core.zipmap(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_keys,opt_keys),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_specs,opt_specs));\nvar keys__GT_specnames \x3d (function (p1__21821_SHARP_){\nvar or__5045__auto__ \x3d (k__GT_s.cljs$core$IFn$_invoke$arity$1 ? k__GT_s.cljs$core$IFn$_invoke$arity$1(p1__21821_SHARP_) : k__GT_s.call(null,p1__21821_SHARP_));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p1__21821_SHARP_;\n}\n});\nvar id \x3d cljs.core.random_uuid();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha21875(keys__GT_specnames,opt,req_un,opt_un,map__21864__$1,gfn,pred_exprs,keys_pred,argm,opt_keys,req_specs,p__21863,req,id,req_keys,opt_specs,k__GT_s,pred_forms,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha22091 \x3d (function (form,pred,gfn,cpred_QMARK_,unc,meta22092){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.cpred_QMARK_ \x3d cpred_QMARK_;\nthis.unc \x3d unc;\nthis.meta22092 \x3d meta22092;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22093,meta22092__$1){\nvar self__ \x3d this;\nvar _22093__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22091(self__.form,self__.pred,self__.gfn,self__.cpred_QMARK_,self__.unc,meta22092__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22093){\nvar self__ \x3d this;\nvar _22093__$1 \x3d this;\nreturn self__.meta22092;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d (self__.pred.cljs$core$IFn$_invoke$arity$1 ? self__.pred.cljs$core$IFn$_invoke$arity$1(x) : self__.pred.call(null,x));\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nreturn ret;\n} else {\nif(cljs.core.truth_(ret)){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nif(cljs.core.truth_(self__.unc)){\nreturn (self__.unc.cljs$core$IFn$_invoke$arity$1 ? self__.unc.cljs$core$IFn$_invoke$arity$1(x) : self__.unc.call(null,x));\n} else {\nthrow (new Error(\x22no unform fn for conformer\x22));\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(self__.pred,x,self__.form,self__.cpred_QMARK_))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,___$1,___$2,___$3){\nvar self__ \x3d this;\nvar ___$4 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.gen_for_pred(self__.pred);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(self__.form,self__.pred,gfn__$1,self__.cpred_QMARK_,self__.unc);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.form;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22cpred?\x22,\x22cpred?\x22,35589515,null),new cljs.core.Symbol(null,\x22unc\x22,\x22unc\x22,-465250751,null),new cljs.core.Symbol(null,\x22meta22092\x22,\x22meta22092\x22,1593225659,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha22091\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22091.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha22091\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha22091.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha22091 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha22091(form,pred,gfn,cpred_QMARK_,unc,meta22092){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22091(form,pred,gfn,cpred_QMARK_,unc,meta22092));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27\n */\ncljs.spec.alpha.spec_impl \x3d (function cljs$spec$alpha$spec_impl(var_args){\nvar G__22081 \x3d arguments.length;\nswitch (G__22081) {\ncase 4:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,gfn,cpred_QMARK_){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(form,pred,gfn,cpred_QMARK_,null);\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5 \x3d (function (form,pred,gfn,cpred_QMARK_,unc){\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred))){\nvar G__22087 \x3d pred;\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__22087,gfn);\n} else {\nreturn G__22087;\n}\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(pred))){\nreturn cljs.spec.alpha.regex_spec_impl(pred,gfn);\n} else {\nif(cljs.core.ident_QMARK_(pred)){\nvar G__22090 \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__22090,gfn);\n} else {\nreturn G__22090;\n}\n} else {\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22091(form,pred,gfn,cpred_QMARK_,unc,cljs.core.PersistentArrayMap.EMPTY));\n\n}\n}\n}\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha22165 \x3d (function (form,mmvar,retag,gfn,id,predx,dval,tag,meta22166){\nthis.form \x3d form;\nthis.mmvar \x3d mmvar;\nthis.retag \x3d retag;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.predx \x3d predx;\nthis.dval \x3d dval;\nthis.tag \x3d tag;\nthis.meta22166 \x3d meta22166;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22167,meta22166__$1){\nvar self__ \x3d this;\nvar _22167__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22165(self__.form,self__.mmvar,self__.retag,self__.gfn,self__.id,self__.predx,self__.dval,self__.tag,meta22166__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22167){\nvar self__ \x3d this;\nvar _22167__$1 \x3d this;\nreturn self__.meta22166;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,self__.form);\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.unform(pred,x);\n} else {\nthrow (new Error([\x22No method of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.form),\x22 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x)))].join(\x27\x27)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar dv \x3d (self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x));\nvar path__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,dv);\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.explain_1(self__.form,pred,path__$1,via,in$,x);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22no method\x22,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (p__22201){\nvar vec__22203 \x3d p__22201;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22203,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22203,(1),null);\nvar p \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(null) : f.call(null,null));\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__22143_SHARP_){\nreturn (self__.tag.cljs$core$IFn$_invoke$arity$2 ? self__.tag.cljs$core$IFn$_invoke$arity$2(p1__22143_SHARP_,k) : self__.tag.call(null,p1__22143_SHARP_,k));\n}),cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method\x22,\x22method\x22,1696235119,null),(new cljs.core.List(null,self__.form,(new cljs.core.List(null,k,null,(1),null)),(2),null)),(3),null)))], 0));\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(gen,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__22209){\nvar vec__22210 \x3d p__22209;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22210,(0),null);\nreturn cljs.spec.alpha.invalid_QMARK_(k);\n}),cljs.core.methods$(cljs.core.deref(self__.mmvar)))));\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.mmvar,self__.retag,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22multi-spec\x22,\x22cljs.spec.alpha/multi-spec\x22,175821274,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.retag,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22mmvar\x22,\x22mmvar\x22,-1714325675,null),new cljs.core.Symbol(null,\x22retag\x22,\x22retag\x22,528972725,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22predx\x22,\x22predx\x22,2063470948,null),new cljs.core.Symbol(null,\x22dval\x22,\x22dval\x22,835211877,null),new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22meta22166\x22,\x22meta22166\x22,698156784,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha22165\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22165.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha22165\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha22165.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha22165 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha22165(form,mmvar,retag,gfn,id,predx,dval,tag,meta22166){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22165(form,mmvar,retag,gfn,id,predx,dval,tag,meta22166));\n});\n\n\n/**\n * Do not call this directly, use \x27multi-spec\x27\n */\ncljs.spec.alpha.multi_spec_impl \x3d (function cljs$spec$alpha$multi_spec_impl(var_args){\nvar G__22151 \x3d arguments.length;\nswitch (G__22151) {\ncase 3:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,mmvar,retag){\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(form,mmvar,retag,null);\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,mmvar,retag,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar predx \x3d (function (p1__22138_SHARP_){\nvar mm \x3d cljs.core.deref(mmvar);\nvar and__5043__auto__ \x3d cljs.core._get_method(mm,(function (){var fexpr__22159 \x3d cljs.core._dispatch_fn(mm);\nreturn (fexpr__22159.cljs$core$IFn$_invoke$arity$1 ? fexpr__22159.cljs$core$IFn$_invoke$arity$1(p1__22138_SHARP_) : fexpr__22159.call(null,p1__22138_SHARP_));\n})());\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (mm.cljs$core$IFn$_invoke$arity$1 ? mm.cljs$core$IFn$_invoke$arity$1(p1__22138_SHARP_) : mm.call(null,p1__22138_SHARP_));\n} else {\nreturn and__5043__auto__;\n}\n});\nvar dval \x3d (function (p1__22139_SHARP_){\nvar fexpr__22160 \x3d cljs.core._dispatch_fn(cljs.core.deref(mmvar));\nreturn (fexpr__22160.cljs$core$IFn$_invoke$arity$1 ? fexpr__22160.cljs$core$IFn$_invoke$arity$1(p1__22139_SHARP_) : fexpr__22160.call(null,p1__22139_SHARP_));\n});\nvar tag \x3d (((retag instanceof cljs.core.Keyword))?(function (p1__22140_SHARP_,p2__22141_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__22140_SHARP_,retag,p2__22141_SHARP_);\n}):retag);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22165(form,mmvar,retag,gfn,id,predx,dval,tag,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha22229 \x3d (function (forms,preds,gfn,specs,cnt,meta22230){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cnt \x3d cnt;\nthis.meta22230 \x3d meta22230;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22231,meta22230__$1){\nvar self__ \x3d this;\nvar _22231__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22229(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cnt,meta22230__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22231){\nvar self__ \x3d this;\nvar _22231__$1 \x3d this;\nreturn self__.meta22230;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar specs__$1 \x3d cljs.core.deref(self__.specs);\nif((!(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),self__.cnt)))))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,self__.cnt)){\nreturn ret;\n} else {\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar cv \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),v);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__24134 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv));\nvar G__24135 \x3d (i + (1));\nret \x3d G__24134;\ni \x3d G__24135;\ncontinue;\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))))){\n} else {\nthrow (new Error(\x22Assert failed: (c/and (vector? x) (\x3d (count x) (count preds)))\x22));\n}\n\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,cljs.core.count(x))){\nreturn ret;\n} else {\nvar cv \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar v \x3d cljs.spec.alpha.unform((self__.preds.cljs$core$IFn$_invoke$arity$1 ? self__.preds.cljs$core$IFn$_invoke$arity$1(i) : self__.preds.call(null,i)),cv);\nvar G__24136 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,v));\nvar G__24137 \x3d (i + (1));\nret \x3d G__24136;\ni \x3d G__24137;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.vector_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.count(self__.preds),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (i,form,pred){\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,v)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i),v);\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.forms,self__.preds));\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (i,p,f){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),rmap,f);\n});\nvar gs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.preds,self__.forms);\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gs);\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22tuple\x22,\x22cljs.spec.alpha/tuple\x22,-415901908,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta22230\x22,\x22meta22230\x22,926685528,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha22229\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22229.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha22229\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha22229.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha22229 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha22229(forms__$1,preds,gfn,specs,cnt,meta22230){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22229(forms__$1,preds,gfn,specs,cnt,meta22230));\n});\n\n\n/**\n * Do not call this directly, use \x27tuple\x27\n */\ncljs.spec.alpha.tuple_impl \x3d (function cljs$spec$alpha$tuple_impl(var_args){\nvar G__22228 \x3d arguments.length;\nswitch (G__22228) {\ncase 2:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2 \x3d (function (forms__$1,preds){\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(forms__$1,preds,null);\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (forms__$1,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms__$1);\n}),null));\nvar cnt \x3d cljs.core.count(preds);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22229(forms__$1,preds,gfn,specs,cnt,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.tagged_ret \x3d (function cljs$spec$alpha$tagged_ret(tag,ret){\nreturn (new cljs.core.MapEntry(tag,ret,null));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha22328 \x3d (function (keys,forms,preds,gfn,id,kps,specs,cform,meta22329){\nthis.keys \x3d keys;\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.kps \x3d kps;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta22329 \x3d meta22329;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22330,meta22329__$1){\nvar self__ \x3d this;\nvar _22330__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22328(self__.keys,self__.forms,self__.preds,self__.gfn,self__.id,self__.kps,self__.specs,self__.cform,meta22329__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22330){\nvar self__ \x3d this;\nvar _22330__$1 \x3d this;\nreturn self__.meta22329;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,p__22349){\nvar self__ \x3d this;\nvar vec__22350 \x3d p__22349;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22350,(0),null);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22350,(1),null);\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform((self__.kps.cljs$core$IFn$_invoke$arity$1 ? self__.kps.cljs$core$IFn$_invoke$arity$1(k) : self__.kps.call(null,k)),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (this$,path,via,in$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(this$__$1,x)){\nreturn null;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form,pred){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,in$,x);\n}\n}),self__.keys,self__.forms,self__.preds));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (k,p,f){\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,f);\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,self__.keys,self__.preds,self__.forms));\nif(cljs.core.empty_QMARK_(gs)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4 ? cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.keys,self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.or_spec_impl.call(null,self__.keys,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22or\x22,\x22cljs.spec.alpha/or\x22,-831679639,null),null,(1),null)),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.keys,self__.forms], 0)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22kps\x22,\x22kps\x22,-1157342767,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta22329\x22,\x22meta22329\x22,1213725740,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha22328\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22328.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha22328\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha22328.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha22328 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha22328(keys,forms__$1,preds,gfn,id,kps,specs,cform,meta22329){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22328(keys,forms__$1,preds,gfn,id,kps,specs,cform,meta22329));\n});\n\n\n/**\n * Do not call this directly, use \x27or\x27\n */\ncljs.spec.alpha.or_spec_impl \x3d (function cljs$spec$alpha$or_spec_impl(keys,forms__$1,preds,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar kps \x3d cljs.core.zipmap(keys,preds);\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms__$1);\n}),null));\nvar cform \x3d (function (){var G__22296 \x3d cljs.core.count(preds);\nswitch (G__22296) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nvar ret__$2 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$2)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((2)) : keys.call(null,(2))),ret__$2);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar spec \x3d (specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i));\nvar ret \x3d cljs.spec.alpha.conform_STAR_(spec,x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar G__24163 \x3d (i + (1));\ni \x3d G__24163;\ncontinue;\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1(i) : keys.call(null,i)),ret);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\nbreak;\n}\n});\n\n}\n})();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22328(keys,forms__$1,preds,gfn,id,kps,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.and_preds \x3d (function cljs$spec$alpha$and_preds(x,preds,forms__$1){\nvar ret \x3d x;\nvar G__22438 \x3d preds;\nvar vec__22441 \x3d G__22438;\nvar seq__22442 \x3d cljs.core.seq(vec__22441);\nvar first__22443 \x3d cljs.core.first(seq__22442);\nvar seq__22442__$1 \x3d cljs.core.next(seq__22442);\nvar pred \x3d first__22443;\nvar preds__$1 \x3d seq__22442__$1;\nvar G__22439 \x3d forms__$1;\nvar vec__22444 \x3d G__22439;\nvar seq__22445 \x3d cljs.core.seq(vec__22444);\nvar first__22446 \x3d cljs.core.first(seq__22445);\nvar seq__22445__$1 \x3d cljs.core.next(seq__22445);\nvar form \x3d first__22446;\nvar forms__$2 \x3d seq__22445__$1;\nvar ret__$1 \x3d ret;\nvar G__22438__$1 \x3d G__22438;\nvar G__22439__$1 \x3d G__22439;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__22452 \x3d G__22438__$1;\nvar seq__22453 \x3d cljs.core.seq(vec__22452);\nvar first__22454 \x3d cljs.core.first(seq__22453);\nvar seq__22453__$1 \x3d cljs.core.next(seq__22453);\nvar pred__$1 \x3d first__22454;\nvar preds__$2 \x3d seq__22453__$1;\nvar vec__22455 \x3d G__22439__$1;\nvar seq__22456 \x3d cljs.core.seq(vec__22455);\nvar first__22457 \x3d cljs.core.first(seq__22456);\nvar seq__22456__$1 \x3d cljs.core.next(seq__22456);\nvar form__$1 \x3d first__22457;\nvar forms__$3 \x3d seq__22456__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__24164 \x3d nret;\nvar G__24165 \x3d preds__$2;\nvar G__24166 \x3d forms__$3;\nret__$1 \x3d G__24164;\nG__22438__$1 \x3d G__24165;\nG__22439__$1 \x3d G__24166;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n});\ncljs.spec.alpha.explain_pred_list \x3d (function cljs$spec$alpha$explain_pred_list(forms__$1,preds,path,via,in$,x){\nvar ret \x3d x;\nvar G__22475 \x3d forms__$1;\nvar vec__22481 \x3d G__22475;\nvar seq__22482 \x3d cljs.core.seq(vec__22481);\nvar first__22483 \x3d cljs.core.first(seq__22482);\nvar seq__22482__$1 \x3d cljs.core.next(seq__22482);\nvar form \x3d first__22483;\nvar forms__$2 \x3d seq__22482__$1;\nvar G__22476 \x3d preds;\nvar vec__22484 \x3d G__22476;\nvar seq__22485 \x3d cljs.core.seq(vec__22484);\nvar first__22486 \x3d cljs.core.first(seq__22485);\nvar seq__22485__$1 \x3d cljs.core.next(seq__22485);\nvar pred \x3d first__22486;\nvar preds__$1 \x3d seq__22485__$1;\nvar ret__$1 \x3d ret;\nvar G__22475__$1 \x3d G__22475;\nvar G__22476__$1 \x3d G__22476;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__22493 \x3d G__22475__$1;\nvar seq__22494 \x3d cljs.core.seq(vec__22493);\nvar first__22495 \x3d cljs.core.first(seq__22494);\nvar seq__22494__$1 \x3d cljs.core.next(seq__22494);\nvar form__$1 \x3d first__22495;\nvar forms__$3 \x3d seq__22494__$1;\nvar vec__22496 \x3d G__22476__$1;\nvar seq__22497 \x3d cljs.core.seq(vec__22496);\nvar first__22498 \x3d cljs.core.first(seq__22497);\nvar seq__22497__$1 \x3d cljs.core.next(seq__22497);\nvar pred__$1 \x3d first__22498;\nvar preds__$2 \x3d seq__22497__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn cljs.spec.alpha.explain_1(form__$1,pred__$1,path,via,in$,ret__$2);\n} else {\nvar G__24169 \x3d nret;\nvar G__24170 \x3d forms__$3;\nvar G__24171 \x3d preds__$2;\nret__$1 \x3d G__24169;\nG__22475__$1 \x3d G__24170;\nG__22476__$1 \x3d G__24171;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha22551 \x3d (function (forms,preds,gfn,specs,cform,meta22553){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta22553 \x3d meta22553;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22554,meta22553__$1){\nvar self__ \x3d this;\nvar _22554__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22551(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cform,meta22553__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22554){\nvar self__ \x3d this;\nvar _22554__$1 \x3d this;\nreturn self__.meta22553;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__22533_SHARP_,p2__22532_SHARP_){\nreturn cljs.spec.alpha.unform(p2__22532_SHARP_,p1__22533_SHARP_);\n}),x,cljs.core.reverse(self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_pred_list(self__.forms,self__.preds,path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.gensub(cljs.core.first(self__.preds),overrides,path,rmap,cljs.core.first(self__.forms));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.and_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22and\x22,\x22cljs.spec.alpha/and\x22,-2060279705,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta22553\x22,\x22meta22553\x22,-1325893597,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha22551\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22551.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha22551\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha22551.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha22551 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha22551(forms__$1,preds,gfn,specs,cform,meta22553){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22551(forms__$1,preds,gfn,specs,cform,meta22553));\n});\n\n\n/**\n * Do not call this directly, use \x27and\x27\n */\ncljs.spec.alpha.and_spec_impl \x3d (function cljs$spec$alpha$and_spec_impl(forms__$1,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms__$1);\n}),null));\nvar cform \x3d (function (){var G__22536 \x3d cljs.core.count(preds);\nswitch (G__22536) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),ret__$1);\n}\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar nret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),ret);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__24178 \x3d nret;\nvar G__24179 \x3d (i + (1));\nret \x3d G__24178;\ni \x3d G__24179;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n});\n\n}\n})();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22551(forms__$1,preds,gfn,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.coll_prob \x3d (function cljs$spec$alpha$coll_prob(x,kfn,kform,distinct,count,min_count,max_count,path,via,in$){\nvar pred \x3d (function (){var or__5045__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.coll_QMARK_;\n}\n})();\nvar kform__$1 \x3d (function (){var or__5045__auto__ \x3d kform;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22coll?\x22,\x22cljs.core/coll?\x22,1208130522,null);\n}\n})();\nif((!(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)))){\nreturn cljs.spec.alpha.explain_1(kform__$1,pred,path,via,in$,x);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(count,cljs.core.bounded_count(count,x));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,count,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (function (){var or__5045__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn max_count;\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!(((((function (){var or__5045__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})() \x3c\x3d cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x))) \x26\x26 ((cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x) \x3c\x3d (function (){var or__5045__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (9007199254740991);\n}\n})())))));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x3d\x22,\x22cljs.core/\x3c\x3d\x22,1677001748,null),null,(1),null)),(new cljs.core.List(null,(function (){var or__5045__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})(),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,(function (){var or__5045__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (9007199254740991);\n}\n})(),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d distinct;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (((!(cljs.core.empty_QMARK_(x)))) \x26\x26 (cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.distinct_QMARK_,x))));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22distinct?\x22,\x22distinct?\x22,-1684357959,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha22690 \x3d (function (forms,preds,gfn,meta22691){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.meta22691 \x3d meta22691;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22692,meta22691__$1){\nvar self__ \x3d this;\nvar _22692__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22690(self__.forms,self__.preds,self__.gfn,meta22691__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22692){\nvar self__ \x3d this;\nvar _22692__$1 \x3d this;\nreturn self__.meta22691;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ms \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__22682_SHARP_,p2__22683_SHARP_){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p1__22682_SHARP_,x,p2__22683_SHARP_);\n}),self__.preds,self__.forms);\nif(cljs.core.truth_(cljs.core.some(cljs.spec.alpha.invalid_QMARK_,ms))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,ms);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__22684_SHARP_){\nreturn cljs.spec.alpha.unform(p1__22684_SHARP_,x);\n}),cljs.core.reverse(self__.preds)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__22685_SHARP_,p2__22686_SHARP_){\nreturn cljs.spec.alpha.explain_1(p1__22685_SHARP_,p2__22686_SHARP_,path,via,in$,x);\n}),self__.forms,self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__22687_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,p1__22687_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__22688_SHARP_,p2__22689_SHARP_){\nreturn cljs.spec.alpha.gensub(p1__22688_SHARP_,overrides,path,rmap,p2__22689_SHARP_);\n}),self__.preds,self__.forms))], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.merge_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22merge\x22,\x22cljs.spec.alpha/merge\x22,1420080689,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta22691\x22,\x22meta22691\x22,1738715983,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha22690\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22690.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha22690\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha22690.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha22690 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha22690(forms__$1,preds,gfn,meta22691){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22690(forms__$1,preds,gfn,meta22691));\n});\n\n\n/**\n * Do not call this directly, use \x27merge\x27\n */\ncljs.spec.alpha.merge_spec_impl \x3d (function cljs$spec$alpha$merge_spec_impl(forms__$1,preds,gfn){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22690(forms__$1,preds,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.empty_coll \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),cljs.core.PersistentVector.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22set?\x22,\x22cljs.core/set?\x22,-1176684971,null),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22list?\x22,\x22cljs.core/list?\x22,-684796618,null),cljs.core.List.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),cljs.core.PersistentArrayMap.EMPTY], null);\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha22748 \x3d (function (form,max_count,check_QMARK_,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,cfns,describe_form,distinct,p__22733,spec,map__22734,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta22749){\nthis.form \x3d form;\nthis.max_count \x3d max_count;\nthis.check_QMARK_ \x3d check_QMARK_;\nthis.gfn \x3d gfn;\nthis.gen_max \x3d gen_max;\nthis.pred \x3d pred;\nthis.cpred \x3d cpred;\nthis.conform_keys \x3d conform_keys;\nthis.kind_form \x3d kind_form;\nthis.addcv \x3d addcv;\nthis.cfns \x3d cfns;\nthis.describe_form \x3d describe_form;\nthis.distinct \x3d distinct;\nthis.p__22733 \x3d p__22733;\nthis.spec \x3d spec;\nthis.map__22734 \x3d map__22734;\nthis.kfn \x3d kfn;\nthis.gen_into \x3d gen_into;\nthis.count \x3d count;\nthis.min_count \x3d min_count;\nthis.opts \x3d opts;\nthis.kind \x3d kind;\nthis.conform_all \x3d conform_all;\nthis.conform_into \x3d conform_into;\nthis.meta22749 \x3d meta22749;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_22750,meta22749__$1){\nvar self__ \x3d this;\nvar _22750__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22748(self__.form,self__.max_count,self__.check_QMARK_,self__.gfn,self__.gen_max,self__.pred,self__.cpred,self__.conform_keys,self__.kind_form,self__.addcv,self__.cfns,self__.describe_form,self__.distinct,self__.p__22733,self__.spec,self__.map__22734,self__.kfn,self__.gen_into,self__.count,self__.min_count,self__.opts,self__.kind,self__.conform_all,self__.conform_into,meta22749__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_22750){\nvar self__ \x3d this;\nvar _22750__$1 \x3d this;\nreturn self__.meta22749;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nif(cljs.core.not((self__.cpred.cljs$core$IFn$_invoke$arity$1 ? self__.cpred.cljs$core$IFn$_invoke$arity$1(x) : self__.cpred.call(null,x)))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nif(cljs.core.truth_(self__.conform_all)){\nvar vec__22757 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22757,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22757,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22757,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__22763 \x3d cljs.core.seq(x);\nvar vec__22764 \x3d G__22763;\nvar seq__22765 \x3d cljs.core.seq(vec__22764);\nvar first__22766 \x3d cljs.core.first(seq__22765);\nvar seq__22765__$1 \x3d cljs.core.next(seq__22765);\nvar v \x3d first__22766;\nvar vs \x3d seq__22765__$1;\nvar vseq \x3d vec__22764;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__22763__$1 \x3d G__22763;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__22767 \x3d G__22763__$1;\nvar seq__22768 \x3d cljs.core.seq(vec__22767);\nvar first__22769 \x3d cljs.core.first(seq__22768);\nvar seq__22768__$1 \x3d cljs.core.next(seq__22768);\nvar v__$1 \x3d first__22769;\nvar vs__$1 \x3d seq__22768__$1;\nvar vseq__$1 \x3d vec__22767;\nif(vseq__$1){\nvar cv \x3d cljs.spec.alpha.conform_STAR_(spec__$1,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__24191 \x3d (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(ret__$2,i__$2,v__$1,cv) : add.call(null,ret__$2,i__$2,v__$1,cv));\nvar G__24192 \x3d (i__$2 + (1));\nvar G__24193 \x3d vs__$1;\nret__$1 \x3d G__24191;\ni__$1 \x3d G__24192;\nG__22763__$1 \x3d G__24193;\ncontinue;\n}\n} else {\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n}\nbreak;\n}\n} else {\nif(cljs.core.indexed_QMARK_(x)){\nvar step \x3d (function (){var x__5130__auto__ \x3d (1);\nvar y__5131__auto__ \x3d cljs.core.long$((cljs.core.count(x) / cljs.spec.alpha._STAR_coll_check_limit_STAR_));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar i \x3d (0);\nwhile(true){\nif((i \x3e\x3d cljs.core.count(x))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i))){\nvar G__24194 \x3d (i + step);\ni \x3d G__24194;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n} else {\nvar limit \x3d cljs.spec.alpha._STAR_coll_check_limit_STAR_;\nvar i \x3d (0);\nvar G__22779 \x3d cljs.core.seq(x);\nvar vec__22780 \x3d G__22779;\nvar seq__22781 \x3d cljs.core.seq(vec__22780);\nvar first__22782 \x3d cljs.core.first(seq__22781);\nvar seq__22781__$1 \x3d cljs.core.next(seq__22781);\nvar v \x3d first__22782;\nvar vs \x3d seq__22781__$1;\nvar vseq \x3d vec__22780;\nvar i__$1 \x3d i;\nvar G__22779__$1 \x3d G__22779;\nwhile(true){\nvar i__$2 \x3d i__$1;\nvar vec__22783 \x3d G__22779__$1;\nvar seq__22784 \x3d cljs.core.seq(vec__22783);\nvar first__22785 \x3d cljs.core.first(seq__22784);\nvar seq__22784__$1 \x3d cljs.core.next(seq__22784);\nvar v__$1 \x3d first__22785;\nvar vs__$1 \x3d seq__22784__$1;\nvar vseq__$1 \x3d vec__22783;\nif((((vseq__$1 \x3d\x3d null)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i__$2,limit)))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,v__$1)){\nvar G__24198 \x3d (i__$2 + (1));\nvar G__24199 \x3d vs__$1;\ni__$1 \x3d G__24198;\nG__22779__$1 \x3d G__24199;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n\n}\n}\nbreak;\n}\n}\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.conform_all)){\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nvar vec__22786 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22786,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22786,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22786,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__22792 \x3d cljs.core.seq(x);\nvar vec__22793 \x3d G__22792;\nvar seq__22794 \x3d cljs.core.seq(vec__22793);\nvar first__22795 \x3d cljs.core.first(seq__22794);\nvar seq__22794__$1 \x3d cljs.core.next(seq__22794);\nvar v \x3d first__22795;\nvar vs \x3d seq__22794__$1;\nvar vseq \x3d vec__22793;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__22792__$1 \x3d G__22792;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__22796 \x3d G__22792__$1;\nvar seq__22797 \x3d cljs.core.seq(vec__22796);\nvar first__22798 \x3d cljs.core.first(seq__22797);\nvar seq__22797__$1 \x3d cljs.core.next(seq__22797);\nvar v__$1 \x3d first__22798;\nvar vs__$1 \x3d seq__22797__$1;\nvar vseq__$1 \x3d vec__22796;\nif((i__$2 \x3e\x3d cljs.core.count(x))){\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n} else {\nvar G__24203 \x3d (function (){var G__22800 \x3d ret__$2;\nvar G__22801 \x3d i__$2;\nvar G__22802 \x3d v__$1;\nvar G__22803 \x3d cljs.spec.alpha.unform_STAR_(spec__$1,v__$1);\nreturn (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(G__22800,G__22801,G__22802,G__22803) : add.call(null,G__22800,G__22801,G__22802,G__22803));\n})();\nvar G__24204 \x3d (i__$2 + (1));\nvar G__24205 \x3d vs__$1;\nret__$1 \x3d G__24203;\ni__$1 \x3d G__24204;\nG__22792__$1 \x3d G__24205;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5045__auto__ \x3d cljs.spec.alpha.coll_prob(x,self__.kind,self__.kind_form,self__.distinct,self__.count,self__.min_count,self__.max_count,path,via,in$);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,(function (){var G__22808 \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (i,v){\nvar k \x3d (self__.kfn.cljs$core$IFn$_invoke$arity$2 ? self__.kfn.cljs$core$IFn$_invoke$arity$2(i,v) : self__.kfn.call(null,i,v));\nif(cljs.core.truth_((self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1 ? self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1(v) : self__.check_QMARK_.call(null,v)))){\nreturn null;\n} else {\nvar prob \x3d cljs.spec.alpha.explain_1(self__.form,self__.pred,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\nreturn prob;\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$0(),x));\nvar fexpr__22807 \x3d (cljs.core.truth_(self__.conform_all)?cljs.core.identity:cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.take,cljs.spec.alpha._STAR_coll_error_limit_STAR_));\nreturn (fexpr__22807.cljs$core$IFn$_invoke$arity$1 ? fexpr__22807.cljs$core$IFn$_invoke$arity$1(G__22808) : fexpr__22807.call(null,G__22808));\n})());\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar pgen \x3d cljs.spec.alpha.gensub(self__.pred,overrides,path,rmap,self__.form);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(self__.gen_into)?cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.gen_into], 0)):(cljs.core.truth_(self__.kind)?cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__22729_SHARP_){\nif(cljs.core.empty_QMARK_(p1__22729_SHARP_)){\nreturn p1__22729_SHARP_;\n} else {\nreturn cljs.core.empty(p1__22729_SHARP_);\n}\n}),cljs.spec.alpha.gensub(self__.kind,overrides,path,rmap,self__.form)], 0)):cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0))\n)),(function (init){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__22730_SHARP_){\nif(cljs.core.vector_QMARK_(init)){\nreturn p1__22730_SHARP_;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(init,p1__22730_SHARP_);\n}\n}),(cljs.core.truth_(self__.distinct)?(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22num-elements\x22,\x22num-elements\x22,1960422107),self__.count,new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0)):cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22min-elements\x22,\x22min-elements\x22,949370780),(function (){var or__5045__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})(),new cljs.core.Keyword(null,\x22max-elements\x22,\x22max-elements\x22,433034073),(function (){var or__5045__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar x__5130__auto__ \x3d self__.gen_max;\nvar y__5131__auto__ \x3d ((2) * (function (){var or__5045__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}\n})(),new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0))):(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,self__.count], 0)):(cljs.core.truth_((function (){var or__5045__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn self__.max_count;\n}\n})())?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(function (){var or__5045__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})(),(function (){var or__5045__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar x__5130__auto__ \x3d self__.gen_max;\nvar y__5131__auto__ \x3d ((2) * (function (){var or__5045__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}\n})()], 0)):cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(0),self__.gen_max], 0))\n)))], 0));\n})], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.pred,self__.opts,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5045__auto__ \x3d self__.describe_form;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22every\x22,\x22cljs.spec.alpha/every\x22,123912744,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opts], 0))], 0))));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 25, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22max-count\x22,\x22max-count\x22,-1115250464,null),new cljs.core.Symbol(null,\x22check?\x22,\x22check?\x22,409539557,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22gen-max\x22,\x22gen-max\x22,846851082,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22cpred\x22,\x22cpred\x22,-540353554,null),new cljs.core.Symbol(null,\x22conform-keys\x22,\x22conform-keys\x22,-159510287,null),new cljs.core.Symbol(null,\x22kind-form\x22,\x22kind-form\x22,1155997457,null),new cljs.core.Symbol(null,\x22addcv\x22,\x22addcv\x22,-1552991247,null),new cljs.core.Symbol(null,\x22cfns\x22,\x22cfns\x22,1335482066,null),new cljs.core.Symbol(null,\x22describe-form\x22,\x22describe-form\x22,-1410156588,null),new cljs.core.Symbol(null,\x22distinct\x22,\x22distinct\x22,-148347594,null),new cljs.core.Symbol(null,\x22p__22733\x22,\x22p__22733\x22,828613078,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22map__22734\x22,\x22map__22734\x22,1183321145,null),new cljs.core.Symbol(null,\x22kfn\x22,\x22kfn\x22,729311001,null),new cljs.core.Symbol(null,\x22gen-into\x22,\x22gen-into\x22,592640985,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22min-count\x22,\x22min-count\x22,-1059726756,null),new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22kind\x22,\x22kind\x22,923265724,null),new cljs.core.Symbol(null,\x22conform-all\x22,\x22conform-all\x22,-980179459,null),new cljs.core.Symbol(null,\x22conform-into\x22,\x22conform-into\x22,-1039113729,null),new cljs.core.Symbol(null,\x22meta22749\x22,\x22meta22749\x22,-1291187068,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha22748\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha22748.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha22748\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha22748.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha22748 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha22748(form,max_count,check_QMARK_,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,cfns,describe_form,distinct,p__22733,spec,map__22734,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta22749){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22748(form,max_count,check_QMARK_,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,cfns,describe_form,distinct,p__22733,spec,map__22734,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta22749));\n});\n\n\n/**\n * Do not call this directly, use \x27every\x27, \x27every-kv\x27, \x27coll-of\x27 or \x27map-of\x27\n */\ncljs.spec.alpha.every_impl \x3d (function cljs$spec$alpha$every_impl(var_args){\nvar G__22732 \x3d arguments.length;\nswitch (G__22732) {\ncase 3:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,pred,opts){\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(form,pred,opts,null);\n}));\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,p__22733,gfn){\nvar map__22734 \x3d p__22733;\nvar map__22734__$1 \x3d cljs.core.__destructure_map(map__22734);\nvar opts \x3d map__22734__$1;\nvar max_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(null,\x22max-count\x22,\x22max-count\x22,1539185305));\nvar kind_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kind-form\x22,\x22cljs.spec.alpha/kind-form\x22,-1047104697));\nvar gen_max \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__22734__$1,new cljs.core.Keyword(null,\x22gen-max\x22,\x22gen-max\x22,-793680445),(20));\nvar cpred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22cpred\x22,\x22cljs.spec.alpha/cpred\x22,-693471218));\nvar conform_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(null,\x22conform-keys\x22,\x22conform-keys\x22,-1800041814));\nvar describe_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22describe\x22,\x22cljs.spec.alpha/describe\x22,1883026911));\nvar distinct \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(null,\x22distinct\x22,\x22distinct\x22,-1788879121));\nvar kfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kfn\x22,\x22cljs.spec.alpha/kfn\x22,672643897));\nvar count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085));\nvar min_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(null,\x22min-count\x22,\x22min-count\x22,1594709013));\nvar kind \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(null,\x22kind\x22,\x22kind\x22,-717265803));\nvar conform_all \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22conform-all\x22,\x22cljs.spec.alpha/conform-all\x22,45201917));\nvar conform_into \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22734__$1,new cljs.core.Keyword(null,\x22into\x22,\x22into\x22,-150836029));\nvar gen_into \x3d (cljs.core.truth_(conform_into)?cljs.core.empty(conform_into):cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.empty_coll,kind_form));\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(pred);\n}),null));\nvar check_QMARK_ \x3d (function (p1__22718_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(spec),p1__22718_SHARP_);\n});\nvar kfn__$1 \x3d (function (){var or__5045__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (function (i,v){\nreturn i;\n});\n}\n})();\nvar addcv \x3d (function (ret,i,v,cv){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cv);\n});\nvar cfns \x3d (function (x){\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (((cljs.core.not(conform_into)) || (cljs.core.vector_QMARK_(conform_into)))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.identity,(function (ret,i,v,cv){\nif((v \x3d\x3d\x3d cv)){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv);\n}\n}),cljs.core.identity], null);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.map_QMARK_(x);\nif(and__5043__auto__){\nvar or__5045__auto__ \x3d (function (){var and__5043__auto____$1 \x3d kind;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn cljs.core.not(conform_into);\n} else {\nreturn and__5043__auto____$1;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.map_QMARK_(conform_into);\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.truth_(conform_keys)?cljs.core.empty:cljs.core.identity),(function (ret,i,v,cv){\nif((((v \x3d\x3d\x3d cv)) \x26\x26 (cljs.core.not(conform_keys)))){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,cljs.core.nth.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(conform_keys)?cv:v),(0)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cv,(1)));\n}\n}),cljs.core.identity], null);\n} else {\nif(((cljs.core.list_QMARK_(conform_into)) || (((cljs.core.seq_QMARK_(conform_into)) || (((cljs.core.not(conform_into)) \x26\x26 (((cljs.core.list_QMARK_(x)) || (cljs.core.seq_QMARK_(x)))))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.empty,addcv,cljs.core.reverse], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (p1__22719_SHARP_){\nreturn cljs.core.empty((function (){var or__5045__auto__ \x3d conform_into;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p1__22719_SHARP_;\n}\n})());\n}),addcv,cljs.core.identity], null);\n\n}\n}\n}\n});\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha22748(form,max_count,check_QMARK_,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,cfns,describe_form,distinct,p__22733,spec,map__22734__$1,kfn__$1,gen_into,count,min_count,opts,kind,conform_all,conform_into,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.every_impl.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.spec.alpha.accept \x3d (function cljs$spec$alpha$accept(x){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),x], null);\n});\ncljs.spec.alpha.accept_QMARK_ \x3d (function cljs$spec$alpha$accept_QMARK_(p__22816){\nvar map__22817 \x3d p__22816;\nvar map__22817__$1 \x3d cljs.core.__destructure_map(map__22817);\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22817__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),op);\n});\ncljs.spec.alpha.pcat_STAR_ \x3d (function cljs$spec$alpha$pcat_STAR_(p__22821){\nvar map__22822 \x3d p__22821;\nvar map__22822__$1 \x3d cljs.core.__destructure_map(map__22822);\nvar vec__22823 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22822__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__22824 \x3d cljs.core.seq(vec__22823);\nvar first__22825 \x3d cljs.core.first(seq__22824);\nvar seq__22824__$1 \x3d cljs.core.next(seq__22824);\nvar p1 \x3d first__22825;\nvar pr \x3d seq__22824__$1;\nvar ps \x3d vec__22823;\nvar vec__22826 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22822__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__22827 \x3d cljs.core.seq(vec__22826);\nvar first__22828 \x3d cljs.core.first(seq__22827);\nvar seq__22827__$1 \x3d cljs.core.next(seq__22827);\nvar k1 \x3d first__22828;\nvar kr \x3d seq__22827__$1;\nvar ks \x3d vec__22826;\nvar vec__22829 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22822__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar seq__22830 \x3d cljs.core.seq(vec__22829);\nvar first__22831 \x3d cljs.core.first(seq__22830);\nvar seq__22830__$1 \x3d cljs.core.next(seq__22830);\nvar f1 \x3d first__22831;\nvar fr \x3d seq__22830__$1;\nvar forms__$1 \x3d vec__22829;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22822__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22822__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nif(cljs.core.every_QMARK_(cljs.core.identity,ps)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nvar rp \x3d new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1);\nvar ret__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(cljs.core.truth_(ks)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k1,rp]):rp));\nif(pr){\nvar G__22832 \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),fr,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret__$1], null);\nreturn (cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1(G__22832) : cljs.spec.alpha.pcat_STAR_.call(null,G__22832));\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),rep_PLUS_], null);\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.pcat \x3d (function cljs$spec$alpha$pcat(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24222 \x3d arguments.length;\nvar i__5770__auto___24224 \x3d (0);\nwhile(true){\nif((i__5770__auto___24224 \x3c len__5769__auto___24222)){\nargs__5775__auto__.push((arguments[i__5770__auto___24224]));\n\nvar G__24225 \x3d (i__5770__auto___24224 + (1));\ni__5770__auto___24224 \x3d G__24225;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY], null));\n}));\n\n(cljs.spec.alpha.pcat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.pcat.cljs$lang$applyTo \x3d (function (seq22837){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq22837));\n}));\n\n/**\n * Do not call this directly, use \x27cat\x27\n */\ncljs.spec.alpha.cat_impl \x3d (function cljs$spec$alpha$cat_impl(ks,ps,forms__$1){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.spec.alpha.rep_STAR_ \x3d (function cljs$spec$alpha$rep_STAR_(p1,p2,ret,splice,form){\nif(cljs.core.truth_(p1)){\nvar r \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641),p2,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165),splice,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),form,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid()], null);\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1))], 0));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], 0));\n}\n} else {\nreturn null;\n}\n});\n/**\n * Do not call this directly, use \x27*\x27\n */\ncljs.spec.alpha.rep_impl \x3d (function cljs$spec$alpha$rep_impl(form,p){\nreturn cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,false,form);\n});\n/**\n * Do not call this directly, use \x27+\x27\n */\ncljs.spec.alpha.rep_PLUS_impl \x3d (function cljs$spec$alpha$rep_PLUS_impl(form,p){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,true,form)], null),new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null),null,(1),null)),(new cljs.core.List(null,form,null,(1),null))))),null,(1),null)))))),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),form], null));\n});\n/**\n * Do not call this directly, use \x27\x26\x27\n */\ncljs.spec.alpha.amp_impl \x3d (function cljs$spec$alpha$amp_impl(re,re_form,preds,pred_forms){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),re,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571),re_form,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),preds,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),pred_forms], null);\n});\ncljs.spec.alpha.filter_alt \x3d (function cljs$spec$alpha$filter_alt(ps,ks,forms__$1,f){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ks;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn forms__$1;\n}\n})())){\nvar pks \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__22849_SHARP_){\nvar G__22855 \x3d cljs.core.first(p1__22849_SHARP_);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__22855) : f.call(null,G__22855));\n}),cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})()));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,pks)),(cljs.core.truth_(ks)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,pks)):null),(cljs.core.truth_(forms__$1)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__22850_SHARP_){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__22850_SHARP_,(2));\n}),pks)):null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(f,ps)),ks,forms__$1], null);\n}\n});\ncljs.spec.alpha.alt_STAR_ \x3d (function cljs$spec$alpha$alt_STAR_(ps,ks,forms__$1){\nvar vec__22861 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms__$1,cljs.core.identity);\nvar vec__22864 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22861,(0),null);\nvar seq__22865 \x3d cljs.core.seq(vec__22864);\nvar first__22866 \x3d cljs.core.first(seq__22865);\nvar seq__22865__$1 \x3d cljs.core.next(seq__22865);\nvar p1 \x3d first__22866;\nvar pr \x3d seq__22865__$1;\nvar ps__$1 \x3d vec__22864;\nvar vec__22867 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22861,(1),null);\nvar k1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22867,(0),null);\nvar ks__$1 \x3d vec__22867;\nvar forms__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22861,(2),null);\nif(cljs.core.truth_(ps__$1)){\nvar ret \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$2], null);\nif((pr \x3d\x3d null)){\nif(cljs.core.truth_(k1)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.spec.alpha.accept(cljs.spec.alpha.tagged_ret(k1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1)));\n} else {\nreturn ret;\n}\n} else {\nreturn p1;\n}\n} else {\nreturn ret;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.alts \x3d (function cljs$spec$alpha$alts(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___24232 \x3d arguments.length;\nvar i__5770__auto___24233 \x3d (0);\nwhile(true){\nif((i__5770__auto___24233 \x3c len__5769__auto___24232)){\nargs__5775__auto__.push((arguments[i__5770__auto___24233]));\n\nvar G__24234 \x3d (i__5770__auto___24233 + (1));\ni__5770__auto___24233 \x3d G__24234;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.alt_STAR_(ps,null,null);\n}));\n\n(cljs.spec.alpha.alts.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.alts.cljs$lang$applyTo \x3d (function (seq22875){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq22875));\n}));\n\ncljs.spec.alpha.alt2 \x3d (function cljs$spec$alpha$alt2(p1,p2){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d p1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn p2;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1,p2], 0));\n} else {\nvar or__5045__auto__ \x3d p1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p2;\n}\n}\n});\n/**\n * Do not call this directly, use \x27alt\x27\n */\ncljs.spec.alpha.alt_impl \x3d (function cljs$spec$alpha$alt_impl(ks,ps,forms__$1){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(ps,ks,forms__$1),new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid());\n});\n/**\n * Do not call this directly, use \x27?\x27\n */\ncljs.spec.alpha.maybe_impl \x3d (function cljs$spec$alpha$maybe_impl(p,form){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.accept(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [form,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)], null)),new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560),form);\n});\ncljs.spec.alpha.noret_QMARK_ \x3d (function cljs$spec$alpha$noret_QMARK_(p1,pret){\nvar or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (function (){var and__5043__auto__ \x3d (function (){var G__22890 \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.reg_resolve_BANG_(p1));\nvar fexpr__22889 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),null,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),null], null), null);\nreturn (fexpr__22889.cljs$core$IFn$_invoke$arity$1 ? fexpr__22889.cljs$core$IFn$_invoke$arity$1(G__22890) : fexpr__22889.call(null,G__22890));\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.empty_QMARK_(pret);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.accept_nil_QMARK_ \x3d (function cljs$spec$alpha$accept_nil_QMARK_(p){\nvar map__22894 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__22894__$1 \x3d cljs.core.__destructure_map(map__22894);\nvar p__$1 \x3d map__22894__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22894__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22894__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22894__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22894__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22894__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__22895 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__22895)){\nreturn true;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__22895)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__22895)){\nvar and__5043__auto__ \x3d (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\nif(cljs.core.truth_(and__5043__auto__)){\nvar ret \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1),ps,cljs.core.next(forms__$1));\nreturn (!(cljs.spec.alpha.invalid_QMARK_(ret)));\n} else {\nreturn and__5043__auto__;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__22895)){\nvar or__5045__auto__ \x3d (p1 \x3d\x3d\x3d p2);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__22895)){\nreturn cljs.core.every_QMARK_(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__22895)){\nreturn cljs.core.some(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__22895)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.preturn \x3d (function cljs$spec$alpha$preturn(p){\nvar map__22896 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__22896__$1 \x3d cljs.core.__destructure_map(map__22896);\nvar p__$1 \x3d map__22896__$1;\nvar vec__22897 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22896__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__22898 \x3d cljs.core.seq(vec__22897);\nvar first__22899 \x3d cljs.core.first(seq__22898);\nvar seq__22898__$1 \x3d cljs.core.next(seq__22898);\nvar p0 \x3d first__22899;\nvar pr \x3d seq__22898__$1;\nvar ps \x3d vec__22897;\nvar vec__22900 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22896__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22900,(0),null);\nvar ks \x3d vec__22900;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22896__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22896__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22896__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22896__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__22903 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__22903)){\nreturn ret;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__22903)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__22903)){\nvar pret \x3d (cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.preturn.call(null,p1));\nif(cljs.core.truth_(cljs.spec.alpha.noret_QMARK_(p1,pret))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950);\n} else {\nreturn cljs.spec.alpha.and_preds(pret,ps,forms__$1);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__22903)){\nreturn cljs.spec.alpha.add_ret(p1,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__22903)){\nreturn cljs.spec.alpha.add_ret(p0,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__22903)){\nvar vec__22904 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms__$1,cljs.spec.alpha.accept_nil_QMARK_);\nvar vec__22907 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22904,(0),null);\nvar p0__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22907,(0),null);\nvar vec__22910 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22904,(1),null);\nvar k0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22910,(0),null);\nvar r \x3d (((p0__$1 \x3d\x3d null))?new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950):(cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p0__$1) : cljs.spec.alpha.preturn.call(null,p0__$1)));\nif(cljs.core.truth_(k0)){\nreturn cljs.spec.alpha.tagged_ret(k0,r);\n} else {\nreturn r;\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__22903)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.op_unform \x3d (function cljs$spec$alpha$op_unform(p,x){\nvar map__22920 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__22920__$1 \x3d cljs.core.__destructure_map(map__22920);\nvar p__$1 \x3d map__22920__$1;\nvar vec__22921 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22920__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__22922 \x3d cljs.core.seq(vec__22921);\nvar first__22923 \x3d cljs.core.first(seq__22922);\nvar seq__22922__$1 \x3d cljs.core.next(seq__22922);\nvar p0 \x3d first__22923;\nvar pr \x3d seq__22922__$1;\nvar ps \x3d vec__22921;\nvar vec__22924 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22920__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22924,(0),null);\nvar ks \x3d vec__22924;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22920__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22920__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22920__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22920__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22920__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22920__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar kps \x3d cljs.core.zipmap(ks,ps);\nvar G__22927 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__22927)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__22927)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p__$1,x)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__22927)){\nvar px \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__22914_SHARP_,p2__22913_SHARP_){\nreturn cljs.spec.alpha.unform(p2__22913_SHARP_,p1__22914_SHARP_);\n}),x,cljs.core.reverse(ps));\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,px) : cljs.spec.alpha.op_unform.call(null,p1,px));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__22927)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__22915_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,p1__22915_SHARP_) : cljs.spec.alpha.op_unform.call(null,p1,p1__22915_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__22927)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__22916_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p0,p1__22916_SHARP_) : cljs.spec.alpha.op_unform.call(null,p0,p1__22916_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (k__$1){\nif(cljs.core.contains_QMARK_(x,k__$1)){\nvar G__22932 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__22933 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(x,k__$1);\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__22932,G__22933) : cljs.spec.alpha.op_unform.call(null,G__22932,G__22933));\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__22927)){\nif(cljs.core.truth_(maybe)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p0,x)], null);\n} else {\nvar vec__22934 \x3d x;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22934,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22934,(1),null);\nvar G__22937 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__22938 \x3d v;\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__22937,G__22938) : cljs.spec.alpha.op_unform.call(null,G__22937,G__22938));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__22927)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.add_ret \x3d (function cljs$spec$alpha$add_ret(p,r,k){\nvar map__22942 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__22942__$1 \x3d cljs.core.__destructure_map(map__22942);\nvar p__$1 \x3d map__22942__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22942__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22942__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22942__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar prop \x3d (function (){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core.empty_QMARK_(ret)){\nreturn r;\n} else {\nvar G__22944 \x3d r;\nvar G__22945 \x3d (cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret);\nvar fexpr__22943 \x3d (cljs.core.truth_(splice)?cljs.core.into:cljs.core.conj);\nreturn (fexpr__22943.cljs$core$IFn$_invoke$arity$2 ? fexpr__22943.cljs$core$IFn$_invoke$arity$2(G__22944,G__22945) : fexpr__22943.call(null,G__22944,G__22945));\n}\n});\nvar G__22949 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__22949)){\nreturn r;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__22949)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__22949)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__22949)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__22949)){\nreturn prop();\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__22949)){\nreturn prop();\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__22949)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.deriv \x3d (function cljs$spec$alpha$deriv(p,x){\nvar map__22955 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__22955__$1 \x3d cljs.core.__destructure_map(map__22955);\nvar p__$1 \x3d map__22955__$1;\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22955__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22955__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar vec__22956 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22955__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__22957 \x3d cljs.core.seq(vec__22956);\nvar first__22958 \x3d cljs.core.first(seq__22957);\nvar seq__22957__$1 \x3d cljs.core.next(seq__22957);\nvar p0 \x3d first__22958;\nvar pr \x3d seq__22957__$1;\nvar ps \x3d vec__22956;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22955__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22955__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22955__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar vec__22959 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22955__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__22960 \x3d cljs.core.seq(vec__22959);\nvar first__22961 \x3d cljs.core.first(seq__22960);\nvar seq__22960__$1 \x3d cljs.core.next(seq__22960);\nvar k0 \x3d first__22961;\nvar kr \x3d seq__22960__$1;\nvar ks \x3d vec__22959;\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22955__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22955__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__22966 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__22966)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__22966)){\nvar ret__$1 \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p__$1,x,p__$1);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__22966)){\nvar temp__5804__auto__ \x3d (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar p1__$1 \x3d temp__5804__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p1__$1))){\nvar ret__$1 \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1__$1),ps,cljs.core.next(forms__$1));\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.amp_impl(p1__$1,amp,ps,forms__$1);\n}\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__22966)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),cljs.core.cons((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p0,x) : cljs.spec.alpha.deriv.call(null,p0,x)),pr),new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], null)),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p0))?(function (){var G__22972 \x3d cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.next(forms__$1),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.spec.alpha.add_ret(p0,ret,k0)], null));\nvar G__22973 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__22972,G__22973) : cljs.spec.alpha.deriv.call(null,G__22972,G__22973));\n})():null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__22966)){\nreturn cljs.spec.alpha.alt_STAR_(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__22950_SHARP_){\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1__22950_SHARP_,x) : cljs.spec.alpha.deriv.call(null,p1__22950_SHARP_,x));\n}),ps),ks,forms__$1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__22966)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.rep_STAR_((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x)),p2,ret,splice,forms__$1),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))?(function (){var G__22974 \x3d cljs.spec.alpha.rep_STAR_(p2,p2,cljs.spec.alpha.add_ret(p1,ret,null),splice,forms__$1);\nvar G__22975 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__22974,G__22975) : cljs.spec.alpha.deriv.call(null,G__22974,G__22975));\n})():null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__22966)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_describe \x3d (function cljs$spec$alpha$op_describe(p){\nvar map__22982 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__22982__$1 \x3d cljs.core.__destructure_map(map__22982);\nvar p__$1 \x3d map__22982__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22982__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22982__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22982__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22982__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22982__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22982__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22982__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22982__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22982__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__22983 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__22983)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__22983)){\nreturn p__$1;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__22983)){\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22\x26\x22,\x22cljs.spec.alpha/\x26\x22,1635809823,null),amp,forms__$1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__22983)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null),(new cljs.core.List(null,rep_PLUS_,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22cat\x22,\x22cljs.spec.alpha/cat\x22,-1471398329,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22_\x22,\x22_\x22,1453416199));\n}\n})(),forms__$1], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__22983)){\nif(cljs.core.truth_(maybe)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22?\x22,\x22cljs.spec.alpha/?\x22,1605136319,null),(new cljs.core.List(null,maybe,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,-2130750332,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks,forms__$1], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__22983)){\nreturn (new cljs.core.List(null,(cljs.core.truth_(splice)?new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null):new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null)),(new cljs.core.List(null,forms__$1,null,(1),null)),(2),null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__22983)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_explain \x3d (function cljs$spec$alpha$op_explain(form,p,path,via,in$,input){\nvar vec__22987 \x3d input;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__22987,(0),null);\nvar input__$1 \x3d vec__22987;\nvar map__22990 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__22990__$1 \x3d cljs.core.__destructure_map(map__22990);\nvar p__$1 \x3d map__22990__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22990__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22990__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22990__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22990__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22990__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22990__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__22990__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar via__$1 \x3d (function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(p__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})();\nvar insufficient \x3d (function (path__$1,form__$1){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Insufficient input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n});\nif(cljs.core.truth_(p__$1)){\nvar G__23010 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__23010)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__23010)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,form);\n} else {\nreturn cljs.spec.alpha.explain_1(form,p__$1,path,via__$1,in$,x);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__23010)){\nif(cljs.core.empty_QMARK_(input__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))){\nreturn cljs.spec.alpha.explain_pred_list(forms__$1,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1));\n} else {\nreturn insufficient(path,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1));\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p1,x);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar p1__$1 \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.explain_pred_list(forms__$1,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1__$1));\n} else {\nvar G__23014 \x3d new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1);\nvar G__23015 \x3d p1;\nvar G__23016 \x3d path;\nvar G__23017 \x3d via__$1;\nvar G__23018 \x3d in$;\nvar G__23019 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__23014,G__23015,G__23016,G__23017,G__23018,G__23019) : cljs.spec.alpha.op_explain.call(null,G__23014,G__23015,G__23016,G__23017,G__23018,G__23019));\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__23010)){\nvar pkfs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\nvar vec__23021 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(pkfs)))?cljs.core.first(pkfs):cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__23027){\nvar vec__23028 \x3d p__23027;\nvar p__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23028,(0),null);\nreturn cljs.spec.alpha.accept_nil_QMARK_(p__$2);\n}),pkfs)));\nvar pred \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23021,(0),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23021,(1),null);\nvar form__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23021,(2),null);\nvar path__$1 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar form__$2 \x3d (function (){var or__5045__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nif(((cljs.core.empty_QMARK_(input__$1)) \x26\x26 (cljs.core.not(pred)))){\nreturn insufficient(path__$1,form__$2);\n} else {\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(form__$2,pred,path__$1,via__$1,in$,input__$1) : cljs.spec.alpha.op_explain.call(null,form__$2,pred,path__$1,via__$1,in$,input__$1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__23010)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,cljs.spec.alpha.op_describe(p__$1));\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form__$1,pred){\nvar G__23050 \x3d (function (){var or__5045__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nvar G__23051 \x3d pred;\nvar G__23052 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__23053 \x3d via__$1;\nvar G__23054 \x3d in$;\nvar G__23055 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__23050,G__23051,G__23052,G__23053,G__23054,G__23055) : cljs.spec.alpha.op_explain.call(null,G__23050,G__23051,G__23052,G__23053,G__23054,G__23055));\n}),(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),ps));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__23010)){\nvar G__23056 \x3d (((p1 \x3d\x3d\x3d p2))?forms__$1:cljs.spec.alpha.op_describe(p1));\nvar G__23057 \x3d p1;\nvar G__23058 \x3d path;\nvar G__23059 \x3d via__$1;\nvar G__23060 \x3d in$;\nvar G__23061 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__23056,G__23057,G__23058,G__23059,G__23060,G__23061) : cljs.spec.alpha.op_explain.call(null,G__23056,G__23057,G__23058,G__23059,G__23060,G__23061));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__23010)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.re_gen \x3d (function cljs$spec$alpha$re_gen(p,overrides,path,rmap,f){\nvar origp \x3d p;\nvar map__23102 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__23102__$1 \x3d cljs.core.__destructure_map(map__23102);\nvar p__$1 \x3d map__23102__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23102__$1,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092));\nvar rmap__$1 \x3d (cljs.core.truth_(id)?cljs.spec.alpha.inck(rmap,id):rmap);\nvar ggens \x3d (function (ps__$1,ks__$1,forms__$2){\nvar gen \x3d (function (p__$2,k,f__$1){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d rmap__$1;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d id;\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d k;\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,path,k);\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn null;\n} else {\nif(cljs.core.truth_(id)){\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nvar G__23109 \x3d p__$2;\nvar G__23110 \x3d overrides;\nvar G__23111 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__23112 \x3d rmap__$1;\nvar G__23113 \x3d (function (){var or__5045__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__23109,G__23110,G__23111,G__23112,G__23113) : cljs.spec.alpha.re_gen.call(null,G__23109,G__23110,G__23111,G__23112,G__23113));\n}),null)));\n} else {\nvar G__23117 \x3d p__$2;\nvar G__23118 \x3d overrides;\nvar G__23119 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__23120 \x3d rmap__$1;\nvar G__23121 \x3d (function (){var or__5045__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__23117,G__23118,G__23119,G__23120,G__23121) : cljs.spec.alpha.re_gen.call(null,G__23117,G__23118,G__23119,G__23120,G__23121));\n}\n}\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,ps__$1,(function (){var or__5045__auto__ \x3d cljs.core.seq(ks__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms__$2);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\n});\nvar or__5045__auto__ \x3d (function (){var temp__5804__auto__ \x3d (function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(origp));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(p__$1));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar gfn__$1 \x3d temp__5804__auto__;\nvar G__23128 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22accept\x22,\x22accept\x22,1874130431),G__23128)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__23128)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nreturn (gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null));\n\n}\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (cljs.core.truth_(gfn)?(gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null)):null);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nif(cljs.core.truth_(p__$1)){\nvar G__23129 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__23129)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null)], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__23129)){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.gensub(p__$1,overrides,path,rmap__$1,f);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar g \x3d temp__5804__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,g], 0));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__23129)){\nvar G__23130 \x3d p1;\nvar G__23131 \x3d overrides;\nvar G__23132 \x3d path;\nvar G__23133 \x3d rmap__$1;\nvar G__23134 \x3d cljs.spec.alpha.op_describe(p1);\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__23130,G__23131,G__23132,G__23133,G__23134) : cljs.spec.alpha.re_gen.call(null,G__23130,G__23131,G__23132,G__23133,G__23134));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__23129)){\nvar gens \x3d ggens(ps,ks,forms__$1);\nif(cljs.core.every_QMARK_(cljs.core.identity,gens)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.cat,gens);\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__23129)){\nvar gens \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,ggens(ps,ks,forms__$1));\nif(cljs.core.empty_QMARK_(gens)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gens], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__23129)){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [id], null),id)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nvar temp__5804__auto__ \x3d (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(p2,overrides,path,rmap__$1,forms__$1) : cljs.spec.alpha.re_gen.call(null,p2,overrides,path,rmap__$1,forms__$1));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar g \x3d temp__5804__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__23065_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__23065_SHARP_);\n}),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([g], 0))], 0));\n} else {\nreturn null;\n}\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__23129)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.re_conform \x3d (function cljs$spec$alpha$re_conform(p,p__23135){\nwhile(true){\nvar vec__23136 \x3d p__23135;\nvar seq__23137 \x3d cljs.core.seq(vec__23136);\nvar first__23138 \x3d cljs.core.first(seq__23137);\nvar seq__23137__$1 \x3d cljs.core.next(seq__23137);\nvar x \x3d first__23138;\nvar xs \x3d seq__23137__$1;\nvar data \x3d vec__23136;\nif(cljs.core.empty_QMARK_(data)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p))){\nvar ret \x3d cljs.spec.alpha.preturn(p);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn null;\n} else {\nreturn ret;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p,x);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dp \x3d temp__5802__auto__;\nvar G__24332 \x3d dp;\nvar G__24333 \x3d xs;\np \x3d G__24332;\np__23135 \x3d G__24333;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n});\ncljs.spec.alpha.re_explain \x3d (function cljs$spec$alpha$re_explain(path,via,in$,re,input){\nvar p \x3d re;\nvar G__23151 \x3d input;\nvar vec__23152 \x3d G__23151;\nvar seq__23153 \x3d cljs.core.seq(vec__23152);\nvar first__23154 \x3d cljs.core.first(seq__23153);\nvar seq__23153__$1 \x3d cljs.core.next(seq__23153);\nvar x \x3d first__23154;\nvar xs \x3d seq__23153__$1;\nvar data \x3d vec__23152;\nvar i \x3d (0);\nvar p__$1 \x3d p;\nvar G__23151__$1 \x3d G__23151;\nvar i__$1 \x3d i;\nwhile(true){\nvar p__$2 \x3d p__$1;\nvar vec__23155 \x3d G__23151__$1;\nvar seq__23156 \x3d cljs.core.seq(vec__23155);\nvar first__23157 \x3d cljs.core.first(seq__23156);\nvar seq__23156__$1 \x3d cljs.core.next(seq__23156);\nvar x__$1 \x3d first__23157;\nvar xs__$1 \x3d seq__23156__$1;\nvar data__$1 \x3d vec__23155;\nvar i__$2 \x3d i__$1;\nif(cljs.core.empty_QMARK_(data__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p__$2))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,in$,null);\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p__$2,x__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dp \x3d temp__5802__auto__;\nvar G__24334 \x3d dp;\nvar G__24335 \x3d xs__$1;\nvar G__24336 \x3d (i__$2 + (1));\np__$1 \x3d G__24334;\nG__23151__$1 \x3d G__24335;\ni__$1 \x3d G__24336;\ncontinue;\n} else {\nif(cljs.spec.alpha.accept_QMARK_(p__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p__$2),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623))){\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(re),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n} else {\nvar or__5045__auto__ \x3d cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(p__$2),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n}\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha23160 \x3d (function (re,gfn,meta23161){\nthis.re \x3d re;\nthis.gfn \x3d gfn;\nthis.meta23161 \x3d meta23161;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_23162,meta23161__$1){\nvar self__ \x3d this;\nvar _23162__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23160(self__.re,self__.gfn,meta23161__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_23162){\nvar self__ \x3d this;\nvar _23162__$1 \x3d this;\nreturn self__.meta23161;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_conform(self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_unform(self__.re,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_explain(path,via,in$,self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22or\x22,\x22cljs.core/or\x22,1201033885,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22sequential?\x22,\x22cljs.core/sequential?\x22,1777854658,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.re_gen(self__.re,overrides,path,rmap,cljs.spec.alpha.op_describe(self__.re));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2(self__.re,gfn__$1) : cljs.spec.alpha.regex_spec_impl.call(null,self__.re,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_describe(self__.re);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22re\x22,\x22re\x22,1869207729,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta23161\x22,\x22meta23161\x22,656708294,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha23160\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23160.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha23160\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha23160.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha23160 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha23160(re,gfn,meta23161){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23160(re,gfn,meta23161));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27 with a regex op argument\n */\ncljs.spec.alpha.regex_spec_impl \x3d (function cljs$spec$alpha$regex_spec_impl(re,gfn){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23160(re,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.call_valid_QMARK_ \x3d (function cljs$spec$alpha$call_valid_QMARK_(f,specs,args){\nvar cargs \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs),args);\nif(cljs.spec.alpha.invalid_QMARK_(cargs)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\nvar cret \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(specs),ret);\nvar and__5043__auto__ \x3d (!(cljs.spec.alpha.invalid_QMARK_(cret)));\nif(and__5043__auto__){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs))){\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn true;\n}\n} else {\nreturn and__5043__auto__;\n}\n}\n});\n/**\n * returns f if valid, else smallest\n */\ncljs.spec.alpha.validate_fn \x3d (function cljs$spec$alpha$validate_fn(f,specs,iters){\nvar g \x3d cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs));\nvar prop \x3d cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [g], null),(function (p1__23186_SHARP_){\nreturn cljs.spec.alpha.call_valid_QMARK_(f,specs,p1__23186_SHARP_);\n})], 0));\nvar ret \x3d cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([iters,prop], 0));\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22smallest\x22,\x22smallest\x22,-152623883).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22shrunk\x22,\x22shrunk\x22,-2041664412).cljs$core$IFn$_invoke$arity$1(ret));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__23188 \x3d temp__5802__auto__;\nvar smallest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23188,(0),null);\nreturn smallest;\n} else {\nreturn f;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha23198 \x3d (function (argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta23199){\nthis.argspec \x3d argspec;\nthis.aform \x3d aform;\nthis.retspec \x3d retspec;\nthis.rform \x3d rform;\nthis.fnspec \x3d fnspec;\nthis.fform \x3d fform;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.meta23199 \x3d meta23199;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393472;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_23200,meta23199__$1){\nvar self__ \x3d this;\nvar _23200__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23198(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,self__.gfn,self__.specs,meta23199__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_23200){\nvar self__ \x3d this;\nvar _23200__$1 \x3d this;\nreturn self__.meta23199;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.specs,k);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (_,k,not_found){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.specs,k,not_found);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nif((f \x3d\x3d\x3d cljs.spec.alpha.validate_fn(f,self__.specs,cljs.spec.alpha._STAR_fspec_iterations_STAR_))){\nreturn f;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn f;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nvar args \x3d cljs.spec.alpha.validate_fn(f,self__.specs,(100));\nif((f \x3d\x3d\x3d args)){\nreturn null;\n} else {\nvar ret \x3d (function (){try{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}catch (e23211){if((e23211 instanceof Error)){\nvar t \x3d e23211;\nreturn t;\n} else {\nthrow e23211;\n\n}\n}})();\nif((ret instanceof Error)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.list(new cljs.core.Symbol(null,\x22apply\x22,\x22apply\x22,-1334050276,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),args,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),ret.message,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar cret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(self__.retspec,ret,self__.rform);\nif(cljs.spec.alpha.invalid_QMARK_(cret)){\nreturn cljs.spec.alpha.explain_1(self__.rform,self__.retspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814)),via,in$,ret);\n} else {\nif(cljs.core.truth_(self__.fnspec)){\nvar cargs \x3d cljs.spec.alpha.conform(self__.argspec,args);\nreturn cljs.spec.alpha.explain_1(self__.fform,self__.fnspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)),via,in$,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn null;\n}\n}\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22ifn?\x22,\x22ifn?\x22,-2106461064,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),f,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,___$1,___$2){\nvar self__ \x3d this;\nvar ___$3 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function() { \nvar G__24434__delegate \x3d function (args){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(self__.argspec,args)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__23268_24435 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__23269_24436 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__23270_24437 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__23271_24438 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__23270_24437);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__23271_24438);\n\ntry{cljs.spec.alpha.explain(self__.argspec,args);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__23269_24436);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__23268_24435);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})(),\x22\\n\x22,\x22(pvalid? argspec args)\x22].join(\x27\x27)));\n}\n\nreturn cljs.spec.gen.alpha.generate(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(self__.retspec,overrides));\n};\nvar G__24434 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__24439__i \x3d 0, G__24439__a \x3d new Array(arguments.length - 0);\nwhile (G__24439__i \x3c G__24439__a.length) {G__24439__a[G__24439__i] \x3d arguments[G__24439__i + 0]; ++G__24439__i;}\n args \x3d new cljs.core.IndexedSeq(G__24439__a,0,null);\n} \nreturn G__24434__delegate.call(this,args);};\nG__24434.cljs$lang$maxFixedArity \x3d 0;\nG__24434.cljs$lang$applyTo \x3d (function (arglist__24440){\nvar args \x3d cljs.core.seq(arglist__24440);\nreturn G__24434__delegate(args);\n});\nG__24434.cljs$core$IFn$_invoke$arity$variadic \x3d G__24434__delegate;\nreturn G__24434;\n})()\n], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7 ? cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1) : cljs.spec.alpha.fspec_impl.call(null,self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22fspec\x22,\x22cljs.spec.alpha/fspec\x22,-1289128341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.aform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),null,(1),null)),(new cljs.core.List(null,self__.rform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),null,(1),null)),(new cljs.core.List(null,self__.fform,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22argspec\x22,\x22argspec\x22,-1207762746,null),new cljs.core.Symbol(null,\x22aform\x22,\x22aform\x22,531303525,null),new cljs.core.Symbol(null,\x22retspec\x22,\x22retspec\x22,-920025354,null),new cljs.core.Symbol(null,\x22rform\x22,\x22rform\x22,-1420499912,null),new cljs.core.Symbol(null,\x22fnspec\x22,\x22fnspec\x22,-1865712406,null),new cljs.core.Symbol(null,\x22fform\x22,\x22fform\x22,-176049972,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22meta23199\x22,\x22meta23199\x22,1373417379,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha23198\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23198.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha23198\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha23198.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha23198 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha23198(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta23199){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23198(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta23199));\n});\n\n\n/**\n * Do not call this directly, use \x27fspec\x27\n */\ncljs.spec.alpha.fspec_impl \x3d (function cljs$spec$alpha$fspec_impl(argspec,aform,retspec,rform,fnspec,fform,gfn){\nvar specs \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),argspec,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),retspec,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),fnspec], null);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23198(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.def_impl(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kvs-\x3emap\x22,\x22cljs.spec.alpha/kvs-\x3emap\x22,579713455),cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__23360#\x22,\x22p1__23360#\x22,1701659845,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22p1__23360#\x22,\x22p1__23360#\x22,1701659845,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22p1__23360#\x22,\x22p1__23360#\x22,1701659845,null)))),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__23361#\x22,\x22p1__23361#\x22,-470618326,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22p1__23361#\x22,\x22p1__23361#\x22,-470618326,null)))),cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),(function (p1__23360_SHARP_){\nreturn cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),p1__23360_SHARP_),cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),p1__23360_SHARP_));\n}),null,true,(function (p1__23361_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__23474){\nvar vec__23475 \x3d p__23474;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23475,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23475,(1),null);\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),k,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),v], null);\n}),p1__23361_SHARP_);\n})));\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha23479 \x3d (function (spec,meta23480){\nthis.spec \x3d spec;\nthis.meta23480 \x3d meta23480;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_23481,meta23480__$1){\nvar self__ \x3d this;\nvar _23481__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23479(self__.spec,meta23480__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_23481){\nvar self__ \x3d this;\nvar _23481__$1 \x3d this;\nreturn self__.meta23480;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_STAR_(cljs.core.deref(self__.spec),path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.gen_STAR_(cljs.core.deref(self__.spec),overrides,path,rmap);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__23503 \x3d cljs.spec.alpha.with_gen_STAR_(cljs.core.deref(self__.spec),gfn);\nreturn (cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1(G__23503) : cljs.spec.alpha.nonconforming.call(null,G__23503));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nonconforming\x22,\x22cljs.spec.alpha/nonconforming\x22,-1009218508,null),null,(1),null)),(new cljs.core.List(null,cljs.spec.alpha.describe_STAR_(cljs.core.deref(self__.spec)),null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta23480\x22,\x22meta23480\x22,57667266,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha23479\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23479.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha23479\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha23479.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha23479 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha23479(spec,meta23480){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23479(spec,meta23480));\n});\n\n\n/**\n * takes a spec and returns a spec that has the same properties except\n * \x27conform\x27 returns the original (not the conformed) value. Note, will specize regex ops.\n */\ncljs.spec.alpha.nonconforming \x3d (function cljs$spec$alpha$nonconforming(spec){\nvar spec__$1 \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\n}),null));\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23479(spec__$1,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha23520 \x3d (function (form,pred,gfn,spec,meta23521){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.spec \x3d spec;\nthis.meta23521 \x3d meta23521;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_23522,meta23521__$1){\nvar self__ \x3d this;\nvar _23522__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23520(self__.form,self__.pred,self__.gfn,self__.spec,meta23521__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_23522){\nvar self__ \x3d this;\nvar _23522__$1 \x3d this;\nreturn self__.meta23521;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.spec),x)) || ((x \x3d\x3d null)))){\nreturn null;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.explain_1(self__.form,self__.pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),via,in$,x),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)),new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22nil?\x22,\x22nil?\x22,1612038930,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0));\n}),null)))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(9),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(self__.pred,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),rmap,self__.form);\n}),null)))], null)], null)], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3(self__.form,self__.pred,gfn__$1) : cljs.spec.alpha.nilable_impl.call(null,self__.form,self__.pred,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nilable\x22,\x22cljs.spec.alpha/nilable\x22,1628308748,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta23521\x22,\x22meta23521\x22,1443609380,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha23520\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha23520.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha23520\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha23520.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha23520 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha23520(form,pred,gfn,spec,meta23521){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23520(form,pred,gfn,spec,meta23521));\n});\n\n\n/**\n * Do not call this directly, use \x27nilable\x27\n */\ncljs.spec.alpha.nilable_impl \x3d (function cljs$spec$alpha$nilable_impl(form,pred,gfn){\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(pred,form);\n}),null));\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha23520(form,pred,gfn,spec,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * generates a number (default 10) of values compatible with spec and maps conform over them,\n * returning a sequence of [val conformed-val] tuples. Optionally takes\n * a generator overrides map as per gen\n */\ncljs.spec.alpha.exercise \x3d (function cljs$spec$alpha$exercise(var_args){\nvar G__23609 \x3d arguments.length;\nswitch (G__23609) {\ncase 1:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2(spec,(10));\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,n){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3(spec,n,null);\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,n,overrides){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__23584_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__23584_SHARP_,cljs.spec.alpha.conform(spec,p1__23584_SHARP_)],null));\n}),cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,overrides),n], 0)));\n}));\n\n(cljs.spec.alpha.exercise.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return true if inst at or after start and before end\n */\ncljs.spec.alpha.inst_in_range_QMARK_ \x3d (function cljs$spec$alpha$inst_in_range_QMARK_(start,end,inst){\nvar and__5043__auto__ \x3d cljs.core.inst_QMARK_(inst);\nif(and__5043__auto__){\nvar t \x3d cljs.core.inst_ms(inst);\nreturn (((cljs.core.inst_ms(start) \x3c\x3d t)) \x26\x26 ((t \x3c cljs.core.inst_ms(end))));\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Return true if start \x3c\x3d val, val \x3c end and val is a fixed\n * precision integer.\n */\ncljs.spec.alpha.int_in_range_QMARK_ \x3d (function cljs$spec$alpha$int_in_range_QMARK_(start,end,val){\nif(cljs.core.integer_QMARK_(val)){\nreturn (((start \x3c\x3d val)) \x26\x26 ((val \x3c end)));\n} else {\nif((val instanceof cljs.spec.alpha.goog$module$goog$math$Long)){\nvar and__5043__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5043__auto__;\n}\n} else {\nif((val instanceof goog.math.Integer)){\nvar and__5043__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5043__auto__;\n}\n} else {\nreturn false;\n\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_compile_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * If true, compiler will enable spec asserts, which are then\n * subject to runtime control via check-asserts? If false, compiler\n * will eliminate all spec assert overhead. See \x27assert\x27.\n * Initially set to the negation of the \x27:elide-asserts\x27 compiler option.\n * Defaults to true.\n */\ncljs.spec.alpha._STAR_compile_asserts_STAR_ \x3d true;\n}\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_runtime_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d false;\n}\n/**\n * Returns the value set by check-asserts.\n */\ncljs.spec.alpha.check_asserts_QMARK_ \x3d (function cljs$spec$alpha$check_asserts_QMARK_(){\nreturn cljs.spec.alpha._STAR_runtime_asserts_STAR_;\n});\n/**\n * Enable or disable spec asserts that have been compiled\n * with \x27*compile-asserts*\x27 true. See \x27assert\x27.\n * Initially set to boolean value of cljs.spec.alpha/*runtime-asserts*.\n * Defaults to false.\n */\ncljs.spec.alpha.check_asserts \x3d (function cljs$spec$alpha$check_asserts(flag){\nreturn (cljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d flag);\n});\n/**\n * Do not call this directly, use \x27assert\x27.\n */\ncljs.spec.alpha.assert_STAR_ \x3d (function cljs$spec$alpha$assert_STAR_(spec,x){\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec,x)){\nreturn x;\n} else {\nvar ed \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,x),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22failure\x22,\x22cljs.spec.alpha/failure\x22,188258592),new cljs.core.Keyword(null,\x22assertion-failed\x22,\x22assertion-failed\x22,-970534477))], 0));\nthrow (new Error([\x22Spec assertion failed\\n\x22,(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__23701_24536 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__23702_24537 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__23703_24538 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__23704_24539 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__23703_24538);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__23704_24539);\n\ntry{cljs.spec.alpha.explain_out(ed);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__23702_24537);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__23701_24536);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})()].join(\x27\x27)));\n}\n});\n"); -SHADOW_ENV.evalLoad("shadow.remote.runtime.writer.js", true , "goog.provide(\x27shadow.remote.runtime.writer\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\nshadow.remote.runtime.writer.LimitWriter \x3d (function (sb,limit){\nthis.sb \x3d sb;\nthis.limit \x3d limit;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.remote.runtime.writer.LimitWriter.prototype.getString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.sb.toString();\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nself__.sb.append(s);\n\nif((self__.sb.getLength() \x3e\x3d self__.limit)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22The limit of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.limit),\x22 bytes was reached while printing.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),self__.limit], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22StringBuffer\x22,\x22StringBuffer\x22,864531538,null)], null)),new cljs.core.Symbol(null,\x22limit\x22,\x22limit\x22,284709164,null)], null);\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorStr \x3d \x22shadow.remote.runtime.writer/LimitWriter\x22);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.remote.runtime.writer/LimitWriter\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.writer/LimitWriter.\n */\nshadow.remote.runtime.writer.__GT_LimitWriter \x3d (function shadow$remote$runtime$writer$__GT_LimitWriter(sb,limit){\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\n\nshadow.remote.runtime.writer.pr_str_limit \x3d (function shadow$remote$runtime$writer$pr_str_limit(obj,limit){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\ntry{cljs.core.pr_writer(obj,writer,cljs.core.pr_opts());\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [false,sb.toString()], null);\n}catch (e21634){var e \x3d e21634;\nif((!(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(e)))))){\nthrow e;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,(function (){var s \x3d sb.toString();\nif((s.length \x3e limit)){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),limit);\n} else {\nreturn s;\n}\n})()], null);\n}\n}});\nshadow.remote.runtime.writer.limit_writer \x3d (function shadow$remote$runtime$writer$limit_writer(limit){\nvar sb \x3d (new goog.string.StringBuffer());\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\nshadow.remote.runtime.writer.get_string \x3d (function shadow$remote$runtime$writer$get_string(lw){\nreturn lw.getString();\n});\n"); +SHADOW_ENV.evalLoad("cljs.pprint.js", true , "goog.provide(\x27cljs.pprint\x27);\ncljs.pprint.print \x3d (function cljs$pprint$print(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20713 \x3d arguments.length;\nvar i__5770__auto___20714 \x3d (0);\nwhile(true){\nif((i__5770__auto___20714 \x3c len__5769__auto___20713)){\nargs__5775__auto__.push((arguments[i__5770__auto___20714]));\n\nvar G__20715 \x3d (i__5770__auto___20714 + (1));\ni__5770__auto___20714 \x3d G__20715;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.print_str,more));\n}));\n\n(cljs.pprint.print.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.print.cljs$lang$applyTo \x3d (function (seq18847){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18847));\n}));\n\ncljs.pprint.println \x3d (function cljs$pprint$println(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20719 \x3d arguments.length;\nvar i__5770__auto___20720 \x3d (0);\nwhile(true){\nif((i__5770__auto___20720 \x3c len__5769__auto___20719)){\nargs__5775__auto__.push((arguments[i__5770__auto___20720]));\n\nvar G__20721 \x3d (i__5770__auto___20720 + (1));\ni__5770__auto___20720 \x3d G__20721;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.print,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.println.cljs$lang$applyTo \x3d (function (seq18848){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18848));\n}));\n\ncljs.pprint.print_char \x3d (function cljs$pprint$print_char(c){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,(function (){var pred__18850 \x3d cljs.core._EQ_;\nvar expr__18851 \x3d c;\nif(cljs.core.truth_((function (){var G__18853 \x3d \x22\\b\x22;\nvar G__18854 \x3d expr__18851;\nreturn (pred__18850.cljs$core$IFn$_invoke$arity$2 ? pred__18850.cljs$core$IFn$_invoke$arity$2(G__18853,G__18854) : pred__18850.call(null,G__18853,G__18854));\n})())){\nreturn \x22\\\\backspace\x22;\n} else {\nif(cljs.core.truth_((function (){var G__18855 \x3d \x22 \x22;\nvar G__18856 \x3d expr__18851;\nreturn (pred__18850.cljs$core$IFn$_invoke$arity$2 ? pred__18850.cljs$core$IFn$_invoke$arity$2(G__18855,G__18856) : pred__18850.call(null,G__18855,G__18856));\n})())){\nreturn \x22\\\\space\x22;\n} else {\nif(cljs.core.truth_((function (){var G__18857 \x3d \x22\\t\x22;\nvar G__18858 \x3d expr__18851;\nreturn (pred__18850.cljs$core$IFn$_invoke$arity$2 ? pred__18850.cljs$core$IFn$_invoke$arity$2(G__18857,G__18858) : pred__18850.call(null,G__18857,G__18858));\n})())){\nreturn \x22\\\\tab\x22;\n} else {\nif(cljs.core.truth_((function (){var G__18859 \x3d \x22\\n\x22;\nvar G__18860 \x3d expr__18851;\nreturn (pred__18850.cljs$core$IFn$_invoke$arity$2 ? pred__18850.cljs$core$IFn$_invoke$arity$2(G__18859,G__18860) : pred__18850.call(null,G__18859,G__18860));\n})())){\nreturn \x22\\\\newline\x22;\n} else {\nif(cljs.core.truth_((function (){var G__18861 \x3d \x22\\f\x22;\nvar G__18862 \x3d expr__18851;\nreturn (pred__18850.cljs$core$IFn$_invoke$arity$2 ? pred__18850.cljs$core$IFn$_invoke$arity$2(G__18861,G__18862) : pred__18850.call(null,G__18861,G__18862));\n})())){\nreturn \x22\\\\formfeed\x22;\n} else {\nif(cljs.core.truth_((function (){var G__18863 \x3d \x22\\r\x22;\nvar G__18864 \x3d expr__18851;\nreturn (pred__18850.cljs$core$IFn$_invoke$arity$2 ? pred__18850.cljs$core$IFn$_invoke$arity$2(G__18863,G__18864) : pred__18850.call(null,G__18863,G__18864));\n})())){\nreturn \x22\\\\return\x22;\n} else {\nif(cljs.core.truth_((function (){var G__18865 \x3d \x22\\\x22\x22;\nvar G__18866 \x3d expr__18851;\nreturn (pred__18850.cljs$core$IFn$_invoke$arity$2 ? pred__18850.cljs$core$IFn$_invoke$arity$2(G__18865,G__18866) : pred__18850.call(null,G__18865,G__18866));\n})())){\nreturn \x22\\\\\\\x22\x22;\n} else {\nif(cljs.core.truth_((function (){var G__18867 \x3d \x22\\\\\x22;\nvar G__18868 \x3d expr__18851;\nreturn (pred__18850.cljs$core$IFn$_invoke$arity$2 ? pred__18850.cljs$core$IFn$_invoke$arity$2(G__18867,G__18868) : pred__18850.call(null,G__18867,G__18868));\n})())){\nreturn \x22\\\\\\\\\x22;\n} else {\nreturn [\x22\\\\\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(\x27\x27);\n}\n}\n}\n}\n}\n}\n}\n}\n})());\n});\ncljs.pprint.pr \x3d (function cljs$pprint$pr(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20722 \x3d arguments.length;\nvar i__5770__auto___20723 \x3d (0);\nwhile(true){\nif((i__5770__auto___20723 \x3c len__5769__auto___20722)){\nargs__5775__auto__.push((arguments[i__5770__auto___20723]));\n\nvar G__20724 \x3d (i__5770__auto___20723 + (1));\ni__5770__auto___20723 \x3d G__20724;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.pr_str,more));\n}));\n\n(cljs.pprint.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.pr.cljs$lang$applyTo \x3d (function (seq18869){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18869));\n}));\n\ncljs.pprint.prn \x3d (function cljs$pprint$prn(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20725 \x3d arguments.length;\nvar i__5770__auto___20726 \x3d (0);\nwhile(true){\nif((i__5770__auto___20726 \x3c len__5769__auto___20725)){\nargs__5775__auto__.push((arguments[i__5770__auto___20726]));\n\nvar G__20727 \x3d (i__5770__auto___20726 + (1));\ni__5770__auto___20726 \x3d G__20727;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.pr,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.prn.cljs$lang$applyTo \x3d (function (seq18870){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18870));\n}));\n\n/**\n * Returns true if n is an float.\n */\ncljs.pprint.float_QMARK_ \x3d (function cljs$pprint$float_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((!((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))))));\n});\n/**\n * Convert char to int\n */\ncljs.pprint.char_code \x3d (function cljs$pprint$char_code(c){\nif(typeof c \x3d\x3d\x3d \x27number\x27){\nreturn c;\n} else {\nif(((typeof c \x3d\x3d\x3d \x27string\x27) \x26\x26 ((c.length \x3d\x3d\x3d (1))))){\nreturn c.charCodeAt((0));\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.pprint.map_passing_context \x3d (function cljs$pprint$map_passing_context(func,initial_context,lis){\nvar context \x3d initial_context;\nvar lis__$1 \x3d lis;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(lis__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar this$ \x3d cljs.core.first(lis__$1);\nvar remainder \x3d cljs.core.next(lis__$1);\nvar vec__18880 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18880,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18880,(1),null);\nvar G__20729 \x3d new_context;\nvar G__20730 \x3d remainder;\nvar G__20731 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__20729;\nlis__$1 \x3d G__20730;\nacc \x3d G__20731;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume \x3d (function cljs$pprint$consume(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__18886 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18886,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18886,(1),null);\nif(cljs.core.not(result)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,new_context], null);\n} else {\nvar G__20732 \x3d new_context;\nvar G__20733 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__20732;\nacc \x3d G__20733;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume_while \x3d (function cljs$pprint$consume_while(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__18893 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18893,(0),null);\nvar continue$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18893,(1),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18893,(2),null);\nif(cljs.core.not(continue$)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar G__20734 \x3d new_context;\nvar G__20735 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__20734;\nacc \x3d G__20735;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.unzip_map \x3d (function cljs$pprint$unzip_map(m){\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__18896(s__18897){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__18897__$1 \x3d s__18897;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__18897__$1);\nif(temp__5804__auto__){\nvar s__18897__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__18897__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__18897__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__18899 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__18898 \x3d (0);\nwhile(true){\nif((i__18898 \x3c size__5522__auto__)){\nvar vec__18902 \x3d cljs.core._nth(c__5521__auto__,i__18898);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18902,(0),null);\nvar vec__18905 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18902,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18905,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18905,(1),null);\ncljs.core.chunk_append(b__18899,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null));\n\nvar G__20736 \x3d (i__18898 + (1));\ni__18898 \x3d G__20736;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18899),cljs$pprint$unzip_map_$_iter__18896(cljs.core.chunk_rest(s__18897__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18899),null);\n}\n} else {\nvar vec__18908 \x3d cljs.core.first(s__18897__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18908,(0),null);\nvar vec__18911 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18908,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18911,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18911,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null),cljs$pprint$unzip_map_$_iter__18896(cljs.core.rest(s__18897__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(m);\n})()),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__18914(s__18915){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__18915__$1 \x3d s__18915;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__18915__$1);\nif(temp__5804__auto__){\nvar s__18915__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__18915__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__18915__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__18917 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__18916 \x3d (0);\nwhile(true){\nif((i__18916 \x3c size__5522__auto__)){\nvar vec__18919 \x3d cljs.core._nth(c__5521__auto__,i__18916);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18919,(0),null);\nvar vec__18922 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18919,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18922,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18922,(1),null);\ncljs.core.chunk_append(b__18917,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null));\n\nvar G__20737 \x3d (i__18916 + (1));\ni__18916 \x3d G__20737;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18917),cljs$pprint$unzip_map_$_iter__18914(cljs.core.chunk_rest(s__18915__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18917),null);\n}\n} else {\nvar vec__18925 \x3d cljs.core.first(s__18915__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18925,(0),null);\nvar vec__18928 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18925,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18928,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18928,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null),cljs$pprint$unzip_map_$_iter__18914(cljs.core.rest(s__18915__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(m);\n})())], null);\n});\ncljs.pprint.tuple_map \x3d (function cljs$pprint$tuple_map(m,v1){\n\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$tuple_map_$_iter__18931(s__18932){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__18932__$1 \x3d s__18932;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__18932__$1);\nif(temp__5804__auto__){\nvar s__18932__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__18932__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__18932__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__18934 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__18933 \x3d (0);\nwhile(true){\nif((i__18933 \x3c size__5522__auto__)){\nvar vec__18936 \x3d cljs.core._nth(c__5521__auto__,i__18933);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18936,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18936,(1),null);\ncljs.core.chunk_append(b__18934,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null));\n\nvar G__20738 \x3d (i__18933 + (1));\ni__18933 \x3d G__20738;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18934),cljs$pprint$tuple_map_$_iter__18931(cljs.core.chunk_rest(s__18932__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__18934),null);\n}\n} else {\nvar vec__18939 \x3d cljs.core.first(s__18932__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18939,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18939,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null),cljs$pprint$tuple_map_$_iter__18931(cljs.core.rest(s__18932__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(m);\n})());\n});\ncljs.pprint.rtrim \x3d (function cljs$pprint$rtrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1))),c)))){\nvar n \x3d (len - (1));\nwhile(true){\nif((n \x3c (0))){\nreturn \x22\x22;\n} else {\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(n + (1)));\n} else {\nvar G__20739 \x3d (n - (1));\nn \x3d G__20739;\ncontinue;\n\n}\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.ltrim \x3d (function cljs$pprint$ltrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(0)),c)))){\nvar n \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,len)) || ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,n);\n} else {\nvar G__20740 \x3d (n + (1));\nn \x3d G__20740;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.prefix_count \x3d (function cljs$pprint$prefix_count(aseq,val){\n\nvar test \x3d ((cljs.core.coll_QMARK_(val))?cljs.core.set(val):cljs.core.PersistentHashSet.createAsIfByAssoc([val]));\nvar pos \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pos,cljs.core.count(aseq))) || (cljs.core.not((function (){var G__18943 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(aseq,pos);\nreturn (test.cljs$core$IFn$_invoke$arity$1 ? test.cljs$core$IFn$_invoke$arity$1(G__18943) : test.call(null,G__18943));\n})())))){\nreturn pos;\n} else {\nvar G__20744 \x3d (pos + (1));\npos \x3d G__20744;\ncontinue;\n}\nbreak;\n}\n});\n\n/**\n * @interface\n */\ncljs.pprint.IPrettyFlush \x3d function(){};\n\nvar cljs$pprint$IPrettyFlush$_ppflush$dyn_20745 \x3d (function (pp){\nvar x__5393__auto__ \x3d (((pp \x3d\x3d null))?null:pp);\nvar m__5394__auto__ \x3d (cljs.pprint._ppflush[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5394__auto__.call(null,pp));\n} else {\nvar m__5392__auto__ \x3d (cljs.pprint._ppflush[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5392__auto__.call(null,pp));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrettyFlush.-ppflush\x22,pp);\n}\n}\n});\ncljs.pprint._ppflush \x3d (function cljs$pprint$_ppflush(pp){\nif((((!((pp \x3d\x3d null)))) \x26\x26 ((!((pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d\x3d null)))))){\nreturn pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1(pp);\n} else {\nreturn cljs$pprint$IPrettyFlush$_ppflush$dyn_20745(pp);\n}\n});\n\ncljs.pprint._STAR_default_page_width_STAR_ \x3d (72);\ncljs.pprint.get_field \x3d (function cljs$pprint$get_field(this$,sym){\nvar G__18946 \x3d cljs.core.deref(cljs.core.deref(this$));\nreturn (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(G__18946) : sym.call(null,G__18946));\n});\ncljs.pprint.set_field \x3d (function cljs$pprint$set_field(this$,sym,new_val){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,sym,new_val);\n});\ncljs.pprint.get_column \x3d (function cljs$pprint$get_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599));\n});\ncljs.pprint.get_line \x3d (function cljs$pprint$get_line(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\n});\ncljs.pprint.get_max_column \x3d (function cljs$pprint$get_max_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548));\n});\ncljs.pprint.set_max_column \x3d (function cljs$pprint$set_max_column(this$,new_max){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),new_max);\n\nreturn null;\n});\ncljs.pprint.get_writer \x3d (function cljs$pprint$get_writer(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322));\n});\ncljs.pprint.c_write_char \x3d (function cljs$pprint$c_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0));\n\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + (1)));\n} else {\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + (1)));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),c);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint18953 \x3d (function (writer,max_columns,fields,meta18954){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.fields \x3d fields;\nthis.meta18954 \x3d meta18954;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint18953.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_18955,meta18954__$1){\nvar self__ \x3d this;\nvar _18955__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint18953(self__.writer,self__.max_columns,self__.fields,meta18954__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint18953.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_18955){\nvar self__ \x3d this;\nvar _18955__$1 \x3d this;\nreturn self__.meta18954;\n}));\n\n(cljs.pprint.t_cljs$pprint18953.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint18953.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint18953.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__18958 \x3d cljs.core._EQ_;\nvar expr__18959 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__18958.cljs$core$IFn$_invoke$arity$2 ? pred__18958.cljs$core$IFn$_invoke$arity$2(String,expr__18959) : pred__18958.call(null,String,expr__18959)))){\nvar s \x3d x;\nvar nl \x3d s.lastIndexOf(\x22\\n\x22);\nif((nl \x3c (0))){\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + cljs.core.count(s)));\n} else {\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),((cljs.core.count(s) - nl) - (1)));\n\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + cljs.core.count(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__18950_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p1__18950_SHARP_,\x22\\n\x22);\n}),s))));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),s);\n} else {\nif(cljs.core.truth_((pred__18958.cljs$core$IFn$_invoke$arity$2 ? pred__18958.cljs$core$IFn$_invoke$arity$2(Number,expr__18959) : pred__18958.call(null,Number,expr__18959)))){\nreturn cljs.pprint.c_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__18959)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint18953.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta18954\x22,\x22meta18954\x22,1234412557,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint18953.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint18953.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint18953\x22);\n\n(cljs.pprint.t_cljs$pprint18953.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint18953\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint18953.\n */\ncljs.pprint.__GT_t_cljs$pprint18953 \x3d (function cljs$pprint$__GT_t_cljs$pprint18953(writer,max_columns,fields,meta18954){\nreturn (new cljs.pprint.t_cljs$pprint18953(writer,max_columns,fields,meta18954));\n});\n\n\ncljs.pprint.column_writer \x3d (function cljs$pprint$column_writer(var_args){\nvar G__18952 \x3d arguments.length;\nswitch (G__18952) {\ncase 1:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (writer){\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,cljs.pprint._STAR_default_page_width_STAR_);\n}));\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (writer,max_columns){\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),max_columns,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(0),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),writer], null));\nreturn (new cljs.pprint.t_cljs$pprint18953(writer,max_columns,fields,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.pprint.column_writer.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.logical_block \x3d (function (parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,__meta,__extmap,__hash){\nthis.parent \x3d parent;\nthis.section \x3d section;\nthis.start_col \x3d start_col;\nthis.indent \x3d indent;\nthis.done_nl \x3d done_nl;\nthis.intra_block_nl \x3d intra_block_nl;\nthis.prefix \x3d prefix;\nthis.per_line_prefix \x3d per_line_prefix;\nthis.suffix \x3d suffix;\nthis.logical_block_callback \x3d logical_block_callback;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k18962,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__18966 \x3d k18962;\nvar G__18966__$1 \x3d (((G__18966 instanceof cljs.core.Keyword))?G__18966.fqn:null);\nswitch (G__18966__$1) {\ncase \x22parent\x22:\nreturn self__.parent;\n\nbreak;\ncase \x22section\x22:\nreturn self__.section;\n\nbreak;\ncase \x22start-col\x22:\nreturn self__.start_col;\n\nbreak;\ncase \x22indent\x22:\nreturn self__.indent;\n\nbreak;\ncase \x22done-nl\x22:\nreturn self__.done_nl;\n\nbreak;\ncase \x22intra-block-nl\x22:\nreturn self__.intra_block_nl;\n\nbreak;\ncase \x22prefix\x22:\nreturn self__.prefix;\n\nbreak;\ncase \x22per-line-prefix\x22:\nreturn self__.per_line_prefix;\n\nbreak;\ncase \x22suffix\x22:\nreturn self__.suffix;\n\nbreak;\ncase \x22logical-block-callback\x22:\nreturn self__.logical_block_callback;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k18962,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__18968){\nvar vec__18969 \x3d p__18968;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18969,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18969,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.logical-block{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__18961){\nvar self__ \x3d this;\nvar G__18961__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__18961__$1,10,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (10 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1977012399 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this18963,other18964){\nvar self__ \x3d this;\nvar this18963__$1 \x3d this;\nreturn (((!((other18964 \x3d\x3d null)))) \x26\x26 ((((this18963__$1.constructor \x3d\x3d\x3d other18964.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.parent,other18964.parent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.section,other18964.section)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.start_col,other18964.start_col)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.indent,other18964.indent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.done_nl,other18964.done_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.intra_block_nl,other18964.intra_block_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.prefix,other18964.prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.per_line_prefix,other18964.per_line_prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.suffix,other18964.suffix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.logical_block_callback,other18964.logical_block_callback)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18963__$1.__extmap,other18964.__extmap)))))))))))))))))))))))));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 10, [new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k18962){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__18976 \x3d k18962;\nvar G__18976__$1 \x3d (((G__18976 instanceof cljs.core.Keyword))?G__18976.fqn:null);\nswitch (G__18976__$1) {\ncase \x22parent\x22:\ncase \x22section\x22:\ncase \x22start-col\x22:\ncase \x22indent\x22:\ncase \x22done-nl\x22:\ncase \x22intra-block-nl\x22:\ncase \x22prefix\x22:\ncase \x22per-line-prefix\x22:\ncase \x22suffix\x22:\ncase \x22logical-block-callback\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k18962);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__18961){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__18977 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__18978 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__18978)))){\nreturn (new cljs.pprint.logical_block(G__18961,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__18978)))){\nreturn (new cljs.pprint.logical_block(self__.parent,G__18961,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__18978)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,G__18961,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__18978)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,G__18961,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__18978)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,G__18961,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__18978)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,G__18961,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__18978)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,G__18961,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__18978)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,G__18961,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__18978)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,G__18961,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__18977.cljs$core$IFn$_invoke$arity$2 ? pred__18977.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__18978) : pred__18977.call(null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__18978)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,G__18961,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__18961),null));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__18961){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,G__18961,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.logical_block.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22parent\x22,\x22parent\x22,761652748,null),new cljs.core.Symbol(null,\x22section\x22,\x22section\x22,1340390001,null),new cljs.core.Symbol(null,\x22start-col\x22,\x22start-col\x22,-1986355626,null),new cljs.core.Symbol(null,\x22indent\x22,\x22indent\x22,1492331402,null),new cljs.core.Symbol(null,\x22done-nl\x22,\x22done-nl\x22,1259507187,null),new cljs.core.Symbol(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,-845608894,null),new cljs.core.Symbol(null,\x22prefix\x22,\x22prefix\x22,1374623062,null),new cljs.core.Symbol(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,-1807493956,null),new cljs.core.Symbol(null,\x22suffix\x22,\x22suffix\x22,2007904584,null),new cljs.core.Symbol(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,-1041744575,null)], null);\n}));\n\n(cljs.pprint.logical_block.cljs$lang$type \x3d true);\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/logical-block\x22,null,(1),null));\n}));\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/logical-block\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/logical-block.\n */\ncljs.pprint.__GT_logical_block \x3d (function cljs$pprint$__GT_logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback){\nreturn (new cljs.pprint.logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/logical-block, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_logical_block \x3d (function cljs$pprint$map__GT_logical_block(G__18965){\nvar extmap__5385__auto__ \x3d (function (){var G__18982 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__18965,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], 0));\nif(cljs.core.record_QMARK_(G__18965)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__18982);\n} else {\nreturn G__18982;\n}\n})();\nreturn (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(G__18965),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526).cljs$core$IFn$_invoke$arity$1(G__18965),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(G__18965),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(G__18965),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(G__18965),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(G__18965),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(G__18965),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(G__18965),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(G__18965),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(G__18965),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\ncljs.pprint.ancestor_QMARK_ \x3d (function cljs$pprint$ancestor_QMARK_(parent,child){\nvar child__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child);\nwhile(true){\nif((child__$1 \x3d\x3d null)){\nreturn false;\n} else {\nif((parent \x3d\x3d\x3d child__$1)){\nreturn true;\n} else {\nvar G__20783 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child__$1);\nchild__$1 \x3d G__20783;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.buffer_length \x3d (function cljs$pprint$buffer_length(l){\nvar l__$1 \x3d cljs.core.seq(l);\nif(l__$1){\nreturn (new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(cljs.core.last(l__$1)) - new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(cljs.core.first(l__$1)));\n} else {\nreturn (0);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.buffer_blob \x3d (function (type_tag,data,trailing_white_space,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.data \x3d data;\nthis.trailing_white_space \x3d trailing_white_space;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k18986,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__18991 \x3d k18986;\nvar G__18991__$1 \x3d (((G__18991 instanceof cljs.core.Keyword))?G__18991.fqn:null);\nswitch (G__18991__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22data\x22:\nreturn self__.data;\n\nbreak;\ncase \x22trailing-white-space\x22:\nreturn self__.trailing_white_space;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k18986,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__18993){\nvar vec__18994 \x3d p__18993;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18994,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18994,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.buffer-blob{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__18985){\nvar self__ \x3d this;\nvar G__18985__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__18985__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1809113693 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this18987,other18988){\nvar self__ \x3d this;\nvar this18987__$1 \x3d this;\nreturn (((!((other18988 \x3d\x3d null)))) \x26\x26 ((((this18987__$1.constructor \x3d\x3d\x3d other18988.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18987__$1.type_tag,other18988.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18987__$1.data,other18988.data)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18987__$1.trailing_white_space,other18988.trailing_white_space)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18987__$1.start_pos,other18988.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18987__$1.end_pos,other18988.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this18987__$1.__extmap,other18988.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k18986){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__19001 \x3d k18986;\nvar G__19001__$1 \x3d (((G__19001 instanceof cljs.core.Keyword))?G__19001.fqn:null);\nswitch (G__19001__$1) {\ncase \x22type-tag\x22:\ncase \x22data\x22:\ncase \x22trailing-white-space\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k18986);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__18985){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__19002 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__19003 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__19002.cljs$core$IFn$_invoke$arity$2 ? pred__19002.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19003) : pred__19002.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19003)))){\nreturn (new cljs.pprint.buffer_blob(G__18985,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19002.cljs$core$IFn$_invoke$arity$2 ? pred__19002.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__19003) : pred__19002.call(null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__19003)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,G__18985,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19002.cljs$core$IFn$_invoke$arity$2 ? pred__19002.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__19003) : pred__19002.call(null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__19003)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,G__18985,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19002.cljs$core$IFn$_invoke$arity$2 ? pred__19002.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19003) : pred__19002.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19003)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,G__18985,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19002.cljs$core$IFn$_invoke$arity$2 ? pred__19002.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19003) : pred__19002.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19003)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,G__18985,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__18985),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__18985){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,G__18985,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.buffer_blob.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.Symbol(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,-1158428773,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$type \x3d true);\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/buffer-blob\x22,null,(1),null));\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/buffer-blob\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/buffer-blob.\n */\ncljs.pprint.__GT_buffer_blob \x3d (function cljs$pprint$__GT_buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/buffer-blob, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_buffer_blob \x3d (function cljs$pprint$map__GT_buffer_blob(G__18990){\nvar extmap__5385__auto__ \x3d (function (){var G__19006 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__18990,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__18990)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__19006);\n} else {\nreturn G__19006;\n}\n})();\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__18990),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(G__18990),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(G__18990),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__18990),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__18990),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_buffer_blob \x3d (function cljs$pprint$make_buffer_blob(data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.buffer_blob_QMARK_ \x3d (function cljs$pprint$buffer_blob_QMARK_(x__18778__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__18778__auto__),new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.nl_t \x3d (function (type_tag,type,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.type \x3d type;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k19009,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__19015 \x3d k19009;\nvar G__19015__$1 \x3d (((G__19015 instanceof cljs.core.Keyword))?G__19015.fqn:null);\nswitch (G__19015__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22type\x22:\nreturn self__.type;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k19009,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__19016){\nvar vec__19017 \x3d p__19016;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19017,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19017,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.nl-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__19008){\nvar self__ \x3d this;\nvar G__19008__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__19008__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-1640656800 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this19010,other19011){\nvar self__ \x3d this;\nvar this19010__$1 \x3d this;\nreturn (((!((other19011 \x3d\x3d null)))) \x26\x26 ((((this19010__$1.constructor \x3d\x3d\x3d other19011.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19010__$1.type_tag,other19011.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19010__$1.type,other19011.type)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19010__$1.logical_block,other19011.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19010__$1.start_pos,other19011.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19010__$1.end_pos,other19011.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19010__$1.__extmap,other19011.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k19009){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__19022 \x3d k19009;\nvar G__19022__$1 \x3d (((G__19022 instanceof cljs.core.Keyword))?G__19022.fqn:null);\nswitch (G__19022__$1) {\ncase \x22type-tag\x22:\ncase \x22type\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k19009);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__19008){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__19023 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__19024 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__19023.cljs$core$IFn$_invoke$arity$2 ? pred__19023.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19024) : pred__19023.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19024)))){\nreturn (new cljs.pprint.nl_t(G__19008,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19023.cljs$core$IFn$_invoke$arity$2 ? pred__19023.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__19024) : pred__19023.call(null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__19024)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,G__19008,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19023.cljs$core$IFn$_invoke$arity$2 ? pred__19023.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__19024) : pred__19023.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__19024)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,G__19008,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19023.cljs$core$IFn$_invoke$arity$2 ? pred__19023.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19024) : pred__19023.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19024)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,G__19008,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19023.cljs$core$IFn$_invoke$arity$2 ? pred__19023.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19024) : pred__19023.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19024)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,G__19008,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__19008),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__19008){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,G__19008,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.nl_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.nl_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/nl-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/nl-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/nl-t.\n */\ncljs.pprint.__GT_nl_t \x3d (function cljs$pprint$__GT_nl_t(type_tag,type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(type_tag,type,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/nl-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_nl_t \x3d (function cljs$pprint$map__GT_nl_t(G__19013){\nvar extmap__5385__auto__ \x3d (function (){var G__19028 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__19013,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__19013)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__19028);\n} else {\nreturn G__19028;\n}\n})();\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__19013),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(G__19013),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__19013),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__19013),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__19013),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_nl_t \x3d (function cljs$pprint$make_nl_t(type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),type,logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.nl_t_QMARK_ \x3d (function cljs$pprint$nl_t_QMARK_(x__18778__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__18778__auto__),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.start_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k19031,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__19036 \x3d k19031;\nvar G__19036__$1 \x3d (((G__19036 instanceof cljs.core.Keyword))?G__19036.fqn:null);\nswitch (G__19036__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k19031,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__19037){\nvar vec__19038 \x3d p__19037;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19038,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19038,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.start-block-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__19030){\nvar self__ \x3d this;\nvar G__19030__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__19030__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-414877272 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this19032,other19033){\nvar self__ \x3d this;\nvar this19032__$1 \x3d this;\nreturn (((!((other19033 \x3d\x3d null)))) \x26\x26 ((((this19032__$1.constructor \x3d\x3d\x3d other19033.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19032__$1.type_tag,other19033.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19032__$1.logical_block,other19033.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19032__$1.start_pos,other19033.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19032__$1.end_pos,other19033.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19032__$1.__extmap,other19033.__extmap)))))))))))));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k19031){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__19046 \x3d k19031;\nvar G__19046__$1 \x3d (((G__19046 instanceof cljs.core.Keyword))?G__19046.fqn:null);\nswitch (G__19046__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k19031);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__19030){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__19047 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__19048 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__19047.cljs$core$IFn$_invoke$arity$2 ? pred__19047.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19048) : pred__19047.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19048)))){\nreturn (new cljs.pprint.start_block_t(G__19030,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19047.cljs$core$IFn$_invoke$arity$2 ? pred__19047.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__19048) : pred__19047.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__19048)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,G__19030,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19047.cljs$core$IFn$_invoke$arity$2 ? pred__19047.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19048) : pred__19047.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19048)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,G__19030,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19047.cljs$core$IFn$_invoke$arity$2 ? pred__19047.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19048) : pred__19047.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19048)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__19030,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__19030),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__19030){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__19030,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.start_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/start-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/start-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/start-block-t.\n */\ncljs.pprint.__GT_start_block_t \x3d (function cljs$pprint$__GT_start_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/start-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_start_block_t \x3d (function cljs$pprint$map__GT_start_block_t(G__19035){\nvar extmap__5385__auto__ \x3d (function (){var G__19050 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__19035,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__19035)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__19050);\n} else {\nreturn G__19050;\n}\n})();\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__19035),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__19035),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__19035),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__19035),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_start_block_t \x3d (function cljs$pprint$make_start_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.start_block_t_QMARK_ \x3d (function cljs$pprint$start_block_t_QMARK_(x__18778__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__18778__auto__),new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.end_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k19052,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__19058 \x3d k19052;\nvar G__19058__$1 \x3d (((G__19058 instanceof cljs.core.Keyword))?G__19058.fqn:null);\nswitch (G__19058__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k19052,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__19060){\nvar vec__19063 \x3d p__19060;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19063,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19063,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.end-block-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__19051){\nvar self__ \x3d this;\nvar G__19051__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__19051__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1365867980 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this19053,other19054){\nvar self__ \x3d this;\nvar this19053__$1 \x3d this;\nreturn (((!((other19054 \x3d\x3d null)))) \x26\x26 ((((this19053__$1.constructor \x3d\x3d\x3d other19054.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19053__$1.type_tag,other19054.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19053__$1.logical_block,other19054.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19053__$1.start_pos,other19054.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19053__$1.end_pos,other19054.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19053__$1.__extmap,other19054.__extmap)))))))))))));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k19052){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__19084 \x3d k19052;\nvar G__19084__$1 \x3d (((G__19084 instanceof cljs.core.Keyword))?G__19084.fqn:null);\nswitch (G__19084__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k19052);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__19051){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__19105 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__19106 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__19105.cljs$core$IFn$_invoke$arity$2 ? pred__19105.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19106) : pred__19105.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19106)))){\nreturn (new cljs.pprint.end_block_t(G__19051,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19105.cljs$core$IFn$_invoke$arity$2 ? pred__19105.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__19106) : pred__19105.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__19106)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,G__19051,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19105.cljs$core$IFn$_invoke$arity$2 ? pred__19105.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19106) : pred__19105.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19106)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,G__19051,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19105.cljs$core$IFn$_invoke$arity$2 ? pred__19105.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19106) : pred__19105.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19106)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__19051,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__19051),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__19051){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__19051,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.end_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/end-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/end-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/end-block-t.\n */\ncljs.pprint.__GT_end_block_t \x3d (function cljs$pprint$__GT_end_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/end-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_end_block_t \x3d (function cljs$pprint$map__GT_end_block_t(G__19055){\nvar extmap__5385__auto__ \x3d (function (){var G__19120 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__19055,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__19055)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__19120);\n} else {\nreturn G__19120;\n}\n})();\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__19055),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__19055),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__19055),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__19055),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_end_block_t \x3d (function cljs$pprint$make_end_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.end_block_t_QMARK_ \x3d (function cljs$pprint$end_block_t_QMARK_(x__18778__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__18778__auto__),new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.indent_t \x3d (function (type_tag,logical_block,relative_to,offset,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.relative_to \x3d relative_to;\nthis.offset \x3d offset;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k19145,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__19150 \x3d k19145;\nvar G__19150__$1 \x3d (((G__19150 instanceof cljs.core.Keyword))?G__19150.fqn:null);\nswitch (G__19150__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22relative-to\x22:\nreturn self__.relative_to;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k19145,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__19156){\nvar vec__19159 \x3d p__19156;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19159,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19159,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.indent-t{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__19144){\nvar self__ \x3d this;\nvar G__19144__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__19144__$1,6,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (6 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-1602780238 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this19146,other19147){\nvar self__ \x3d this;\nvar this19146__$1 \x3d this;\nreturn (((!((other19147 \x3d\x3d null)))) \x26\x26 ((((this19146__$1.constructor \x3d\x3d\x3d other19147.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19146__$1.type_tag,other19147.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19146__$1.logical_block,other19147.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19146__$1.relative_to,other19147.relative_to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19146__$1.offset,other19147.offset)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19146__$1.start_pos,other19147.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19146__$1.end_pos,other19147.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19146__$1.__extmap,other19147.__extmap)))))))))))))))));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k19145){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__19187 \x3d k19145;\nvar G__19187__$1 \x3d (((G__19187 instanceof cljs.core.Keyword))?G__19187.fqn:null);\nswitch (G__19187__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22relative-to\x22:\ncase \x22offset\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k19145);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__19144){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__19188 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__19189 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__19188.cljs$core$IFn$_invoke$arity$2 ? pred__19188.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19189) : pred__19188.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__19189)))){\nreturn (new cljs.pprint.indent_t(G__19144,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19188.cljs$core$IFn$_invoke$arity$2 ? pred__19188.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__19189) : pred__19188.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__19189)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,G__19144,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19188.cljs$core$IFn$_invoke$arity$2 ? pred__19188.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__19189) : pred__19188.call(null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__19189)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,G__19144,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19188.cljs$core$IFn$_invoke$arity$2 ? pred__19188.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__19189) : pred__19188.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__19189)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,G__19144,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19188.cljs$core$IFn$_invoke$arity$2 ? pred__19188.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19189) : pred__19188.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__19189)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,G__19144,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19188.cljs$core$IFn$_invoke$arity$2 ? pred__19188.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19189) : pred__19188.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__19189)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,G__19144,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__19144),null));\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__19144){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,G__19144,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.indent_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22relative-to\x22,\x22relative-to\x22,1170431476,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.indent_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/indent-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/indent-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/indent-t.\n */\ncljs.pprint.__GT_indent_t \x3d (function cljs$pprint$__GT_indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/indent-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_indent_t \x3d (function cljs$pprint$map__GT_indent_t(G__19148){\nvar extmap__5385__auto__ \x3d (function (){var G__19225 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__19148,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__19148)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__19225);\n} else {\nreturn G__19225;\n}\n})();\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__19148),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__19148),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(G__19148),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__19148),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__19148),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__19148),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n\ncljs.pprint.make_indent_t \x3d (function cljs$pprint$make_indent_t(logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.indent_t_QMARK_ \x3d (function cljs$pprint$indent_t_QMARK_(x__18778__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__18778__auto__),new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969));\n});\ncljs.pprint.pp_newline \x3d (function cljs$pprint$pp_newline(){\nreturn \x22\\n\x22;\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.write_token !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.write_token \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__19228 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__19228.cljs$core$IFn$_invoke$arity$0 ? fexpr__19228.cljs$core$IFn$_invoke$arity$0() : fexpr__19228.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22write-token\x22),(function (p1__19227_SHARP_,p2__19226_SHARP_){\nreturn new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(p2__19226_SHARP_);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),(function (this$,token){\nvar temp__5804__auto___20841 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___20841)){\nvar cb_20842 \x3d temp__5804__auto___20841;\n(cb_20842.cljs$core$IFn$_invoke$arity$1 ? cb_20842.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_20842.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nvar temp__5804__auto___20843 \x3d new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(temp__5804__auto___20843)){\nvar prefix_20844 \x3d temp__5804__auto___20843;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix_20844);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb),col);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),col);\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),(function (this$,token){\nvar temp__5804__auto___20845 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___20845)){\nvar cb_20846 \x3d temp__5804__auto___20845;\n(cb_20846.cljs$core$IFn$_invoke$arity$1 ? cb_20846.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_20846.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar suffix \x3d temp__5804__auto__;\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\nreturn null;\n}\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),(function (this$,token){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(token) + (function (){var pred__19259 \x3d cljs.core._EQ_;\nvar expr__19260 \x3d new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(token);\nif(cljs.core.truth_((pred__19259.cljs$core$IFn$_invoke$arity$2 ? pred__19259.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__19260) : pred__19259.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__19260)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__19259.cljs$core$IFn$_invoke$arity$2 ? pred__19259.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__19260) : pred__19259.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__19260)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__19260)].join(\x27\x27)));\n}\n}\n})()));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),(function (this$,token){\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(token));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),(function (this$,token){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889))));\nif(and__5043__auto__){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token)));\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\n(cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2(this$,token) : cljs.pprint.emit_nl.call(null,this$,token));\n} else {\nvar temp__5802__auto___20853 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___20853)){\nvar tws_20854 \x3d temp__5802__auto___20853;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_20854);\n} else {\n}\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n}));\ncljs.pprint.write_tokens \x3d (function cljs$pprint$write_tokens(this$,tokens,force_trailing_whitespace){\nvar seq__19276 \x3d cljs.core.seq(tokens);\nvar chunk__19277 \x3d null;\nvar count__19278 \x3d (0);\nvar i__19279 \x3d (0);\nwhile(true){\nif((i__19279 \x3c count__19278)){\nvar token \x3d chunk__19277.cljs$core$IIndexed$_nth$arity$2(null,i__19279);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5802__auto___20855 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___20855)){\nvar tws_20856 \x3d temp__5802__auto___20855;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_20856);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_20857 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn tws_20857;\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_20857);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__20858 \x3d seq__19276;\nvar G__20859 \x3d chunk__19277;\nvar G__20860 \x3d count__19278;\nvar G__20861 \x3d (i__19279 + (1));\nseq__19276 \x3d G__20858;\nchunk__19277 \x3d G__20859;\ncount__19278 \x3d G__20860;\ni__19279 \x3d G__20861;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__19276);\nif(temp__5804__auto__){\nvar seq__19276__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__19276__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__19276__$1);\nvar G__20862 \x3d cljs.core.chunk_rest(seq__19276__$1);\nvar G__20863 \x3d c__5568__auto__;\nvar G__20864 \x3d cljs.core.count(c__5568__auto__);\nvar G__20865 \x3d (0);\nseq__19276 \x3d G__20862;\nchunk__19277 \x3d G__20863;\ncount__19278 \x3d G__20864;\ni__19279 \x3d G__20865;\ncontinue;\n} else {\nvar token \x3d cljs.core.first(seq__19276__$1);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5802__auto___20866 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto___20866)){\nvar tws_20867 \x3d temp__5802__auto___20866;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_20867);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_20868 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn tws_20868;\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_20868);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__20869 \x3d cljs.core.next(seq__19276__$1);\nvar G__20870 \x3d null;\nvar G__20871 \x3d (0);\nvar G__20872 \x3d (0);\nseq__19276 \x3d G__20869;\nchunk__19277 \x3d G__20870;\ncount__19278 \x3d G__20871;\ni__19279 \x3d G__20872;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.pprint.tokens_fit_QMARK_ \x3d (function cljs$pprint$tokens_fit_QMARK_(this$,tokens){\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nreturn (((maxcol \x3d\x3d null)) || (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))) + cljs.pprint.buffer_length(tokens)) \x3c maxcol)));\n});\ncljs.pprint.linear_nl_QMARK_ \x3d (function cljs$pprint$linear_nl_QMARK_(this$,lb,section){\nvar or__5045__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (!(cljs.pprint.tokens_fit_QMARK_(this$,section)));\n}\n});\ncljs.pprint.miser_nl_QMARK_ \x3d (function cljs$pprint$miser_nl_QMARK_(this$,lb,section){\nvar miser_width \x3d cljs.pprint.get_miser_width(this$);\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nvar and__5043__auto__ \x3d miser_width;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d maxcol;\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d (cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb)) \x3e\x3d (maxcol - miser_width));\nif(and__5043__auto____$2){\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.emit_nl_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.emit_nl_QMARK_ \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__19299 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__19299.cljs$core$IFn$_invoke$arity$0 ? fexpr__19299.cljs$core$IFn$_invoke$arity$0() : fexpr__19299.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22emit-nl?\x22),(function (t,_,___$1,___$2){\nreturn new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(t);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),(function (newl,this$,section,subsection){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nvar or__5045__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,subsection)));\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}\n}\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),(function (_,___$1,___$2,___$3){\nreturn true;\n}));\ncljs.pprint.get_section \x3d (function cljs$pprint$get_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__19300_SHARP_){\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__19300_SHARP_)) \x26\x26 (cljs.pprint.ancestor_QMARK_(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__19300_SHARP_),lb)))));\n}),cljs.core.next(buffer)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [section,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((cljs.core.count(section) + (1)),buffer))], null);\n});\ncljs.pprint.get_sub_section \x3d (function cljs$pprint$get_sub_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__19301_SHARP_){\nvar nl_lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__19301_SHARP_);\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__19301_SHARP_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(nl_lb,lb)) || (cljs.pprint.ancestor_QMARK_(nl_lb,lb)))))));\n}),cljs.core.next(buffer)));\nreturn section;\n});\ncljs.pprint.update_nl_state \x3d (function cljs$pprint$update_nl_state(lb){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb),true);\n\nvar lb__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb);\nwhile(true){\nif(cljs.core.truth_(lb__$1)){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\nvar G__20895 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb__$1);\nlb__$1 \x3d G__20895;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.emit_nl \x3d (function cljs$pprint$emit_nl(this$,nl){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar istr_20896 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((cljs.core.deref(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb)) - cljs.core.count(prefix)),\x22 \x22));\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),istr_20896);\n\nreturn cljs.pprint.update_nl_state(lb);\n});\ncljs.pprint.split_at_newline \x3d (function cljs$pprint$split_at_newline(tokens){\nvar pre \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__19323_SHARP_){\nreturn (!(cljs.pprint.nl_t_QMARK_(p1__19323_SHARP_)));\n}),tokens));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(pre),tokens))], null);\n});\ncljs.pprint.write_token_string \x3d (function cljs$pprint$write_token_string(this$,tokens){\nvar vec__19332 \x3d cljs.pprint.split_at_newline(tokens);\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19332,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19332,(1),null);\nif(cljs.core.truth_(a)){\ncljs.pprint.write_tokens(this$,a,false);\n} else {\n}\n\nif(cljs.core.truth_(b)){\nvar vec__19338 \x3d cljs.pprint.get_section(b);\nvar section \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19338,(0),null);\nvar remainder \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19338,(1),null);\nvar newl \x3d cljs.core.first(b);\nvar do_nl \x3d cljs.pprint.emit_nl_QMARK_.cljs$core$IFn$_invoke$arity$4(newl,this$,section,cljs.pprint.get_sub_section(b));\nvar result \x3d (cljs.core.truth_(do_nl)?(function (){\ncljs.pprint.emit_nl(this$,newl);\n\nreturn cljs.core.next(b);\n})()\n:b);\nvar long_section \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,result)));\nvar result__$1 \x3d ((long_section)?(function (){var rem2 \x3d (cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2(this$,section) : cljs.pprint.write_token_string.call(null,this$,section));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(rem2,section)){\ncljs.pprint.write_tokens(this$,section,false);\n\nreturn remainder;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(rem2,remainder));\n}\n})():result);\nreturn result__$1;\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_line \x3d (function cljs$pprint$write_line(this$){\nvar buffer \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nwhile(true){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,buffer));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,buffer)))){\nvar new_buffer \x3d cljs.pprint.write_token_string(this$,buffer);\nif((!((buffer \x3d\x3d\x3d new_buffer)))){\nvar G__20897 \x3d new_buffer;\nbuffer \x3d G__20897;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.add_to_buffer \x3d (function cljs$pprint$add_to_buffer(this$,token){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),token));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))))){\nreturn cljs.pprint.write_line(this$);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_buffered_output \x3d (function cljs$pprint$write_buffered_output(this$){\ncljs.pprint.write_line(this$);\n\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar buf \x3d temp__5802__auto__;\ncljs.pprint.write_tokens(this$,buf,true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_white_space \x3d (function cljs$pprint$write_white_space(this$){\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar tws \x3d temp__5804__auto__;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_initial_lines \x3d (function cljs$pprint$write_initial_lines(this$,s){\nvar lines \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,\x22\\n\x22,(-1));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(lines),(1))){\nreturn s;\n} else {\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(cljs.core.first(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))));\nvar l \x3d cljs.core.first(lines);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))){\nvar oldpos_20898 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_20899 \x3d (oldpos_20898 + cljs.core.count(l));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_20899);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(l,null,oldpos_20898,newpos_20899));\n\ncljs.pprint.write_buffered_output(this$);\n} else {\ncljs.pprint.write_white_space(this$);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l);\n}\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),\x22\\n\x22);\n\nvar seq__19364_20902 \x3d cljs.core.seq(cljs.core.next(cljs.core.butlast(lines)));\nvar chunk__19365_20903 \x3d null;\nvar count__19366_20904 \x3d (0);\nvar i__19367_20905 \x3d (0);\nwhile(true){\nif((i__19367_20905 \x3c count__19366_20904)){\nvar l_20907__$1 \x3d chunk__19365_20903.cljs$core$IIndexed$_nth$arity$2(null,i__19367_20905);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_20907__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__20908 \x3d seq__19364_20902;\nvar G__20909 \x3d chunk__19365_20903;\nvar G__20910 \x3d count__19366_20904;\nvar G__20911 \x3d (i__19367_20905 + (1));\nseq__19364_20902 \x3d G__20908;\nchunk__19365_20903 \x3d G__20909;\ncount__19366_20904 \x3d G__20910;\ni__19367_20905 \x3d G__20911;\ncontinue;\n} else {\nvar temp__5804__auto___20912 \x3d cljs.core.seq(seq__19364_20902);\nif(temp__5804__auto___20912){\nvar seq__19364_20913__$1 \x3d temp__5804__auto___20912;\nif(cljs.core.chunked_seq_QMARK_(seq__19364_20913__$1)){\nvar c__5568__auto___20914 \x3d cljs.core.chunk_first(seq__19364_20913__$1);\nvar G__20915 \x3d cljs.core.chunk_rest(seq__19364_20913__$1);\nvar G__20916 \x3d c__5568__auto___20914;\nvar G__20917 \x3d cljs.core.count(c__5568__auto___20914);\nvar G__20918 \x3d (0);\nseq__19364_20902 \x3d G__20915;\nchunk__19365_20903 \x3d G__20916;\ncount__19366_20904 \x3d G__20917;\ni__19367_20905 \x3d G__20918;\ncontinue;\n} else {\nvar l_20919__$1 \x3d cljs.core.first(seq__19364_20913__$1);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_20919__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__20920 \x3d cljs.core.next(seq__19364_20913__$1);\nvar G__20921 \x3d null;\nvar G__20922 \x3d (0);\nvar G__20923 \x3d (0);\nseq__19364_20902 \x3d G__20920;\nchunk__19365_20903 \x3d G__20921;\ncount__19366_20904 \x3d G__20922;\ni__19367_20905 \x3d G__20923;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108));\n\nreturn cljs.core.last(lines);\n}\n});\ncljs.pprint.p_write_char \x3d (function cljs$pprint$p_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),c);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\nreturn cljs.pprint.write_initial_lines(this$,\x22\\n\x22);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (1));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(cljs.core.char$(c),null,oldpos,newpos));\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.pprint.IPrettyFlush}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint19388 \x3d (function (writer,max_columns,miser_width,lb,fields,meta19389){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.miser_width \x3d miser_width;\nthis.lb \x3d lb;\nthis.fields \x3d fields;\nthis.meta19389 \x3d meta19389;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint19388.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19390,meta19389__$1){\nvar self__ \x3d this;\nvar _19390__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint19388(self__.writer,self__.max_columns,self__.miser_width,self__.lb,self__.fields,meta19389__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint19388.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19390){\nvar self__ \x3d this;\nvar _19390__$1 \x3d this;\nreturn self__.meta19389;\n}));\n\n(cljs.pprint.t_cljs$pprint19388.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint19388.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__19391 \x3d cljs.core._EQ_;\nvar expr__19392 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__19391.cljs$core$IFn$_invoke$arity$2 ? pred__19391.cljs$core$IFn$_invoke$arity$2(String,expr__19392) : pred__19391.call(null,String,expr__19392)))){\nvar s0 \x3d cljs.pprint.write_initial_lines(this$__$1,x);\nvar s \x3d clojure.string.replace_first(s0,/\\s+$/,\x22\x22);\nvar white_space \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s0,((s).length));\nvar mode \x3d new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),s);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),white_space);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nvar newpos \x3d (oldpos + cljs.core.count(s0));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$__$1,cljs.pprint.make_buffer_blob(s,white_space,oldpos,newpos));\n}\n} else {\nif(cljs.core.truth_((pred__19391.cljs$core$IFn$_invoke$arity$2 ? pred__19391.cljs$core$IFn$_invoke$arity$2(Number,expr__19392) : pred__19391.call(null,Number,expr__19392)))){\nreturn cljs.pprint.p_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__19392)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint19388.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthis$__$1.cljs$pprint$IPrettyFlush$_ppflush$arity$1(null);\n\nreturn cljs.core._flush(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))));\n}));\n\n(cljs.pprint.t_cljs$pprint19388.prototype.cljs$pprint$IPrettyFlush$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.pprint.t_cljs$pprint19388.prototype.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613))){\ncljs.pprint.write_tokens(this$__$1,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn cljs.pprint.write_white_space(this$__$1);\n}\n}));\n\n(cljs.pprint.t_cljs$pprint19388.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22miser-width\x22,\x22miser-width\x22,330482090,null),new cljs.core.Symbol(null,\x22lb\x22,\x22lb\x22,950310490,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta19389\x22,\x22meta19389\x22,-199379279,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint19388.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint19388.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint19388\x22);\n\n(cljs.pprint.t_cljs$pprint19388.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint19388\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint19388.\n */\ncljs.pprint.__GT_t_cljs$pprint19388 \x3d (function cljs$pprint$__GT_t_cljs$pprint19388(writer,max_columns,miser_width,lb,fields,meta19389){\nreturn (new cljs.pprint.t_cljs$pprint19388(writer,max_columns,miser_width,lb,fields,meta19389));\n});\n\n\ncljs.pprint.pretty_writer \x3d (function cljs$pprint$pretty_writer(writer,max_columns,miser_width){\nvar lb \x3d (new cljs.pprint.logical_block(null,null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),null,null,null,null,null,null,null));\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437),new cljs.core.Keyword(null,\x22buffer-block\x22,\x22buffer-block\x22,-10937307),new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267),new cljs.core.Keyword(null,\x22sections\x22,\x22sections\x22,-886710106),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.Keyword(null,\x22buffer-level\x22,\x22buffer-level\x22,928864731),new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198)],[lb,miser_width,lb,true,null,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108),(0),null,cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,max_columns),(1),cljs.core.PersistentVector.EMPTY]));\nreturn (new cljs.pprint.t_cljs$pprint19388(writer,max_columns,miser_width,lb,fields,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.start_block \x3d (function cljs$pprint$start_block(this$,prefix,per_line_prefix,suffix){\nvar lb \x3d (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),prefix,per_line_prefix,suffix,null,null,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),lb);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nvar temp__5804__auto___20932 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___20932)){\nvar cb_20933 \x3d temp__5804__auto___20932;\n(cb_20933.cljs$core$IFn$_invoke$arity$1 ? cb_20933.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_20933.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(lb.start_col,col);\n\nreturn cljs.core.reset_BANG_(lb.indent,col);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (cljs.core.truth_(prefix)?cljs.core.count(prefix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_start_block_t(lb,oldpos,newpos));\n}\n});\ncljs.pprint.end_block \x3d (function cljs$pprint$end_block(this$){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar suffix \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nif(cljs.core.truth_(suffix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\n}\n\nvar temp__5804__auto___20934 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5804__auto___20934)){\nvar cb_20935 \x3d temp__5804__auto___20934;\n(cb_20935.cljs$core$IFn$_invoke$arity$1 ? cb_20935.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_20935.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n} else {\nvar oldpos_20936 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_20937 \x3d (oldpos_20936 + (cljs.core.truth_(suffix)?cljs.core.count(suffix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_20937);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_end_block_t(lb,oldpos_20936,newpos_20937));\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb));\n});\ncljs.pprint.nl \x3d (function cljs$pprint$nl(this$,type){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613));\n\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_nl_t(type,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),pos,pos));\n});\ncljs.pprint.indent \x3d (function cljs$pprint$indent(this$,relative_to,offset){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(offset + (function (){var pred__19401 \x3d cljs.core._EQ_;\nvar expr__19402 \x3d relative_to;\nif(cljs.core.truth_((pred__19401.cljs$core$IFn$_invoke$arity$2 ? pred__19401.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__19402) : pred__19401.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__19402)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__19401.cljs$core$IFn$_invoke$arity$2 ? pred__19401.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__19402) : pred__19401.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__19402)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__19402)].join(\x27\x27)));\n}\n}\n})()));\n} else {\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_indent_t(lb,relative_to,offset,pos,pos));\n}\n});\ncljs.pprint.get_miser_width \x3d (function cljs$pprint$get_miser_width(this$){\nreturn new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\n});\n/**\n * Bind to true if you want write to use pretty printing\n */\ncljs.pprint._STAR_print_pretty_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint._STAR_print_pprint_dispatch_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function. Use with-pprint-dispatch or\n * set-pprint-dispatch to modify.\n */\ncljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d null;\n}\n/**\n * Pretty printing will try to avoid anything going beyond this column.\n * Set it to nil to have pprint let the line be arbitrarily long. This will ignore all\n * non-mandatory newlines.\n */\ncljs.pprint._STAR_print_right_margin_STAR_ \x3d (72);\n/**\n * The column at which to enter miser style. Depending on the dispatch table,\n * miser style add newlines in more places to try to keep lines short allowing for further\n * levels of nesting.\n */\ncljs.pprint._STAR_print_miser_width_STAR_ \x3d (40);\n/**\n * Maximum number of lines to print in a pretty print instance (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_lines_STAR_ \x3d null;\n/**\n * Mark circular structures (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_circle_STAR_ \x3d null;\n/**\n * Mark repeated structures rather than repeat them (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_shared_STAR_ \x3d null;\n/**\n * Don\x27t print namespaces with symbols. This is particularly useful when\n * pretty printing the results of macro expansions\n */\ncljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d null;\n/**\n * Print a radix specifier in front of integers and rationals. If *print-base* is 2, 8,\n * or 16, then the radix specifier used is #b, #o, or #x, respectively. Otherwise the\n * radix specifier is in the form #XXr where XX is the decimal value of *print-base* \n */\ncljs.pprint._STAR_print_radix_STAR_ \x3d null;\n/**\n * The base to use for printing integers and rationals.\n */\ncljs.pprint._STAR_print_base_STAR_ \x3d (10);\ncljs.pprint._STAR_current_level_STAR_ \x3d (0);\ncljs.pprint._STAR_current_length_STAR_ \x3d null;\ncljs.pprint.table_ize \x3d (function cljs$pprint$table_ize(t,m){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__19410_SHARP_){\nvar temp__5804__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(t,cljs.core.key(p1__19410_SHARP_));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar v \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,cljs.core.val(p1__19410_SHARP_)], null);\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m], 0)));\n});\n/**\n * Return true iff x is a PrettyWriter\n */\ncljs.pprint.pretty_writer_QMARK_ \x3d (function cljs$pprint$pretty_writer_QMARK_(x){\nvar and__5043__auto__ \x3d (((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IDeref$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x));\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(x)));\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Wrap base-writer in a PrettyWriter with the specified right-margin and miser-width\n */\ncljs.pprint.make_pretty_writer \x3d (function cljs$pprint$make_pretty_writer(base_writer,right_margin,miser_width){\nreturn cljs.pprint.pretty_writer(base_writer,right_margin,miser_width);\n});\n/**\n * Write an object to *out* subject to the current bindings of the printer control\n * variables. Use the kw-args argument to override individual variables for this call (and\n * any recursive calls).\n * \n * *out* must be a PrettyWriter if pretty printing is enabled. This is the responsibility\n * of the caller.\n * \n * This method is primarily intended for use by pretty print dispatch functions that\n * already know that the pretty printer will have set up their environment appropriately.\n * Normal library clients should use the standard \x22write\x22 interface. \n */\ncljs.pprint.write_out \x3d (function cljs$pprint$write_out(object){\nvar length_reached \x3d (function (){var and__5043__auto__ \x3d cljs.pprint._STAR_current_length_STAR_;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d cljs.core._STAR_print_length_STAR_;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (cljs.pprint._STAR_current_length_STAR_ \x3e\x3d cljs.core._STAR_print_length_STAR_);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.not(cljs.pprint._STAR_print_pretty_STAR_)){\ncljs.pprint.pr.call(null,object);\n} else {\nif(cljs.core.truth_(length_reached)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_current_length_STAR_)){\n(cljs.pprint._STAR_current_length_STAR_ \x3d (cljs.pprint._STAR_current_length_STAR_ + (1)));\n} else {\n}\n\ncljs.pprint._STAR_print_pprint_dispatch_STAR_.call(null,object);\n}\n}\n\nreturn length_reached;\n});\n/**\n * Write an object subject to the current bindings of the printer control variables.\n * Use the kw-args argument to override individual variables for this call (and any\n * recursive calls). Returns the string result if :stream is nil or nil otherwise.\n * \n * The following keyword arguments can be passed with values:\n * Keyword Meaning Default value\n * :stream Writer for output or nil true (indicates *out*)\n * :base Base to use for writing rationals Current value of *print-base*\n * :circle* If true, mark circular structures Current value of *print-circle*\n * :length Maximum elements to show in sublists Current value of *print-length*\n * :level Maximum depth Current value of *print-level*\n * :lines* Maximum lines of output Current value of *print-lines*\n * :miser-width Width to enter miser mode Current value of *print-miser-width*\n * :dispatch The pretty print dispatch function Current value of *print-pprint-dispatch*\n * :pretty If true, do pretty printing Current value of *print-pretty*\n * :radix If true, prepend a radix specifier Current value of *print-radix*\n * :readably* If true, print readably Current value of *print-readably*\n * :right-margin The column for the right margin Current value of *print-right-margin*\n * :suppress-namespaces If true, no namespaces in symbols Current value of *print-suppress-namespaces*\n * \n * * \x3d not yet supported\n */\ncljs.pprint.write \x3d (function cljs$pprint$write(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20951 \x3d arguments.length;\nvar i__5770__auto___20952 \x3d (0);\nwhile(true){\nif((i__5770__auto___20952 \x3c len__5769__auto___20951)){\nargs__5775__auto__.push((arguments[i__5770__auto___20952]));\n\nvar G__20953 \x3d (i__5770__auto___20952 + (1));\ni__5770__auto___20952 \x3d G__20953;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,kw_args){\nvar options \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),true], null),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,kw_args)], 0));\nvar _STAR_print_base_STAR__orig_val__19423 \x3d cljs.pprint._STAR_print_base_STAR_;\nvar _STAR_print_circle_STAR__orig_val__19424 \x3d cljs.pprint._STAR_print_circle_STAR_;\nvar _STAR_print_length_STAR__orig_val__19425 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__19426 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_lines_STAR__orig_val__19427 \x3d cljs.pprint._STAR_print_lines_STAR_;\nvar _STAR_print_miser_width_STAR__orig_val__19428 \x3d cljs.pprint._STAR_print_miser_width_STAR_;\nvar _STAR_print_pprint_dispatch_STAR__orig_val__19429 \x3d cljs.pprint._STAR_print_pprint_dispatch_STAR_;\nvar _STAR_print_pretty_STAR__orig_val__19430 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_radix_STAR__orig_val__19431 \x3d cljs.pprint._STAR_print_radix_STAR_;\nvar _STAR_print_readably_STAR__orig_val__19432 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_right_margin_STAR__orig_val__19433 \x3d cljs.pprint._STAR_print_right_margin_STAR_;\nvar _STAR_print_suppress_namespaces_STAR__orig_val__19434 \x3d cljs.pprint._STAR_print_suppress_namespaces_STAR_;\nvar _STAR_print_base_STAR__temp_val__19435 \x3d new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_base_STAR_);\nvar _STAR_print_circle_STAR__temp_val__19436 \x3d new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_circle_STAR_);\nvar _STAR_print_length_STAR__temp_val__19437 \x3d new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_length_STAR_);\nvar _STAR_print_level_STAR__temp_val__19438 \x3d new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_level_STAR_);\nvar _STAR_print_lines_STAR__temp_val__19439 \x3d new cljs.core.Keyword(null,\x22lines\x22,\x22lines\x22,-700165781).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_lines_STAR_);\nvar _STAR_print_miser_width_STAR__temp_val__19440 \x3d new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_miser_width_STAR_);\nvar _STAR_print_pprint_dispatch_STAR__temp_val__19441 \x3d new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pprint_dispatch_STAR_);\nvar _STAR_print_pretty_STAR__temp_val__19442 \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pretty_STAR_);\nvar _STAR_print_radix_STAR__temp_val__19443 \x3d new cljs.core.Keyword(null,\x22radix\x22,\x22radix\x22,857016463).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_radix_STAR_);\nvar _STAR_print_readably_STAR__temp_val__19444 \x3d new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_readably_STAR_);\nvar _STAR_print_right_margin_STAR__temp_val__19445 \x3d new cljs.core.Keyword(null,\x22right-margin\x22,\x22right-margin\x22,-810413306).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_right_margin_STAR_);\nvar _STAR_print_suppress_namespaces_STAR__temp_val__19446 \x3d new cljs.core.Keyword(null,\x22suppress-namespaces\x22,\x22suppress-namespaces\x22,2130686956).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_suppress_namespaces_STAR_);\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__temp_val__19435);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__temp_val__19436);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__19437);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__19438);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__temp_val__19439);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__temp_val__19440);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__temp_val__19441);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__19442);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__temp_val__19443);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__19444);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__temp_val__19445);\n\n(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__temp_val__19446);\n\ntry{try{var sb \x3d (new goog.string.StringBuffer());\nvar optval \x3d ((cljs.core.contains_QMARK_(options,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648)))?new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648).cljs$core$IFn$_invoke$arity$1(options):true);\nvar base_writer \x3d ((((optval \x3d\x3d\x3d true) || ((optval \x3d\x3d null))))?(new cljs.core.StringBufferWriter(sb)):optval);\nif(cljs.core.truth_(cljs.pprint._STAR_print_pretty_STAR_)){\nvar base_writer__18761__auto___20974 \x3d base_writer;\nvar new_writer__18762__auto___20975 \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__18761__auto___20974));\nvar _STAR_out_STAR__orig_val__19452_20976 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__19453_20977 \x3d ((new_writer__18762__auto___20975)?cljs.pprint.make_pretty_writer(base_writer__18761__auto___20974,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__18761__auto___20974);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__19453_20977);\n\ntry{cljs.pprint.write_out(object);\n\ncljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__19452_20976);\n}} else {\nvar _STAR_out_STAR__orig_val__19454_20978 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__19455_20979 \x3d base_writer;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__19455_20979);\n\ntry{cljs.pprint.pr.call(null,object);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__19454_20978);\n}}\n\nif(optval \x3d\x3d\x3d true){\ncljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\n}\n\nif((optval \x3d\x3d null)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nreturn null;\n}\n}finally {}}finally {(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__orig_val__19434);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__orig_val__19433);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__19432);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__orig_val__19431);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__19430);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__orig_val__19429);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__orig_val__19428);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__orig_val__19427);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__19426);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__19425);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__orig_val__19424);\n\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__orig_val__19423);\n}}));\n\n(cljs.pprint.write.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.pprint.write.cljs$lang$applyTo \x3d (function (seq19418){\nvar G__19419 \x3d cljs.core.first(seq19418);\nvar seq19418__$1 \x3d cljs.core.next(seq19418);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__19419,seq19418__$1);\n}));\n\ncljs.pprint.pprint \x3d (function cljs$pprint$pprint(var_args){\nvar G__19470 \x3d arguments.length;\nswitch (G__19470) {\ncase 1:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1 \x3d (function (object){\nvar sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__19490 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__19491 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__19491);\n\ntry{cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(object,cljs.core._STAR_out_STAR_);\n\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__19490);\n}}));\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2 \x3d (function (object,writer){\nvar base_writer__18761__auto__ \x3d writer;\nvar new_writer__18762__auto__ \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__18761__auto__));\nvar _STAR_out_STAR__orig_val__19496 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__19497 \x3d ((new_writer__18762__auto__)?cljs.pprint.make_pretty_writer(base_writer__18761__auto__,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__18761__auto__);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__19497);\n\ntry{var _STAR_print_pretty_STAR__orig_val__19498_20984 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_pretty_STAR__temp_val__19499_20985 \x3d true;\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__19499_20985);\n\ntry{cljs.pprint.write_out(object);\n}finally {(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__19498_20984);\n}\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(cljs.core._STAR_out_STAR_))))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n} else {\n}\n\nreturn cljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__19496);\n}}));\n\n(cljs.pprint.pprint.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.pprint.set_pprint_dispatch \x3d (function cljs$pprint$set_pprint_dispatch(function$){\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d function$);\n\nreturn null;\n});\ncljs.pprint.check_enumerated_arg \x3d (function cljs$pprint$check_enumerated_arg(arg,choices){\nif(cljs.core.not((choices.cljs$core$IFn$_invoke$arity$1 ? choices.cljs$core$IFn$_invoke$arity$1(arg) : choices.call(null,arg)))){\nthrow (new Error([\x22Bad argument: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arg),\x22. It must be one of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(choices)].join(\x27\x27)));\n} else {\nreturn null;\n}\n});\ncljs.pprint.level_exceeded \x3d (function cljs$pprint$level_exceeded(){\nvar and__5043__auto__ \x3d cljs.core._STAR_print_level_STAR_;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (cljs.pprint._STAR_current_level_STAR_ \x3e\x3d cljs.core._STAR_print_level_STAR_);\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Print a conditional newline to a pretty printing stream. kind specifies if the\n * newline is :linear, :miser, :fill, or :mandatory.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_newline \x3d (function cljs$pprint$pprint_newline(kind){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),null], null), null));\n\nreturn cljs.pprint.nl(cljs.core._STAR_out_STAR_,kind);\n});\n/**\n * Create an indent at this point in the pretty printing stream. This defines how\n * following lines are indented. relative-to can be either :block or :current depending\n * whether the indent should be computed relative to the start of the logical block or\n * the current column position. n is an offset.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_indent \x3d (function cljs$pprint$pprint_indent(relative_to,n){\ncljs.pprint.check_enumerated_arg(relative_to,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),null], null), null));\n\nreturn cljs.pprint.indent(cljs.core._STAR_out_STAR_,relative_to,n);\n});\n/**\n * Tab at this point in the pretty printing stream. kind specifies whether the tab\n * is :line, :section, :line-relative, or :section-relative.\n * \n * Colnum and colinc specify the target column and the increment to move the target\n * forward if the output is already past the original target.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n * \n * THIS FUNCTION IS NOT YET IMPLEMENTED.\n */\ncljs.pprint.pprint_tab \x3d (function cljs$pprint$pprint_tab(kind,colnum,colinc){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22line-relative\x22,\x22line-relative\x22,1149548219),null,new cljs.core.Keyword(null,\x22section-relative\x22,\x22section-relative\x22,-658298724),null], null), null));\n\nthrow (new Error(\x22pprint-tab is not yet implemented\x22));\n});\n/**\n * An implementation of a Common Lisp compatible format function. cl-format formats its\n * arguments to an output stream or string based on the format control string given. It\n * supports sophisticated formatting of structured data.\n * \n * Writer satisfies IWriter, true to output via *print-fn* or nil to output\n * to a string, format-in is the format control string and the remaining arguments\n * are the data to be formatted.\n * \n * The format control string is a string to be output with embedded \x27format directives\x27\n * describing how to format the various arguments passed in.\n * \n * If writer is nil, cl-format returns the formatted result string. Otherwise, cl-format\n * returns nil.\n * \n * For example:\n * (let [results [46 38 22]]\n * (cl-format true \x22There ~[are~;is~:;are~]~:* ~d result~:p: ~{~d~^, ~}~%\x22\n * (count results) results))\n * \n * Prints via *print-fn*:\n * There are 3 results: 46, 38, 22\n * \n * Detailed documentation on format control strings is available in the \x22Common Lisp the\n * Language, 2nd edition\x22, Chapter 22 (available online at:\n * http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node200.html#SECTION002633000000000000000)\n * and in the Common Lisp HyperSpec at\n * http://www.lispworks.com/documentation/HyperSpec/Body/22_c.htm\n */\ncljs.pprint.cl_format \x3d (function cljs$pprint$cl_format(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20988 \x3d arguments.length;\nvar i__5770__auto___20989 \x3d (0);\nwhile(true){\nif((i__5770__auto___20989 \x3c len__5769__auto___20988)){\nargs__5775__auto__.push((arguments[i__5770__auto___20989]));\n\nvar G__20990 \x3d (i__5770__auto___20989 + (1));\ni__5770__auto___20989 \x3d G__20990;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((2) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((2)),(0),null)):null);\nreturn cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5776__auto__);\n});\n\n(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,format_in,args){\nvar compiled_format \x3d ((typeof format_in \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(format_in):format_in);\nvar navigator__$1 \x3d cljs.pprint.init_navigator(args);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3(writer,compiled_format,navigator__$1);\n}));\n\n(cljs.pprint.cl_format.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.pprint.cl_format.cljs$lang$applyTo \x3d (function (seq19508){\nvar G__19509 \x3d cljs.core.first(seq19508);\nvar seq19508__$1 \x3d cljs.core.next(seq19508);\nvar G__19510 \x3d cljs.core.first(seq19508__$1);\nvar seq19508__$2 \x3d cljs.core.next(seq19508__$1);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__19509,G__19510,seq19508__$2);\n}));\n\ncljs.pprint._STAR_format_str_STAR_ \x3d null;\ncljs.pprint.format_error \x3d (function cljs$pprint$format_error(message,offset){\nvar full_message \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(message),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_format_str_STAR_),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(offset,\x22 \x22))),\x22^\x22,\x22\\n\x22].join(\x27\x27);\nthrow Error(full_message);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.arg_navigator \x3d (function (seq,rest,pos,__meta,__extmap,__hash){\nthis.seq \x3d seq;\nthis.rest \x3d rest;\nthis.pos \x3d pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k19514,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__19520 \x3d k19514;\nvar G__19520__$1 \x3d (((G__19520 instanceof cljs.core.Keyword))?G__19520.fqn:null);\nswitch (G__19520__$1) {\ncase \x22seq\x22:\nreturn self__.seq;\n\nbreak;\ncase \x22rest\x22:\nreturn self__.rest;\n\nbreak;\ncase \x22pos\x22:\nreturn self__.pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k19514,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__19524){\nvar vec__19525 \x3d p__19524;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19525,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19525,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.arg-navigator{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__19513){\nvar self__ \x3d this;\nvar G__19513__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__19513__$1,3,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (3 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-402038447 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this19515,other19516){\nvar self__ \x3d this;\nvar this19515__$1 \x3d this;\nreturn (((!((other19516 \x3d\x3d null)))) \x26\x26 ((((this19515__$1.constructor \x3d\x3d\x3d other19516.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19515__$1.seq,other19516.seq)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19515__$1.rest,other19516.rest)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19515__$1.pos,other19516.pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19515__$1.__extmap,other19516.__extmap)))))))))));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k19514){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__19533 \x3d k19514;\nvar G__19533__$1 \x3d (((G__19533 instanceof cljs.core.Keyword))?G__19533.fqn:null);\nswitch (G__19533__$1) {\ncase \x22seq\x22:\ncase \x22rest\x22:\ncase \x22pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k19514);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__19513){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__19536 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__19537 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__19536.cljs$core$IFn$_invoke$arity$2 ? pred__19536.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__19537) : pred__19536.call(null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__19537)))){\nreturn (new cljs.pprint.arg_navigator(G__19513,self__.rest,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19536.cljs$core$IFn$_invoke$arity$2 ? pred__19536.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__19537) : pred__19536.call(null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__19537)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,G__19513,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19536.cljs$core$IFn$_invoke$arity$2 ? pred__19536.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__19537) : pred__19536.call(null,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__19537)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,G__19513,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__19513),null));\n}\n}\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__19513){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,G__19513,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.arg_navigator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22seq\x22,\x22seq\x22,-177272256,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22pos\x22,\x22pos\x22,775924307,null)], null);\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$type \x3d true);\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/arg-navigator\x22,null,(1),null));\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/arg-navigator\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/arg-navigator.\n */\ncljs.pprint.__GT_arg_navigator \x3d (function cljs$pprint$__GT_arg_navigator(seq,rest,pos){\nreturn (new cljs.pprint.arg_navigator(seq,rest,pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/arg-navigator, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_arg_navigator \x3d (function cljs$pprint$map__GT_arg_navigator(G__19517){\nvar extmap__5385__auto__ \x3d (function (){var G__19544 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__19517,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], 0));\nif(cljs.core.record_QMARK_(G__19517)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__19544);\n} else {\nreturn G__19544;\n}\n})();\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(G__19517),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(G__19517),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(G__19517),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\n/**\n * Create a new arg-navigator from the sequence with the position set to 0\n */\ncljs.pprint.init_navigator \x3d (function cljs$pprint$init_navigator(s){\nvar s__$1 \x3d cljs.core.seq(s);\nreturn (new cljs.pprint.arg_navigator(s__$1,s__$1,(0),null,null,null));\n});\ncljs.pprint.next_arg \x3d (function cljs$pprint$next_arg(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nthrow Error(\x22Not enough arguments for format definition\x22);\n}\n});\ncljs.pprint.next_arg_or_nil \x3d (function cljs$pprint$next_arg_or_nil(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,navigator], null);\n}\n});\ncljs.pprint.get_format_arg \x3d (function cljs$pprint$get_format_arg(navigator){\nvar vec__19549 \x3d cljs.pprint.next_arg(navigator);\nvar raw_format \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19549,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19549,(1),null);\nvar compiled_format \x3d ((typeof raw_format \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(raw_format):raw_format);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [compiled_format,navigator__$1], null);\n});\ncljs.pprint.absolute_reposition \x3d (function cljs$pprint$absolute_reposition(navigator,position){\nif((position \x3e\x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator))){\nvar G__19556 \x3d navigator;\nvar G__19557 \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) - position);\nreturn (cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2(G__19556,G__19557) : cljs.pprint.relative_reposition.call(null,G__19556,G__19557));\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator)),position,null,null,null));\n}\n});\ncljs.pprint.relative_reposition \x3d (function cljs$pprint$relative_reposition(navigator,position){\nvar newpos \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + position);\nif((position \x3c (0))){\nreturn cljs.pprint.absolute_reposition(navigator,newpos);\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),newpos,null,null,null));\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.compiled_directive \x3d (function (func,def,params,offset,__meta,__extmap,__hash){\nthis.func \x3d func;\nthis.def \x3d def;\nthis.params \x3d params;\nthis.offset \x3d offset;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k19559,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__19564 \x3d k19559;\nvar G__19564__$1 \x3d (((G__19564 instanceof cljs.core.Keyword))?G__19564.fqn:null);\nswitch (G__19564__$1) {\ncase \x22func\x22:\nreturn self__.func;\n\nbreak;\ncase \x22def\x22:\nreturn self__.def;\n\nbreak;\ncase \x22params\x22:\nreturn self__.params;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k19559,else__5346__auto__);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__19566){\nvar vec__19567 \x3d p__19566;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19567,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19567,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#cljs.pprint.compiled-directive{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__19558){\nvar self__ \x3d this;\nvar G__19558__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__19558__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (-829256337 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this19560,other19561){\nvar self__ \x3d this;\nvar this19560__$1 \x3d this;\nreturn (((!((other19561 \x3d\x3d null)))) \x26\x26 ((((this19560__$1.constructor \x3d\x3d\x3d other19561.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19560__$1.func,other19561.func)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19560__$1.def,other19561.def)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19560__$1.params,other19561.params)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19560__$1.offset,other19561.offset)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this19560__$1.__extmap,other19561.__extmap)))))))))))));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k19559){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__19573 \x3d k19559;\nvar G__19573__$1 \x3d (((G__19573 instanceof cljs.core.Keyword))?G__19573.fqn:null);\nswitch (G__19573__$1) {\ncase \x22func\x22:\ncase \x22def\x22:\ncase \x22params\x22:\ncase \x22offset\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k19559);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__19558){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__19574 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__19575 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__19574.cljs$core$IFn$_invoke$arity$2 ? pred__19574.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__19575) : pred__19574.call(null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__19575)))){\nreturn (new cljs.pprint.compiled_directive(G__19558,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19574.cljs$core$IFn$_invoke$arity$2 ? pred__19574.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__19575) : pred__19574.call(null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__19575)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,G__19558,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19574.cljs$core$IFn$_invoke$arity$2 ? pred__19574.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__19575) : pred__19574.call(null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__19575)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,G__19558,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__19574.cljs$core$IFn$_invoke$arity$2 ? pred__19574.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__19575) : pred__19574.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__19575)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,G__19558,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__19558),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__19558){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,G__19558,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(cljs.pprint.compiled_directive.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22func\x22,\x22func\x22,1401825487,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22params\x22,\x22params\x22,-1943919534,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null)], null);\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$type \x3d true);\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/compiled-directive\x22,null,(1),null));\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22cljs.pprint/compiled-directive\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/compiled-directive.\n */\ncljs.pprint.__GT_compiled_directive \x3d (function cljs$pprint$__GT_compiled_directive(func,def,params,offset){\nreturn (new cljs.pprint.compiled_directive(func,def,params,offset,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/compiled-directive, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_compiled_directive \x3d (function cljs$pprint$map__GT_compiled_directive(G__19562){\nvar extmap__5385__auto__ \x3d (function (){var G__19577 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__19562,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], 0));\nif(cljs.core.record_QMARK_(G__19562)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__19577);\n} else {\nreturn G__19577;\n}\n})();\nreturn (new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(G__19562),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(G__19562),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(G__19562),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__19562),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\ncljs.pprint.realize_parameter \x3d (function cljs$pprint$realize_parameter(p__19579,navigator){\nvar vec__19580 \x3d p__19579;\nvar param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19580,(0),null);\nvar vec__19583 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19580,(1),null);\nvar raw_val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19583,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19583,(1),null);\nvar vec__19586 \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),param))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196)))?cljs.pprint.next_arg(navigator):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.count(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),navigator], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null)\n)));\nvar real_param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19586,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19586,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [real_param,offset], null)], null),new_navigator], null);\n});\ncljs.pprint.realize_parameter_list \x3d (function cljs$pprint$realize_parameter_list(parameter_map,navigator){\nvar vec__19589 \x3d cljs.pprint.map_passing_context(cljs.pprint.realize_parameter,navigator,parameter_map);\nvar pairs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19589,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19589,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,pairs),new_navigator], null);\n});\ncljs.pprint.special_radix_markers \x3d new cljs.core.PersistentArrayMap(null, 3, [(2),\x22#b\x22,(8),\x22#o\x22,(16),\x22#x\x22], null);\ncljs.pprint.format_simple_number \x3d (function cljs$pprint$format_simple_number(n){\nif(cljs.core.integer_QMARK_(n)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.pprint._STAR_print_base_STAR_,(10))){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),(cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?\x22.\x22:null)].join(\x27\x27);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?(function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_radix_markers,cljs.pprint._STAR_print_base_STAR_);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn [\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_print_base_STAR_),\x22r\x22].join(\x27\x27);\n}\n})():null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.opt_base_str(cljs.pprint._STAR_print_base_STAR_,n))].join(\x27\x27);\n}\n} else {\nreturn null;\n\n}\n});\ncljs.pprint.format_ascii \x3d (function cljs$pprint$format_ascii(print_func,params,arg_navigator,offsets){\nvar vec__19599 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19599,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19599,(1),null);\nvar base_output \x3d (function (){var or__5045__auto__ \x3d cljs.pprint.format_simple_number(arg);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (print_func.cljs$core$IFn$_invoke$arity$1 ? print_func.cljs$core$IFn$_invoke$arity$1(arg) : print_func.call(null,arg));\n}\n})();\nvar base_width \x3d base_output.length;\nvar min_width \x3d (base_width + new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params));\nvar width \x3d (((min_width \x3e\x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?min_width:(min_width + ((cljs.core.quot(((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - min_width) - (1)),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params)) + (1)) * new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params))));\nvar chars \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((width - base_width),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars),cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output)].join(\x27\x27)], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output),cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars)].join(\x27\x27)], 0));\n}\n\nreturn arg_navigator__$1;\n});\n/**\n * returns true if a number is actually an integer (that is, has no fractional part)\n */\ncljs.pprint.integral_QMARK_ \x3d (function cljs$pprint$integral_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn true;\n} else {\nif(cljs.pprint.float_QMARK_(x)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,Math.floor(x));\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Return the list of remainders (essentially the \x27digits\x27) of val in the given base\n */\ncljs.pprint.remainders \x3d (function cljs$pprint$remainders(base,val){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (p1__19602_SHARP_){\nif((p1__19602_SHARP_ \x3e (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rem(p1__19602_SHARP_,base),cljs.core.quot(p1__19602_SHARP_,base)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n}\n}),val)));\n});\n/**\n * Return val as a string in the given base\n */\ncljs.pprint.base_str \x3d (function cljs$pprint$base_str(base,val){\nif((val \x3d\x3d\x3d (0))){\nreturn \x220\x22;\n} else {\nvar xlated_val \x3d val\n;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__19603_SHARP_){\nif((p1__19603_SHARP_ \x3c (10))){\nreturn cljs.core.char$((cljs.pprint.char_code(\x220\x22) + p1__19603_SHARP_));\n} else {\nreturn cljs.core.char$((cljs.pprint.char_code(\x22a\x22) + (p1__19603_SHARP_ - (10))));\n}\n}),cljs.pprint.remainders(base,val)));\n}\n});\ncljs.pprint.javascript_base_formats \x3d new cljs.core.PersistentArrayMap(null, 3, [(8),\x22%o\x22,(10),\x22%d\x22,(16),\x22%x\x22], null);\n/**\n * Return val as a string in the given base. No cljs format, so no improved performance.\n */\ncljs.pprint.opt_base_str \x3d (function cljs$pprint$opt_base_str(base,val){\nreturn cljs.pprint.base_str(base,val);\n});\ncljs.pprint.group_by_STAR_ \x3d (function cljs$pprint$group_by_STAR_(unit,lis){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (x){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.reverse(cljs.core.take.cljs$core$IFn$_invoke$arity$2(unit,x))),cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(unit,x))], null);\n}),cljs.core.reverse(lis))));\n});\ncljs.pprint.format_integer \x3d (function cljs$pprint$format_integer(base,params,arg_navigator,offsets){\nvar vec__19605 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19605,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19605,(1),null);\nif(cljs.pprint.integral_QMARK_(arg)){\nvar neg_21008 \x3d (arg \x3c (0));\nvar pos_arg_21009 \x3d ((neg_21008)?(- arg):arg);\nvar raw_str_21010 \x3d cljs.pprint.opt_base_str(base,pos_arg_21009);\nvar group_str_21011 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(function (){var groups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__19604_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,p1__19604_SHARP_);\n}),cljs.pprint.group_by_STAR_(new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083).cljs$core$IFn$_invoke$arity$1(params),raw_str_21010));\nvar commas \x3d cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.count(groups),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327).cljs$core$IFn$_invoke$arity$1(params));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.next(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(commas,groups)));\n})():raw_str_21010);\nvar signed_str_21012 \x3d ((neg_21008)?[\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_21011)].join(\x27\x27):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?[\x22+\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_21011)].join(\x27\x27):group_str_21011\n));\nvar padded_str_21013 \x3d (((signed_str_21012.length \x3c new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - signed_str_21012.length),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(signed_str_21012)].join(\x27\x27):signed_str_21012);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([padded_str_21013], 0));\n} else {\ncljs.pprint.format_ascii(cljs.core.print_str,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),(1),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),null);\n}\n\nreturn arg_navigator__$1;\n});\ncljs.pprint.english_cardinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zero\x22,\x22one\x22,\x22two\x22,\x22three\x22,\x22four\x22,\x22five\x22,\x22six\x22,\x22seven\x22,\x22eight\x22,\x22nine\x22,\x22ten\x22,\x22eleven\x22,\x22twelve\x22,\x22thirteen\x22,\x22fourteen\x22,\x22fifteen\x22,\x22sixteen\x22,\x22seventeen\x22,\x22eighteen\x22,\x22nineteen\x22], null);\ncljs.pprint.english_ordinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zeroth\x22,\x22first\x22,\x22second\x22,\x22third\x22,\x22fourth\x22,\x22fifth\x22,\x22sixth\x22,\x22seventh\x22,\x22eighth\x22,\x22ninth\x22,\x22tenth\x22,\x22eleventh\x22,\x22twelfth\x22,\x22thirteenth\x22,\x22fourteenth\x22,\x22fifteenth\x22,\x22sixteenth\x22,\x22seventeenth\x22,\x22eighteenth\x22,\x22nineteenth\x22], null);\ncljs.pprint.english_cardinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twenty\x22,\x22thirty\x22,\x22forty\x22,\x22fifty\x22,\x22sixty\x22,\x22seventy\x22,\x22eighty\x22,\x22ninety\x22], null);\ncljs.pprint.english_ordinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twentieth\x22,\x22thirtieth\x22,\x22fortieth\x22,\x22fiftieth\x22,\x22sixtieth\x22,\x22seventieth\x22,\x22eightieth\x22,\x22ninetieth\x22], null);\ncljs.pprint.english_scale_numbers \x3d new cljs.core.PersistentVector(null, 22, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22thousand\x22,\x22million\x22,\x22billion\x22,\x22trillion\x22,\x22quadrillion\x22,\x22quintillion\x22,\x22sextillion\x22,\x22septillion\x22,\x22octillion\x22,\x22nonillion\x22,\x22decillion\x22,\x22undecillion\x22,\x22duodecillion\x22,\x22tredecillion\x22,\x22quattuordecillion\x22,\x22quindecillion\x22,\x22sexdecillion\x22,\x22septendecillion\x22,\x22octodecillion\x22,\x22novemdecillion\x22,\x22vigintillion\x22], null);\n/**\n * Convert a number less than 1000 to a cardinal english string\n */\ncljs.pprint.format_simple_cardinal \x3d (function cljs$pprint$format_simple_cardinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,unit_digit):null))].join(\x27\x27);\n})()):null))].join(\x27\x27);\n});\n/**\n * Take a sequence of parts, add scale numbers (e.g., million) and combine into a string\n * offset is a factor of 10^3 to multiply by\n */\ncljs.pprint.add_english_scales \x3d (function cljs$pprint$add_english_scales(parts,offset){\nvar cnt \x3d cljs.core.count(parts);\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar pos \x3d (cnt - (1));\nvar this$ \x3d cljs.core.first(parts);\nvar remainder \x3d cljs.core.next(parts);\nwhile(true){\nif((remainder \x3d\x3d null)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,acc))),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 ((!(cljs.core.empty_QMARK_(acc))))))?\x22, \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 (((pos + offset) \x3e (0)))))?[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27):null)].join(\x27\x27);\n} else {\nvar G__21014 \x3d ((cljs.core.empty_QMARK_(this$))?acc:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27)));\nvar G__21015 \x3d (pos - (1));\nvar G__21016 \x3d cljs.core.first(remainder);\nvar G__21017 \x3d cljs.core.next(remainder);\nacc \x3d G__21014;\npos \x3d G__21015;\nthis$ \x3d G__21016;\nremainder \x3d G__21017;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.format_cardinal_english \x3d (function cljs$pprint$format_cardinal_english(params,navigator,offsets){\nvar vec__19651 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19651,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19651,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zero\x22], 0));\n} else {\nvar abs_arg_21018 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_21019 \x3d cljs.pprint.remainders((1000),abs_arg_21018);\nif((cljs.core.count(parts_21019) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_21020 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,parts_21019);\nvar full_str_21021 \x3d cljs.pprint.add_english_scales(parts_strs_21020,(0));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),full_str_21021].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n}\n\nreturn navigator__$1;\n});\n/**\n * Convert a number less than 1000 to a ordinal english string\n * Note this should only be used for the last one in the sequence\n */\ncljs.pprint.format_simple_ordinal \x3d (function cljs$pprint$format_simple_ordinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nif((((ten_digit \x3e (0))) \x26\x26 ((!((unit_digit \x3e (0))))))){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_tens,ten_digit);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,unit_digit):null))].join(\x27\x27);\n}\n})()):(((hundreds \x3e (0)))?\x22th\x22:null)))].join(\x27\x27);\n});\ncljs.pprint.format_ordinal_english \x3d (function cljs$pprint$format_ordinal_english(params,navigator,offsets){\nvar vec__19657 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19657,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19657,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zeroth\x22], 0));\n} else {\nvar abs_arg_21022 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_21023 \x3d cljs.pprint.remainders((1000),abs_arg_21022);\nif((cljs.core.count(parts_21023) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_21024 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1(parts_21023));\nvar head_str_21025 \x3d cljs.pprint.add_english_scales(parts_strs_21024,(1));\nvar tail_str_21026 \x3d cljs.pprint.format_simple_ordinal(cljs.core.last(parts_21023));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),(((((!(cljs.core.empty_QMARK_(head_str_21025)))) \x26\x26 ((!(cljs.core.empty_QMARK_(tail_str_21026))))))?[head_str_21025,\x22, \x22,tail_str_21026].join(\x27\x27):(((!(cljs.core.empty_QMARK_(head_str_21025))))?[head_str_21025,\x22th\x22].join(\x27\x27):tail_str_21026\n))].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n\nvar low_two_digits_21027 \x3d cljs.core.rem(arg,(100));\nvar not_teens_21028 \x3d ((((11) \x3c low_two_digits_21027)) || (((19) \x3e low_two_digits_21027)));\nvar low_digit_21029 \x3d cljs.core.rem(low_two_digits_21027,(10));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(((((low_digit_21029 \x3d\x3d\x3d (1))) \x26\x26 (not_teens_21028)))?\x22st\x22:(((((low_digit_21029 \x3d\x3d\x3d (2))) \x26\x26 (not_teens_21028)))?\x22nd\x22:(((((low_digit_21029 \x3d\x3d\x3d (3))) \x26\x26 (not_teens_21028)))?\x22rd\x22:\x22th\x22\n)))], 0));\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.old_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IIII\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22VIIII\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XXXX\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22LXXXX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CCCC\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22DCCCC\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\ncljs.pprint.new_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IV\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22IX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XL\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22XC\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CD\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22CM\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\n/**\n * Format a roman numeral using the specified look-up table\n */\ncljs.pprint.format_roman \x3d (function cljs$pprint$format_roman(table,params,navigator,offsets){\nvar vec__19660 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19660,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19660,(1),null);\nif(((typeof arg \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((arg \x3e (0))) \x26\x26 ((arg \x3c (4000))))))){\nvar digits_21030 \x3d cljs.pprint.remainders((10),arg);\nvar acc_21031 \x3d cljs.core.PersistentVector.EMPTY;\nvar pos_21032 \x3d (cljs.core.count(digits_21030) - (1));\nvar digits_21033__$1 \x3d digits_21030;\nwhile(true){\nif(cljs.core.empty_QMARK_(digits_21033__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,acc_21031)], 0));\n} else {\nvar digit_21045 \x3d cljs.core.first(digits_21033__$1);\nvar G__21046 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),digit_21045))?acc_21031:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc_21031,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(table,pos_21032),(digit_21045 - (1)))));\nvar G__21047 \x3d (pos_21032 - (1));\nvar G__21048 \x3d cljs.core.next(digits_21033__$1);\nacc_21031 \x3d G__21046;\npos_21032 \x3d G__21047;\ndigits_21033__$1 \x3d G__21048;\ncontinue;\n}\nbreak;\n}\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.format_old_roman \x3d (function cljs$pprint$format_old_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.old_roman_table,params,navigator,offsets);\n});\ncljs.pprint.format_new_roman \x3d (function cljs$pprint$format_new_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.new_roman_table,params,navigator,offsets);\n});\ncljs.pprint.special_chars \x3d new cljs.core.PersistentArrayMap(null, 5, [(8),\x22Backspace\x22,(9),\x22Tab\x22,(10),\x22Newline\x22,(13),\x22Return\x22,(32),\x22Space\x22], null);\ncljs.pprint.pretty_character \x3d (function cljs$pprint$pretty_character(params,navigator,offsets){\nvar vec__19674 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19674,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19674,(1),null);\nvar as_int \x3d cljs.pprint.char_code(c);\nvar base_char \x3d (as_int \x26 (127));\nvar meta \x3d (as_int \x26 (128));\nvar special \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_chars,base_char);\nif((meta \x3e (0))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Meta-\x22], 0));\n} else {\n}\n\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(special)?special:(((base_char \x3c (32)))?[\x22Control-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.char$((base_char + (64))))].join(\x27\x27):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(base_char,(127)))?\x22Control-?\x22:cljs.core.char$(base_char)\n)))], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.readable_character \x3d (function cljs$pprint$readable_character(params,navigator,offsets){\nvar vec__19677 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19677,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19677,(1),null);\nvar pred__19680_21049 \x3d cljs.core._EQ_;\nvar expr__19681_21050 \x3d new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_((function (){var G__19683 \x3d \x22o\x22;\nvar G__19684 \x3d expr__19681_21050;\nreturn (pred__19680_21049.cljs$core$IFn$_invoke$arity$2 ? pred__19680_21049.cljs$core$IFn$_invoke$arity$2(G__19683,G__19684) : pred__19680_21049.call(null,G__19683,G__19684));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\o~3,\x270o\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((function (){var G__19685 \x3d \x22u\x22;\nvar G__19686 \x3d expr__19681_21050;\nreturn (pred__19680_21049.cljs$core$IFn$_invoke$arity$2 ? pred__19680_21049.cljs$core$IFn$_invoke$arity$2(G__19685,G__19686) : pred__19680_21049.call(null,G__19685,G__19686));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\u~4,\x270x\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((pred__19680_21049.cljs$core$IFn$_invoke$arity$2 ? pred__19680_21049.cljs$core$IFn$_invoke$arity$2(null,expr__19681_21050) : pred__19680_21049.call(null,null,expr__19681_21050)))){\ncljs.pprint.print_char(c);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__19681_21050)].join(\x27\x27)));\n}\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.plain_character \x3d (function cljs$pprint$plain_character(params,navigator,offsets){\nvar vec__19689 \x3d cljs.pprint.next_arg(navigator);\nvar char$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19689,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19689,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([char$], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.abort_QMARK_ \x3d (function cljs$pprint$abort_QMARK_(context){\nvar token \x3d cljs.core.first(context);\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),token)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),token)));\n});\ncljs.pprint.execute_sub_format \x3d (function cljs$pprint$execute_sub_format(format,args,base_args){\nreturn cljs.core.second(cljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__19696 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19696,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19696,(1),null);\nvar vec__19699 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19699,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19699,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),base_args);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format));\n});\n/**\n * Produce string parts for the mantissa (normalize 1-9) and exponent\n */\ncljs.pprint.float_parts_base \x3d (function cljs$pprint$float_parts_base(f){\nvar s \x3d clojure.string.lower_case(cljs.core.str.cljs$core$IFn$_invoke$arity$1(f));\nvar exploc \x3d s.indexOf(\x22e\x22);\nvar dotloc \x3d s.indexOf(\x22.\x22);\nif((exploc \x3c (0))){\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((s).length) - (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),dotloc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(dotloc + (1)))].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1((dotloc - (1)))], null);\n}\n} else {\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),exploc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(1)),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(2),exploc)].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n}\n}\n});\n/**\n * Take care of leading and trailing zeros in decomposed floats\n */\ncljs.pprint.float_parts \x3d (function cljs$pprint$float_parts(f){\nvar vec__19704 \x3d cljs.pprint.float_parts_base(f);\nvar m \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19704,(0),null);\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19704,(1),null);\nvar m1 \x3d cljs.pprint.rtrim(m,\x220\x22);\nvar m2 \x3d cljs.pprint.ltrim(m1,\x220\x22);\nvar delta \x3d (cljs.core.count(m1) - cljs.core.count(m2));\nvar e__$1 \x3d (((((cljs.core.count(e) \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(e,(0)),\x22+\x22))))?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(e,(1)):e);\nif(cljs.core.empty_QMARK_(m2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m2,(parseInt(e__$1,(10)) - delta)], null);\n}\n});\n/**\n * Assumption: The input string consists of one or more decimal digits,\n * and no other characters. Return a string containing one or more\n * decimal digits containing a decimal number one larger than the input\n * string. The output string will always be the same length as the input\n * string, or one character longer.\n */\ncljs.pprint.inc_s \x3d (function cljs$pprint$inc_s(s){\nvar len_1 \x3d (cljs.core.count(s) - (1));\nvar i \x3d (len_1 | (0));\nwhile(true){\nif((i \x3c (0))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,\x221\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 + (1)),\x220\x22));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x229\x22,s.charAt(i))){\nvar G__21056 \x3d (i - (1));\ni \x3d G__21056;\ncontinue;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.str,cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),i),cljs.core.char$((cljs.pprint.char_code(s.charAt(i)) + (1))),cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 - i),\x220\x22));\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.round_str \x3d (function cljs$pprint$round_str(m,e,d,w){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d d;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn w;\n}\n})())){\nvar len \x3d cljs.core.count(m);\nvar w__$1 \x3d (cljs.core.truth_(w)?(function (){var x__5130__auto__ \x3d (2);\nvar y__5131__auto__ \x3d w;\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})():(0));\nvar round_pos \x3d (cljs.core.truth_(d)?((e + d) + (1)):(((e \x3e\x3d (0)))?(function (){var x__5130__auto__ \x3d (e + (1));\nvar y__5131__auto__ \x3d (w__$1 - (1));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})():(w__$1 + e)\n));\nvar vec__19710 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(round_pos,(0)))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x220\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(e + (1)),(1),(len + (1))], null):new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,round_pos,len], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19710,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19710,(1),null);\nvar round_pos__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19710,(2),null);\nvar len__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19710,(3),null);\nif(cljs.core.truth_(round_pos__$1)){\nif((round_pos__$1 \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0),false], null);\n} else {\nif((len__$1 \x3e round_pos__$1)){\nvar round_char \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(m1,round_pos__$1);\nvar result \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m1,(0),round_pos__$1);\nif((cljs.pprint.char_code(round_char) \x3e\x3d cljs.pprint.char_code(\x225\x22))){\nvar round_up_result \x3d cljs.pprint.inc_s(result);\nvar expanded \x3d (cljs.core.count(round_up_result) \x3e ((result).length));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((expanded)?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(round_up_result,(0),(cljs.core.count(round_up_result) - (1))):round_up_result),e1,expanded], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [result,e1,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n});\ncljs.pprint.expand_fixed \x3d (function cljs$pprint$expand_fixed(m,e,d){\nvar vec__19726 \x3d (((e \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((- e) - (1)),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(-1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19726,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19726,(1),null);\nvar len \x3d cljs.core.count(m1);\nvar target_len \x3d (cljs.core.truth_(d)?((e1 + d) + (1)):(e1 + (1)));\nif((len \x3c target_len)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(m1),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((target_len - len),\x220\x22)))].join(\x27\x27);\n} else {\nreturn m1;\n}\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_decimal \x3d (function cljs$pprint$insert_decimal(m,e){\nif((e \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nvar loc \x3d (e + (1));\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),loc),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,loc)].join(\x27\x27);\n}\n});\ncljs.pprint.get_fixed \x3d (function cljs$pprint$get_fixed(m,e,d){\nreturn cljs.pprint.insert_decimal(cljs.pprint.expand_fixed(m,e,d),e);\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_scaled_decimal \x3d (function cljs$pprint$insert_scaled_decimal(m,k){\nif((k \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),k),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,k)].join(\x27\x27);\n}\n});\ncljs.pprint.convert_ratio \x3d (function cljs$pprint$convert_ratio(x){\nreturn x;\n});\ncljs.pprint.fixed_float \x3d (function cljs$pprint$fixed_float(params,navigator,offsets){\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__19758 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19758,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19758,(1),null);\nvar vec__19761 \x3d (((arg \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22-\x22,(- arg)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22+\x22,arg], null));\nvar sign \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19761,(0),null);\nvar abs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19761,(1),null);\nvar abs__$1 \x3d cljs.pprint.convert_ratio(abs);\nvar vec__19764 \x3d cljs.pprint.float_parts(abs__$1);\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19764,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19764,(1),null);\nvar scaled_exp \x3d (exp + new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params));\nvar add_sign \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar append_zero \x3d ((cljs.core.not(d)) \x26\x26 (((cljs.core.count(mantissa) - (1)) \x3c\x3d scaled_exp)));\nvar vec__19767 \x3d cljs.pprint.round_str(mantissa,scaled_exp,d,(cljs.core.truth_(w)?(w - (cljs.core.truth_(add_sign)?(1):(0))):null));\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19767,(0),null);\nvar scaled_exp__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19767,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19767,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp__$1 + (1)):scaled_exp__$1),d);\nvar fixed_repr__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d w;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d d;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn (((d \x3e\x3d (1))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((0)),\x220\x22)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((1)),\x22.\x22)) \x26\x26 ((((fixed_repr).length) \x3e (w - (cljs.core.truth_(add_sign)?(1):(0))))))))));\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(fixed_repr,(1)):fixed_repr);\nvar prepend_zero \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fixed_repr__$1),\x22.\x22);\nif(cljs.core.truth_(w)){\nvar len_21059 \x3d ((fixed_repr__$1).length);\nvar signed_len_21060 \x3d (cljs.core.truth_(add_sign)?(len_21059 + (1)):len_21059);\nvar prepend_zero_21061__$1 \x3d ((prepend_zero) \x26\x26 ((!((signed_len_21060 \x3e\x3d w)))));\nvar append_zero_21062__$1 \x3d ((append_zero) \x26\x26 ((!((signed_len_21060 \x3e\x3d w)))));\nvar full_len_21063 \x3d ((((prepend_zero_21061__$1) || (append_zero_21062__$1)))?(signed_len_21060 + (1)):signed_len_21060);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (full_len_21063 \x3e w);\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len_21063),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero_21061__$1)?\x220\x22:null),fixed_repr__$1,((append_zero_21062__$1)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero)?\x220\x22:null),fixed_repr__$1,((append_zero)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.exponential_float \x3d (function cljs$pprint$exponential_float(params,navigator,offset){\nvar vec__19770 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19770,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19770,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar G__19776_21066 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar vec__19777_21067 \x3d G__19776_21066;\nvar mantissa_21068 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19777_21067,(0),null);\nvar exp_21069 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19777_21067,(1),null);\nvar G__19776_21070__$1 \x3d G__19776_21066;\nwhile(true){\nvar vec__19780_21071 \x3d G__19776_21070__$1;\nvar mantissa_21072__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19780_21071,(0),null);\nvar exp_21073__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19780_21071,(1),null);\nvar w_21074 \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d_21075 \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e_21076 \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar k_21077 \x3d new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params);\nvar expchar_21078 \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22E\x22;\n}\n})();\nvar add_sign_21079 \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (arg__$1 \x3c (0));\n}\n})();\nvar prepend_zero_21080 \x3d (k_21077 \x3c\x3d (0));\nvar scaled_exp_21081 \x3d (exp_21073__$1 - (k_21077 - (1)));\nvar scaled_exp_str_21082 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(Math.abs(scaled_exp_21081));\nvar scaled_exp_str_21083__$1 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(expchar_21078),(((scaled_exp_21081 \x3c (0)))?\x22-\x22:\x22+\x22),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(e_21076)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((e_21076 - ((scaled_exp_str_21082).length)),\x220\x22)):null)),scaled_exp_str_21082].join(\x27\x27);\nvar exp_width_21084 \x3d ((scaled_exp_str_21083__$1).length);\nvar base_mantissa_width_21085 \x3d cljs.core.count(mantissa_21072__$1);\nvar scaled_mantissa_21086 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((- k_21077),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(mantissa_21072__$1),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(d_21075)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((d_21075 - (base_mantissa_width_21085 - (1))) - (((k_21077 \x3c (0)))?(- k_21077):(0))),\x220\x22)):null))].join(\x27\x27);\nvar w_mantissa_21087 \x3d (cljs.core.truth_(w_21074)?(w_21074 - exp_width_21084):null);\nvar vec__19783_21088 \x3d cljs.pprint.round_str(scaled_mantissa_21086,(0),((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_21077,(0)))?(d_21075 - (1)):(((k_21077 \x3e (0)))?d_21075:(((k_21077 \x3c (0)))?(d_21075 - (1)):null))),(cljs.core.truth_(w_mantissa_21087)?(w_mantissa_21087 - (cljs.core.truth_(add_sign_21079)?(1):(0))):null));\nvar rounded_mantissa_21089 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19783_21088,(0),null);\nvar __21090 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19783_21088,(1),null);\nvar incr_exp_21091 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19783_21088,(2),null);\nvar full_mantissa_21092 \x3d cljs.pprint.insert_scaled_decimal(rounded_mantissa_21089,k_21077);\nvar append_zero_21093 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_21077,cljs.core.count(rounded_mantissa_21089))) \x26\x26 ((d_21075 \x3d\x3d null)));\nif(cljs.core.not(incr_exp_21091)){\nif(cljs.core.truth_(w_21074)){\nvar len_21095 \x3d (((full_mantissa_21092).length) + exp_width_21084);\nvar signed_len_21096 \x3d (cljs.core.truth_(add_sign_21079)?(len_21095 + (1)):len_21095);\nvar prepend_zero_21097__$1 \x3d ((prepend_zero_21080) \x26\x26 ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(signed_len_21096,w_21074)))));\nvar full_len_21098 \x3d ((prepend_zero_21097__$1)?(signed_len_21096 + (1)):signed_len_21096);\nvar append_zero_21099__$1 \x3d ((append_zero_21093) \x26\x26 ((full_len_21098 \x3c w_21074)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (function (){var or__5045__auto__ \x3d (full_len_21098 \x3e w_21074);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d e_21076;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn ((exp_width_21084 - (2)) \x3e e_21076);\n} else {\nreturn and__5043__auto__;\n}\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w_21074,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((w_21074 - full_len_21098) - ((append_zero_21099__$1)?(1):(0))),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_(add_sign_21079)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_21097__$1)?\x220\x22:null),full_mantissa_21092,((append_zero_21099__$1)?\x220\x22:null),scaled_exp_str_21083__$1].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_(add_sign_21079)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_21080)?\x220\x22:null),full_mantissa_21092,((append_zero_21093)?\x220\x22:null),scaled_exp_str_21083__$1].join(\x27\x27)], 0));\n}\n} else {\nvar G__21100 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rounded_mantissa_21089,(exp_21073__$1 + (1))], null);\nG__19776_21070__$1 \x3d G__21100;\ncontinue;\n}\nbreak;\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.general_float \x3d (function cljs$pprint$general_float(params,navigator,offsets){\nvar vec__19801 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19801,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19801,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar vec__19804 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19804,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19804,(1),null);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg__$1,0.0))?(0):(exp + (1)));\nvar ee \x3d (cljs.core.truth_(e)?(e + (2)):(4));\nvar ww \x3d (cljs.core.truth_(w)?(w - ee):null);\nvar d__$1 \x3d (cljs.core.truth_(d)?d:(function (){var x__5130__auto__ \x3d cljs.core.count(mantissa);\nvar y__5131__auto__ \x3d (function (){var x__5133__auto__ \x3d n;\nvar y__5134__auto__ \x3d (7);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})());\nvar dd \x3d (d__$1 - n);\nif(((((0) \x3c\x3d dd)) \x26\x26 ((dd \x3c\x3d d__$1)))){\nvar navigator__$1 \x3d cljs.pprint.fixed_float(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),ww,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),dd,new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),(0),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params)], null),navigator,offsets);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(ee,\x22 \x22))], 0));\n\nreturn navigator__$1;\n} else {\nreturn cljs.pprint.exponential_float(params,navigator,offsets);\n}\n});\ncljs.pprint.dollar_float \x3d (function cljs$pprint$dollar_float(params,navigator,offsets){\nvar vec__19807 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19807,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19807,(1),null);\nvar vec__19810 \x3d cljs.pprint.float_parts(Math.abs(arg));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19810,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19810,(1),null);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar add_sign \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar vec__19813 \x3d cljs.pprint.round_str(mantissa,exp,d,null);\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19813,(0),null);\nvar scaled_exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19813,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19813,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp + (1)):scaled_exp),d);\nvar full_repr \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((n - fixed_repr.indexOf(\x22.\x22)),\x220\x22))),fixed_repr].join(\x27\x27);\nvar full_len \x3d (((full_repr).length) + (cljs.core.truth_(add_sign)?(1):(0)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn add_sign;\n} else {\nreturn and__5043__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params));\nif(and__5043__auto__){\nreturn add_sign;\n} else {\nreturn and__5043__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),full_repr].join(\x27\x27)], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.choice_conditional \x3d (function cljs$pprint$choice_conditional(params,arg_navigator,offsets){\nvar arg \x3d new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__19828 \x3d (cljs.core.truth_(arg)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg,arg_navigator], null):cljs.pprint.next_arg(arg_navigator));\nvar arg__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19828,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19828,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (((((arg__$1 \x3c (0))) || ((arg__$1 \x3e\x3d cljs.core.count(clauses)))))?cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params)):cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,arg__$1));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.boolean_conditional \x3d (function cljs$pprint$boolean_conditional(params,arg_navigator,offsets){\nvar vec__19832 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19832,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19832,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.second(clauses):cljs.core.first(clauses));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.check_arg_conditional \x3d (function cljs$pprint$check_arg_conditional(params,arg_navigator,offsets){\nvar vec__19835 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19835,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19835,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.first(clauses):null);\nif(cljs.core.truth_(arg)){\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,arg_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn arg_navigator;\n}\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.iterate_sublist \x3d (function cljs$pprint$iterate_sublist(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__19838 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19838,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19838,(1),null);\nvar vec__19841 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19841,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19841,(1),null);\nvar args \x3d cljs.pprint.init_navigator(arg_list);\nvar count \x3d (0);\nvar args__$1 \x3d args;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(args__$1))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,args__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__21101 \x3d (count + (1));\nvar G__21102 \x3d iter_result;\nvar G__21103 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1);\ncount \x3d G__21101;\nargs__$1 \x3d G__21102;\nlast_pos \x3d G__21103;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_list_of_sublists \x3d (function cljs$pprint$iterate_list_of_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__19848 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19848,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19848,(1),null);\nvar vec__19851 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19851,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19851,(1),null);\nvar count \x3d (0);\nvar arg_list__$1 \x3d arg_list;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(arg_list__$1)) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(cljs.core.first(arg_list__$1)),cljs.pprint.init_navigator(cljs.core.next(arg_list__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__21104 \x3d (count + (1));\nvar G__21105 \x3d cljs.core.next(arg_list__$1);\ncount \x3d G__21104;\narg_list__$1 \x3d G__21105;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_list \x3d (function cljs$pprint$iterate_main_list(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__19862 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19862,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19862,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%@{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn cljs.core.second(iter_result);\n} else {\nvar G__21106 \x3d (count + (1));\nvar G__21107 \x3d iter_result;\nvar G__21108 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2);\ncount \x3d G__21106;\nnavigator__$2 \x3d G__21107;\nlast_pos \x3d G__21108;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_sublists \x3d (function cljs$pprint$iterate_main_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__19874 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19874,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19874,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5043__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar vec__19884 \x3d cljs.pprint.next_arg_or_nil(navigator__$2);\nvar sublist \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19884,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19884,(1),null);\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(sublist),navigator__$3);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$3;\n} else {\nvar G__21109 \x3d (count + (1));\nvar G__21110 \x3d navigator__$3;\ncount \x3d G__21109;\nnavigator__$2 \x3d G__21110;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.logical_block_or_justify \x3d (function cljs$pprint$logical_block_or_justify(params,navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn cljs.pprint.format_logical_block(params,navigator,offsets);\n} else {\nreturn cljs.pprint.justify_clauses(params,navigator,offsets);\n}\n});\ncljs.pprint.render_clauses \x3d (function cljs$pprint$render_clauses(clauses,navigator,base_navigator){\nvar clauses__$1 \x3d clauses;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar navigator__$1 \x3d navigator;\nwhile(true){\nif(cljs.core.empty_QMARK_(clauses__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,navigator__$1], null);\n} else {\nvar clause \x3d cljs.core.first(clauses__$1);\nvar vec__19907 \x3d (function (){var sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__19910 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__19911 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__19911);\n\ntry{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.execute_sub_format(clause,navigator__$1,base_navigator),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)], null);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__19910);\n}})();\nvar iter_result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19907,(0),null);\nvar result_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19907,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,cljs.core.second(iter_result)], null);\n} else {\nvar G__21111 \x3d cljs.core.next(clauses__$1);\nvar G__21112 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result_str);\nvar G__21113 \x3d iter_result;\nclauses__$1 \x3d G__21111;\nacc \x3d G__21112;\nnavigator__$1 \x3d G__21113;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.justify_clauses \x3d (function cljs$pprint$justify_clauses(params,navigator,offsets){\nvar vec__19913 \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar else$ \x3d temp__5804__auto__;\nreturn cljs.pprint.render_clauses(else$,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn null;\n}\n})();\nvar vec__19916 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19913,(0),null);\nvar eol_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19916,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19913,(1),null);\nvar navigator__$1 \x3d (function (){var or__5045__auto__ \x3d new_navigator;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn navigator;\n}\n})();\nvar vec__19919 \x3d (function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar p \x3d temp__5804__auto__;\nreturn cljs.pprint.realize_parameter_list(p,navigator__$1);\n} else {\nreturn null;\n}\n})();\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19919,(0),null);\nvar new_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19919,(1),null);\nvar navigator__$2 \x3d (function (){var or__5045__auto__ \x3d new_navigator__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn navigator__$1;\n}\n})();\nvar min_remaining \x3d (function (){var or__5045__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})();\nvar max_columns \x3d (function (){var or__5045__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.pprint.get_max_column(cljs.core._STAR_out_STAR_);\n}\n})();\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__19922 \x3d cljs.pprint.render_clauses(clauses,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nvar strs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19922,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19922,(1),null);\nvar slots \x3d (function (){var x__5130__auto__ \x3d (1);\nvar y__5131__auto__ \x3d (((cljs.core.count(strs) - (1)) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(1):(0))) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?(1):(0)));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar chars \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,strs));\nvar mincol \x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params);\nvar minpad \x3d new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar minout \x3d (chars + (slots * minpad));\nvar result_columns \x3d (((minout \x3c\x3d mincol))?mincol:(mincol + (colinc * ((1) + cljs.core.quot(((minout - mincol) - (1)),colinc)))));\nvar total_pad \x3d (result_columns - chars);\nvar pad \x3d (function (){var x__5130__auto__ \x3d minpad;\nvar y__5131__auto__ \x3d cljs.core.quot(total_pad,slots);\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar extra_pad \x3d (total_pad - (pad * slots));\nvar pad_str \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(pad,new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d eol_str;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))) + min_remaining) + result_columns) \x3e max_columns);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([eol_str], 0));\n} else {\n}\n\nvar slots_21114__$1 \x3d slots;\nvar extra_pad_21115__$1 \x3d extra_pad;\nvar strs_21116__$1 \x3d strs;\nvar pad_only_21117 \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(strs_21116__$1),(1))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))));\n}\n})();\nwhile(true){\nif(cljs.core.seq(strs_21116__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(((cljs.core.not(pad_only_21117))?cljs.core.first(strs_21116__$1):null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_((function (){var or__5045__auto__ \x3d pad_only_21117;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.next(strs_21116__$1);\nif(or__5045__auto____$1){\nreturn or__5045__auto____$1;\n} else {\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\n}\n}\n})())?pad_str:null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((extra_pad_21115__$1 \x3e (0)))?new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params):null))].join(\x27\x27)], 0));\n\nvar G__21118 \x3d (slots_21114__$1 - (1));\nvar G__21119 \x3d (extra_pad_21115__$1 - (1));\nvar G__21120 \x3d (cljs.core.truth_(pad_only_21117)?strs_21116__$1:cljs.core.next(strs_21116__$1));\nvar G__21121 \x3d false;\nslots_21114__$1 \x3d G__21118;\nextra_pad_21115__$1 \x3d G__21119;\nstrs_21116__$1 \x3d G__21120;\npad_only_21117 \x3d G__21121;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn navigator__$3;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint19938 \x3d (function (writer,meta19939){\nthis.writer \x3d writer;\nthis.meta19939 \x3d meta19939;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint19938.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19940,meta19939__$1){\nvar self__ \x3d this;\nvar _19940__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint19938(self__.writer,meta19939__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint19938.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19940){\nvar self__ \x3d this;\nvar _19940__$1 \x3d this;\nreturn self__.meta19939;\n}));\n\n(cljs.pprint.t_cljs$pprint19938.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint19938.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__19941 \x3d cljs.core._EQ_;\nvar expr__19942 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__19941.cljs$core$IFn$_invoke$arity$2 ? pred__19941.cljs$core$IFn$_invoke$arity$2(String,expr__19942) : pred__19941.call(null,String,expr__19942)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n} else {\nif(cljs.core.truth_((pred__19941.cljs$core$IFn$_invoke$arity$2 ? pred__19941.cljs$core$IFn$_invoke$arity$2(Number,expr__19942) : pred__19941.call(null,Number,expr__19942)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__19942)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint19938.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta19939\x22,\x22meta19939\x22,1204882977,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint19938.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint19938.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint19938\x22);\n\n(cljs.pprint.t_cljs$pprint19938.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint19938\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint19938.\n */\ncljs.pprint.__GT_t_cljs$pprint19938 \x3d (function cljs$pprint$__GT_t_cljs$pprint19938(writer,meta19939){\nreturn (new cljs.pprint.t_cljs$pprint19938(writer,meta19939));\n});\n\n\n/**\n * Returns a proxy that wraps writer, converting all characters to lower case\n */\ncljs.pprint.downcase_writer \x3d (function cljs$pprint$downcase_writer(writer){\nreturn (new cljs.pprint.t_cljs$pprint19938(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint19944 \x3d (function (writer,meta19945){\nthis.writer \x3d writer;\nthis.meta19945 \x3d meta19945;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint19944.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19946,meta19945__$1){\nvar self__ \x3d this;\nvar _19946__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint19944(self__.writer,meta19945__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint19944.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19946){\nvar self__ \x3d this;\nvar _19946__$1 \x3d this;\nreturn self__.meta19945;\n}));\n\n(cljs.pprint.t_cljs$pprint19944.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint19944.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__19949 \x3d cljs.core._EQ_;\nvar expr__19950 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__19949.cljs$core$IFn$_invoke$arity$2 ? pred__19949.cljs$core$IFn$_invoke$arity$2(String,expr__19950) : pred__19949.call(null,String,expr__19950)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(s));\n} else {\nif(cljs.core.truth_((pred__19949.cljs$core$IFn$_invoke$arity$2 ? pred__19949.cljs$core$IFn$_invoke$arity$2(Number,expr__19950) : pred__19949.call(null,Number,expr__19950)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__19950)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint19944.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta19945\x22,\x22meta19945\x22,453337393,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint19944.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint19944.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint19944\x22);\n\n(cljs.pprint.t_cljs$pprint19944.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint19944\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint19944.\n */\ncljs.pprint.__GT_t_cljs$pprint19944 \x3d (function cljs$pprint$__GT_t_cljs$pprint19944(writer,meta19945){\nreturn (new cljs.pprint.t_cljs$pprint19944(writer,meta19945));\n});\n\n\n/**\n * Returns a proxy that wraps writer, converting all characters to upper case\n */\ncljs.pprint.upcase_writer \x3d (function cljs$pprint$upcase_writer(writer){\nreturn (new cljs.pprint.t_cljs$pprint19944(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Capitalizes the words in a string. If first? is false, don\x27t capitalize the\n * first character of the string even if it\x27s a letter.\n */\ncljs.pprint.capitalize_string \x3d (function cljs$pprint$capitalize_string(s,first_QMARK_){\nvar f \x3d cljs.core.first(s);\nvar s__$1 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d first_QMARK_;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d f;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn goog.string.isUnicodeChar(f);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())?[clojure.string.upper_case(f),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1))].join(\x27\x27):s);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.first(cljs.pprint.consume((function (s__$2){\nif(cljs.core.empty_QMARK_(s__$2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n} else {\nvar m \x3d RegExp(\x22\\\\W\\\\w\x22,\x22g\x22).exec(s__$2);\nvar offset \x3d (function (){var and__5043__auto__ \x3d m;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (m.index + (1));\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s__$2,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s__$2,offset))].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$2,(offset + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$2,null], null);\n}\n}\n}),s__$1)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint19955 \x3d (function (writer,last_was_whitespace_QMARK_,meta19956){\nthis.writer \x3d writer;\nthis.last_was_whitespace_QMARK_ \x3d last_was_whitespace_QMARK_;\nthis.meta19956 \x3d meta19956;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint19955.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19957,meta19956__$1){\nvar self__ \x3d this;\nvar _19957__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint19955(self__.writer,self__.last_was_whitespace_QMARK_,meta19956__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint19955.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19957){\nvar self__ \x3d this;\nvar _19957__$1 \x3d this;\nreturn self__.meta19956;\n}));\n\n(cljs.pprint.t_cljs$pprint19955.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint19955.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__19959 \x3d cljs.core._EQ_;\nvar expr__19960 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__19959.cljs$core$IFn$_invoke$arity$2 ? pred__19959.cljs$core$IFn$_invoke$arity$2(String,expr__19960) : pred__19959.call(null,String,expr__19960)))){\nvar s \x3d x;\ncljs.core._write(self__.writer,cljs.pprint.capitalize_string(s.toLowerCase(),cljs.core.deref(self__.last_was_whitespace_QMARK_)));\n\nif((s.length \x3e (0))){\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1)))));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.truth_((pred__19959.cljs$core$IFn$_invoke$arity$2 ? pred__19959.cljs$core$IFn$_invoke$arity$2(Number,expr__19960) : pred__19959.call(null,Number,expr__19960)))){\nvar c \x3d cljs.core.char$(x);\nvar mod_c \x3d (cljs.core.truth_(cljs.core.deref(self__.last_was_whitespace_QMARK_))?clojure.string.upper_case(c):c);\ncljs.core._write(self__.writer,mod_c);\n\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(c));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__19960)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint19955.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22last-was-whitespace?\x22,\x22last-was-whitespace?\x22,-1073928093,null),new cljs.core.Symbol(null,\x22meta19956\x22,\x22meta19956\x22,1985787459,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint19955.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint19955.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint19955\x22);\n\n(cljs.pprint.t_cljs$pprint19955.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint19955\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint19955.\n */\ncljs.pprint.__GT_t_cljs$pprint19955 \x3d (function cljs$pprint$__GT_t_cljs$pprint19955(writer,last_was_whitespace_QMARK_,meta19956){\nreturn (new cljs.pprint.t_cljs$pprint19955(writer,last_was_whitespace_QMARK_,meta19956));\n});\n\n\n/**\n * Returns a proxy that wraps writer, capitalizing all words\n */\ncljs.pprint.capitalize_word_writer \x3d (function cljs$pprint$capitalize_word_writer(writer){\nvar last_was_whitespace_QMARK_ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nreturn (new cljs.pprint.t_cljs$pprint19955(writer,last_was_whitespace_QMARK_,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint19962 \x3d (function (writer,capped,meta19963){\nthis.writer \x3d writer;\nthis.capped \x3d capped;\nthis.meta19963 \x3d meta19963;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint19962.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19964,meta19963__$1){\nvar self__ \x3d this;\nvar _19964__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint19962(self__.writer,self__.capped,meta19963__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint19962.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19964){\nvar self__ \x3d this;\nvar _19964__$1 \x3d this;\nreturn self__.meta19963;\n}));\n\n(cljs.pprint.t_cljs$pprint19962.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint19962.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__19965 \x3d cljs.core._EQ_;\nvar expr__19966 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__19965.cljs$core$IFn$_invoke$arity$2 ? pred__19965.cljs$core$IFn$_invoke$arity$2(String,expr__19966) : pred__19965.call(null,String,expr__19966)))){\nvar s \x3d clojure.string.lower_case(x);\nif(cljs.core.not(cljs.core.deref(self__.capped))){\nvar m \x3d RegExp(\x22\\\\S\x22,\x22g\x22).exec(s);\nvar offset \x3d (function (){var and__5043__auto__ \x3d m;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn m.index;\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\ncljs.core._write(self__.writer,[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,offset)),clojure.string.lower_case(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(offset + (1))))].join(\x27\x27));\n\nreturn cljs.core.reset_BANG_(self__.capped,true);\n} else {\nreturn cljs.core._write(self__.writer,s);\n}\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n}\n} else {\nif(cljs.core.truth_((pred__19965.cljs$core$IFn$_invoke$arity$2 ? pred__19965.cljs$core$IFn$_invoke$arity$2(Number,expr__19966) : pred__19965.call(null,Number,expr__19966)))){\nvar c \x3d cljs.core.char$(x);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(cljs.core.deref(self__.capped));\nif(and__5043__auto__){\nreturn goog.string.isUnicodeChar(c);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core.reset_BANG_(self__.capped,true);\n\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(c));\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(c));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__19966)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint19962.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22capped\x22,\x22capped\x22,-1650988402,null),new cljs.core.Symbol(null,\x22meta19963\x22,\x22meta19963\x22,-1327559730,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint19962.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint19962.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint19962\x22);\n\n(cljs.pprint.t_cljs$pprint19962.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.pprint/t_cljs$pprint19962\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint19962.\n */\ncljs.pprint.__GT_t_cljs$pprint19962 \x3d (function cljs$pprint$__GT_t_cljs$pprint19962(writer,capped,meta19963){\nreturn (new cljs.pprint.t_cljs$pprint19962(writer,capped,meta19963));\n});\n\n\n/**\n * Returns a proxy that wraps writer, capitalizing the first word\n */\ncljs.pprint.init_cap_writer \x3d (function cljs$pprint$init_cap_writer(writer){\nvar capped \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\nreturn (new cljs.pprint.t_cljs$pprint19962(writer,capped,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.modify_case \x3d (function cljs$pprint$modify_case(make_writer,params,navigator,offsets){\nvar clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar _STAR_out_STAR__orig_val__19982 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__19983 \x3d (make_writer.cljs$core$IFn$_invoke$arity$1 ? make_writer.cljs$core$IFn$_invoke$arity$1(cljs.core._STAR_out_STAR_) : make_writer.call(null,cljs.core._STAR_out_STAR_));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__19983);\n\ntry{return cljs.pprint.execute_sub_format(clause,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__19982);\n}});\n/**\n * Returns the IWriter passed in wrapped in a pretty writer proxy, unless it\x27s\n * already a pretty writer. Generally, it is unnecessary to call this function, since pprint,\n * write, and cl-format all call it if they need to. However if you want the state to be\n * preserved across calls, you will want to wrap them with this.\n * \n * For example, when you want to generate column-aware output with multiple calls to cl-format,\n * do it like in this example:\n * \n * (defn print-table [aseq column-width]\n * (binding [*out* (get-pretty-writer *out*)]\n * (doseq [row aseq]\n * (doseq [col row]\n * (cl-format true \x22~4D~7,vT\x22 col column-width))\n * (prn))))\n * \n * Now when you run:\n * \n * user\x3e (print-table (map #(vector % (* % %) (* % % %)) (range 1 11)) 8)\n * \n * It prints a table of squares and cubes for the numbers from 1 to 10:\n * \n * 1 1 1\n * 2 4 8\n * 3 9 27\n * 4 16 64\n * 5 25 125\n * 6 36 216\n * 7 49 343\n * 8 64 512\n * 9 81 729\n * 10 100 1000\n */\ncljs.pprint.get_pretty_writer \x3d (function cljs$pprint$get_pretty_writer(writer){\nif(cljs.core.truth_(cljs.pprint.pretty_writer_QMARK_(writer))){\nreturn writer;\n} else {\nreturn cljs.pprint.pretty_writer(writer,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_);\n}\n});\n/**\n * Make a newline if *out* is not already at the beginning of the line. If *out* is\n * not a pretty writer (which keeps track of columns), this function always outputs a newline.\n */\ncljs.pprint.fresh_line \x3d (function cljs$pprint$fresh_line(){\nif((((!((cljs.core._STAR_out_STAR_ \x3d\x3d null))))?(((((cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d cljs.core._STAR_out_STAR_.cljs$core$IDeref$))))?true:(((!cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_))){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))))))){\nreturn cljs.pprint.prn();\n} else {\nreturn null;\n}\n} else {\nreturn cljs.pprint.prn();\n}\n});\ncljs.pprint.absolute_tabulation \x3d (function cljs$pprint$absolute_tabulation(params,navigator,offsets){\nvar colnum_21122 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_21123 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar current_21124 \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_))));\nvar space_count_21125 \x3d (((current_21124 \x3c colnum_21122))?(colnum_21122 - current_21124):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(colinc_21123,(0)))?(0):(colinc_21123 - cljs.core.rem((current_21124 - colnum_21122),colinc_21123))\n));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_21125,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.relative_tabulation \x3d (function cljs$pprint$relative_tabulation(params,navigator,offsets){\nvar colrel_21126 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_21127 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar start_col_21128 \x3d (colrel_21126 + cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))));\nvar offset_21129 \x3d (((colinc_21127 \x3e (0)))?cljs.core.rem(start_col_21128,colinc_21127):(0));\nvar space_count_21130 \x3d (colrel_21126 + ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),offset_21129))?(0):(colinc_21127 - offset_21129)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_21130,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.format_logical_block \x3d (function cljs$pprint$format_logical_block(params,navigator,offsets){\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause_count \x3d cljs.core.count(clauses);\nvar prefix \x3d (((clause_count \x3e (1)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.first(clauses)))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22(\x22:null));\nvar body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(((clause_count \x3e (1)))?(1):(0)));\nvar suffix \x3d (((clause_count \x3e (2)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(2))))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22)\x22:null));\nvar vec__20001 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20001,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20001,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20004_21131 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20005_21132 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20007_21133 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20008_21134 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20007_21133);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20008_21134);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,suffix);\n\ncljs.pprint.execute_sub_format(body,cljs.pprint.init_navigator(arg),new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20005_21132);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20004_21131);\n}}\n\n\nreturn navigator__$1;\n});\ncljs.pprint.set_indent \x3d (function cljs$pprint$set_indent(params,navigator,offsets){\nvar relative_to \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603):new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210));\ncljs.pprint.pprint_indent(relative_to,new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params));\n\nreturn navigator;\n});\ncljs.pprint.conditional_newline \x3d (function cljs$pprint$conditional_newline(params,navigator,offsets){\nvar kind \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336):new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889)):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186):new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697)));\ncljs.pprint.pprint_newline(kind);\n\nreturn navigator;\n});\ncljs.pprint.directive_table \x3d cljs.core.PersistentHashMap.fromArrays([\x22A\x22,\x22S\x22,\x22D\x22,\x22B\x22,\x22O\x22,\x22X\x22,\x22R\x22,\x22P\x22,\x22C\x22,\x22F\x22,\x22E\x22,\x22G\x22,\x22$\x22,\x22%\x22,\x22\x26\x22,\x22|\x22,\x22~\x22,\x22\\n\x22,\x22T\x22,\x22*\x22,\x22?\x22,\x22(\x22,\x22)\x22,\x22[\x22,\x22;\x22,\x22]\x22,\x22{\x22,\x22}\x22,\x22\x3c\x22,\x22\x3e\x22,\x22^\x22,\x22W\x22,\x22_\x22,\x22I\x22],[new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22A\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__20009_SHARP_,p2__20010_SHARP_,p3__20011_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.print_str,p1__20009_SHARP_,p2__20010_SHARP_,p3__20011_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22S\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__20012_SHARP_,p2__20013_SHARP_,p3__20014_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.pr_str,p1__20012_SHARP_,p2__20013_SHARP_,p3__20014_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22D\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__20015_SHARP_,p2__20016_SHARP_,p3__20017_SHARP_){\nreturn cljs.pprint.format_integer((10),p1__20015_SHARP_,p2__20016_SHARP_,p3__20017_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22B\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__20018_SHARP_,p2__20019_SHARP_,p3__20020_SHARP_){\nreturn cljs.pprint.format_integer((2),p1__20018_SHARP_,p2__20019_SHARP_,p3__20020_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22O\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__20021_SHARP_,p2__20022_SHARP_,p3__20023_SHARP_){\nreturn cljs.pprint.format_integer((8),p1__20021_SHARP_,p2__20022_SHARP_,p3__20023_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22X\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__20024_SHARP_,p2__20025_SHARP_,p3__20026_SHARP_){\nreturn cljs.pprint.format_integer((16),p1__20024_SHARP_,p2__20025_SHARP_,p3__20026_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22R\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(cljs.core.first(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn (function (p1__20027_SHARP_,p2__20028_SHARP_,p3__20029_SHARP_){\nreturn cljs.pprint.format_integer(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(p1__20027_SHARP_),p1__20027_SHARP_,p2__20028_SHARP_,p3__20029_SHARP_);\n});\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn (function (p1__20030_SHARP_,p2__20031_SHARP_,p3__20032_SHARP_){\nreturn cljs.pprint.format_old_roman(p1__20030_SHARP_,p2__20031_SHARP_,p3__20032_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__20033_SHARP_,p2__20034_SHARP_,p3__20035_SHARP_){\nreturn cljs.pprint.format_new_roman(p1__20033_SHARP_,p2__20034_SHARP_,p3__20035_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__20036_SHARP_,p2__20037_SHARP_,p3__20038_SHARP_){\nreturn cljs.pprint.format_ordinal_english(p1__20036_SHARP_,p2__20037_SHARP_,p3__20038_SHARP_);\n});\n} else {\nreturn (function (p1__20039_SHARP_,p2__20040_SHARP_,p3__20041_SHARP_){\nreturn cljs.pprint.format_cardinal_english(p1__20039_SHARP_,p2__20040_SHARP_,p3__20041_SHARP_);\n});\n\n}\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22P\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar navigator__$1 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.pprint.relative_reposition(navigator,(-1)):navigator);\nvar strs \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22y\x22,\x22ies\x22], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22s\x22], null));\nvar vec__20069 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20069,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20069,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg,(1)))?cljs.core.first(strs):cljs.core.second(strs))], 0));\n\nreturn navigator__$2;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22C\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.pretty_character;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.readable_character;\n} else {\nreturn cljs.pprint.plain_character;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22F\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.fixed_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22E\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.exponential_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22G\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.general_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22$\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(2),Number], null),new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.dollar_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22%\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5636__auto___21135 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_21136 \x3d (0);\nwhile(true){\nif((i_21136 \x3c n__5636__auto___21135)){\ncljs.pprint.prn();\n\nvar G__21137 \x3d (i_21136 + (1));\ni_21136 \x3d G__21137;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x26\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar cnt_21138 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nif((cnt_21138 \x3e (0))){\ncljs.pprint.fresh_line();\n} else {\n}\n\nvar n__5636__auto___21139 \x3d (cnt_21138 - (1));\nvar i_21140 \x3d (0);\nwhile(true){\nif((i_21140 \x3c n__5636__auto___21139)){\ncljs.pprint.prn();\n\nvar G__21141 \x3d (i_21140 + (1));\ni_21140 \x3d G__21141;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22|\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5636__auto___21142 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_21143 \x3d (0);\nwhile(true){\nif((i_21143 \x3c n__5636__auto___21142)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\f\x22], 0));\n\nvar G__21144 \x3d (i_21143 + (1));\ni_21143 \x3d G__21144;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22~\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n,\x22~\x22))], 0));\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\\n\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\ncljs.pprint.prn();\n} else {\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22T\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__20043_SHARP_,p2__20044_SHARP_,p3__20045_SHARP_){\nreturn cljs.pprint.relative_tabulation(p1__20043_SHARP_,p2__20044_SHARP_,p3__20045_SHARP_);\n});\n} else {\nreturn (function (p1__20046_SHARP_,p2__20047_SHARP_,p3__20048_SHARP_){\nreturn cljs.pprint.absolute_tabulation(p1__20046_SHARP_,p2__20047_SHARP_,p3__20048_SHARP_);\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22*\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\nreturn cljs.pprint.absolute_reposition(navigator,n);\n} else {\nreturn cljs.pprint.relative_reposition(navigator,(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?(- n):n));\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22?\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (params__$1,navigator,offsets){\nvar vec__20089 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20089,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20089,(1),null);\nreturn cljs.pprint.execute_sub_format(subformat,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__20092 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20092,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20092,(1),null);\nvar vec__20095 \x3d cljs.pprint.next_arg(navigator__$1);\nvar subargs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20095,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20095,(1),null);\nvar sub_navigator \x3d cljs.pprint.init_navigator(subargs);\ncljs.pprint.execute_sub_format(subformat,sub_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n\nreturn navigator__$2;\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22(\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22)\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),null,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nvar mod_case_writer \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.pprint.upcase_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.capitalize_word_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.init_cap_writer:cljs.pprint.downcase_writer\n)));\nreturn (function (p1__20049_SHARP_,p2__20050_SHARP_,p3__20051_SHARP_){\nreturn cljs.pprint.modify_case(mod_case_writer,p1__20049_SHARP_,p2__20050_SHARP_,p3__20051_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22)\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22[\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22]\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22last\x22,\x22last\x22,1105735132)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.boolean_conditional;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.check_arg_conditional;\n} else {\nreturn cljs.pprint.choice_conditional;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22;\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),true], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22]\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22{\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22}\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),false], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.pprint.iterate_main_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_list_of_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_main_list;\n} else {\nreturn cljs.pprint.iterate_sublist;\n\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22}\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3c\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22\x3e\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.logical_block_or_justify;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3e\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22^\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(3),[new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar arg1 \x3d new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg2 \x3d new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg3 \x3d new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar exit \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007):new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d arg2;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn arg3;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nif((((arg1 \x3c\x3d arg2)) \x26\x26 ((arg2 \x3c\x3d arg3)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn arg2;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,arg2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_(arg1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,(0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif((cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1))):cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n\n}\n}\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22W\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n}\n})())){\nvar bindings \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552),null,new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862),null], null):cljs.core.PersistentVector.EMPTY),(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),true], null):cljs.core.PersistentVector.EMPTY));\nreturn (function (params__$1,navigator,offsets){\nvar vec__20099 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20099,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20099,(1),null);\nif(cljs.core.truth_(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.pprint.write,arg,bindings))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__20102 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20102,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20102,(1),null);\nif(cljs.core.truth_(cljs.pprint.write_out(arg))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22_\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.conditional_newline;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22I\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.set_indent;\n})], null)]);\ncljs.pprint.param_pattern \x3d /^([vV]|#|(\x27.)|([+-]?\\d+)|(?\x3d,))/;\ncljs.pprint.special_params \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335),null,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196),null], null), null);\ncljs.pprint.extract_param \x3d (function cljs$pprint$extract_param(p__20111){\nvar vec__20112 \x3d p__20111;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20112,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20112,(1),null);\nvar saw_comma \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20112,(2),null);\nvar m \x3d (new RegExp(cljs.pprint.param_pattern.source,\x22g\x22));\nvar param \x3d m.exec(s);\nif(cljs.core.truth_(param)){\nvar token_str \x3d cljs.core.first(param);\nvar remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,m.lastIndex);\nvar new_offset \x3d (offset + m.lastIndex);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22,\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(remainder,(0)))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder,new_offset,false], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,(1)),(new_offset + (1)),true], null)], null);\n}\n} else {\nif(cljs.core.truth_(saw_comma)){\nreturn cljs.pprint.format_error(\x22Badly formed parameters in format directive\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset], null)], null);\n}\n}\n});\ncljs.pprint.extract_params \x3d (function cljs$pprint$extract_params(s,offset){\nreturn cljs.pprint.consume(cljs.pprint.extract_param,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,false], null));\n});\n/**\n * Translate the string representation of a param to the internalized\n * representation\n */\ncljs.pprint.translate_param \x3d (function cljs$pprint$translate_param(p__20115){\nvar vec__20116 \x3d p__20115;\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20116,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20116,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(0)))?null:((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22V\x22,null,\x22v\x22,null], null), null),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22#\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(2))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x27\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(1)):parseInt(p,(10))\n)))),offset], null);\n});\ncljs.pprint.flag_defs \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22:\x22,new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),\x22@\x22,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349)], null);\ncljs.pprint.extract_flags \x3d (function cljs$pprint$extract_flags(s,offset){\nreturn cljs.pprint.consume((function (p__20120){\nvar vec__20125 \x3d p__20120;\nvar s__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20125,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20125,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20125,(2),null);\nif(cljs.core.empty_QMARK_(s__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n} else {\nvar flag \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.flag_defs,cljs.core.first(s__$1));\nif(cljs.core.truth_(flag)){\nif(cljs.core.contains_QMARK_(flags,flag)){\nreturn cljs.pprint.format_error([\x22Flag \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(s__$1)),\x22\\\x22 appears more than once in a directive\x22].join(\x27\x27),offset__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$1,(1)),(offset__$1 + (1)),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(flags,flag,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,offset__$1], null))], null)], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.pprint.check_flags \x3d (function cljs$pprint$check_flags(def,flags){\nvar allowed \x3d new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(def);\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22@\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5043__auto__){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22:\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.pprint.format_error([\x22Cannot combine \\\x22@\\\x22 and \\\x22:\\\x22 flags for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),(function (){var x__5133__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1));\nvar y__5134__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1));\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})());\n} else {\nreturn null;\n}\n});\n/**\n * Takes a directive definition and the list of actual parameters and\n * a map of flags and returns a map of the parameters and flags with defaults\n * filled in. We check to make sure that there are the right types and number\n * of parameters as well.\n */\ncljs.pprint.map_params \x3d (function cljs$pprint$map_params(def,params,flags,offset){\ncljs.pprint.check_flags(def,flags);\n\nif((cljs.core.count(params) \x3e cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)))){\ncljs.pprint.format_error(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(null,\x22Too many parameters for directive \\\x22~C\\\x22: ~D~:* ~[were~;was~:;were~] specified but only ~D~:* ~[are~;is~:;are~] allowed\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def),cljs.core.count(params),cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def))], 0)),cljs.core.second(cljs.core.first(params)));\n} else {\n}\n\ncljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__20128_SHARP_,p2__20129_SHARP_){\nvar val \x3d cljs.core.first(p1__20128_SHARP_);\nif((!((((val \x3d\x3d null)) || (((cljs.core.contains_QMARK_(cljs.pprint.special_params,val)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.second(cljs.core.second(p2__20129_SHARP_)),cljs.core.type(val))))))))){\nreturn cljs.pprint.format_error([\x22Parameter \x22,cljs.core.name(cljs.core.first(p2__20129_SHARP_)),\x22 has bad type in directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type(val))].join(\x27\x27),cljs.core.second(p1__20128_SHARP_));\n} else {\nreturn null;\n}\n}),params,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)));\n\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.reverse((function (){var iter__5523__auto__ \x3d (function cljs$pprint$map_params_$_iter__20139(s__20140){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__20140__$1 \x3d s__20140;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__20140__$1);\nif(temp__5804__auto__){\nvar s__20140__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__20140__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__20140__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__20142 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__20141 \x3d (0);\nwhile(true){\nif((i__20141 \x3c size__5522__auto__)){\nvar vec__20143 \x3d cljs.core._nth(c__5521__auto__,i__20141);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20143,(0),null);\nvar vec__20146 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20143,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20146,(0),null);\ncljs.core.chunk_append(b__20142,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null));\n\nvar G__21152 \x3d (i__20141 + (1));\ni__20141 \x3d G__21152;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__20142),cljs$pprint$map_params_$_iter__20139(cljs.core.chunk_rest(s__20140__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__20142),null);\n}\n} else {\nvar vec__20149 \x3d cljs.core.first(s__20140__$2);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20149,(0),null);\nvar vec__20152 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20149,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20152,(0),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null),cljs$pprint$map_params_$_iter__20139(cljs.core.rest(s__20140__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def));\n})())),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__20130_SHARP_,p2__20131_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc,p1__20130_SHARP_,p2__20131_SHARP_);\n}),cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__20132_SHARP_){\nreturn cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__20132_SHARP_,(1)));\n}),cljs.core.zipmap(cljs.core.keys(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)),params))),flags], 0));\n});\ncljs.pprint.compile_directive \x3d (function cljs$pprint$compile_directive(s,offset){\nvar vec__20155 \x3d cljs.pprint.extract_params(s,offset);\nvar raw_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20155,(0),null);\nvar vec__20158 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20155,(1),null);\nvar rest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20158,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20158,(1),null);\nvar vec__20161 \x3d cljs.pprint.extract_flags(rest,offset__$1);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20161,(0),null);\nvar vec__20164 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20161,(1),null);\nvar rest__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20164,(0),null);\nvar offset__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20164,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20164,(2),null);\nvar directive \x3d cljs.core.first(rest__$1);\nvar def \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.directive_table,clojure.string.upper_case(directive));\nvar params \x3d (cljs.core.truth_(def)?cljs.pprint.map_params(def,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.translate_param,raw_params),flags,offset__$2):null);\nif(cljs.core.not(directive)){\ncljs.pprint.format_error(\x22Format string ended in the middle of a directive\x22,offset__$2);\n} else {\n}\n\nif(cljs.core.not(def)){\ncljs.pprint.format_error([\x22Directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(directive),\x22\\\x22 is undefined\x22].join(\x27\x27),offset__$2);\n} else {\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive((function (){var fexpr__20167 \x3d new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656).cljs$core$IFn$_invoke$arity$1(def);\nreturn (fexpr__20167.cljs$core$IFn$_invoke$arity$2 ? fexpr__20167.cljs$core$IFn$_invoke$arity$2(params,offset__$2) : fexpr__20167.call(null,params,offset__$2));\n})(),def,params,offset__$2,null,null,null)),(function (){var remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(rest__$1,(1));\nvar offset__$3 \x3d (offset__$2 + (1));\nvar trim_QMARK_ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))));\nvar trim_count \x3d ((trim_QMARK_)?cljs.pprint.prefix_count(remainder,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,\x22\\t\x22], null)):(0));\nvar remainder__$1 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,trim_count);\nvar offset__$4 \x3d (offset__$3 + trim_count);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder__$1,offset__$4], null);\n})()], null);\n});\ncljs.pprint.compile_raw_string \x3d (function cljs$pprint$compile_raw_string(s,offset){\nreturn (new cljs.pprint.compiled_directive((function (_,a,___$1){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s], 0));\n\nreturn a;\n}),null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),s], null),offset,null,null,null));\n});\ncljs.pprint.right_bracket \x3d (function cljs$pprint$right_bracket(this$){\nreturn new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.separator_QMARK_ \x3d (function cljs$pprint$separator_QMARK_(this$){\nreturn new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.else_separator_QMARK_ \x3d (function cljs$pprint$else_separator_QMARK_(this$){\nvar and__5043__auto__ \x3d new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\nif(cljs.core.truth_(and__5043__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nreturn and__5043__auto__;\n}\n});\ncljs.pprint.process_bracket \x3d (function cljs$pprint$process_bracket(this$,remainder){\nvar vec__20172 \x3d cljs.pprint.collect_clauses(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),remainder);\nvar subex \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20172,(0),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20172,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(this$),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),cljs.pprint.tuple_map(subex,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$))], 0)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),null,null,null)),remainder__$1], null);\n});\ncljs.pprint.process_clause \x3d (function cljs$pprint$process_clause(bracket_info,offset,remainder){\nreturn cljs.pprint.consume((function (remainder__$1){\nif(cljs.core.empty_QMARK_(remainder__$1)){\nreturn cljs.pprint.format_error(\x22No closing bracket found.\x22,offset);\n} else {\nvar this$ \x3d cljs.core.first(remainder__$1);\nvar remainder__$2 \x3d cljs.core.next(remainder__$1);\nif(cljs.core.truth_(cljs.pprint.right_bracket(this$))){\nreturn cljs.pprint.process_bracket(this$,remainder__$2);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket_info),new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),null,remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.else_separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),null,null,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$2], null);\n\n}\n}\n}\n}\n}\n}),remainder);\n});\ncljs.pprint.collect_clauses \x3d (function cljs$pprint$collect_clauses(bracket_info,offset,remainder){\nreturn cljs.core.second(cljs.pprint.consume((function (p__20178){\nvar vec__20179 \x3d p__20178;\nvar clause_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20179,(0),null);\nvar saw_else \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20179,(1),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20179,(2),null);\nvar vec__20182 \x3d cljs.pprint.process_clause(bracket_info,offset,remainder__$1);\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20182,(0),null);\nvar vec__20185 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20182,(1),null);\nvar type \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20185,(0),null);\nvar right_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20185,(1),null);\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20185,(2),null);\nvar remainder__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20185,(3),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,cljs.core.PersistentArrayMap.createAsIfByAssoc([(cljs.core.truth_(saw_else)?new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146):new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237),right_params])], 0)),remainder__$2], null)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(clause_map))){\nreturn cljs.pprint.format_error(\x22Two else clauses (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22An else clause (\\\x22~:;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))) \x26\x26 (cljs.core.seq(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(clause_map))))){\nreturn cljs.pprint.format_error(\x22The else clause (\\\x22~:;\\\x22) is only allowed in the first position for this directive.\x22,offset);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646),else_params], null)], 0)),false,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),true,remainder__$2], null)], null);\n}\n\n}\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125))){\nif(cljs.core.truth_(saw_else)){\nreturn cljs.pprint.format_error(\x22A plain clause (with \\\x22~;\\\x22) follows an else clause (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22A separator (\\\x22~;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),false,remainder__$2], null)], null);\n\n}\n}\n} else {\nreturn null;\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),cljs.core.PersistentVector.EMPTY], null),false,remainder], null)));\n});\n/**\n * Take a linearly compiled format and process the bracket directives to give it\n * the appropriate tree structure\n */\ncljs.pprint.process_nesting \x3d (function cljs$pprint$process_nesting(format){\nreturn cljs.core.first(cljs.pprint.consume((function (remainder){\nvar this$ \x3d cljs.core.first(remainder);\nvar remainder__$1 \x3d cljs.core.next(remainder);\nvar bracket \x3d new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket))){\nreturn cljs.pprint.process_bracket(this$,remainder__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$1], null);\n}\n}),format));\n});\n/**\n * Compiles format-str into a compiled format which can be used as an argument\n * to cl-format just like a plain format string. Use this function for improved\n * performance when you\x27re using the same format string repeatedly\n */\ncljs.pprint.compile_format \x3d (function cljs$pprint$compile_format(format_str){\nvar _STAR_format_str_STAR__orig_val__20189 \x3d cljs.pprint._STAR_format_str_STAR_;\nvar _STAR_format_str_STAR__temp_val__20190 \x3d format_str;\n(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__temp_val__20190);\n\ntry{return cljs.pprint.process_nesting(cljs.core.first(cljs.pprint.consume((function (p__20191){\nvar vec__20192 \x3d p__20191;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20192,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20192,(1),null);\nif(cljs.core.empty_QMARK_(s)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,s], null);\n} else {\nvar tilde \x3d s.indexOf(\x22~\x22);\nif((tilde \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(s,offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,(offset + s.length)], null)], null);\n} else {\nif((tilde \x3d\x3d\x3d (0))){\nreturn cljs.pprint.compile_directive(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1)),(offset + (1)));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),tilde),offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,tilde),(tilde + offset)], null)], null);\n\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [format_str,(0)], null))));\n}finally {(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__orig_val__20189);\n}});\n/**\n * determine whether a given compiled format has any directives that depend on the\n * column number or pretty printing\n */\ncljs.pprint.needs_pretty \x3d (function cljs$pprint$needs_pretty(format){\nvar format__$1 \x3d format;\nwhile(true){\nif(cljs.core.empty_QMARK_(format__$1)){\nreturn false;\n} else {\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1))));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\n}\n}\n})())){\nreturn true;\n} else {\nvar G__21162 \x3d cljs.core.next(format__$1);\nformat__$1 \x3d G__21162;\ncontinue;\n}\n}\nbreak;\n}\n});\n/**\n * Executes the format with the arguments.\n */\ncljs.pprint.execute_format \x3d (function cljs$pprint$execute_format(var_args){\nvar G__20196 \x3d arguments.length;\nswitch (G__20196) {\ncase 3:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,format,args){\nvar sb \x3d (new goog.string.StringBuffer());\nvar real_stream \x3d ((((cljs.core.not(stream)) || (stream \x3d\x3d\x3d true)))?(new cljs.core.StringBufferWriter(sb)):stream);\nvar wrapped_stream \x3d ((((cljs.pprint.needs_pretty(format)) \x26\x26 (cljs.core.not(cljs.pprint.pretty_writer_QMARK_(real_stream)))))?cljs.pprint.get_pretty_writer(real_stream):real_stream);\nvar _STAR_out_STAR__orig_val__20197 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__20198 \x3d wrapped_stream;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__20198);\n\ntry{try{cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(format,args);\n}finally {if((!((real_stream \x3d\x3d\x3d wrapped_stream)))){\ncljs.core._flush(wrapped_stream);\n} else {\n}\n}\nif(cljs.core.not(stream)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nif(stream \x3d\x3d\x3d true){\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\nreturn null;\n\n}\n}\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__20197);\n}}));\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2 \x3d (function (format,args){\ncljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__20202 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20202,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20202,(1),null);\nvar vec__20205 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20205,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20205,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),args__$1);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format);\n\nreturn null;\n}));\n\n(cljs.pprint.execute_format.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.pprint.cached_compile \x3d cljs.core.memoize(cljs.pprint.compile_format);\n/**\n * Installs a function as a new method of multimethod associated with dispatch-value. \n */\ncljs.pprint.use_method \x3d (function cljs$pprint$use_method(multifn,dispatch_val,func){\nreturn cljs.core._add_method(multifn,dispatch_val,func);\n});\ncljs.pprint.reader_macros \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22\x27\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22#\x27\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null),\x22@\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null),\x22~\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22deref\x22,\x22cljs.core/deref\x22,1901963335,null),\x22@\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22unquote\x22,\x22cljs.core/unquote\x22,1013085760,null),\x22~\x22], null);\ncljs.pprint.pprint_reader_macro \x3d (function cljs$pprint$pprint_reader_macro(alis){\nvar macro_char \x3d (function (){var G__20208 \x3d cljs.core.first(alis);\nreturn (cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1(G__20208) : cljs.pprint.reader_macros.call(null,G__20208));\n})();\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d macro_char;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(alis));\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core._write(cljs.core._STAR_out_STAR_,macro_char);\n\ncljs.pprint.write_out(cljs.core.second(alis));\n\nreturn true;\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_simple_list \x3d (function cljs$pprint$pprint_simple_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20209_21171 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20210_21172 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20211_21173 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20212_21174 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20211_21173);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20212_21174);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nvar length_count20213_21175 \x3d (0);\nvar alis_21176__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count20213_21175 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_21176__$1){\ncljs.pprint.write_out(cljs.core.first(alis_21176__$1));\n\nif(cljs.core.next(alis_21176__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__21177 \x3d (length_count20213_21175 + (1));\nvar G__21178 \x3d cljs.core.next(alis_21176__$1);\nlength_count20213_21175 \x3d G__21177;\nalis_21176__$1 \x3d G__21178;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20210_21172);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20209_21171);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_list \x3d (function cljs$pprint$pprint_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nreturn cljs.pprint.pprint_simple_list(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_vector \x3d (function cljs$pprint$pprint_vector(avec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20214_21179 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20215_21180 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20216_21181 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20217_21182 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20216_21181);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20217_21182);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count20218_21183 \x3d (0);\nvar aseq_21184 \x3d cljs.core.seq(avec);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count20218_21183 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_21184){\ncljs.pprint.write_out(cljs.core.first(aseq_21184));\n\nif(cljs.core.next(aseq_21184)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__21185 \x3d (length_count20218_21183 + (1));\nvar G__21186 \x3d cljs.core.next(aseq_21184);\nlength_count20218_21183 \x3d G__21185;\naseq_21184 \x3d G__21186;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20215_21180);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20214_21179);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_array \x3d (function (){var format_in__18826__auto__ \x3d \x22~\x3c[~;~@{~w~^, ~:_~}~;]~:\x3e\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21187__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21187 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21188__i \x3d 0, G__21188__a \x3d new Array(arguments.length - 0);\nwhile (G__21188__i \x3c G__21188__a.length) {G__21188__a[G__21188__i] \x3d arguments[G__21188__i + 0]; ++G__21188__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21188__a,0,null);\n} \nreturn G__21187__delegate.call(this,args__18828__auto__);};\nG__21187.cljs$lang$maxFixedArity \x3d 0;\nG__21187.cljs$lang$applyTo \x3d (function (arglist__21189){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21189);\nreturn G__21187__delegate(args__18828__auto__);\n});\nG__21187.cljs$core$IFn$_invoke$arity$variadic \x3d G__21187__delegate;\nreturn G__21187;\n})()\n;\n})();\ncljs.pprint.pprint_map \x3d (function cljs$pprint$pprint_map(amap){\nvar vec__20220 \x3d (((!(cljs.core.record_QMARK_(amap))))?(function (){var fexpr__20225 \x3d new cljs.core.Var(function(){return cljs.core.lift_ns;},new cljs.core.Symbol(\x22cljs.core\x22,\x22lift-ns\x22,\x22cljs.core/lift-ns\x22,463499081,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22lift-ns\x22,\x22lift-ns\x22,602311926,null),\x22cljs/core.cljs\x22,15,1,10543,10543,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22m\x22,\x22m\x22,-1021758608,null)], null)),\x22Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\x22,(cljs.core.truth_(cljs.core.lift_ns)?cljs.core.lift_ns.cljs$lang$test:null)]));\nreturn (fexpr__20225.cljs$core$IFn$_invoke$arity$1 ? fexpr__20225.cljs$core$IFn$_invoke$arity$1(amap) : fexpr__20225.call(null,amap));\n})():null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20220,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20220,(1),null);\nvar amap__$1 \x3d (function (){var or__5045__auto__ \x3d lift_map;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn amap;\n}\n})();\nvar prefix \x3d (cljs.core.truth_(ns)?[\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22{\x22].join(\x27\x27):\x22{\x22);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20226_21190 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20227_21191 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20228_21192 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20229_21193 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20228_21192);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20229_21193);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22}\x22);\n\nvar length_count20230_21194 \x3d (0);\nvar aseq_21195 \x3d cljs.core.seq(amap__$1);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count20230_21194 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_21195){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20231_21196 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20232_21197 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20233_21198 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20234_21199 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20233_21198);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20234_21199);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\ncljs.pprint.write_out(cljs.core.ffirst(aseq_21195));\n\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d (0));\n\ncljs.pprint.write_out(cljs.core.fnext(cljs.core.first(aseq_21195)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20232_21197);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20231_21196);\n}}\n\n\nif(cljs.core.next(aseq_21195)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22, \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__21200 \x3d (length_count20230_21194 + (1));\nvar G__21201 \x3d cljs.core.next(aseq_21195);\nlength_count20230_21194 \x3d G__21200;\naseq_21195 \x3d G__21201;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20227_21191);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20226_21190);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_simple_default \x3d (function cljs$pprint$pprint_simple_default(obj){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n});\ncljs.pprint.pprint_set \x3d (function (){var format_in__18826__auto__ \x3d \x22~\x3c#{~;~@{~w~^ ~:_~}~;}~:\x3e\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21202__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21202 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21203__i \x3d 0, G__21203__a \x3d new Array(arguments.length - 0);\nwhile (G__21203__i \x3c G__21203__a.length) {G__21203__a[G__21203__i] \x3d arguments[G__21203__i + 0]; ++G__21203__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21203__a,0,null);\n} \nreturn G__21202__delegate.call(this,args__18828__auto__);};\nG__21202.cljs$lang$maxFixedArity \x3d 0;\nG__21202.cljs$lang$applyTo \x3d (function (arglist__21204){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21204);\nreturn G__21202__delegate(args__18828__auto__);\n});\nG__21202.cljs$core$IFn$_invoke$arity$variadic \x3d G__21202__delegate;\nreturn G__21202;\n})()\n;\n})();\ncljs.pprint.type_map \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22core$future_call\x22,\x22Future\x22,\x22core$promise\x22,\x22Promise\x22], null);\n/**\n * Map ugly type names to something simpler\n */\ncljs.pprint.map_ref_type \x3d (function cljs$pprint$map_ref_type(name){\nvar or__5045__auto__ \x3d (function (){var temp__5804__auto__ \x3d cljs.core.re_find(/^[^$]+\\$[^$]+/,name);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar match \x3d temp__5804__auto__;\nreturn (cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1(match) : cljs.pprint.type_map.call(null,match));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn name;\n}\n});\ncljs.pprint.pprint_ideref \x3d (function cljs$pprint$pprint_ideref(o){\nvar prefix \x3d [\x22#\x3c\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.map_ref_type(cljs.core.type(o).name)),\x22@\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.getUid(o)),\x22: \x22].join(\x27\x27);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20235_21218 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20236_21219 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20237_21220 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20238_21221 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20237_21220);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20238_21221);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22\x3e\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(- (((prefix).length) - (2))));\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\ncljs.pprint.write_out((((function (){var and__5043__auto__ \x3d (((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition1$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IPending$))))?true:(((!o.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o));\nif(and__5043__auto__){\nreturn (!(cljs.core._realized_QMARK_(o)));\n} else {\nreturn and__5043__auto__;\n}\n})())?new cljs.core.Keyword(null,\x22not-delivered\x22,\x22not-delivered\x22,1599158697):cljs.core.deref(o)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20236_21219);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20235_21218);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_pqueue \x3d (function (){var format_in__18826__auto__ \x3d \x22~\x3c\x3c-(~;~@{~w~^ ~_~}~;)-\x3c~:\x3e\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21222__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21222 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21223__i \x3d 0, G__21223__a \x3d new Array(arguments.length - 0);\nwhile (G__21223__i \x3c G__21223__a.length) {G__21223__a[G__21223__i] \x3d arguments[G__21223__i + 0]; ++G__21223__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21223__a,0,null);\n} \nreturn G__21222__delegate.call(this,args__18828__auto__);};\nG__21222.cljs$lang$maxFixedArity \x3d 0;\nG__21222.cljs$lang$applyTo \x3d (function (arglist__21224){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21224);\nreturn G__21222__delegate(args__18828__auto__);\n});\nG__21222.cljs$core$IFn$_invoke$arity$variadic \x3d G__21222__delegate;\nreturn G__21222;\n})()\n;\n})();\ncljs.pprint.type_dispatcher \x3d (function cljs$pprint$type_dispatcher(obj){\nif((obj instanceof cljs.core.PersistentQueue)){\nreturn new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IDeref$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj))){\nreturn new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795);\n} else {\nif((obj instanceof cljs.core.Symbol)){\nreturn new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696);\n} else {\nif(cljs.core.seq_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683);\n} else {\nif(cljs.core.map_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif(cljs.core.vector_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158);\n} else {\nif(cljs.core.set_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((obj \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328);\n\n}\n}\n}\n}\n}\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.simple_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for simple data structure format.\n */\ncljs.pprint.simple_dispatch \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__20241 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__20241.cljs$core$IFn$_invoke$arity$0 ? fexpr__20241.cljs$core$IFn$_invoke$arity$0() : fexpr__20241.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22simple-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_list);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,null,(function (){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)));\n}));\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\n/**\n * Figure out which kind of brackets to use\n */\ncljs.pprint.brackets \x3d (function cljs$pprint$brackets(form){\nif(cljs.core.vector_QMARK_(form)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22[\x22,\x22]\x22], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22(\x22,\x22)\x22], null);\n}\n});\n/**\n * Pretty print a single reference (import, use, etc.) from a namespace decl\n */\ncljs.pprint.pprint_ns_reference \x3d (function cljs$pprint$pprint_ns_reference(reference){\nif(cljs.core.sequential_QMARK_(reference)){\nvar vec__20242 \x3d cljs.pprint.brackets(reference);\nvar start \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20242,(0),null);\nvar end \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20242,(1),null);\nvar vec__20245 \x3d reference;\nvar seq__20246 \x3d cljs.core.seq(vec__20245);\nvar first__20247 \x3d cljs.core.first(seq__20246);\nvar seq__20246__$1 \x3d cljs.core.next(seq__20246);\nvar keyw \x3d first__20247;\nvar args \x3d seq__20246__$1;\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20252_21225 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20253_21226 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20254_21227 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20255_21228 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20254_21227);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20255_21228);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start,null,end);\n\n(function (){var format_in__18826__auto__ \x3d \x22~w~:i\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21229__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21229 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21230__i \x3d 0, G__21230__a \x3d new Array(arguments.length - 0);\nwhile (G__21230__i \x3c G__21230__a.length) {G__21230__a[G__21230__i] \x3d arguments[G__21230__i + 0]; ++G__21230__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21230__a,0,null);\n} \nreturn G__21229__delegate.call(this,args__18828__auto__);};\nG__21229.cljs$lang$maxFixedArity \x3d 0;\nG__21229.cljs$lang$applyTo \x3d (function (arglist__21231){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21231);\nreturn G__21229__delegate(args__18828__auto__);\n});\nG__21229.cljs$core$IFn$_invoke$arity$variadic \x3d G__21229__delegate;\nreturn G__21229;\n})()\n;\n})()(keyw);\n\nvar args_21232__$1 \x3d args;\nwhile(true){\nif(cljs.core.seq(args_21232__$1)){\n(function (){var format_in__18826__auto__ \x3d \x22 \x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn ((function (args_21232__$1,format_in__18826__auto__,cf__18827__auto__,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args){\nreturn (function() { \nvar G__21233__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21233 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21234__i \x3d 0, G__21234__a \x3d new Array(arguments.length - 0);\nwhile (G__21234__i \x3c G__21234__a.length) {G__21234__a[G__21234__i] \x3d arguments[G__21234__i + 0]; ++G__21234__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21234__a,0,null);\n} \nreturn G__21233__delegate.call(this,args__18828__auto__);};\nG__21233.cljs$lang$maxFixedArity \x3d 0;\nG__21233.cljs$lang$applyTo \x3d (function (arglist__21235){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21235);\nreturn G__21233__delegate(args__18828__auto__);\n});\nG__21233.cljs$core$IFn$_invoke$arity$variadic \x3d G__21233__delegate;\nreturn G__21233;\n})()\n;\n;})(args_21232__$1,format_in__18826__auto__,cf__18827__auto__,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args))\n})()();\n\nvar arg_21236 \x3d cljs.core.first(args_21232__$1);\nif(cljs.core.sequential_QMARK_(arg_21236)){\nvar vec__20260_21237 \x3d cljs.pprint.brackets(arg_21236);\nvar start_21238__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20260_21237,(0),null);\nvar end_21239__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20260_21237,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20263_21240 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20264_21241 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20265_21242 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20266_21243 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20265_21242);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20266_21243);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start_21238__$1,null,end_21239__$1);\n\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(arg_21236),(3))) \x26\x26 ((cljs.core.second(arg_21236) instanceof cljs.core.Keyword)))){\nvar vec__20267_21249 \x3d arg_21236;\nvar ns_21250 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20267_21249,(0),null);\nvar kw_21251 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20267_21249,(1),null);\nvar lis_21252 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20267_21249,(2),null);\n(function (){var format_in__18826__auto__ \x3d \x22~w ~w \x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn ((function (args_21232__$1,format_in__18826__auto__,cf__18827__auto__,vec__20267_21249,ns_21250,kw_21251,lis_21252,_STAR_current_level_STAR__orig_val__20263_21240,_STAR_current_length_STAR__orig_val__20264_21241,_STAR_current_level_STAR__temp_val__20265_21242,_STAR_current_length_STAR__temp_val__20266_21243,vec__20260_21237,start_21238__$1,end_21239__$1,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args){\nreturn (function() { \nvar G__21253__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21253 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21254__i \x3d 0, G__21254__a \x3d new Array(arguments.length - 0);\nwhile (G__21254__i \x3c G__21254__a.length) {G__21254__a[G__21254__i] \x3d arguments[G__21254__i + 0]; ++G__21254__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21254__a,0,null);\n} \nreturn G__21253__delegate.call(this,args__18828__auto__);};\nG__21253.cljs$lang$maxFixedArity \x3d 0;\nG__21253.cljs$lang$applyTo \x3d (function (arglist__21255){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21255);\nreturn G__21253__delegate(args__18828__auto__);\n});\nG__21253.cljs$core$IFn$_invoke$arity$variadic \x3d G__21253__delegate;\nreturn G__21253;\n})()\n;\n;})(args_21232__$1,format_in__18826__auto__,cf__18827__auto__,vec__20267_21249,ns_21250,kw_21251,lis_21252,_STAR_current_level_STAR__orig_val__20263_21240,_STAR_current_length_STAR__orig_val__20264_21241,_STAR_current_level_STAR__temp_val__20265_21242,_STAR_current_length_STAR__temp_val__20266_21243,vec__20260_21237,start_21238__$1,end_21239__$1,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args))\n})()(ns_21250,kw_21251);\n\nif(cljs.core.sequential_QMARK_(lis_21252)){\n(function (){var format_in__18826__auto__ \x3d ((cljs.core.vector_QMARK_(lis_21252))?\x22~\x3c[~;~@{~w~^ ~:_~}~;]~:\x3e\x22:\x22~\x3c(~;~@{~w~^ ~:_~}~;)~:\x3e\x22);\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn ((function (args_21232__$1,format_in__18826__auto__,cf__18827__auto__,vec__20267_21249,ns_21250,kw_21251,lis_21252,_STAR_current_level_STAR__orig_val__20263_21240,_STAR_current_length_STAR__orig_val__20264_21241,_STAR_current_level_STAR__temp_val__20265_21242,_STAR_current_length_STAR__temp_val__20266_21243,vec__20260_21237,start_21238__$1,end_21239__$1,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args){\nreturn (function() { \nvar G__21256__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21256 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21257__i \x3d 0, G__21257__a \x3d new Array(arguments.length - 0);\nwhile (G__21257__i \x3c G__21257__a.length) {G__21257__a[G__21257__i] \x3d arguments[G__21257__i + 0]; ++G__21257__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21257__a,0,null);\n} \nreturn G__21256__delegate.call(this,args__18828__auto__);};\nG__21256.cljs$lang$maxFixedArity \x3d 0;\nG__21256.cljs$lang$applyTo \x3d (function (arglist__21258){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21258);\nreturn G__21256__delegate(args__18828__auto__);\n});\nG__21256.cljs$core$IFn$_invoke$arity$variadic \x3d G__21256__delegate;\nreturn G__21256;\n})()\n;\n;})(args_21232__$1,format_in__18826__auto__,cf__18827__auto__,vec__20267_21249,ns_21250,kw_21251,lis_21252,_STAR_current_level_STAR__orig_val__20263_21240,_STAR_current_length_STAR__orig_val__20264_21241,_STAR_current_level_STAR__temp_val__20265_21242,_STAR_current_length_STAR__temp_val__20266_21243,vec__20260_21237,start_21238__$1,end_21239__$1,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args))\n})()(lis_21252);\n} else {\ncljs.pprint.write_out(lis_21252);\n}\n} else {\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__18826__auto__ \x3d \x22~w ~:i~@{~w~^ ~:_~}\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn ((function (args_21232__$1,format_in__18826__auto__,cf__18827__auto__,_STAR_current_level_STAR__orig_val__20263_21240,_STAR_current_length_STAR__orig_val__20264_21241,_STAR_current_level_STAR__temp_val__20265_21242,_STAR_current_length_STAR__temp_val__20266_21243,vec__20260_21237,start_21238__$1,end_21239__$1,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args){\nreturn (function() { \nvar G__21259__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21259 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21260__i \x3d 0, G__21260__a \x3d new Array(arguments.length - 0);\nwhile (G__21260__i \x3c G__21260__a.length) {G__21260__a[G__21260__i] \x3d arguments[G__21260__i + 0]; ++G__21260__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21260__a,0,null);\n} \nreturn G__21259__delegate.call(this,args__18828__auto__);};\nG__21259.cljs$lang$maxFixedArity \x3d 0;\nG__21259.cljs$lang$applyTo \x3d (function (arglist__21261){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21261);\nreturn G__21259__delegate(args__18828__auto__);\n});\nG__21259.cljs$core$IFn$_invoke$arity$variadic \x3d G__21259__delegate;\nreturn G__21259;\n})()\n;\n;})(args_21232__$1,format_in__18826__auto__,cf__18827__auto__,_STAR_current_level_STAR__orig_val__20263_21240,_STAR_current_length_STAR__orig_val__20264_21241,_STAR_current_level_STAR__temp_val__20265_21242,_STAR_current_length_STAR__temp_val__20266_21243,vec__20260_21237,start_21238__$1,end_21239__$1,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args))\n})(),arg_21236);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20264_21241);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20263_21240);\n}}\n\n\nif(cljs.core.next(args_21232__$1)){\n(function (){var format_in__18826__auto__ \x3d \x22~_\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn ((function (args_21232__$1,format_in__18826__auto__,cf__18827__auto__,vec__20260_21237,start_21238__$1,end_21239__$1,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args){\nreturn (function() { \nvar G__21262__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21262 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21263__i \x3d 0, G__21263__a \x3d new Array(arguments.length - 0);\nwhile (G__21263__i \x3c G__21263__a.length) {G__21263__a[G__21263__i] \x3d arguments[G__21263__i + 0]; ++G__21263__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21263__a,0,null);\n} \nreturn G__21262__delegate.call(this,args__18828__auto__);};\nG__21262.cljs$lang$maxFixedArity \x3d 0;\nG__21262.cljs$lang$applyTo \x3d (function (arglist__21264){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21264);\nreturn G__21262__delegate(args__18828__auto__);\n});\nG__21262.cljs$core$IFn$_invoke$arity$variadic \x3d G__21262__delegate;\nreturn G__21262;\n})()\n;\n;})(args_21232__$1,format_in__18826__auto__,cf__18827__auto__,vec__20260_21237,start_21238__$1,end_21239__$1,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args))\n})()();\n} else {\n}\n} else {\ncljs.pprint.write_out(arg_21236);\n\nif(cljs.core.next(args_21232__$1)){\n(function (){var format_in__18826__auto__ \x3d \x22~:_\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn ((function (args_21232__$1,format_in__18826__auto__,cf__18827__auto__,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args){\nreturn (function() { \nvar G__21265__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21265 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21266__i \x3d 0, G__21266__a \x3d new Array(arguments.length - 0);\nwhile (G__21266__i \x3c G__21266__a.length) {G__21266__a[G__21266__i] \x3d arguments[G__21266__i + 0]; ++G__21266__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21266__a,0,null);\n} \nreturn G__21265__delegate.call(this,args__18828__auto__);};\nG__21265.cljs$lang$maxFixedArity \x3d 0;\nG__21265.cljs$lang$applyTo \x3d (function (arglist__21267){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21267);\nreturn G__21265__delegate(args__18828__auto__);\n});\nG__21265.cljs$core$IFn$_invoke$arity$variadic \x3d G__21265__delegate;\nreturn G__21265;\n})()\n;\n;})(args_21232__$1,format_in__18826__auto__,cf__18827__auto__,arg_21236,_STAR_current_level_STAR__orig_val__20252_21225,_STAR_current_length_STAR__orig_val__20253_21226,_STAR_current_level_STAR__temp_val__20254_21227,_STAR_current_length_STAR__temp_val__20255_21228,vec__20242,start,end,vec__20245,seq__20246,first__20247,seq__20246__$1,keyw,args))\n})()();\n} else {\n}\n}\n\nvar G__21268 \x3d cljs.core.next(args_21232__$1);\nargs_21232__$1 \x3d G__21268;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20253_21226);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20252_21225);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(reference);\n}\n});\n/**\n * The pretty print dispatch chunk for the ns macro\n */\ncljs.pprint.pprint_ns \x3d (function cljs$pprint$pprint_ns(alis){\nif(cljs.core.next(alis)){\nvar vec__20276 \x3d alis;\nvar seq__20277 \x3d cljs.core.seq(vec__20276);\nvar first__20278 \x3d cljs.core.first(seq__20277);\nvar seq__20277__$1 \x3d cljs.core.next(seq__20277);\nvar ns_sym \x3d first__20278;\nvar first__20278__$1 \x3d cljs.core.first(seq__20277__$1);\nvar seq__20277__$2 \x3d cljs.core.next(seq__20277__$1);\nvar ns_name \x3d first__20278__$1;\nvar stuff \x3d seq__20277__$2;\nvar vec__20279 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20279,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20279,(1),null);\nvar vec__20282 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20282,(0),null);\nvar references \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20282,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20285_21269 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20286_21270 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20287_21271 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20288_21272 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20287_21271);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20288_21272);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__18826__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21273__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21273 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21274__i \x3d 0, G__21274__a \x3d new Array(arguments.length - 0);\nwhile (G__21274__i \x3c G__21274__a.length) {G__21274__a[G__21274__i] \x3d arguments[G__21274__i + 0]; ++G__21274__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21274__a,0,null);\n} \nreturn G__21273__delegate.call(this,args__18828__auto__);};\nG__21273.cljs$lang$maxFixedArity \x3d 0;\nG__21273.cljs$lang$applyTo \x3d (function (arglist__21275){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21275);\nreturn G__21273__delegate(args__18828__auto__);\n});\nG__21273.cljs$core$IFn$_invoke$arity$variadic \x3d G__21273__delegate;\nreturn G__21273;\n})()\n;\n})()(ns_sym,ns_name);\n\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d attr_map;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.seq(references);\n}\n}\n})())){\n(function (){var format_in__18826__auto__ \x3d \x22~@:_\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21276__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21276 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21277__i \x3d 0, G__21277__a \x3d new Array(arguments.length - 0);\nwhile (G__21277__i \x3c G__21277__a.length) {G__21277__a[G__21277__i] \x3d arguments[G__21277__i + 0]; ++G__21277__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21277__a,0,null);\n} \nreturn G__21276__delegate.call(this,args__18828__auto__);};\nG__21276.cljs$lang$maxFixedArity \x3d 0;\nG__21276.cljs$lang$applyTo \x3d (function (arglist__21278){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21278);\nreturn G__21276__delegate(args__18828__auto__);\n});\nG__21276.cljs$core$IFn$_invoke$arity$variadic \x3d G__21276__delegate;\nreturn G__21276;\n})()\n;\n})()();\n} else {\n}\n\nif(cljs.core.truth_(doc_str)){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\x22~a\\\x22~:[~;~:@_~]\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([doc_str,(function (){var or__5045__auto__ \x3d attr_map;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.seq(references);\n}\n})()], 0));\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__18826__auto__ \x3d \x22~w~:[~;~:@_~]\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21284__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21284 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21285__i \x3d 0, G__21285__a \x3d new Array(arguments.length - 0);\nwhile (G__21285__i \x3c G__21285__a.length) {G__21285__a[G__21285__i] \x3d arguments[G__21285__i + 0]; ++G__21285__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21285__a,0,null);\n} \nreturn G__21284__delegate.call(this,args__18828__auto__);};\nG__21284.cljs$lang$maxFixedArity \x3d 0;\nG__21284.cljs$lang$applyTo \x3d (function (arglist__21286){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21286);\nreturn G__21284__delegate(args__18828__auto__);\n});\nG__21284.cljs$core$IFn$_invoke$arity$variadic \x3d G__21284__delegate;\nreturn G__21284;\n})()\n;\n})()(attr_map,cljs.core.seq(references));\n} else {\n}\n\nvar references_21287__$1 \x3d references;\nwhile(true){\ncljs.pprint.pprint_ns_reference(cljs.core.first(references_21287__$1));\n\nvar temp__5804__auto___21288 \x3d cljs.core.next(references_21287__$1);\nif(temp__5804__auto___21288){\nvar references_21289__$2 \x3d temp__5804__auto___21288;\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__21290 \x3d references_21289__$2;\nreferences_21287__$1 \x3d G__21290;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20286_21270);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20285_21269);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(alis);\n}\n});\ncljs.pprint.pprint_hold_first \x3d (function (){var format_in__18826__auto__ \x3d \x22~:\x3c~w~^ ~@_~w~^ ~_~@{~w~^ ~_~}~:\x3e\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21291__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21291 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21292__i \x3d 0, G__21292__a \x3d new Array(arguments.length - 0);\nwhile (G__21292__i \x3c G__21292__a.length) {G__21292__a[G__21292__i] \x3d arguments[G__21292__i + 0]; ++G__21292__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21292__a,0,null);\n} \nreturn G__21291__delegate.call(this,args__18828__auto__);};\nG__21291.cljs$lang$maxFixedArity \x3d 0;\nG__21291.cljs$lang$applyTo \x3d (function (arglist__21293){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21293);\nreturn G__21291__delegate(args__18828__auto__);\n});\nG__21291.cljs$core$IFn$_invoke$arity$variadic \x3d G__21291__delegate;\nreturn G__21291;\n})()\n;\n})();\ncljs.pprint.single_defn \x3d (function cljs$pprint$single_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nif(cljs.core.truth_(has_doc_str_QMARK_)){\n(function (){var format_in__18826__auto__ \x3d \x22 ~_\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21294__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21294 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21295__i \x3d 0, G__21295__a \x3d new Array(arguments.length - 0);\nwhile (G__21295__i \x3c G__21295__a.length) {G__21295__a[G__21295__i] \x3d arguments[G__21295__i + 0]; ++G__21295__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21295__a,0,null);\n} \nreturn G__21294__delegate.call(this,args__18828__auto__);};\nG__21294.cljs$lang$maxFixedArity \x3d 0;\nG__21294.cljs$lang$applyTo \x3d (function (arglist__21296){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21296);\nreturn G__21294__delegate(args__18828__auto__);\n});\nG__21294.cljs$core$IFn$_invoke$arity$variadic \x3d G__21294__delegate;\nreturn G__21294;\n})()\n;\n})()();\n} else {\n(function (){var format_in__18826__auto__ \x3d \x22 ~@_\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21297__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21297 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21298__i \x3d 0, G__21298__a \x3d new Array(arguments.length - 0);\nwhile (G__21298__i \x3c G__21298__a.length) {G__21298__a[G__21298__i] \x3d arguments[G__21298__i + 0]; ++G__21298__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21298__a,0,null);\n} \nreturn G__21297__delegate.call(this,args__18828__auto__);};\nG__21297.cljs$lang$maxFixedArity \x3d 0;\nG__21297.cljs$lang$applyTo \x3d (function (arglist__21299){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21299);\nreturn G__21297__delegate(args__18828__auto__);\n});\nG__21297.cljs$core$IFn$_invoke$arity$variadic \x3d G__21297__delegate;\nreturn G__21297;\n})()\n;\n})()();\n}\n\nreturn (function (){var format_in__18826__auto__ \x3d \x22~{~w~^ ~_~}\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21300__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21300 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21301__i \x3d 0, G__21301__a \x3d new Array(arguments.length - 0);\nwhile (G__21301__i \x3c G__21301__a.length) {G__21301__a[G__21301__i] \x3d arguments[G__21301__i + 0]; ++G__21301__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21301__a,0,null);\n} \nreturn G__21300__delegate.call(this,args__18828__auto__);};\nG__21300.cljs$lang$maxFixedArity \x3d 0;\nG__21300.cljs$lang$applyTo \x3d (function (arglist__21302){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21302);\nreturn G__21300__delegate(args__18828__auto__);\n});\nG__21300.cljs$core$IFn$_invoke$arity$variadic \x3d G__21300__delegate;\nreturn G__21300;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.multi_defn \x3d (function cljs$pprint$multi_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nreturn (function (){var format_in__18826__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21303__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21303 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21304__i \x3d 0, G__21304__a \x3d new Array(arguments.length - 0);\nwhile (G__21304__i \x3c G__21304__a.length) {G__21304__a[G__21304__i] \x3d arguments[G__21304__i + 0]; ++G__21304__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21304__a,0,null);\n} \nreturn G__21303__delegate.call(this,args__18828__auto__);};\nG__21303.cljs$lang$maxFixedArity \x3d 0;\nG__21303.cljs$lang$applyTo \x3d (function (arglist__21305){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21305);\nreturn G__21303__delegate(args__18828__auto__);\n});\nG__21303.cljs$core$IFn$_invoke$arity$variadic \x3d G__21303__delegate;\nreturn G__21303;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_defn \x3d (function cljs$pprint$pprint_defn(alis){\nif(cljs.core.next(alis)){\nvar vec__20315 \x3d alis;\nvar seq__20316 \x3d cljs.core.seq(vec__20315);\nvar first__20317 \x3d cljs.core.first(seq__20316);\nvar seq__20316__$1 \x3d cljs.core.next(seq__20316);\nvar defn_sym \x3d first__20317;\nvar first__20317__$1 \x3d cljs.core.first(seq__20316__$1);\nvar seq__20316__$2 \x3d cljs.core.next(seq__20316__$1);\nvar defn_name \x3d first__20317__$1;\nvar stuff \x3d seq__20316__$2;\nvar vec__20318 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20318,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20318,(1),null);\nvar vec__20321 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20321,(0),null);\nvar stuff__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20321,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20324_21306 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20325_21307 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20326_21308 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20327_21309 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20326_21308);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20327_21309);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__18826__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21310__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21310 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21311__i \x3d 0, G__21311__a \x3d new Array(arguments.length - 0);\nwhile (G__21311__i \x3c G__21311__a.length) {G__21311__a[G__21311__i] \x3d arguments[G__21311__i + 0]; ++G__21311__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21311__a,0,null);\n} \nreturn G__21310__delegate.call(this,args__18828__auto__);};\nG__21310.cljs$lang$maxFixedArity \x3d 0;\nG__21310.cljs$lang$applyTo \x3d (function (arglist__21312){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21312);\nreturn G__21310__delegate(args__18828__auto__);\n});\nG__21310.cljs$core$IFn$_invoke$arity$variadic \x3d G__21310__delegate;\nreturn G__21310;\n})()\n;\n})()(defn_sym,defn_name);\n\nif(cljs.core.truth_(doc_str)){\n(function (){var format_in__18826__auto__ \x3d \x22 ~_~w\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21313__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21313 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21314__i \x3d 0, G__21314__a \x3d new Array(arguments.length - 0);\nwhile (G__21314__i \x3c G__21314__a.length) {G__21314__a[G__21314__i] \x3d arguments[G__21314__i + 0]; ++G__21314__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21314__a,0,null);\n} \nreturn G__21313__delegate.call(this,args__18828__auto__);};\nG__21313.cljs$lang$maxFixedArity \x3d 0;\nG__21313.cljs$lang$applyTo \x3d (function (arglist__21315){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21315);\nreturn G__21313__delegate(args__18828__auto__);\n});\nG__21313.cljs$core$IFn$_invoke$arity$variadic \x3d G__21313__delegate;\nreturn G__21313;\n})()\n;\n})()(doc_str);\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__18826__auto__ \x3d \x22 ~_~w\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21316__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21316 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21317__i \x3d 0, G__21317__a \x3d new Array(arguments.length - 0);\nwhile (G__21317__i \x3c G__21317__a.length) {G__21317__a[G__21317__i] \x3d arguments[G__21317__i + 0]; ++G__21317__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21317__a,0,null);\n} \nreturn G__21316__delegate.call(this,args__18828__auto__);};\nG__21316.cljs$lang$maxFixedArity \x3d 0;\nG__21316.cljs$lang$applyTo \x3d (function (arglist__21318){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21318);\nreturn G__21316__delegate(args__18828__auto__);\n});\nG__21316.cljs$core$IFn$_invoke$arity$variadic \x3d G__21316__delegate;\nreturn G__21316;\n})()\n;\n})()(attr_map);\n} else {\n}\n\nif(cljs.core.vector_QMARK_(cljs.core.first(stuff__$2))){\ncljs.pprint.single_defn(stuff__$2,(function (){var or__5045__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn attr_map;\n}\n})());\n} else {\ncljs.pprint.multi_defn(stuff__$2,(function (){var or__5045__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn attr_map;\n}\n})());\n\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20325_21307);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20324_21306);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_binding_form \x3d (function cljs$pprint$pprint_binding_form(binding_vec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20333_21319 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20334_21320 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20335_21321 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20336_21322 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20335_21321);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20336_21322);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count20337_21323 \x3d (0);\nvar binding_21324 \x3d binding_vec;\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count20337_21323 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(cljs.core.seq(binding_21324)){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20338_21325 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20339_21326 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20340_21327 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20341_21328 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20340_21327);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20341_21328);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(binding_21324));\n\nif(cljs.core.next(binding_21324)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(binding_21324));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20339_21326);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20338_21325);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(binding_21324))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__21334 \x3d (length_count20337_21323 + (1));\nvar G__21335 \x3d cljs.core.next(cljs.core.rest(binding_21324));\nlength_count20337_21323 \x3d G__21334;\nbinding_21324 \x3d G__21335;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20334_21320);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20333_21319);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_let \x3d (function cljs$pprint$pprint_let(alis){\nvar base_sym \x3d cljs.core.first(alis);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20347_21336 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20348_21337 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20349_21338 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20350_21339 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20349_21338);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20350_21339);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nif(((cljs.core.next(alis)) \x26\x26 (cljs.core.vector_QMARK_(cljs.core.second(alis))))){\n(function (){var format_in__18826__auto__ \x3d \x22~w ~1I~@_\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21340__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21340 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21341__i \x3d 0, G__21341__a \x3d new Array(arguments.length - 0);\nwhile (G__21341__i \x3c G__21341__a.length) {G__21341__a[G__21341__i] \x3d arguments[G__21341__i + 0]; ++G__21341__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21341__a,0,null);\n} \nreturn G__21340__delegate.call(this,args__18828__auto__);};\nG__21340.cljs$lang$maxFixedArity \x3d 0;\nG__21340.cljs$lang$applyTo \x3d (function (arglist__21342){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21342);\nreturn G__21340__delegate(args__18828__auto__);\n});\nG__21340.cljs$core$IFn$_invoke$arity$variadic \x3d G__21340__delegate;\nreturn G__21340;\n})()\n;\n})()(base_sym);\n\ncljs.pprint.pprint_binding_form(cljs.core.second(alis));\n\n(function (){var format_in__18826__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21343__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21343 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21344__i \x3d 0, G__21344__a \x3d new Array(arguments.length - 0);\nwhile (G__21344__i \x3c G__21344__a.length) {G__21344__a[G__21344__i] \x3d arguments[G__21344__i + 0]; ++G__21344__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21344__a,0,null);\n} \nreturn G__21343__delegate.call(this,args__18828__auto__);};\nG__21343.cljs$lang$maxFixedArity \x3d 0;\nG__21343.cljs$lang$applyTo \x3d (function (arglist__21345){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21345);\nreturn G__21343__delegate(args__18828__auto__);\n});\nG__21343.cljs$core$IFn$_invoke$arity$variadic \x3d G__21343__delegate;\nreturn G__21343;\n})()\n;\n})()(cljs.core.next(cljs.core.rest(alis)));\n} else {\ncljs.pprint.pprint_simple_code_list(alis);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20348_21337);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20347_21336);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_if \x3d (function (){var format_in__18826__auto__ \x3d \x22~:\x3c~1I~w~^ ~@_~w~@{ ~_~w~}~:\x3e\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21346__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21346 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21347__i \x3d 0, G__21347__a \x3d new Array(arguments.length - 0);\nwhile (G__21347__i \x3c G__21347__a.length) {G__21347__a[G__21347__i] \x3d arguments[G__21347__i + 0]; ++G__21347__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21347__a,0,null);\n} \nreturn G__21346__delegate.call(this,args__18828__auto__);};\nG__21346.cljs$lang$maxFixedArity \x3d 0;\nG__21346.cljs$lang$applyTo \x3d (function (arglist__21348){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21348);\nreturn G__21346__delegate(args__18828__auto__);\n});\nG__21346.cljs$core$IFn$_invoke$arity$variadic \x3d G__21346__delegate;\nreturn G__21346;\n})()\n;\n})();\ncljs.pprint.pprint_cond \x3d (function cljs$pprint$pprint_cond(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20375_21349 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20376_21350 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20377_21351 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20378_21352 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20377_21351);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20378_21352);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.pprint.write_out(cljs.core.first(alis));\n\nif(cljs.core.next(alis)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar length_count20388_21353 \x3d (0);\nvar alis_21354__$1 \x3d cljs.core.next(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count20388_21353 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_21354__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20389_21355 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20390_21356 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20391_21357 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20392_21358 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20391_21357);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20392_21358);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_21354__$1));\n\nif(cljs.core.next(alis_21354__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_21354__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20390_21356);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20389_21355);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_21354__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__21359 \x3d (length_count20388_21353 + (1));\nvar G__21360 \x3d cljs.core.next(cljs.core.rest(alis_21354__$1));\nlength_count20388_21353 \x3d G__21359;\nalis_21354__$1 \x3d G__21360;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20376_21350);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20375_21349);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_condp \x3d (function cljs$pprint$pprint_condp(alis){\nif((cljs.core.count(alis) \x3e (3))){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20485_21361 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20486_21362 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20487_21363 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20488_21364 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20487_21363);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20488_21364);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__18826__auto__ \x3d \x22~w ~@_~w ~@_~w ~_\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21365__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21365 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21366__i \x3d 0, G__21366__a \x3d new Array(arguments.length - 0);\nwhile (G__21366__i \x3c G__21366__a.length) {G__21366__a[G__21366__i] \x3d arguments[G__21366__i + 0]; ++G__21366__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21366__a,0,null);\n} \nreturn G__21365__delegate.call(this,args__18828__auto__);};\nG__21365.cljs$lang$maxFixedArity \x3d 0;\nG__21365.cljs$lang$applyTo \x3d (function (arglist__21367){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21367);\nreturn G__21365__delegate(args__18828__auto__);\n});\nG__21365.cljs$core$IFn$_invoke$arity$variadic \x3d G__21365__delegate;\nreturn G__21365;\n})()\n;\n})(),alis);\n\nvar length_count20490_21368 \x3d (0);\nvar alis_21369__$1 \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((3),alis));\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count20490_21368 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_21369__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20491_21370 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20492_21371 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20493_21372 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20494_21373 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20493_21372);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20494_21373);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_21369__$1));\n\nif(cljs.core.next(alis_21369__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_21369__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20492_21371);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20491_21370);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_21369__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__21374 \x3d (length_count20490_21368 + (1));\nvar G__21375 \x3d cljs.core.next(cljs.core.rest(alis_21369__$1));\nlength_count20490_21368 \x3d G__21374;\nalis_21369__$1 \x3d G__21375;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20486_21362);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20485_21361);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint._STAR_symbol_map_STAR_ \x3d cljs.core.PersistentArrayMap.EMPTY;\ncljs.pprint.pprint_anon_func \x3d (function cljs$pprint$pprint_anon_func(alis){\nvar args \x3d cljs.core.second(alis);\nvar nlis \x3d cljs.core.first(cljs.core.rest(cljs.core.rest(alis)));\nif(cljs.core.vector_QMARK_(args)){\nvar _STAR_symbol_map_STAR__orig_val__20542 \x3d cljs.pprint._STAR_symbol_map_STAR_;\nvar _STAR_symbol_map_STAR__temp_val__20543 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(args)))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.first(args),\x22%\x22]):cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__20535_SHARP_,p2__20536_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__20535_SHARP_,[\x22%\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p2__20536_SHARP_)].join(\x27\x27)],null));\n}),args,cljs.core.range.cljs$core$IFn$_invoke$arity$2((1),(cljs.core.count(args) + (1))))));\n(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__temp_val__20543);\n\ntry{return (function (){var format_in__18826__auto__ \x3d \x22~\x3c#(~;~@{~w~^ ~_~}~;)~:\x3e\x22;\nvar cf__18827__auto__ \x3d ((typeof format_in__18826__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__18826__auto__):format_in__18826__auto__);\nreturn (function() { \nvar G__21382__delegate \x3d function (args__18828__auto__){\nvar navigator__18829__auto__ \x3d cljs.pprint.init_navigator(args__18828__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__18827__auto__,navigator__18829__auto__);\n};\nvar G__21382 \x3d function (var_args){\nvar args__18828__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__21383__i \x3d 0, G__21383__a \x3d new Array(arguments.length - 0);\nwhile (G__21383__i \x3c G__21383__a.length) {G__21383__a[G__21383__i] \x3d arguments[G__21383__i + 0]; ++G__21383__i;}\n args__18828__auto__ \x3d new cljs.core.IndexedSeq(G__21383__a,0,null);\n} \nreturn G__21382__delegate.call(this,args__18828__auto__);};\nG__21382.cljs$lang$maxFixedArity \x3d 0;\nG__21382.cljs$lang$applyTo \x3d (function (arglist__21384){\nvar args__18828__auto__ \x3d cljs.core.seq(arglist__21384);\nreturn G__21382__delegate(args__18828__auto__);\n});\nG__21382.cljs$core$IFn$_invoke$arity$variadic \x3d G__21382__delegate;\nreturn G__21382;\n})()\n;\n})()(nlis);\n}finally {(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__orig_val__20542);\n}} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_simple_code_list \x3d (function cljs$pprint$pprint_simple_code_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__20544_21385 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__20545_21386 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__20546_21387 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__20547_21388 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__20546_21387);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__20547_21388);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\nvar length_count20549_21389 \x3d (0);\nvar alis_21390__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count20549_21389 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_21390__$1){\ncljs.pprint.write_out(cljs.core.first(alis_21390__$1));\n\nif(cljs.core.next(alis_21390__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__21391 \x3d (length_count20549_21389 + (1));\nvar G__21392 \x3d cljs.core.next(alis_21390__$1);\nlength_count20549_21389 \x3d G__21391;\nalis_21390__$1 \x3d G__21392;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__20545_21386);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__20544_21385);\n}}\n\nreturn null;\n});\ncljs.pprint.two_forms \x3d (function cljs$pprint$two_forms(amap){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var iter__5523__auto__ \x3d (function cljs$pprint$two_forms_$_iter__20572(s__20573){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__20573__$1 \x3d s__20573;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__20573__$1);\nif(temp__5804__auto__){\nvar s__20573__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__20573__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__20573__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__20575 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__20574 \x3d (0);\nwhile(true){\nif((i__20574 \x3c size__5522__auto__)){\nvar x \x3d cljs.core._nth(c__5521__auto__,i__20574);\ncljs.core.chunk_append(b__20575,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null));\n\nvar G__21393 \x3d (i__20574 + (1));\ni__20574 \x3d G__21393;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__20575),cljs$pprint$two_forms_$_iter__20572(cljs.core.chunk_rest(s__20573__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__20575),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__20573__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null),cljs$pprint$two_forms_$_iter__20572(cljs.core.rest(s__20573__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(amap);\n})()], 0)));\n});\ncljs.pprint.add_core_ns \x3d (function cljs$pprint$add_core_ns(amap){\nvar core \x3d \x22clojure.core\x22;\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20620_SHARP_){\nvar vec__20633 \x3d p1__20620_SHARP_;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20633,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20633,(1),null);\nif(cljs.core.not((function (){var or__5045__auto__ \x3d cljs.core.namespace(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.special_symbol_QMARK_(s);\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(core,cljs.core.name(s)),f], null);\n} else {\nreturn p1__20620_SHARP_;\n}\n}),amap));\n});\ncljs.pprint._STAR_code_table_STAR_ \x3d cljs.pprint.two_forms(cljs.pprint.add_core_ns(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),new cljs.core.Symbol(null,\x22struct\x22,\x22struct\x22,325972931,null),new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),new cljs.core.Symbol(null,\x22struct-map\x22,\x22struct-map\x22,-1387540878,null)],[cljs.pprint.pprint_hold_first,cljs.pprint.pprint_anon_func,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_condp,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_if,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_if,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_ns,cljs.pprint.pprint_let,cljs.pprint.pprint_cond,cljs.pprint.pprint_let,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first])));\ncljs.pprint.pprint_code_list \x3d (function cljs$pprint$pprint_code_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nvar temp__5802__auto__ \x3d cljs.pprint._STAR_code_table_STAR_.call(null,cljs.core.first(alis));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar special_form \x3d temp__5802__auto__;\nreturn (special_form.cljs$core$IFn$_invoke$arity$1 ? special_form.cljs$core$IFn$_invoke$arity$1(alis) : special_form.call(null,alis));\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_code_symbol \x3d (function cljs$pprint$pprint_code_symbol(sym){\nvar temp__5802__auto__ \x3d (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_symbol_map_STAR_) : sym.call(null,cljs.pprint._STAR_symbol_map_STAR_));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar arg_num \x3d temp__5802__auto__;\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arg_num], 0));\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_print_suppress_namespaces_STAR_)){\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.name(sym)], 0));\n} else {\nreturn cljs.pprint.pr.call(null,sym);\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.code_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for pretty printing Clojure code.\n */\ncljs.pprint.code_dispatch \x3d (function (){var method_table__5642__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5643__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5644__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5645__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5646__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__20636 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__20636.cljs$core$IFn$_invoke$arity$0 ? fexpr__20636.cljs$core$IFn$_invoke$arity$0() : fexpr__20636.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22code-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5646__auto__,method_table__5642__auto__,prefer_table__5643__auto__,method_cache__5644__auto__,cached_hierarchy__5645__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_code_list);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),cljs.pprint.pprint_code_symbol);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.pprint.pprint_pqueue);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),cljs.pprint.pprint_ideref);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,null,cljs.pprint.pr);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\ncljs.pprint.add_padding \x3d (function cljs$pprint$add_padding(width,s){\nvar padding \x3d (function (){var x__5130__auto__ \x3d (0);\nvar y__5131__auto__ \x3d (width - cljs.core.count(s));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(padding,\x22 \x22)),s);\n});\n/**\n * Prints a collection of maps in a textual table. Prints table headings\n * ks, and then a line of output for each row, corresponding to the keys\n * in ks. If ks are not specified, use the keys of the first item in rows.\n */\ncljs.pprint.print_table \x3d (function cljs$pprint$print_table(var_args){\nvar G__20661 \x3d arguments.length;\nswitch (G__20661) {\ncase 2:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2 \x3d (function (ks,rows){\nif(cljs.core.seq(rows)){\nvar widths \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max,((cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)).length),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20654_SHARP_){\nreturn ((cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(p1__20654_SHARP_,k))).length);\n}),rows));\n}),ks);\nvar spacers \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20655_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(p1__20655_SHARP_,\x22-\x22));\n}),widths);\nvar fmt_row \x3d (function (leader,divider,trailer,row){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(leader),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(divider,(function (){var iter__5523__auto__ \x3d (function cljs$pprint$iter__20672(s__20673){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__20673__$1 \x3d s__20673;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__20673__$1);\nif(temp__5804__auto__){\nvar s__20673__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__20673__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__20673__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__20675 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__20674 \x3d (0);\nwhile(true){\nif((i__20674 \x3c size__5522__auto__)){\nvar vec__20676 \x3d cljs.core._nth(c__5521__auto__,i__20674);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20676,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20676,(1),null);\ncljs.core.chunk_append(b__20675,cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)));\n\nvar G__21401 \x3d (i__20674 + (1));\ni__20674 \x3d G__21401;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__20675),cljs$pprint$iter__20672(cljs.core.chunk_rest(s__20673__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__20675),null);\n}\n} else {\nvar vec__20679 \x3d cljs.core.first(s__20673__$2);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20679,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20679,(1),null);\nreturn cljs.core.cons(cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)),cljs$pprint$iter__20672(cljs.core.rest(s__20673__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20656_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(row,p1__20656_SHARP_);\n}),ks),widths));\n})()))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(trailer)].join(\x27\x27);\n});\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,cljs.core.zipmap(ks,ks))], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22|-\x22,\x22-+-\x22,\x22-|\x22,cljs.core.zipmap(ks,spacers))], 0));\n\nvar seq__20682 \x3d cljs.core.seq(rows);\nvar chunk__20683 \x3d null;\nvar count__20684 \x3d (0);\nvar i__20685 \x3d (0);\nwhile(true){\nif((i__20685 \x3c count__20684)){\nvar row \x3d chunk__20683.cljs$core$IIndexed$_nth$arity$2(null,i__20685);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__21402 \x3d seq__20682;\nvar G__21403 \x3d chunk__20683;\nvar G__21404 \x3d count__20684;\nvar G__21405 \x3d (i__20685 + (1));\nseq__20682 \x3d G__21402;\nchunk__20683 \x3d G__21403;\ncount__20684 \x3d G__21404;\ni__20685 \x3d G__21405;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__20682);\nif(temp__5804__auto__){\nvar seq__20682__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__20682__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20682__$1);\nvar G__21406 \x3d cljs.core.chunk_rest(seq__20682__$1);\nvar G__21407 \x3d c__5568__auto__;\nvar G__21408 \x3d cljs.core.count(c__5568__auto__);\nvar G__21409 \x3d (0);\nseq__20682 \x3d G__21406;\nchunk__20683 \x3d G__21407;\ncount__20684 \x3d G__21408;\ni__20685 \x3d G__21409;\ncontinue;\n} else {\nvar row \x3d cljs.core.first(seq__20682__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__21410 \x3d cljs.core.next(seq__20682__$1);\nvar G__21411 \x3d null;\nvar G__21412 \x3d (0);\nvar G__21413 \x3d (0);\nseq__20682 \x3d G__21410;\nchunk__20683 \x3d G__21411;\ncount__20684 \x3d G__21412;\ni__20685 \x3d G__21413;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1 \x3d (function (rows){\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(cljs.core.first(rows)),rows);\n}));\n\n(cljs.pprint.print_table.cljs$lang$maxFixedArity \x3d 2);\n\n"); +SHADOW_ENV.evalLoad("clojure.walk.js", true , "goog.provide(\x27clojure.walk\x27);\n/**\n * Traverses form, an arbitrary data structure. inner and outer are\n * functions. Applies inner to each element of form, building up a\n * data structure of the same type, then applies outer to the result.\n * Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.walk \x3d (function clojure$walk$walk(inner,outer,form){\nif(cljs.core.list_QMARK_(form)){\nvar G__18736 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__18736) : outer.call(null,G__18736));\n} else {\nif(cljs.core.map_entry_QMARK_(form)){\nvar G__18737 \x3d (new cljs.core.MapEntry((function (){var G__18739 \x3d cljs.core.key(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__18739) : inner.call(null,G__18739));\n})(),(function (){var G__18741 \x3d cljs.core.val(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__18741) : inner.call(null,G__18741));\n})(),null));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__18737) : outer.call(null,G__18737));\n} else {\nif(cljs.core.seq_QMARK_(form)){\nvar G__18742 \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__18742) : outer.call(null,G__18742));\n} else {\nif(cljs.core.record_QMARK_(form)){\nvar G__18743 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,x){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(x) : inner.call(null,x)));\n}),form,form);\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__18743) : outer.call(null,G__18743));\n} else {\nif(cljs.core.coll_QMARK_(form)){\nvar G__18744 \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(form),cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__18744) : outer.call(null,G__18744));\n} else {\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(form) : outer.call(null,form));\n\n}\n}\n}\n}\n}\n});\n/**\n * Performs a depth-first, post-order traversal of form. Calls f on\n * each sub-form, uses f\x27s return value in place of the original.\n * Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.postwalk \x3d (function clojure$walk$postwalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.postwalk,f),f,form);\n});\n/**\n * Like postwalk, but does pre-order traversal.\n */\nclojure.walk.prewalk \x3d (function clojure$walk$prewalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.prewalk,f),cljs.core.identity,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(form) : f.call(null,form)));\n});\n/**\n * Recursively transforms all map keys from strings to keywords.\n */\nclojure.walk.keywordize_keys \x3d (function clojure$walk$keywordize_keys(m){\nvar f \x3d (function (p__18745){\nvar vec__18746 \x3d p__18745;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18746,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18746,(1),null);\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms all map keys from keywords to strings.\n */\nclojure.walk.stringify_keys \x3d (function clojure$walk$stringify_keys(m){\nvar f \x3d (function (p__18756){\nvar vec__18758 \x3d p__18756;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18758,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__18758,(1),null);\nif((k instanceof cljs.core.Keyword)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.name(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n * values. Like clojure/replace but works on any data structure. Does\n * replacement at the root of the tree first.\n */\nclojure.walk.prewalk_replace \x3d (function clojure$walk$prewalk_replace(smap,form){\nreturn clojure.walk.prewalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n * values. Like clojure/replace but works on any data structure. Does\n * replacement at the leaves of the tree first.\n */\nclojure.walk.postwalk_replace \x3d (function clojure$walk$postwalk_replace(smap,form){\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n"); +SHADOW_ENV.evalLoad("cljs.spec.gen.alpha.js", true , "goog.provide(\x27cljs.spec.gen.alpha\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.spec.gen.alpha.LazyVar \x3d (function (f,cached){\nthis.f \x3d f;\nthis.cached \x3d cached;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.gen.alpha.LazyVar.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((self__.cached \x3d\x3d null)))){\nreturn self__.cached;\n} else {\nvar x \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null));\nif((x \x3d\x3d null)){\n} else {\n(self__.cached \x3d x);\n}\n\nreturn x;\n}\n}));\n\n(cljs.spec.gen.alpha.LazyVar.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cached\x22,\x22cached\x22,-1216707864,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$type \x3d true);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorStr \x3d \x22cljs.spec.gen.alpha/LazyVar\x22);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.gen.alpha/LazyVar\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.gen.alpha/LazyVar.\n */\ncljs.spec.gen.alpha.__GT_LazyVar \x3d (function cljs$spec$gen$alpha$__GT_LazyVar(f,cached){\nreturn (new cljs.spec.gen.alpha.LazyVar(f,cached));\n});\n\ncljs.spec.gen.alpha.quick_check_ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.quick_check !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.quick_check;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.quick_check \x3d (function cljs$spec$gen$alpha$quick_check(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19059 \x3d arguments.length;\nvar i__5770__auto___19061 \x3d (0);\nwhile(true){\nif((i__5770__auto___19061 \x3c len__5769__auto___19059)){\nargs__5775__auto__.push((arguments[i__5770__auto___19061]));\n\nvar G__19062 \x3d (i__5770__auto___19061 + (1));\ni__5770__auto___19061 \x3d G__19062;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.quick_check_ref),args);\n}));\n\n(cljs.spec.gen.alpha.quick_check.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.quick_check.cljs$lang$applyTo \x3d (function (seq18845){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18845));\n}));\n\ncljs.spec.gen.alpha.for_all_STAR__ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties.for_all_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.properties.for_all_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Dynamically loaded clojure.test.check.properties/for-all*.\n */\ncljs.spec.gen.alpha.for_all_STAR_ \x3d (function cljs$spec$gen$alpha$for_all_STAR_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19066 \x3d arguments.length;\nvar i__5770__auto___19067 \x3d (0);\nwhile(true){\nif((i__5770__auto___19067 \x3c len__5769__auto___19066)){\nargs__5775__auto__.push((arguments[i__5770__auto___19067]));\n\nvar G__19068 \x3d (i__5770__auto___19067 + (1));\ni__5770__auto___19067 \x3d G__19068;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.for_all_STAR__ref),args);\n}));\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$applyTo \x3d (function (seq18846){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18846));\n}));\n\nvar g_QMARK__19069 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generator_QMARK_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generator_QMARK_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar g_19070 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generate !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generate;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar mkg_19071 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.__GT_Generator !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.__GT_Generator;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.generator_QMARK_ \x3d (function cljs$spec$gen$alpha$generator_QMARK_(x){\nvar fexpr__18849 \x3d cljs.core.deref(g_QMARK__19069);\nreturn (fexpr__18849.cljs$core$IFn$_invoke$arity$1 ? fexpr__18849.cljs$core$IFn$_invoke$arity$1(x) : fexpr__18849.call(null,x));\n});\n\ncljs.spec.gen.alpha.generator \x3d (function cljs$spec$gen$alpha$generator(gfn){\nvar fexpr__18871 \x3d cljs.core.deref(mkg_19071);\nreturn (fexpr__18871.cljs$core$IFn$_invoke$arity$1 ? fexpr__18871.cljs$core$IFn$_invoke$arity$1(gfn) : fexpr__18871.call(null,gfn));\n});\n\n/**\n * Generate a single value using generator.\n */\ncljs.spec.gen.alpha.generate \x3d (function cljs$spec$gen$alpha$generate(generator){\nvar fexpr__18872 \x3d cljs.core.deref(g_19070);\nreturn (fexpr__18872.cljs$core$IFn$_invoke$arity$1 ? fexpr__18872.cljs$core$IFn$_invoke$arity$1(generator) : fexpr__18872.call(null,generator));\n});\ncljs.spec.gen.alpha.delay_impl \x3d (function cljs$spec$gen$alpha$delay_impl(gfnd){\nreturn cljs.spec.gen.alpha.generator((function (rnd,size){\nvar fexpr__18873 \x3d new cljs.core.Keyword(null,\x22gen\x22,\x22gen\x22,142575302).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(gfnd));\nreturn (fexpr__18873.cljs$core$IFn$_invoke$arity$2 ? fexpr__18873.cljs$core$IFn$_invoke$arity$2(rnd,size) : fexpr__18873.call(null,rnd,size));\n}));\n});\nvar g__11479__auto___19072 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.hash_map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.hash_map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/hash-map\n */\ncljs.spec.gen.alpha.hash_map \x3d (function cljs$spec$gen$alpha$hash_map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19073 \x3d arguments.length;\nvar i__5770__auto___19074 \x3d (0);\nwhile(true){\nif((i__5770__auto___19074 \x3c len__5769__auto___19073)){\nargs__5775__auto__.push((arguments[i__5770__auto___19074]));\n\nvar G__19075 \x3d (i__5770__auto___19074 + (1));\ni__5770__auto___19074 \x3d G__19075;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19072),args);\n}));\n\n(cljs.spec.gen.alpha.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.hash_map.cljs$lang$applyTo \x3d (function (seq18874){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18874));\n}));\n\n\nvar g__11479__auto___19076 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.list !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.list;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/list\n */\ncljs.spec.gen.alpha.list \x3d (function cljs$spec$gen$alpha$list(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19077 \x3d arguments.length;\nvar i__5770__auto___19078 \x3d (0);\nwhile(true){\nif((i__5770__auto___19078 \x3c len__5769__auto___19077)){\nargs__5775__auto__.push((arguments[i__5770__auto___19078]));\n\nvar G__19079 \x3d (i__5770__auto___19078 + (1));\ni__5770__auto___19078 \x3d G__19079;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19076),args);\n}));\n\n(cljs.spec.gen.alpha.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.list.cljs$lang$applyTo \x3d (function (seq18875){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18875));\n}));\n\n\nvar g__11479__auto___19080 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/map\n */\ncljs.spec.gen.alpha.map \x3d (function cljs$spec$gen$alpha$map(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19081 \x3d arguments.length;\nvar i__5770__auto___19082 \x3d (0);\nwhile(true){\nif((i__5770__auto___19082 \x3c len__5769__auto___19081)){\nargs__5775__auto__.push((arguments[i__5770__auto___19082]));\n\nvar G__19083 \x3d (i__5770__auto___19082 + (1));\ni__5770__auto___19082 \x3d G__19083;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19080),args);\n}));\n\n(cljs.spec.gen.alpha.map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.map.cljs$lang$applyTo \x3d (function (seq18879){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18879));\n}));\n\n\nvar g__11479__auto___19085 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.not_empty !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.not_empty;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/not-empty\n */\ncljs.spec.gen.alpha.not_empty \x3d (function cljs$spec$gen$alpha$not_empty(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19086 \x3d arguments.length;\nvar i__5770__auto___19087 \x3d (0);\nwhile(true){\nif((i__5770__auto___19087 \x3c len__5769__auto___19086)){\nargs__5775__auto__.push((arguments[i__5770__auto___19087]));\n\nvar G__19088 \x3d (i__5770__auto___19087 + (1));\ni__5770__auto___19087 \x3d G__19088;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19085),args);\n}));\n\n(cljs.spec.gen.alpha.not_empty.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.not_empty.cljs$lang$applyTo \x3d (function (seq18889){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18889));\n}));\n\n\nvar g__11479__auto___19089 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.set !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.set;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/set\n */\ncljs.spec.gen.alpha.set \x3d (function cljs$spec$gen$alpha$set(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19090 \x3d arguments.length;\nvar i__5770__auto___19091 \x3d (0);\nwhile(true){\nif((i__5770__auto___19091 \x3c len__5769__auto___19090)){\nargs__5775__auto__.push((arguments[i__5770__auto___19091]));\n\nvar G__19092 \x3d (i__5770__auto___19091 + (1));\ni__5770__auto___19091 \x3d G__19092;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19089),args);\n}));\n\n(cljs.spec.gen.alpha.set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.set.cljs$lang$applyTo \x3d (function (seq18900){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18900));\n}));\n\n\nvar g__11479__auto___19093 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector\n */\ncljs.spec.gen.alpha.vector \x3d (function cljs$spec$gen$alpha$vector(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19094 \x3d arguments.length;\nvar i__5770__auto___19095 \x3d (0);\nwhile(true){\nif((i__5770__auto___19095 \x3c len__5769__auto___19094)){\nargs__5775__auto__.push((arguments[i__5770__auto___19095]));\n\nvar G__19096 \x3d (i__5770__auto___19095 + (1));\ni__5770__auto___19095 \x3d G__19096;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19093),args);\n}));\n\n(cljs.spec.gen.alpha.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector.cljs$lang$applyTo \x3d (function (seq18901){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18901));\n}));\n\n\nvar g__11479__auto___19097 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector_distinct !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector_distinct;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector-distinct\n */\ncljs.spec.gen.alpha.vector_distinct \x3d (function cljs$spec$gen$alpha$vector_distinct(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19098 \x3d arguments.length;\nvar i__5770__auto___19099 \x3d (0);\nwhile(true){\nif((i__5770__auto___19099 \x3c len__5769__auto___19098)){\nargs__5775__auto__.push((arguments[i__5770__auto___19099]));\n\nvar G__19100 \x3d (i__5770__auto___19099 + (1));\ni__5770__auto___19099 \x3d G__19100;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19097),args);\n}));\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$applyTo \x3d (function (seq18918){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18918));\n}));\n\n\nvar g__11479__auto___19101 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.fmap !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.fmap;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/fmap\n */\ncljs.spec.gen.alpha.fmap \x3d (function cljs$spec$gen$alpha$fmap(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19102 \x3d arguments.length;\nvar i__5770__auto___19103 \x3d (0);\nwhile(true){\nif((i__5770__auto___19103 \x3c len__5769__auto___19102)){\nargs__5775__auto__.push((arguments[i__5770__auto___19103]));\n\nvar G__19104 \x3d (i__5770__auto___19103 + (1));\ni__5770__auto___19103 \x3d G__19104;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19101),args);\n}));\n\n(cljs.spec.gen.alpha.fmap.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.fmap.cljs$lang$applyTo \x3d (function (seq18935){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18935));\n}));\n\n\nvar g__11479__auto___19108 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.elements !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.elements;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/elements\n */\ncljs.spec.gen.alpha.elements \x3d (function cljs$spec$gen$alpha$elements(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19109 \x3d arguments.length;\nvar i__5770__auto___19110 \x3d (0);\nwhile(true){\nif((i__5770__auto___19110 \x3c len__5769__auto___19109)){\nargs__5775__auto__.push((arguments[i__5770__auto___19110]));\n\nvar G__19111 \x3d (i__5770__auto___19110 + (1));\ni__5770__auto___19110 \x3d G__19111;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19108),args);\n}));\n\n(cljs.spec.gen.alpha.elements.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.elements.cljs$lang$applyTo \x3d (function (seq18942){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18942));\n}));\n\n\nvar g__11479__auto___19112 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.bind !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.bind;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/bind\n */\ncljs.spec.gen.alpha.bind \x3d (function cljs$spec$gen$alpha$bind(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19113 \x3d arguments.length;\nvar i__5770__auto___19114 \x3d (0);\nwhile(true){\nif((i__5770__auto___19114 \x3c len__5769__auto___19113)){\nargs__5775__auto__.push((arguments[i__5770__auto___19114]));\n\nvar G__19115 \x3d (i__5770__auto___19114 + (1));\ni__5770__auto___19114 \x3d G__19115;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19112),args);\n}));\n\n(cljs.spec.gen.alpha.bind.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.bind.cljs$lang$applyTo \x3d (function (seq18944){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18944));\n}));\n\n\nvar g__11479__auto___19116 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.choose !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.choose;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/choose\n */\ncljs.spec.gen.alpha.choose \x3d (function cljs$spec$gen$alpha$choose(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19117 \x3d arguments.length;\nvar i__5770__auto___19118 \x3d (0);\nwhile(true){\nif((i__5770__auto___19118 \x3c len__5769__auto___19117)){\nargs__5775__auto__.push((arguments[i__5770__auto___19118]));\n\nvar G__19119 \x3d (i__5770__auto___19118 + (1));\ni__5770__auto___19118 \x3d G__19119;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19116),args);\n}));\n\n(cljs.spec.gen.alpha.choose.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.choose.cljs$lang$applyTo \x3d (function (seq18945){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18945));\n}));\n\n\nvar g__11479__auto___19121 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.one_of !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.one_of;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/one-of\n */\ncljs.spec.gen.alpha.one_of \x3d (function cljs$spec$gen$alpha$one_of(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19122 \x3d arguments.length;\nvar i__5770__auto___19123 \x3d (0);\nwhile(true){\nif((i__5770__auto___19123 \x3c len__5769__auto___19122)){\nargs__5775__auto__.push((arguments[i__5770__auto___19123]));\n\nvar G__19124 \x3d (i__5770__auto___19123 + (1));\ni__5770__auto___19123 \x3d G__19124;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19121),args);\n}));\n\n(cljs.spec.gen.alpha.one_of.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.one_of.cljs$lang$applyTo \x3d (function (seq18947){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18947));\n}));\n\n\nvar g__11479__auto___19125 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.such_that !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.such_that;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/such-that\n */\ncljs.spec.gen.alpha.such_that \x3d (function cljs$spec$gen$alpha$such_that(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19126 \x3d arguments.length;\nvar i__5770__auto___19127 \x3d (0);\nwhile(true){\nif((i__5770__auto___19127 \x3c len__5769__auto___19126)){\nargs__5775__auto__.push((arguments[i__5770__auto___19127]));\n\nvar G__19128 \x3d (i__5770__auto___19127 + (1));\ni__5770__auto___19127 \x3d G__19128;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19125),args);\n}));\n\n(cljs.spec.gen.alpha.such_that.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.such_that.cljs$lang$applyTo \x3d (function (seq18948){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18948));\n}));\n\n\nvar g__11479__auto___19129 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.tuple !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.tuple;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/tuple\n */\ncljs.spec.gen.alpha.tuple \x3d (function cljs$spec$gen$alpha$tuple(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19130 \x3d arguments.length;\nvar i__5770__auto___19131 \x3d (0);\nwhile(true){\nif((i__5770__auto___19131 \x3c len__5769__auto___19130)){\nargs__5775__auto__.push((arguments[i__5770__auto___19131]));\n\nvar G__19132 \x3d (i__5770__auto___19131 + (1));\ni__5770__auto___19131 \x3d G__19132;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19129),args);\n}));\n\n(cljs.spec.gen.alpha.tuple.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.tuple.cljs$lang$applyTo \x3d (function (seq18949){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18949));\n}));\n\n\nvar g__11479__auto___19133 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.sample !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.sample;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/sample\n */\ncljs.spec.gen.alpha.sample \x3d (function cljs$spec$gen$alpha$sample(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19134 \x3d arguments.length;\nvar i__5770__auto___19135 \x3d (0);\nwhile(true){\nif((i__5770__auto___19135 \x3c len__5769__auto___19134)){\nargs__5775__auto__.push((arguments[i__5770__auto___19135]));\n\nvar G__19136 \x3d (i__5770__auto___19135 + (1));\ni__5770__auto___19135 \x3d G__19136;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19133),args);\n}));\n\n(cljs.spec.gen.alpha.sample.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.sample.cljs$lang$applyTo \x3d (function (seq18956){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18956));\n}));\n\n\nvar g__11479__auto___19137 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.return$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.return$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/return\n */\ncljs.spec.gen.alpha.return$ \x3d (function cljs$spec$gen$alpha$return(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19138 \x3d arguments.length;\nvar i__5770__auto___19139 \x3d (0);\nwhile(true){\nif((i__5770__auto___19139 \x3c len__5769__auto___19138)){\nargs__5775__auto__.push((arguments[i__5770__auto___19139]));\n\nvar G__19140 \x3d (i__5770__auto___19139 + (1));\ni__5770__auto___19139 \x3d G__19140;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19137),args);\n}));\n\n(cljs.spec.gen.alpha.return$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.return$.cljs$lang$applyTo \x3d (function (seq18957){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18957));\n}));\n\n\nvar g__11479__auto___19141 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/large-integer*\n */\ncljs.spec.gen.alpha.large_integer_STAR_ \x3d (function cljs$spec$gen$alpha$large_integer_STAR_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19151 \x3d arguments.length;\nvar i__5770__auto___19152 \x3d (0);\nwhile(true){\nif((i__5770__auto___19152 \x3c len__5769__auto___19151)){\nargs__5775__auto__.push((arguments[i__5770__auto___19152]));\n\nvar G__19153 \x3d (i__5770__auto___19152 + (1));\ni__5770__auto___19152 \x3d G__19153;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19141),args);\n}));\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$applyTo \x3d (function (seq18967){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18967));\n}));\n\n\nvar g__11479__auto___19154 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/double*\n */\ncljs.spec.gen.alpha.double_STAR_ \x3d (function cljs$spec$gen$alpha$double_STAR_(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19155 \x3d arguments.length;\nvar i__5770__auto___19157 \x3d (0);\nwhile(true){\nif((i__5770__auto___19157 \x3c len__5769__auto___19155)){\nargs__5775__auto__.push((arguments[i__5770__auto___19157]));\n\nvar G__19158 \x3d (i__5770__auto___19157 + (1));\ni__5770__auto___19157 \x3d G__19158;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19154),args);\n}));\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$applyTo \x3d (function (seq18972){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18972));\n}));\n\n\nvar g__11479__auto___19162 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.frequency !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.frequency;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/frequency\n */\ncljs.spec.gen.alpha.frequency \x3d (function cljs$spec$gen$alpha$frequency(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19163 \x3d arguments.length;\nvar i__5770__auto___19164 \x3d (0);\nwhile(true){\nif((i__5770__auto___19164 \x3c len__5769__auto___19163)){\nargs__5775__auto__.push((arguments[i__5770__auto___19164]));\n\nvar G__19165 \x3d (i__5770__auto___19164 + (1));\ni__5770__auto___19164 \x3d G__19165;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19162),args);\n}));\n\n(cljs.spec.gen.alpha.frequency.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.frequency.cljs$lang$applyTo \x3d (function (seq18973){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18973));\n}));\n\n\nvar g__11479__auto___19166 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.shuffle !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.shuffle;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/shuffle\n */\ncljs.spec.gen.alpha.shuffle \x3d (function cljs$spec$gen$alpha$shuffle(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19167 \x3d arguments.length;\nvar i__5770__auto___19168 \x3d (0);\nwhile(true){\nif((i__5770__auto___19168 \x3c len__5769__auto___19167)){\nargs__5775__auto__.push((arguments[i__5770__auto___19168]));\n\nvar G__19169 \x3d (i__5770__auto___19168 + (1));\ni__5770__auto___19168 \x3d G__19169;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__11479__auto___19166),args);\n}));\n\n(cljs.spec.gen.alpha.shuffle.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.shuffle.cljs$lang$applyTo \x3d (function (seq18974){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18974));\n}));\n\nvar g__11484__auto___19170 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any\n */\ncljs.spec.gen.alpha.any \x3d (function cljs$spec$gen$alpha$any(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19171 \x3d arguments.length;\nvar i__5770__auto___19172 \x3d (0);\nwhile(true){\nif((i__5770__auto___19172 \x3c len__5769__auto___19171)){\nargs__5775__auto__.push((arguments[i__5770__auto___19172]));\n\nvar G__19173 \x3d (i__5770__auto___19172 + (1));\ni__5770__auto___19172 \x3d G__19173;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19170);\n}));\n\n(cljs.spec.gen.alpha.any.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any.cljs$lang$applyTo \x3d (function (seq18975){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18975));\n}));\n\n\nvar g__11484__auto___19174 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any-printable\n */\ncljs.spec.gen.alpha.any_printable \x3d (function cljs$spec$gen$alpha$any_printable(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19175 \x3d arguments.length;\nvar i__5770__auto___19176 \x3d (0);\nwhile(true){\nif((i__5770__auto___19176 \x3c len__5769__auto___19175)){\nargs__5775__auto__.push((arguments[i__5770__auto___19176]));\n\nvar G__19177 \x3d (i__5770__auto___19176 + (1));\ni__5770__auto___19176 \x3d G__19177;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19174);\n}));\n\n(cljs.spec.gen.alpha.any_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any_printable.cljs$lang$applyTo \x3d (function (seq18980){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18980));\n}));\n\n\nvar g__11484__auto___19178 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.boolean$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.boolean$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/boolean\n */\ncljs.spec.gen.alpha.boolean$ \x3d (function cljs$spec$gen$alpha$boolean(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19179 \x3d arguments.length;\nvar i__5770__auto___19180 \x3d (0);\nwhile(true){\nif((i__5770__auto___19180 \x3c len__5769__auto___19179)){\nargs__5775__auto__.push((arguments[i__5770__auto___19180]));\n\nvar G__19181 \x3d (i__5770__auto___19180 + (1));\ni__5770__auto___19180 \x3d G__19181;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19178);\n}));\n\n(cljs.spec.gen.alpha.boolean$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.boolean$.cljs$lang$applyTo \x3d (function (seq18981){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18981));\n}));\n\n\nvar g__11484__auto___19182 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char\n */\ncljs.spec.gen.alpha.char$ \x3d (function cljs$spec$gen$alpha$char(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19183 \x3d arguments.length;\nvar i__5770__auto___19184 \x3d (0);\nwhile(true){\nif((i__5770__auto___19184 \x3c len__5769__auto___19183)){\nargs__5775__auto__.push((arguments[i__5770__auto___19184]));\n\nvar G__19185 \x3d (i__5770__auto___19184 + (1));\ni__5770__auto___19184 \x3d G__19185;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19182);\n}));\n\n(cljs.spec.gen.alpha.char$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char$.cljs$lang$applyTo \x3d (function (seq18983){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18983));\n}));\n\n\nvar g__11484__auto___19186 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alpha !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alpha;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alpha\n */\ncljs.spec.gen.alpha.char_alpha \x3d (function cljs$spec$gen$alpha$char_alpha(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19195 \x3d arguments.length;\nvar i__5770__auto___19196 \x3d (0);\nwhile(true){\nif((i__5770__auto___19196 \x3c len__5769__auto___19195)){\nargs__5775__auto__.push((arguments[i__5770__auto___19196]));\n\nvar G__19197 \x3d (i__5770__auto___19196 + (1));\ni__5770__auto___19196 \x3d G__19197;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19186);\n}));\n\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$applyTo \x3d (function (seq18984){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18984));\n}));\n\n\nvar g__11484__auto___19198 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alphanumeric\n */\ncljs.spec.gen.alpha.char_alphanumeric \x3d (function cljs$spec$gen$alpha$char_alphanumeric(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19199 \x3d arguments.length;\nvar i__5770__auto___19200 \x3d (0);\nwhile(true){\nif((i__5770__auto___19200 \x3c len__5769__auto___19199)){\nargs__5775__auto__.push((arguments[i__5770__auto___19200]));\n\nvar G__19201 \x3d (i__5770__auto___19200 + (1));\ni__5770__auto___19200 \x3d G__19201;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19198);\n}));\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$applyTo \x3d (function (seq18989){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18989));\n}));\n\n\nvar g__11484__auto___19202 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-ascii\n */\ncljs.spec.gen.alpha.char_ascii \x3d (function cljs$spec$gen$alpha$char_ascii(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19203 \x3d arguments.length;\nvar i__5770__auto___19204 \x3d (0);\nwhile(true){\nif((i__5770__auto___19204 \x3c len__5769__auto___19203)){\nargs__5775__auto__.push((arguments[i__5770__auto___19204]));\n\nvar G__19205 \x3d (i__5770__auto___19204 + (1));\ni__5770__auto___19204 \x3d G__19205;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19202);\n}));\n\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$applyTo \x3d (function (seq18992){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18992));\n}));\n\n\nvar g__11484__auto___19206 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/double\n */\ncljs.spec.gen.alpha.double$ \x3d (function cljs$spec$gen$alpha$double(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19207 \x3d arguments.length;\nvar i__5770__auto___19208 \x3d (0);\nwhile(true){\nif((i__5770__auto___19208 \x3c len__5769__auto___19207)){\nargs__5775__auto__.push((arguments[i__5770__auto___19208]));\n\nvar G__19209 \x3d (i__5770__auto___19208 + (1));\ni__5770__auto___19208 \x3d G__19209;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19206);\n}));\n\n(cljs.spec.gen.alpha.double$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double$.cljs$lang$applyTo \x3d (function (seq18997){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18997));\n}));\n\n\nvar g__11484__auto___19210 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.int$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.int$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/int\n */\ncljs.spec.gen.alpha.int$ \x3d (function cljs$spec$gen$alpha$int(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19211 \x3d arguments.length;\nvar i__5770__auto___19212 \x3d (0);\nwhile(true){\nif((i__5770__auto___19212 \x3c len__5769__auto___19211)){\nargs__5775__auto__.push((arguments[i__5770__auto___19212]));\n\nvar G__19213 \x3d (i__5770__auto___19212 + (1));\ni__5770__auto___19212 \x3d G__19213;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19210);\n}));\n\n(cljs.spec.gen.alpha.int$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.int$.cljs$lang$applyTo \x3d (function (seq18998){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq18998));\n}));\n\n\nvar g__11484__auto___19214 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword\n */\ncljs.spec.gen.alpha.keyword \x3d (function cljs$spec$gen$alpha$keyword(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19215 \x3d arguments.length;\nvar i__5770__auto___19216 \x3d (0);\nwhile(true){\nif((i__5770__auto___19216 \x3c len__5769__auto___19215)){\nargs__5775__auto__.push((arguments[i__5770__auto___19216]));\n\nvar G__19217 \x3d (i__5770__auto___19216 + (1));\ni__5770__auto___19216 \x3d G__19217;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19214);\n}));\n\n(cljs.spec.gen.alpha.keyword.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword.cljs$lang$applyTo \x3d (function (seq19000){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19000));\n}));\n\n\nvar g__11484__auto___19220 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword-ns\n */\ncljs.spec.gen.alpha.keyword_ns \x3d (function cljs$spec$gen$alpha$keyword_ns(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19221 \x3d arguments.length;\nvar i__5770__auto___19222 \x3d (0);\nwhile(true){\nif((i__5770__auto___19222 \x3c len__5769__auto___19221)){\nargs__5775__auto__.push((arguments[i__5770__auto___19222]));\n\nvar G__19223 \x3d (i__5770__auto___19222 + (1));\ni__5770__auto___19222 \x3d G__19223;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19220);\n}));\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$applyTo \x3d (function (seq19005){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19005));\n}));\n\n\nvar g__11484__auto___19224 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/large-integer\n */\ncljs.spec.gen.alpha.large_integer \x3d (function cljs$spec$gen$alpha$large_integer(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19229 \x3d arguments.length;\nvar i__5770__auto___19230 \x3d (0);\nwhile(true){\nif((i__5770__auto___19230 \x3c len__5769__auto___19229)){\nargs__5775__auto__.push((arguments[i__5770__auto___19230]));\n\nvar G__19231 \x3d (i__5770__auto___19230 + (1));\ni__5770__auto___19230 \x3d G__19231;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19224);\n}));\n\n(cljs.spec.gen.alpha.large_integer.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer.cljs$lang$applyTo \x3d (function (seq19007){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19007));\n}));\n\n\nvar g__11484__auto___19232 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.ratio !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.ratio;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/ratio\n */\ncljs.spec.gen.alpha.ratio \x3d (function cljs$spec$gen$alpha$ratio(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19233 \x3d arguments.length;\nvar i__5770__auto___19234 \x3d (0);\nwhile(true){\nif((i__5770__auto___19234 \x3c len__5769__auto___19233)){\nargs__5775__auto__.push((arguments[i__5770__auto___19234]));\n\nvar G__19235 \x3d (i__5770__auto___19234 + (1));\ni__5770__auto___19234 \x3d G__19235;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19232);\n}));\n\n(cljs.spec.gen.alpha.ratio.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.ratio.cljs$lang$applyTo \x3d (function (seq19012){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19012));\n}));\n\n\nvar g__11484__auto___19236 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type\n */\ncljs.spec.gen.alpha.simple_type \x3d (function cljs$spec$gen$alpha$simple_type(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19237 \x3d arguments.length;\nvar i__5770__auto___19238 \x3d (0);\nwhile(true){\nif((i__5770__auto___19238 \x3c len__5769__auto___19237)){\nargs__5775__auto__.push((arguments[i__5770__auto___19238]));\n\nvar G__19239 \x3d (i__5770__auto___19238 + (1));\ni__5770__auto___19238 \x3d G__19239;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19236);\n}));\n\n(cljs.spec.gen.alpha.simple_type.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type.cljs$lang$applyTo \x3d (function (seq19014){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19014));\n}));\n\n\nvar g__11484__auto___19240 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type-printable\n */\ncljs.spec.gen.alpha.simple_type_printable \x3d (function cljs$spec$gen$alpha$simple_type_printable(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19241 \x3d arguments.length;\nvar i__5770__auto___19242 \x3d (0);\nwhile(true){\nif((i__5770__auto___19242 \x3c len__5769__auto___19241)){\nargs__5775__auto__.push((arguments[i__5770__auto___19242]));\n\nvar G__19243 \x3d (i__5770__auto___19242 + (1));\ni__5770__auto___19242 \x3d G__19243;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19240);\n}));\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$applyTo \x3d (function (seq19020){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19020));\n}));\n\n\nvar g__11484__auto___19244 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string\n */\ncljs.spec.gen.alpha.string \x3d (function cljs$spec$gen$alpha$string(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19245 \x3d arguments.length;\nvar i__5770__auto___19246 \x3d (0);\nwhile(true){\nif((i__5770__auto___19246 \x3c len__5769__auto___19245)){\nargs__5775__auto__.push((arguments[i__5770__auto___19246]));\n\nvar G__19247 \x3d (i__5770__auto___19246 + (1));\ni__5770__auto___19246 \x3d G__19247;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19244);\n}));\n\n(cljs.spec.gen.alpha.string.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string.cljs$lang$applyTo \x3d (function (seq19021){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19021));\n}));\n\n\nvar g__11484__auto___19248 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-ascii\n */\ncljs.spec.gen.alpha.string_ascii \x3d (function cljs$spec$gen$alpha$string_ascii(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19249 \x3d arguments.length;\nvar i__5770__auto___19250 \x3d (0);\nwhile(true){\nif((i__5770__auto___19250 \x3c len__5769__auto___19249)){\nargs__5775__auto__.push((arguments[i__5770__auto___19250]));\n\nvar G__19251 \x3d (i__5770__auto___19250 + (1));\ni__5770__auto___19250 \x3d G__19251;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19248);\n}));\n\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$applyTo \x3d (function (seq19026){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19026));\n}));\n\n\nvar g__11484__auto___19252 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-alphanumeric\n */\ncljs.spec.gen.alpha.string_alphanumeric \x3d (function cljs$spec$gen$alpha$string_alphanumeric(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19255 \x3d arguments.length;\nvar i__5770__auto___19256 \x3d (0);\nwhile(true){\nif((i__5770__auto___19256 \x3c len__5769__auto___19255)){\nargs__5775__auto__.push((arguments[i__5770__auto___19256]));\n\nvar G__19257 \x3d (i__5770__auto___19256 + (1));\ni__5770__auto___19256 \x3d G__19257;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19252);\n}));\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$applyTo \x3d (function (seq19027){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19027));\n}));\n\n\nvar g__11484__auto___19258 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol\n */\ncljs.spec.gen.alpha.symbol \x3d (function cljs$spec$gen$alpha$symbol(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19262 \x3d arguments.length;\nvar i__5770__auto___19263 \x3d (0);\nwhile(true){\nif((i__5770__auto___19263 \x3c len__5769__auto___19262)){\nargs__5775__auto__.push((arguments[i__5770__auto___19263]));\n\nvar G__19264 \x3d (i__5770__auto___19263 + (1));\ni__5770__auto___19263 \x3d G__19264;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19258);\n}));\n\n(cljs.spec.gen.alpha.symbol.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol.cljs$lang$applyTo \x3d (function (seq19029){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19029));\n}));\n\n\nvar g__11484__auto___19265 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol-ns\n */\ncljs.spec.gen.alpha.symbol_ns \x3d (function cljs$spec$gen$alpha$symbol_ns(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19266 \x3d arguments.length;\nvar i__5770__auto___19267 \x3d (0);\nwhile(true){\nif((i__5770__auto___19267 \x3c len__5769__auto___19266)){\nargs__5775__auto__.push((arguments[i__5770__auto___19267]));\n\nvar G__19268 \x3d (i__5770__auto___19267 + (1));\ni__5770__auto___19267 \x3d G__19268;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19265);\n}));\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$applyTo \x3d (function (seq19034){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19034));\n}));\n\n\nvar g__11484__auto___19269 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.uuid !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.uuid;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/uuid\n */\ncljs.spec.gen.alpha.uuid \x3d (function cljs$spec$gen$alpha$uuid(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19270 \x3d arguments.length;\nvar i__5770__auto___19271 \x3d (0);\nwhile(true){\nif((i__5770__auto___19271 \x3c len__5769__auto___19270)){\nargs__5775__auto__.push((arguments[i__5770__auto___19271]));\n\nvar G__19272 \x3d (i__5770__auto___19271 + (1));\ni__5770__auto___19271 \x3d G__19272;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__11484__auto___19269);\n}));\n\n(cljs.spec.gen.alpha.uuid.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.uuid.cljs$lang$applyTo \x3d (function (seq19041){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19041));\n}));\n\n/**\n * Returns a generator of a sequence catenated from results of\n * gens, each of which should generate something sequential.\n */\ncljs.spec.gen.alpha.cat \x3d (function cljs$spec$gen$alpha$cat(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___19273 \x3d arguments.length;\nvar i__5770__auto___19274 \x3d (0);\nwhile(true){\nif((i__5770__auto___19274 \x3c len__5769__auto___19273)){\nargs__5775__auto__.push((arguments[i__5770__auto___19274]));\n\nvar G__19275 \x3d (i__5770__auto___19274 + (1));\ni__5770__auto___19274 \x3d G__19275;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (gens){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19042_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__19042_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gens)], 0));\n}));\n\n(cljs.spec.gen.alpha.cat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.cat.cljs$lang$applyTo \x3d (function (seq19043){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19043));\n}));\n\ncljs.spec.gen.alpha.qualified_QMARK_ \x3d (function cljs$spec$gen$alpha$qualified_QMARK_(ident){\nreturn (!((cljs.core.namespace(ident) \x3d\x3d null)));\n});\ncljs.spec.gen.alpha.gen_builtins \x3d (new cljs.core.Delay((function (){\nvar simple \x3d cljs.spec.gen.alpha.simple_type_printable();\nreturn cljs.core.PersistentHashMap.fromArrays([cljs.core.qualified_keyword_QMARK_,cljs.core.seq_QMARK_,cljs.core.vector_QMARK_,cljs.core.any_QMARK_,cljs.core.boolean_QMARK_,cljs.core.char_QMARK_,cljs.core.some_QMARK_,cljs.core.inst_QMARK_,cljs.core.simple_symbol_QMARK_,cljs.core.sequential_QMARK_,cljs.core.float_QMARK_,cljs.core.set_QMARK_,cljs.core.map_QMARK_,cljs.core.empty_QMARK_,cljs.core.string_QMARK_,cljs.core.uri_QMARK_,cljs.core.double_QMARK_,cljs.core.int_QMARK_,cljs.core.associative_QMARK_,cljs.core.keyword_QMARK_,cljs.core.indexed_QMARK_,cljs.core.zero_QMARK_,cljs.core.simple_keyword_QMARK_,cljs.core.neg_int_QMARK_,cljs.core.nil_QMARK_,cljs.core.ident_QMARK_,cljs.core.qualified_ident_QMARK_,cljs.core.true_QMARK_,cljs.core.integer_QMARK_,cljs.core.nat_int_QMARK_,cljs.core.pos_int_QMARK_,cljs.core.uuid_QMARK_,cljs.core.false_QMARK_,cljs.core.list_QMARK_,cljs.core.simple_ident_QMARK_,cljs.core.number_QMARK_,cljs.core.qualified_symbol_QMARK_,cljs.core.seqable_QMARK_,cljs.core.symbol_QMARK_,cljs.core.coll_QMARK_],[cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.keyword_ns()], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.any_printable()], null)], 0)),cljs.spec.gen.alpha.boolean$(),cljs.spec.gen.alpha.char$(),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.some_QMARK_,cljs.spec.gen.alpha.any_printable()], 0)),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19045_SHARP_){\nreturn (new Date(p1__19045_SHARP_));\n}),cljs.spec.gen.alpha.large_integer()], 0)),cljs.spec.gen.alpha.symbol(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.List.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentArrayMap.EMPTY,cljs.core.PersistentHashSet.EMPTY], null)], 0)),cljs.spec.gen.alpha.string_alphanumeric(),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19044_SHARP_){\nreturn (new goog.Uri([\x22http://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__19044_SHARP_),\x22.com\x22].join(\x27\x27)));\n}),cljs.spec.gen.alpha.uuid()], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(0)], 0)),cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),(-1)], null)], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0))], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([true], 0)),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(0)], null)], 0)),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(1)], null)], 0)),cljs.spec.gen.alpha.uuid(),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([false], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.symbol()], null)], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.double$()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.symbol_ns()], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.string_alphanumeric()], null)], 0)),cljs.spec.gen.alpha.symbol_ns(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0))]);\n}),null));\n/**\n * Given a predicate, returns a built-in generator if one exists.\n */\ncljs.spec.gen.alpha.gen_for_pred \x3d (function cljs$spec$gen$alpha$gen_for_pred(pred){\nif(cljs.core.set_QMARK_(pred)){\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pred], 0));\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.gen_builtins),pred);\n}\n});\n"); +SHADOW_ENV.evalLoad("cljs.spec.alpha.js", true , "goog.provide(\x27cljs.spec.alpha\x27);\ngoog.scope(function(){\n cljs.spec.alpha.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ncljs.spec.alpha.MAX_INT \x3d (9007199254740991);\n/**\n * A soft limit on how many times a branching spec (or/alt/* /opt-keys/multi-spec)\n * can be recursed through during generation. After this a\n * non-recursive branch will be chosen.\n */\ncljs.spec.alpha._STAR_recursion_limit_STAR_ \x3d (4);\n/**\n * The number of times an anonymous fn specified by fspec will be (generatively) tested during conform\n */\ncljs.spec.alpha._STAR_fspec_iterations_STAR_ \x3d (21);\n/**\n * The number of items validated in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_check_limit_STAR_ \x3d (101);\n/**\n * The number of errors reported by explain in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_error_limit_STAR_ \x3d (20);\n\n/**\n * @interface\n */\ncljs.spec.alpha.Spec \x3d function(){};\n\nvar cljs$spec$alpha$Spec$conform_STAR_$dyn_20313 \x3d (function (spec,x){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.conform_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5394__auto__.call(null,spec,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.conform_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5392__auto__.call(null,spec,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.conform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.conform_STAR_ \x3d (function cljs$spec$alpha$conform_STAR_(spec,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2(spec,x);\n} else {\nreturn cljs$spec$alpha$Spec$conform_STAR_$dyn_20313(spec,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$unform_STAR_$dyn_20314 \x3d (function (spec,y){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.unform_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5394__auto__.call(null,spec,y));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.unform_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5392__auto__.call(null,spec,y));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.unform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.unform_STAR_ \x3d (function cljs$spec$alpha$unform_STAR_(spec,y){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2(spec,y);\n} else {\nreturn cljs$spec$alpha$Spec$unform_STAR_$dyn_20314(spec,y);\n}\n});\n\nvar cljs$spec$alpha$Spec$explain_STAR_$dyn_20328 \x3d (function (spec,path,via,in$,x){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.explain_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5394__auto__.call(null,spec,path,via,in$,x));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.explain_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5392__auto__.call(null,spec,path,via,in$,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.explain*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.explain_STAR_ \x3d (function cljs$spec$alpha$explain_STAR_(spec,path,via,in$,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5(spec,path,via,in$,x);\n} else {\nreturn cljs$spec$alpha$Spec$explain_STAR_$dyn_20328(spec,path,via,in$,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$gen_STAR_$dyn_20329 \x3d (function (spec,overrides,path,rmap){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.gen_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5394__auto__.call(null,spec,overrides,path,rmap));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.gen_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5392__auto__.call(null,spec,overrides,path,rmap));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.gen_STAR_ \x3d (function cljs$spec$alpha$gen_STAR_(spec,overrides,path,rmap){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4(spec,overrides,path,rmap);\n} else {\nreturn cljs$spec$alpha$Spec$gen_STAR_$dyn_20329(spec,overrides,path,rmap);\n}\n});\n\nvar cljs$spec$alpha$Spec$with_gen_STAR_$dyn_20330 \x3d (function (spec,gfn){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5394__auto__.call(null,spec,gfn));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5392__auto__.call(null,spec,gfn));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.with-gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.with_gen_STAR_ \x3d (function cljs$spec$alpha$with_gen_STAR_(spec,gfn){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2(spec,gfn);\n} else {\nreturn cljs$spec$alpha$Spec$with_gen_STAR_$dyn_20330(spec,gfn);\n}\n});\n\nvar cljs$spec$alpha$Spec$describe_STAR_$dyn_20331 \x3d (function (spec){\nvar x__5393__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.describe_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5394__auto__.call(null,spec));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.describe_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5392__auto__.call(null,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.describe*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.describe_STAR_ \x3d (function cljs$spec$alpha$describe_STAR_(spec){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1(spec);\n} else {\nreturn cljs$spec$alpha$Spec$describe_STAR_$dyn_20331(spec);\n}\n});\n\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.registry_ref !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha.registry_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\ncljs.spec.alpha.deep_resolve \x3d (function cljs$spec$alpha$deep_resolve(reg,k){\nvar spec \x3d k;\nwhile(true){\nif(cljs.core.ident_QMARK_(spec)){\nvar G__20332 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,spec);\nspec \x3d G__20332;\ncontinue;\n} else {\nreturn spec;\n}\nbreak;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, nil if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve \x3d (function cljs$spec$alpha$reg_resolve(k){\nif(cljs.core.ident_QMARK_(k)){\nvar reg \x3d cljs.core.deref(cljs.spec.alpha.registry_ref);\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,k);\nif((!(cljs.core.ident_QMARK_(spec)))){\nreturn spec;\n} else {\nreturn cljs.spec.alpha.deep_resolve(reg,spec);\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, throws if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve_BANG_ \x3d (function cljs$spec$alpha$reg_resolve_BANG_(k){\nif(cljs.core.ident_QMARK_(k)){\nvar or__5045__auto__ \x3d cljs.spec.alpha.reg_resolve(k);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(\x27\x27)));\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns x if x is a spec object, else logical false\n */\ncljs.spec.alpha.spec_QMARK_ \x3d (function cljs$spec$alpha$spec_QMARK_(x){\nif((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$spec$alpha$Spec$))))?true:false):false)){\nreturn x;\n} else {\nreturn null;\n}\n});\n/**\n * returns x if x is a (cljs.spec.alpha) regex op, else logical false\n */\ncljs.spec.alpha.regex_QMARK_ \x3d (function cljs$spec$alpha$regex_QMARK_(x){\nvar and__5043__auto__ \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(x);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn x;\n} else {\nreturn and__5043__auto__;\n}\n});\ncljs.spec.alpha.with_name \x3d (function cljs$spec$alpha$with_name(spec,name){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(spec,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(spec),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name));\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.spec_name \x3d (function cljs$spec$alpha$spec_name(spec){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(spec);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(spec));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * spec-or-k must be a spec, regex or resolvable kw/sym, else returns nil.\n */\ncljs.spec.alpha.maybe_spec \x3d (function cljs$spec$alpha$maybe_spec(spec_or_k){\nvar s \x3d (function (){var or__5045__auto__ \x3d (function (){var and__5043__auto__ \x3d cljs.core.ident_QMARK_(spec_or_k);\nif(and__5043__auto__){\nreturn cljs.spec.alpha.reg_resolve(spec_or_k);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.spec.alpha.spec_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nvar or__5045__auto____$2 \x3d cljs.spec.alpha.regex_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5045__auto____$2)){\nreturn or__5045__auto____$2;\n} else {\nreturn null;\n}\n}\n}\n})();\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(s))){\nreturn cljs.spec.alpha.with_name(cljs.spec.alpha.regex_spec_impl(s,null),cljs.spec.alpha.spec_name(s));\n} else {\nreturn s;\n}\n});\n/**\n * spec-or-k must be a spec, regex or kw/sym, else returns nil. Throws if unresolvable kw/sym\n */\ncljs.spec.alpha.the_spec \x3d (function cljs$spec$alpha$the_spec(spec_or_k){\nvar or__5045__auto__ \x3d cljs.spec.alpha.maybe_spec(spec_or_k);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nif(cljs.core.ident_QMARK_(spec_or_k)){\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec_or_k)].join(\x27\x27)));\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.fn_sym \x3d (function cljs$spec$alpha$fn_sym(f_n){\nif(clojure.string.blank_QMARK_(f_n)){\nreturn null;\n} else {\nvar xs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.demunge,clojure.string.split.cljs$core$IFn$_invoke$arity$2(f_n,\x22$\x22));\nif(((((2) \x3c\x3d cljs.core.count(xs))) \x26\x26 (cljs.core.every_QMARK_((function (p1__19191_SHARP_){\nreturn (!(clojure.string.blank_QMARK_(p1__19191_SHARP_)));\n}),xs)))){\nvar vec__19192 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.butlast,cljs.core.last)(xs);\nvar xs__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19192,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19192,(1),null);\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,xs__$1),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27));\n} else {\nreturn null;\n}\n}\n});\n\n/**\n * @interface\n */\ncljs.spec.alpha.Specize \x3d function(){};\n\nvar cljs$spec$alpha$Specize$specize_STAR_$dyn_20342 \x3d (function() {\nvar G__20343 \x3d null;\nvar G__20343__1 \x3d (function (_){\nvar x__5393__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5394__auto__.call(null,_));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5392__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nvar G__20343__2 \x3d (function (_,form){\nvar x__5393__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5394__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5394__auto__.call(null,_,form));\n} else {\nvar m__5392__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5392__auto__.call(null,_,form));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nG__20343 \x3d function(_,form){\nswitch(arguments.length){\ncase 1:\nreturn G__20343__1.call(this,_);\ncase 2:\nreturn G__20343__2.call(this,_,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20343.cljs$core$IFn$_invoke$arity$1 \x3d G__20343__1;\nG__20343.cljs$core$IFn$_invoke$arity$2 \x3d G__20343__2;\nreturn G__20343;\n})()\n;\ncljs.spec.alpha.specize_STAR_ \x3d (function cljs$spec$alpha$specize_STAR_(var_args){\nvar G__19219 \x3d arguments.length;\nswitch (G__19219) {\ncase 1:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$1(_);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_20342(_);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (_,form){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$2(_,form);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_20342(_,form);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (k){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (k,_){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.spec.alpha.Specize[\x22_\x22] \x3d true);\n\n(cljs.spec.alpha.specize_STAR_[\x22_\x22] \x3d (function() {\nvar G__20356 \x3d null;\nvar G__20356__1 \x3d (function (o){\nvar temp__5802__auto__ \x3d (function (){var and__5043__auto__ \x3d cljs.core.fn_QMARK_(o);\nif(and__5043__auto__){\nreturn cljs.spec.alpha.fn_sym(o.name);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar f_n \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(f_n,o,null,null);\n} else {\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818),o,null,null);\n}\n});\nvar G__20356__2 \x3d (function (o,form){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,o,null,null);\n});\nG__20356 \x3d function(o,form){\nswitch(arguments.length){\ncase 1:\nreturn G__20356__1.call(this,o);\ncase 2:\nreturn G__20356__2.call(this,o,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__20356.cljs$core$IFn$_invoke$arity$1 \x3d G__20356__1;\nG__20356.cljs$core$IFn$_invoke$arity$2 \x3d G__20356__2;\nreturn G__20356;\n})()\n);\ncljs.spec.alpha.specize \x3d (function cljs$spec$alpha$specize(var_args){\nvar G__19254 \x3d arguments.length;\nswitch (G__19254) {\ncase 1:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nvar or__5045__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,form){\nvar or__5045__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s,form);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * tests the validity of a conform return value\n */\ncljs.spec.alpha.invalid_QMARK_ \x3d (function cljs$spec$alpha$invalid_QMARK_(ret){\nreturn cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119),ret);\n});\n/**\n * Given a spec and a value, returns :cljs.spec.alpha/invalid if value does\n * not match spec, else the (possibly destructured) value.\n */\ncljs.spec.alpha.conform \x3d (function cljs$spec$alpha$conform(spec,x){\nreturn cljs.spec.alpha.conform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * Given a spec and a value created by or compliant with a call to\n * \x27conform\x27 with the same spec, returns a value with all conform\n * destructuring undone.\n */\ncljs.spec.alpha.unform \x3d (function cljs$spec$alpha$unform(spec,x){\nreturn cljs.spec.alpha.unform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * returns the spec as data\n */\ncljs.spec.alpha.form \x3d (function cljs$spec$alpha$form(spec){\nreturn cljs.spec.alpha.describe_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec));\n});\ncljs.spec.alpha.abbrev \x3d (function cljs$spec$alpha$abbrev(form){\nif(cljs.core.seq_QMARK_(form)){\nreturn clojure.walk.postwalk((function (form__$1){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (form__$1 instanceof cljs.core.Symbol);\nif(and__5043__auto__){\nreturn cljs.core.namespace(form__$1);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form__$1));\n} else {\nif(((cljs.core.seq_QMARK_(form__$1)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),cljs.core.first(form__$1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.second(form__$1))))))){\nreturn cljs.core.last(form__$1);\n} else {\nreturn form__$1;\n\n}\n}\n}),form);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (form instanceof cljs.core.Symbol);\nif(and__5043__auto__){\nreturn cljs.core.namespace(form);\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form));\n} else {\nreturn form;\n\n}\n}\n});\n/**\n * returns an abbreviated description of the spec as data\n */\ncljs.spec.alpha.describe \x3d (function cljs$spec$alpha$describe(spec){\nreturn cljs.spec.alpha.abbrev(cljs.spec.alpha.form(spec));\n});\n/**\n * Takes a spec and a no-arg, generator-returning fn and returns a version of that spec that uses that generator\n */\ncljs.spec.alpha.with_gen \x3d (function cljs$spec$alpha$with_gen(spec,gen_fn){\nvar spec__$1 \x3d cljs.spec.alpha.reg_resolve(spec);\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec__$1))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375),gen_fn);\n} else {\nreturn cljs.spec.alpha.with_gen_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec__$1),gen_fn);\n}\n});\ncljs.spec.alpha.explain_data_STAR_ \x3d (function cljs$spec$alpha$explain_data_STAR_(spec,path,via,in$,x){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.explain_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),path,via,in$,x);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar probs \x3d temp__5804__auto__;\nif(cljs.core.empty_QMARK_(probs)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),probs,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22spec\x22,\x22cljs.spec.alpha/spec\x22,1947137578),spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22value\x22,\x22cljs.spec.alpha/value\x22,1974786274),x], null);\n}\n} else {\nreturn null;\n}\n});\n/**\n * Given a spec and a value x which ought to conform, returns nil if x\n * conforms, else a map with at least the key ::problems whose value is\n * a collection of problem-maps, where problem-map has at least :path :pred and :val\n * keys describing the predicate and the value that failed at that\n * path.\n */\ncljs.spec.alpha.explain_data \x3d (function cljs$spec$alpha$explain_data(spec,x){\nreturn cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(spec);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,x);\n});\n/**\n * Default printer for explain-data. nil indicates a successful validation.\n */\ncljs.spec.alpha.explain_printer \x3d (function cljs$spec$alpha$explain_printer(ed){\nif(cljs.core.truth_(ed)){\nvar problems \x3d cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__19281_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168).cljs$core$IFn$_invoke$arity$1(p1__19281_SHARP_)));\n}),cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__19280_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865).cljs$core$IFn$_invoke$arity$1(p1__19280_SHARP_)));\n}),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814).cljs$core$IFn$_invoke$arity$1(ed)));\nreturn cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__19282_20367 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__19283_20368 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__19284_20369 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__19285_20370 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__19284_20369);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__19285_20370);\n\ntry{var seq__19286_20371 \x3d cljs.core.seq(problems);\nvar chunk__19287_20372 \x3d null;\nvar count__19288_20373 \x3d (0);\nvar i__19289_20374 \x3d (0);\nwhile(true){\nif((i__19289_20374 \x3c count__19288_20373)){\nvar map__19342_20379 \x3d chunk__19287_20372.cljs$core$IIndexed$_nth$arity$2(null,i__19289_20374);\nvar map__19342_20380__$1 \x3d cljs.core.__destructure_map(map__19342_20379);\nvar prob_20381 \x3d map__19342_20380__$1;\nvar path_20382 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19342_20380__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_20383 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19342_20380__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_20384 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19342_20380__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_20385 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19342_20380__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_20386 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19342_20380__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_20387 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19342_20380__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_20384], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_20385)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_20385], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_20383)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_20387)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_20387], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_20382)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_20382], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_20386)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_20386)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__19343_20393 \x3d cljs.core.seq(prob_20381);\nvar chunk__19344_20394 \x3d null;\nvar count__19345_20395 \x3d (0);\nvar i__19346_20396 \x3d (0);\nwhile(true){\nif((i__19346_20396 \x3c count__19345_20395)){\nvar vec__19355_20397 \x3d chunk__19344_20394.cljs$core$IIndexed$_nth$arity$2(null,i__19346_20396);\nvar k_20398 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19355_20397,(0),null);\nvar v_20399 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19355_20397,(1),null);\nif(cljs.core.truth_((function (){var fexpr__19358 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__19358.cljs$core$IFn$_invoke$arity$1 ? fexpr__19358.cljs$core$IFn$_invoke$arity$1(k_20398) : fexpr__19358.call(null,k_20398));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_20398], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_20399], 0));\n}\n\n\nvar G__20400 \x3d seq__19343_20393;\nvar G__20401 \x3d chunk__19344_20394;\nvar G__20402 \x3d count__19345_20395;\nvar G__20403 \x3d (i__19346_20396 + (1));\nseq__19343_20393 \x3d G__20400;\nchunk__19344_20394 \x3d G__20401;\ncount__19345_20395 \x3d G__20402;\ni__19346_20396 \x3d G__20403;\ncontinue;\n} else {\nvar temp__5804__auto___20404 \x3d cljs.core.seq(seq__19343_20393);\nif(temp__5804__auto___20404){\nvar seq__19343_20405__$1 \x3d temp__5804__auto___20404;\nif(cljs.core.chunked_seq_QMARK_(seq__19343_20405__$1)){\nvar c__5568__auto___20406 \x3d cljs.core.chunk_first(seq__19343_20405__$1);\nvar G__20407 \x3d cljs.core.chunk_rest(seq__19343_20405__$1);\nvar G__20408 \x3d c__5568__auto___20406;\nvar G__20409 \x3d cljs.core.count(c__5568__auto___20406);\nvar G__20410 \x3d (0);\nseq__19343_20393 \x3d G__20407;\nchunk__19344_20394 \x3d G__20408;\ncount__19345_20395 \x3d G__20409;\ni__19346_20396 \x3d G__20410;\ncontinue;\n} else {\nvar vec__19359_20411 \x3d cljs.core.first(seq__19343_20405__$1);\nvar k_20412 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19359_20411,(0),null);\nvar v_20413 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19359_20411,(1),null);\nif(cljs.core.truth_((function (){var fexpr__19362 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__19362.cljs$core$IFn$_invoke$arity$1 ? fexpr__19362.cljs$core$IFn$_invoke$arity$1(k_20412) : fexpr__19362.call(null,k_20412));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_20412], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_20413], 0));\n}\n\n\nvar G__20414 \x3d cljs.core.next(seq__19343_20405__$1);\nvar G__20415 \x3d null;\nvar G__20416 \x3d (0);\nvar G__20417 \x3d (0);\nseq__19343_20393 \x3d G__20414;\nchunk__19344_20394 \x3d G__20415;\ncount__19345_20395 \x3d G__20416;\ni__19346_20396 \x3d G__20417;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__20418 \x3d seq__19286_20371;\nvar G__20419 \x3d chunk__19287_20372;\nvar G__20420 \x3d count__19288_20373;\nvar G__20421 \x3d (i__19289_20374 + (1));\nseq__19286_20371 \x3d G__20418;\nchunk__19287_20372 \x3d G__20419;\ncount__19288_20373 \x3d G__20420;\ni__19289_20374 \x3d G__20421;\ncontinue;\n} else {\nvar temp__5804__auto___20422 \x3d cljs.core.seq(seq__19286_20371);\nif(temp__5804__auto___20422){\nvar seq__19286_20423__$1 \x3d temp__5804__auto___20422;\nif(cljs.core.chunked_seq_QMARK_(seq__19286_20423__$1)){\nvar c__5568__auto___20424 \x3d cljs.core.chunk_first(seq__19286_20423__$1);\nvar G__20425 \x3d cljs.core.chunk_rest(seq__19286_20423__$1);\nvar G__20426 \x3d c__5568__auto___20424;\nvar G__20427 \x3d cljs.core.count(c__5568__auto___20424);\nvar G__20428 \x3d (0);\nseq__19286_20371 \x3d G__20425;\nchunk__19287_20372 \x3d G__20426;\ncount__19288_20373 \x3d G__20427;\ni__19289_20374 \x3d G__20428;\ncontinue;\n} else {\nvar map__19363_20429 \x3d cljs.core.first(seq__19286_20423__$1);\nvar map__19363_20430__$1 \x3d cljs.core.__destructure_map(map__19363_20429);\nvar prob_20431 \x3d map__19363_20430__$1;\nvar path_20432 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19363_20430__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_20433 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19363_20430__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_20434 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19363_20430__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_20435 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19363_20430__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_20436 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19363_20430__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_20437 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19363_20430__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_20434], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_20435)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_20435], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_20433)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_20437)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_20437], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_20432)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_20432], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_20436)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_20436)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__19368_20438 \x3d cljs.core.seq(prob_20431);\nvar chunk__19369_20439 \x3d null;\nvar count__19370_20440 \x3d (0);\nvar i__19371_20441 \x3d (0);\nwhile(true){\nif((i__19371_20441 \x3c count__19370_20440)){\nvar vec__19380_20442 \x3d chunk__19369_20439.cljs$core$IIndexed$_nth$arity$2(null,i__19371_20441);\nvar k_20443 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19380_20442,(0),null);\nvar v_20444 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19380_20442,(1),null);\nif(cljs.core.truth_((function (){var fexpr__19383 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__19383.cljs$core$IFn$_invoke$arity$1 ? fexpr__19383.cljs$core$IFn$_invoke$arity$1(k_20443) : fexpr__19383.call(null,k_20443));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_20443], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_20444], 0));\n}\n\n\nvar G__20445 \x3d seq__19368_20438;\nvar G__20446 \x3d chunk__19369_20439;\nvar G__20447 \x3d count__19370_20440;\nvar G__20448 \x3d (i__19371_20441 + (1));\nseq__19368_20438 \x3d G__20445;\nchunk__19369_20439 \x3d G__20446;\ncount__19370_20440 \x3d G__20447;\ni__19371_20441 \x3d G__20448;\ncontinue;\n} else {\nvar temp__5804__auto___20449__$1 \x3d cljs.core.seq(seq__19368_20438);\nif(temp__5804__auto___20449__$1){\nvar seq__19368_20450__$1 \x3d temp__5804__auto___20449__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__19368_20450__$1)){\nvar c__5568__auto___20451 \x3d cljs.core.chunk_first(seq__19368_20450__$1);\nvar G__20452 \x3d cljs.core.chunk_rest(seq__19368_20450__$1);\nvar G__20453 \x3d c__5568__auto___20451;\nvar G__20454 \x3d cljs.core.count(c__5568__auto___20451);\nvar G__20455 \x3d (0);\nseq__19368_20438 \x3d G__20452;\nchunk__19369_20439 \x3d G__20453;\ncount__19370_20440 \x3d G__20454;\ni__19371_20441 \x3d G__20455;\ncontinue;\n} else {\nvar vec__19384_20456 \x3d cljs.core.first(seq__19368_20450__$1);\nvar k_20457 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19384_20456,(0),null);\nvar v_20458 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19384_20456,(1),null);\nif(cljs.core.truth_((function (){var fexpr__19387 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__19387.cljs$core$IFn$_invoke$arity$1 ? fexpr__19387.cljs$core$IFn$_invoke$arity$1(k_20457) : fexpr__19387.call(null,k_20457));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_20457], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_20458], 0));\n}\n\n\nvar G__20459 \x3d cljs.core.next(seq__19368_20450__$1);\nvar G__20460 \x3d null;\nvar G__20461 \x3d (0);\nvar G__20462 \x3d (0);\nseq__19368_20438 \x3d G__20459;\nchunk__19369_20439 \x3d G__20460;\ncount__19370_20440 \x3d G__20461;\ni__19371_20441 \x3d G__20462;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__20463 \x3d cljs.core.next(seq__19286_20423__$1);\nvar G__20464 \x3d null;\nvar G__20465 \x3d (0);\nvar G__20466 \x3d (0);\nseq__19286_20371 \x3d G__20463;\nchunk__19287_20372 \x3d G__20464;\ncount__19288_20373 \x3d G__20465;\ni__19289_20374 \x3d G__20466;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__19283_20368);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__19282_20367);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})()], 0));\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Success!\x22], 0));\n}\n});\ncljs.spec.alpha._STAR_explain_out_STAR_ \x3d cljs.spec.alpha.explain_printer;\n/**\n * Prints explanation data (per \x27explain-data\x27) to *out* using the printer in *explain-out*,\n * by default explain-printer.\n */\ncljs.spec.alpha.explain_out \x3d (function cljs$spec$alpha$explain_out(ed){\nreturn cljs.spec.alpha._STAR_explain_out_STAR_.call(null,ed);\n});\n/**\n * Given a spec and a value that fails to conform, prints an explanation to *out*.\n */\ncljs.spec.alpha.explain \x3d (function cljs$spec$alpha$explain(spec,x){\nreturn cljs.spec.alpha.explain_out(cljs.spec.alpha.explain_data(spec,x));\n});\n/**\n * Given a spec and a value that fails to conform, returns an explanation as a string.\n */\ncljs.spec.alpha.explain_str \x3d (function cljs$spec$alpha$explain_str(spec,x){\nvar sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__19394_20467 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__19395_20468 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__19396_20469 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__19397_20470 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__19396_20469);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__19397_20470);\n\ntry{cljs.spec.alpha.explain(spec,x);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__19395_20468);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__19394_20467);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n});\ncljs.spec.alpha.gensub \x3d (function cljs$spec$alpha$gensub(spec,overrides,path,rmap,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nvar temp__5802__auto__ \x3d (function (){var or__5045__auto__ \x3d (function (){var temp__5804__auto__ \x3d (function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,(function (){var or__5045__auto__ \x3d cljs.spec.alpha.spec_name(spec__$1);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn spec__$1;\n}\n})());\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar gfn \x3d temp__5804__auto__;\nreturn (gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.gen_STAR_(spec__$1,overrides,path,rmap);\n}\n})();\nif(cljs.core.truth_(temp__5802__auto__)){\nvar g \x3d temp__5802__auto__;\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19398_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,p1__19398_SHARP_);\n}),g,(100)], 0));\n} else {\nthrow (new Error([\x22Unable to construct gen at: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22 for: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.abbrev(form))].join(\x27\x27)));\n}\n});\n/**\n * Given a spec, returns the generator for it, or throws if none can\n * be constructed. Optionally an overrides map can be provided which\n * should map spec names or paths (vectors of keywords) to no-arg\n * generator-creating fns. These will be used instead of the generators at those\n * names/paths. Note that parent generator (in the spec or overrides\n * map) will supersede those of any subtrees. A generator for a regex\n * op must always return a sequential collection (i.e. a generator for\n * s/? should return either an empty sequence/vector or a\n * sequence/vector with one item in it)\n */\ncljs.spec.alpha.gen \x3d (function cljs$spec$alpha$gen(var_args){\nvar G__19400 \x3d arguments.length;\nswitch (G__19400) {\ncase 1:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,null);\n}));\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,overrides){\nreturn cljs.spec.alpha.gensub(spec,overrides,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994),cljs.spec.alpha._STAR_recursion_limit_STAR_], null),spec);\n}));\n\n(cljs.spec.alpha.gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Do not call this directly, use \x27def\x27\n */\ncljs.spec.alpha.def_impl \x3d (function cljs$spec$alpha$def_impl(k,form,spec){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.ident_QMARK_(k);\nif(and__5043__auto__){\nreturn cljs.core.namespace(k);\n} else {\nreturn and__5043__auto__;\n}\n})())){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22k must be namespaced keyword or resolveable symbol\x22,\x22\\n\x22,\x22(c/and (ident? k) (namespace k))\x22].join(\x27\x27)));\n}\n\nif((spec \x3d\x3d null)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.registry_ref,cljs.core.dissoc,k);\n} else {\nvar spec_20477__$1 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d cljs.spec.alpha.spec_QMARK_(spec);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.spec.alpha.regex_QMARK_(spec);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.alpha.registry_ref),spec);\n}\n}\n})())?spec:cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,spec,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.spec.alpha.registry_ref,cljs.core.assoc,k,cljs.spec.alpha.with_name(spec_20477__$1,k));\n}\n\nreturn k;\n});\n/**\n * returns the registry map, prefer \x27get-spec\x27 to lookup a spec by name\n */\ncljs.spec.alpha.registry \x3d (function cljs$spec$alpha$registry(){\nreturn cljs.core.deref(cljs.spec.alpha.registry_ref);\n});\n/**\n * Returns a symbol from a symbol or var\n */\ncljs.spec.alpha.__GT_sym \x3d (function cljs$spec$alpha$__GT_sym(x){\nif(cljs.core.var_QMARK_(x)){\nreturn x.sym;\n} else {\nreturn x;\n}\n});\n/**\n * Returns spec registered for keyword/symbol/var k, or nil.\n */\ncljs.spec.alpha.get_spec \x3d (function cljs$spec$alpha$get_spec(k){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.registry(),(((k instanceof cljs.core.Keyword))?k:cljs.spec.alpha.__GT_sym(k)));\n});\ncljs.spec.alpha.macroexpand_check \x3d (function cljs$spec$alpha$macroexpand_check(v,args){\nvar specs \x3d cljs.spec.alpha.get_spec(v);\nvar temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar arg_spec \x3d temp__5804__auto__;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform(arg_spec,args))){\nvar ed \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(arg_spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(arg_spec);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,args),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22args\x22,\x22cljs.spec.alpha/args\x22,1870769783),args);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Call to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.__GT_sym(v)),\x22 did not conform to spec.\x22].join(\x27\x27),ed);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.recur_limit_QMARK_ \x3d (function cljs$spec$alpha$recur_limit_QMARK_(rmap,id,path,k){\nreturn (((cljs.core.get.cljs$core$IFn$_invoke$arity$2(rmap,id) \x3e new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994).cljs$core$IFn$_invoke$arity$1(rmap))) \x26\x26 (cljs.core.contains_QMARK_(cljs.core.set(path),k)));\n});\ncljs.spec.alpha.inck \x3d (function cljs$spec$alpha$inck(m,k){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,((function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})() + (1)));\n});\ncljs.spec.alpha.dt \x3d (function cljs$spec$alpha$dt(var_args){\nvar G__19405 \x3d arguments.length;\nswitch (G__19405) {\ncase 3:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(pred,x,form,null);\n}));\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4 \x3d (function (pred,x,form,cpred_QMARK_){\nif(cljs.core.truth_(pred)){\nvar temp__5802__auto__ \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar spec \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.conform(spec,x);\n} else {\nif(cljs.core.ifn_QMARK_(pred)){\nif(cljs.core.truth_(cpred_QMARK_)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x));\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n} else {\nthrow (new Error([cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([form], 0)),\x22 is not a fn, expected predicate fn\x22].join(\x27\x27)));\n}\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.dt.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.valid_QMARK_ \x3d (function cljs$spec$alpha$valid_QMARK_(var_args){\nvar G__19407 \x3d arguments.length;\nswitch (G__19407) {\ncase 2:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,x){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,x,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(spec,form);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * internal helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.pvalid_QMARK_ \x3d (function cljs$spec$alpha$pvalid_QMARK_(var_args){\nvar G__19409 \x3d arguments.length;\nswitch (G__19409) {\ncase 2:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,x){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818)))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,form))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.explain_1 \x3d (function cljs$spec$alpha$explain_1(form,pred,path,via,in$,v){\nvar pred__$1 \x3d cljs.spec.alpha.maybe_spec(pred);\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred__$1))){\nreturn cljs.spec.alpha.explain_STAR_(pred__$1,path,(function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(pred__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})(),in$,v);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),v,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n});\n\n/**\n * returns a generator for form f, which can be a keyword or a list\n * starting with \x27or or \x27and.\n */\ncljs.spec.alpha.k_gen \x3d (function cljs$spec$alpha$k_gen(f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((1),cljs.core.rest(f));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.and_k_gen(cljs.core.rest(f));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * returns a tuple generator made up of generators for a random subset\n * of min-count (default 0) to all elements in s.\n */\ncljs.spec.alpha.or_k_gen \x3d (function cljs$spec$alpha$or_k_gen(var_args){\nvar G__19413 \x3d arguments.length;\nswitch (G__19413) {\ncase 1:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((0),s);\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (min_count,s){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([min_count,cljs.core.count(s)], 0)),cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s)], 0))], 0)),(function (p__19414){\nvar vec__19415 \x3d p__19414;\nvar n \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19415,(0),null);\nvar gens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19415,(1),null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,gens));\n})], 0));\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * returns a tuple generator made up of generators for every element\n * in s.\n */\ncljs.spec.alpha.and_k_gen \x3d (function cljs$spec$alpha$and_k_gen(s){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19449 \x3d (function (map__19448,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,p__19447,req_specs,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta19450){\nthis.map__19448 \x3d map__19448;\nthis.keys__GT_specnames \x3d keys__GT_specnames;\nthis.opt \x3d opt;\nthis.req_un \x3d req_un;\nthis.opt_un \x3d opt_un;\nthis.gfn \x3d gfn;\nthis.pred_exprs \x3d pred_exprs;\nthis.keys_pred \x3d keys_pred;\nthis.argm \x3d argm;\nthis.opt_keys \x3d opt_keys;\nthis.p__19447 \x3d p__19447;\nthis.req_specs \x3d req_specs;\nthis.req \x3d req;\nthis.id \x3d id;\nthis.req_keys \x3d req_keys;\nthis.opt_specs \x3d opt_specs;\nthis.k__GT_s \x3d k__GT_s;\nthis.pred_forms \x3d pred_forms;\nthis.meta19450 \x3d meta19450;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19451,meta19450__$1){\nvar self__ \x3d this;\nvar _19451__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19449(self__.map__19448,self__.keys__GT_specnames,self__.opt,self__.req_un,self__.opt_un,self__.gfn,self__.pred_exprs,self__.keys_pred,self__.argm,self__.opt_keys,self__.p__19447,self__.req_specs,self__.req,self__.id,self__.req_keys,self__.opt_specs,self__.k__GT_s,self__.pred_forms,meta19450__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19451){\nvar self__ \x3d this;\nvar _19451__$1 \x3d this;\nreturn self__.meta19450;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.keys_pred.cljs$core$IFn$_invoke$arity$1 ? self__.keys_pred.cljs$core$IFn$_invoke$arity$1(m) : self__.keys_pred.call(null,m)))){\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__19462 \x3d m;\nvar vec__19463 \x3d G__19462;\nvar seq__19464 \x3d cljs.core.seq(vec__19463);\nvar first__19465 \x3d cljs.core.first(seq__19464);\nvar seq__19464__$1 \x3d cljs.core.next(seq__19464);\nvar vec__19466 \x3d first__19465;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19466,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19466,(1),null);\nvar ks \x3d seq__19464__$1;\nvar keys \x3d vec__19463;\nvar ret__$1 \x3d ret;\nvar G__19462__$1 \x3d G__19462;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__19471 \x3d G__19462__$1;\nvar seq__19472 \x3d cljs.core.seq(vec__19471);\nvar first__19473 \x3d cljs.core.first(seq__19472);\nvar seq__19472__$1 \x3d cljs.core.next(seq__19472);\nvar vec__19474 \x3d first__19473;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19474,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19474,(1),null);\nvar ks__$1 \x3d seq__19472__$1;\nvar keys__$1 \x3d vec__19471;\nif(cljs.core.truth_(keys__$1)){\nvar sname \x3d (self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1));\nvar temp__5802__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,sname);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar s \x3d temp__5802__auto__;\nvar cv \x3d cljs.spec.alpha.conform(s,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__20495 \x3d (((cv \x3d\x3d\x3d v__$1))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,cv));\nvar G__20496 \x3d ks__$1;\nret__$1 \x3d G__20495;\nG__19462__$1 \x3d G__20496;\ncontinue;\n}\n} else {\nvar G__20497 \x3d ret__$2;\nvar G__20498 \x3d ks__$1;\nret__$1 \x3d G__20497;\nG__19462__$1 \x3d G__20498;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__19480 \x3d cljs.core.keys(m);\nvar vec__19481 \x3d G__19480;\nvar seq__19482 \x3d cljs.core.seq(vec__19481);\nvar first__19483 \x3d cljs.core.first(seq__19482);\nvar seq__19482__$1 \x3d cljs.core.next(seq__19482);\nvar k \x3d first__19483;\nvar ks \x3d seq__19482__$1;\nvar keys \x3d vec__19481;\nvar ret__$1 \x3d ret;\nvar G__19480__$1 \x3d G__19480;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__19487 \x3d G__19480__$1;\nvar seq__19488 \x3d cljs.core.seq(vec__19487);\nvar first__19489 \x3d cljs.core.first(seq__19488);\nvar seq__19488__$1 \x3d cljs.core.next(seq__19488);\nvar k__$1 \x3d first__19489;\nvar ks__$1 \x3d seq__19488__$1;\nvar keys__$1 \x3d vec__19487;\nif(cljs.core.truth_(keys__$1)){\nif(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)))){\nvar cv \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k__$1);\nvar v \x3d cljs.spec.alpha.unform((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)),cv);\nvar G__20499 \x3d (((cv \x3d\x3d\x3d v))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,v));\nvar G__20500 \x3d ks__$1;\nret__$1 \x3d G__20499;\nG__19480__$1 \x3d G__20500;\ncontinue;\n} else {\nvar G__20501 \x3d ret__$2;\nvar G__20502 \x3d ks__$1;\nret__$1 \x3d G__20501;\nG__19480__$1 \x3d G__20502;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.map_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar reg \x3d cljs.spec.alpha.registry();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.concat,(function (){var temp__5804__auto__ \x3d cljs.core.seq(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (pred,form){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn null;\n} else {\nreturn form;\n}\n}),self__.pred_exprs,self__.pred_forms)));\nif(temp__5804__auto__){\nvar probs \x3d temp__5804__auto__;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__19421_SHARP_){\nreturn cljs.core.identity(new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),p1__19421_SHARP_,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}),probs);\n} else {\nreturn null;\n}\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__19492){\nvar vec__19493 \x3d p__19492;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19493,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19493,(1),null);\nif((((!(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)))))) || (cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),v,k)))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\n}\n}),cljs.core.seq(x)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nvar rgen \x3d (function (k,s){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k)], null);\n});\nvar ogen \x3d (function (k,s){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k);\n}),null)))], null);\n}\n});\nvar reqs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3(rgen,self__.req_keys,self__.req_specs);\nvar opts \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$3(ogen,self__.opt_keys,self__.opt_specs));\nif(cljs.core.every_QMARK_(cljs.core.identity,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,reqs),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,opts)))){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.and_k_gen(self__.req),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt),cljs.spec.alpha.and_k_gen(self__.req_un),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt_un)], 0)),(function (p__19500){\nvar vec__19501 \x3d p__19500;\nvar req_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19501,(0),null);\nvar opt_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19501,(1),null);\nvar req_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19501,(2),null);\nvar opt_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19501,(3),null);\nvar qks \x3d cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_ks,opt_ks));\nvar unqks \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,cljs.core.name),cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_un_ks,opt_un_ks)));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.hash_map,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__19422_SHARP_){\nvar G__19505 \x3d cljs.core.first(p1__19422_SHARP_);\nvar fexpr__19504 \x3d cljs.core.set(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(qks,unqks));\nreturn (fexpr__19504.cljs$core$IFn$_invoke$arity$1 ? fexpr__19504.cljs$core$IFn$_invoke$arity$1(G__19505) : fexpr__19504.call(null,G__19505));\n}),cljs.core.into.cljs$core$IFn$_invoke$arity$2(reqs,opts))));\n})], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__19506 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.argm,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474),gfn__$1);\nreturn (cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1(G__19506) : cljs.spec.alpha.map_spec_impl.call(null,G__19506));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22keys\x22,\x22cljs.spec.alpha/keys\x22,1109346032,null),(function (){var G__19507 \x3d cljs.core.PersistentVector.EMPTY;\nvar G__19507__$1 \x3d (cljs.core.truth_(self__.req)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__19507,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req], 0)):G__19507);\nvar G__19507__$2 \x3d (cljs.core.truth_(self__.opt)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__19507__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt], 0)):G__19507__$1);\nvar G__19507__$3 \x3d (cljs.core.truth_(self__.req_un)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__19507__$2,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req_un], 0)):G__19507__$2);\nif(cljs.core.truth_(self__.opt_un)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__19507__$3,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt_un], 0));\n} else {\nreturn G__19507__$3;\n}\n})());\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 19, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22map__19448\x22,\x22map__19448\x22,-308239772,null),new cljs.core.Symbol(null,\x22keys-\x3especnames\x22,\x22keys-\x3especnames\x22,1791294693,null),new cljs.core.Symbol(null,\x22opt\x22,\x22opt\x22,845825158,null),new cljs.core.Symbol(null,\x22req-un\x22,\x22req-un\x22,-1579864761,null),new cljs.core.Symbol(null,\x22opt-un\x22,\x22opt-un\x22,-1770993273,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22pred-exprs\x22,\x22pred-exprs\x22,-862164374,null),new cljs.core.Symbol(null,\x22keys-pred\x22,\x22keys-pred\x22,-1795451030,null),new cljs.core.Symbol(null,\x22argm\x22,\x22argm\x22,-181546357,null),new cljs.core.Symbol(null,\x22opt-keys\x22,\x22opt-keys\x22,-1391747508,null),new cljs.core.Symbol(null,\x22p__19447\x22,\x22p__19447\x22,834289580,null),new cljs.core.Symbol(null,\x22req-specs\x22,\x22req-specs\x22,-2100473456,null),new cljs.core.Symbol(null,\x22req\x22,\x22req\x22,1314083224,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22req-keys\x22,\x22req-keys\x22,-2140116548,null),new cljs.core.Symbol(null,\x22opt-specs\x22,\x22opt-specs\x22,1255626077,null),new cljs.core.Symbol(null,\x22k-\x3es\x22,\x22k-\x3es\x22,-1685112801,null),new cljs.core.Symbol(null,\x22pred-forms\x22,\x22pred-forms\x22,1813143359,null),new cljs.core.Symbol(null,\x22meta19450\x22,\x22meta19450\x22,-792804677,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19449\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19449.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19449\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19449.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19449 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19449(map__19448,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,p__19447,req_specs,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta19450){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19449(map__19448,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,p__19447,req_specs,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta19450));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27 with a map argument\n */\ncljs.spec.alpha.map_spec_impl \x3d (function cljs$spec$alpha$map_spec_impl(p__19447){\nvar map__19448 \x3d p__19447;\nvar map__19448__$1 \x3d cljs.core.__destructure_map(map__19448);\nvar argm \x3d map__19448__$1;\nvar opt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369));\nvar req_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008));\nvar opt_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474));\nvar pred_exprs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22pred-exprs\x22,\x22pred-exprs\x22,1792271395));\nvar keys_pred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22keys-pred\x22,\x22keys-pred\x22,858984739));\nvar opt_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22opt-keys\x22,\x22opt-keys\x22,1262688261));\nvar req_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22req-specs\x22,\x22req-specs\x22,553962313));\nvar req \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303));\nvar req_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22req-keys\x22,\x22req-keys\x22,514319221));\nvar opt_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22opt-specs\x22,\x22opt-specs\x22,-384905450));\nvar pred_forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19448__$1,new cljs.core.Keyword(null,\x22pred-forms\x22,\x22pred-forms\x22,172611832));\nvar k__GT_s \x3d cljs.core.zipmap(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_keys,opt_keys),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_specs,opt_specs));\nvar keys__GT_specnames \x3d (function (p1__19420_SHARP_){\nvar or__5045__auto__ \x3d (k__GT_s.cljs$core$IFn$_invoke$arity$1 ? k__GT_s.cljs$core$IFn$_invoke$arity$1(p1__19420_SHARP_) : k__GT_s.call(null,p1__19420_SHARP_));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p1__19420_SHARP_;\n}\n});\nvar id \x3d cljs.core.random_uuid();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19449(map__19448__$1,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,p__19447,req_specs,req,id,req_keys,opt_specs,k__GT_s,pred_forms,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19521 \x3d (function (form,pred,gfn,cpred_QMARK_,unc,meta19522){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.cpred_QMARK_ \x3d cpred_QMARK_;\nthis.unc \x3d unc;\nthis.meta19522 \x3d meta19522;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19523,meta19522__$1){\nvar self__ \x3d this;\nvar _19523__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19521(self__.form,self__.pred,self__.gfn,self__.cpred_QMARK_,self__.unc,meta19522__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19523){\nvar self__ \x3d this;\nvar _19523__$1 \x3d this;\nreturn self__.meta19522;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d (self__.pred.cljs$core$IFn$_invoke$arity$1 ? self__.pred.cljs$core$IFn$_invoke$arity$1(x) : self__.pred.call(null,x));\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nreturn ret;\n} else {\nif(cljs.core.truth_(ret)){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nif(cljs.core.truth_(self__.unc)){\nreturn (self__.unc.cljs$core$IFn$_invoke$arity$1 ? self__.unc.cljs$core$IFn$_invoke$arity$1(x) : self__.unc.call(null,x));\n} else {\nthrow (new Error(\x22no unform fn for conformer\x22));\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(self__.pred,x,self__.form,self__.cpred_QMARK_))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,___$1,___$2,___$3){\nvar self__ \x3d this;\nvar ___$4 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.gen_for_pred(self__.pred);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(self__.form,self__.pred,gfn__$1,self__.cpred_QMARK_,self__.unc);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.form;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22cpred?\x22,\x22cpred?\x22,35589515,null),new cljs.core.Symbol(null,\x22unc\x22,\x22unc\x22,-465250751,null),new cljs.core.Symbol(null,\x22meta19522\x22,\x22meta19522\x22,27577478,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19521\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19521.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19521\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19521.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19521 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19521(form,pred,gfn,cpred_QMARK_,unc,meta19522){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19521(form,pred,gfn,cpred_QMARK_,unc,meta19522));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27\n */\ncljs.spec.alpha.spec_impl \x3d (function cljs$spec$alpha$spec_impl(var_args){\nvar G__19512 \x3d arguments.length;\nswitch (G__19512) {\ncase 4:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,gfn,cpred_QMARK_){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(form,pred,gfn,cpred_QMARK_,null);\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5 \x3d (function (form,pred,gfn,cpred_QMARK_,unc){\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred))){\nvar G__19518 \x3d pred;\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__19518,gfn);\n} else {\nreturn G__19518;\n}\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(pred))){\nreturn cljs.spec.alpha.regex_spec_impl(pred,gfn);\n} else {\nif(cljs.core.ident_QMARK_(pred)){\nvar G__19519 \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__19519,gfn);\n} else {\nreturn G__19519;\n}\n} else {\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19521(form,pred,gfn,cpred_QMARK_,unc,cljs.core.PersistentArrayMap.EMPTY));\n\n}\n}\n}\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19541 \x3d (function (form,mmvar,retag,gfn,id,predx,dval,tag,meta19542){\nthis.form \x3d form;\nthis.mmvar \x3d mmvar;\nthis.retag \x3d retag;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.predx \x3d predx;\nthis.dval \x3d dval;\nthis.tag \x3d tag;\nthis.meta19542 \x3d meta19542;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19543,meta19542__$1){\nvar self__ \x3d this;\nvar _19543__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19541(self__.form,self__.mmvar,self__.retag,self__.gfn,self__.id,self__.predx,self__.dval,self__.tag,meta19542__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19543){\nvar self__ \x3d this;\nvar _19543__$1 \x3d this;\nreturn self__.meta19542;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,self__.form);\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.unform(pred,x);\n} else {\nthrow (new Error([\x22No method of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.form),\x22 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x)))].join(\x27\x27)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar dv \x3d (self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x));\nvar path__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,dv);\nvar temp__5802__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar pred \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.explain_1(self__.form,pred,path__$1,via,in$,x);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22no method\x22,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (p__19545){\nvar vec__19546 \x3d p__19545;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19546,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19546,(1),null);\nvar p \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(null) : f.call(null,null));\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19532_SHARP_){\nreturn (self__.tag.cljs$core$IFn$_invoke$arity$2 ? self__.tag.cljs$core$IFn$_invoke$arity$2(p1__19532_SHARP_,k) : self__.tag.call(null,p1__19532_SHARP_,k));\n}),cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method\x22,\x22method\x22,1696235119,null),(new cljs.core.List(null,self__.form,(new cljs.core.List(null,k,null,(1),null)),(2),null)),(3),null)))], 0));\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(gen,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__19552){\nvar vec__19553 \x3d p__19552;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19553,(0),null);\nreturn cljs.spec.alpha.invalid_QMARK_(k);\n}),cljs.core.methods$(cljs.core.deref(self__.mmvar)))));\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.mmvar,self__.retag,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22multi-spec\x22,\x22cljs.spec.alpha/multi-spec\x22,175821274,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.retag,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22mmvar\x22,\x22mmvar\x22,-1714325675,null),new cljs.core.Symbol(null,\x22retag\x22,\x22retag\x22,528972725,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22predx\x22,\x22predx\x22,2063470948,null),new cljs.core.Symbol(null,\x22dval\x22,\x22dval\x22,835211877,null),new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22meta19542\x22,\x22meta19542\x22,1957614901,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19541\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19541.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19541\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19541.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19541 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19541(form,mmvar,retag,gfn,id,predx,dval,tag,meta19542){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19541(form,mmvar,retag,gfn,id,predx,dval,tag,meta19542));\n});\n\n\n/**\n * Do not call this directly, use \x27multi-spec\x27\n */\ncljs.spec.alpha.multi_spec_impl \x3d (function cljs$spec$alpha$multi_spec_impl(var_args){\nvar G__19535 \x3d arguments.length;\nswitch (G__19535) {\ncase 3:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,mmvar,retag){\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(form,mmvar,retag,null);\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,mmvar,retag,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar predx \x3d (function (p1__19528_SHARP_){\nvar mm \x3d cljs.core.deref(mmvar);\nvar and__5043__auto__ \x3d cljs.core._get_method(mm,(function (){var fexpr__19539 \x3d cljs.core._dispatch_fn(mm);\nreturn (fexpr__19539.cljs$core$IFn$_invoke$arity$1 ? fexpr__19539.cljs$core$IFn$_invoke$arity$1(p1__19528_SHARP_) : fexpr__19539.call(null,p1__19528_SHARP_));\n})());\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (mm.cljs$core$IFn$_invoke$arity$1 ? mm.cljs$core$IFn$_invoke$arity$1(p1__19528_SHARP_) : mm.call(null,p1__19528_SHARP_));\n} else {\nreturn and__5043__auto__;\n}\n});\nvar dval \x3d (function (p1__19529_SHARP_){\nvar fexpr__19540 \x3d cljs.core._dispatch_fn(cljs.core.deref(mmvar));\nreturn (fexpr__19540.cljs$core$IFn$_invoke$arity$1 ? fexpr__19540.cljs$core$IFn$_invoke$arity$1(p1__19529_SHARP_) : fexpr__19540.call(null,p1__19529_SHARP_));\n});\nvar tag \x3d (((retag instanceof cljs.core.Keyword))?(function (p1__19530_SHARP_,p2__19531_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__19530_SHARP_,retag,p2__19531_SHARP_);\n}):retag);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19541(form,mmvar,retag,gfn,id,predx,dval,tag,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19570 \x3d (function (forms,preds,gfn,specs,cnt,meta19571){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cnt \x3d cnt;\nthis.meta19571 \x3d meta19571;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19572,meta19571__$1){\nvar self__ \x3d this;\nvar _19572__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19570(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cnt,meta19571__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19572){\nvar self__ \x3d this;\nvar _19572__$1 \x3d this;\nreturn self__.meta19571;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar specs__$1 \x3d cljs.core.deref(self__.specs);\nif((!(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),self__.cnt)))))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,self__.cnt)){\nreturn ret;\n} else {\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar cv \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),v);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__20587 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv));\nvar G__20588 \x3d (i + (1));\nret \x3d G__20587;\ni \x3d G__20588;\ncontinue;\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))))){\n} else {\nthrow (new Error(\x22Assert failed: (c/and (vector? x) (\x3d (count x) (count preds)))\x22));\n}\n\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,cljs.core.count(x))){\nreturn ret;\n} else {\nvar cv \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar v \x3d cljs.spec.alpha.unform((self__.preds.cljs$core$IFn$_invoke$arity$1 ? self__.preds.cljs$core$IFn$_invoke$arity$1(i) : self__.preds.call(null,i)),cv);\nvar G__20629 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,v));\nvar G__20630 \x3d (i + (1));\nret \x3d G__20629;\ni \x3d G__20630;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.vector_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.count(self__.preds),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (i,form,pred){\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,v)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i),v);\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.forms,self__.preds));\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (i,p,f){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),rmap,f);\n});\nvar gs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.preds,self__.forms);\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gs);\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22tuple\x22,\x22cljs.spec.alpha/tuple\x22,-415901908,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta19571\x22,\x22meta19571\x22,-433260983,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19570\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19570.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19570\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19570.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19570 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19570(forms__$1,preds,gfn,specs,cnt,meta19571){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19570(forms__$1,preds,gfn,specs,cnt,meta19571));\n});\n\n\n/**\n * Do not call this directly, use \x27tuple\x27\n */\ncljs.spec.alpha.tuple_impl \x3d (function cljs$spec$alpha$tuple_impl(var_args){\nvar G__19565 \x3d arguments.length;\nswitch (G__19565) {\ncase 2:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2 \x3d (function (forms__$1,preds){\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(forms__$1,preds,null);\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (forms__$1,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms__$1);\n}),null));\nvar cnt \x3d cljs.core.count(preds);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19570(forms__$1,preds,gfn,specs,cnt,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.tagged_ret \x3d (function cljs$spec$alpha$tagged_ret(tag,ret){\nreturn (new cljs.core.MapEntry(tag,ret,null));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19592 \x3d (function (keys,forms,preds,gfn,id,kps,specs,cform,meta19593){\nthis.keys \x3d keys;\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.kps \x3d kps;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta19593 \x3d meta19593;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19594,meta19593__$1){\nvar self__ \x3d this;\nvar _19594__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19592(self__.keys,self__.forms,self__.preds,self__.gfn,self__.id,self__.kps,self__.specs,self__.cform,meta19593__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19594){\nvar self__ \x3d this;\nvar _19594__$1 \x3d this;\nreturn self__.meta19593;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,p__19595){\nvar self__ \x3d this;\nvar vec__19596 \x3d p__19595;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19596,(0),null);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19596,(1),null);\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform((self__.kps.cljs$core$IFn$_invoke$arity$1 ? self__.kps.cljs$core$IFn$_invoke$arity$1(k) : self__.kps.call(null,k)),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (this$,path,via,in$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(this$__$1,x)){\nreturn null;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form,pred){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,in$,x);\n}\n}),self__.keys,self__.forms,self__.preds));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (k,p,f){\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,f);\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,self__.keys,self__.preds,self__.forms));\nif(cljs.core.empty_QMARK_(gs)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4 ? cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.keys,self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.or_spec_impl.call(null,self__.keys,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22or\x22,\x22cljs.spec.alpha/or\x22,-831679639,null),null,(1),null)),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.keys,self__.forms], 0)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22kps\x22,\x22kps\x22,-1157342767,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta19593\x22,\x22meta19593\x22,1940858486,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19592\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19592.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19592\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19592.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19592 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19592(keys,forms__$1,preds,gfn,id,kps,specs,cform,meta19593){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19592(keys,forms__$1,preds,gfn,id,kps,specs,cform,meta19593));\n});\n\n\n/**\n * Do not call this directly, use \x27or\x27\n */\ncljs.spec.alpha.or_spec_impl \x3d (function cljs$spec$alpha$or_spec_impl(keys,forms__$1,preds,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar kps \x3d cljs.core.zipmap(keys,preds);\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms__$1);\n}),null));\nvar cform \x3d (function (){var G__19578 \x3d cljs.core.count(preds);\nswitch (G__19578) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nvar ret__$2 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$2)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((2)) : keys.call(null,(2))),ret__$2);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar spec \x3d (specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i));\nvar ret \x3d cljs.spec.alpha.conform_STAR_(spec,x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar G__20638 \x3d (i + (1));\ni \x3d G__20638;\ncontinue;\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1(i) : keys.call(null,i)),ret);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\nbreak;\n}\n});\n\n}\n})();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19592(keys,forms__$1,preds,gfn,id,kps,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.and_preds \x3d (function cljs$spec$alpha$and_preds(x,preds,forms__$1){\nvar ret \x3d x;\nvar G__19614 \x3d preds;\nvar vec__19616 \x3d G__19614;\nvar seq__19617 \x3d cljs.core.seq(vec__19616);\nvar first__19618 \x3d cljs.core.first(seq__19617);\nvar seq__19617__$1 \x3d cljs.core.next(seq__19617);\nvar pred \x3d first__19618;\nvar preds__$1 \x3d seq__19617__$1;\nvar G__19615 \x3d forms__$1;\nvar vec__19619 \x3d G__19615;\nvar seq__19620 \x3d cljs.core.seq(vec__19619);\nvar first__19621 \x3d cljs.core.first(seq__19620);\nvar seq__19620__$1 \x3d cljs.core.next(seq__19620);\nvar form \x3d first__19621;\nvar forms__$2 \x3d seq__19620__$1;\nvar ret__$1 \x3d ret;\nvar G__19614__$1 \x3d G__19614;\nvar G__19615__$1 \x3d G__19615;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__19622 \x3d G__19614__$1;\nvar seq__19623 \x3d cljs.core.seq(vec__19622);\nvar first__19624 \x3d cljs.core.first(seq__19623);\nvar seq__19623__$1 \x3d cljs.core.next(seq__19623);\nvar pred__$1 \x3d first__19624;\nvar preds__$2 \x3d seq__19623__$1;\nvar vec__19625 \x3d G__19615__$1;\nvar seq__19626 \x3d cljs.core.seq(vec__19625);\nvar first__19627 \x3d cljs.core.first(seq__19626);\nvar seq__19626__$1 \x3d cljs.core.next(seq__19626);\nvar form__$1 \x3d first__19627;\nvar forms__$3 \x3d seq__19626__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__20639 \x3d nret;\nvar G__20640 \x3d preds__$2;\nvar G__20641 \x3d forms__$3;\nret__$1 \x3d G__20639;\nG__19614__$1 \x3d G__20640;\nG__19615__$1 \x3d G__20641;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n});\ncljs.spec.alpha.explain_pred_list \x3d (function cljs$spec$alpha$explain_pred_list(forms__$1,preds,path,via,in$,x){\nvar ret \x3d x;\nvar G__19634 \x3d forms__$1;\nvar vec__19636 \x3d G__19634;\nvar seq__19637 \x3d cljs.core.seq(vec__19636);\nvar first__19638 \x3d cljs.core.first(seq__19637);\nvar seq__19637__$1 \x3d cljs.core.next(seq__19637);\nvar form \x3d first__19638;\nvar forms__$2 \x3d seq__19637__$1;\nvar G__19635 \x3d preds;\nvar vec__19639 \x3d G__19635;\nvar seq__19640 \x3d cljs.core.seq(vec__19639);\nvar first__19641 \x3d cljs.core.first(seq__19640);\nvar seq__19640__$1 \x3d cljs.core.next(seq__19640);\nvar pred \x3d first__19641;\nvar preds__$1 \x3d seq__19640__$1;\nvar ret__$1 \x3d ret;\nvar G__19634__$1 \x3d G__19634;\nvar G__19635__$1 \x3d G__19635;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__19642 \x3d G__19634__$1;\nvar seq__19643 \x3d cljs.core.seq(vec__19642);\nvar first__19644 \x3d cljs.core.first(seq__19643);\nvar seq__19643__$1 \x3d cljs.core.next(seq__19643);\nvar form__$1 \x3d first__19644;\nvar forms__$3 \x3d seq__19643__$1;\nvar vec__19645 \x3d G__19635__$1;\nvar seq__19646 \x3d cljs.core.seq(vec__19645);\nvar first__19647 \x3d cljs.core.first(seq__19646);\nvar seq__19646__$1 \x3d cljs.core.next(seq__19646);\nvar pred__$1 \x3d first__19647;\nvar preds__$2 \x3d seq__19646__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn cljs.spec.alpha.explain_1(form__$1,pred__$1,path,via,in$,ret__$2);\n} else {\nvar G__20642 \x3d nret;\nvar G__20643 \x3d forms__$3;\nvar G__20644 \x3d preds__$2;\nret__$1 \x3d G__20642;\nG__19634__$1 \x3d G__20643;\nG__19635__$1 \x3d G__20644;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19654 \x3d (function (forms,preds,gfn,specs,cform,meta19655){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta19655 \x3d meta19655;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19656,meta19655__$1){\nvar self__ \x3d this;\nvar _19656__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19654(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cform,meta19655__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19656){\nvar self__ \x3d this;\nvar _19656__$1 \x3d this;\nreturn self__.meta19655;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__19649_SHARP_,p2__19648_SHARP_){\nreturn cljs.spec.alpha.unform(p2__19648_SHARP_,p1__19649_SHARP_);\n}),x,cljs.core.reverse(self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_pred_list(self__.forms,self__.preds,path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.gensub(cljs.core.first(self__.preds),overrides,path,rmap,cljs.core.first(self__.forms));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.and_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22and\x22,\x22cljs.spec.alpha/and\x22,-2060279705,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta19655\x22,\x22meta19655\x22,-1833263497,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19654\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19654.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19654\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19654.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19654 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19654(forms__$1,preds,gfn,specs,cform,meta19655){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19654(forms__$1,preds,gfn,specs,cform,meta19655));\n});\n\n\n/**\n * Do not call this directly, use \x27and\x27\n */\ncljs.spec.alpha.and_spec_impl \x3d (function cljs$spec$alpha$and_spec_impl(forms__$1,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms__$1);\n}),null));\nvar cform \x3d (function (){var G__19650 \x3d cljs.core.count(preds);\nswitch (G__19650) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),ret__$1);\n}\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar nret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),ret);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__20659 \x3d nret;\nvar G__20660 \x3d (i + (1));\nret \x3d G__20659;\ni \x3d G__20660;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n});\n\n}\n})();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19654(forms__$1,preds,gfn,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.coll_prob \x3d (function cljs$spec$alpha$coll_prob(x,kfn,kform,distinct,count,min_count,max_count,path,via,in$){\nvar pred \x3d (function (){var or__5045__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.coll_QMARK_;\n}\n})();\nvar kform__$1 \x3d (function (){var or__5045__auto__ \x3d kform;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22coll?\x22,\x22cljs.core/coll?\x22,1208130522,null);\n}\n})();\nif((!(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)))){\nreturn cljs.spec.alpha.explain_1(kform__$1,pred,path,via,in$,x);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d count;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(count,cljs.core.bounded_count(count,x));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,count,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d (function (){var or__5045__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn max_count;\n}\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (!(((((function (){var or__5045__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})() \x3c\x3d cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x))) \x26\x26 ((cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x) \x3c\x3d (function (){var or__5045__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (9007199254740991);\n}\n})())))));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x3d\x22,\x22cljs.core/\x3c\x3d\x22,1677001748,null),null,(1),null)),(new cljs.core.List(null,(function (){var or__5045__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})(),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,(function (){var or__5045__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (9007199254740991);\n}\n})(),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d distinct;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn (((!(cljs.core.empty_QMARK_(x)))) \x26\x26 (cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.distinct_QMARK_,x))));\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22distinct?\x22,\x22distinct?\x22,-1684357959,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19671 \x3d (function (forms,preds,gfn,meta19672){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.meta19672 \x3d meta19672;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19673,meta19672__$1){\nvar self__ \x3d this;\nvar _19673__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19671(self__.forms,self__.preds,self__.gfn,meta19672__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19673){\nvar self__ \x3d this;\nvar _19673__$1 \x3d this;\nreturn self__.meta19672;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ms \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__19663_SHARP_,p2__19664_SHARP_){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p1__19663_SHARP_,x,p2__19664_SHARP_);\n}),self__.preds,self__.forms);\nif(cljs.core.truth_(cljs.core.some(cljs.spec.alpha.invalid_QMARK_,ms))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,ms);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__19665_SHARP_){\nreturn cljs.spec.alpha.unform(p1__19665_SHARP_,x);\n}),cljs.core.reverse(self__.preds)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__19666_SHARP_,p2__19667_SHARP_){\nreturn cljs.spec.alpha.explain_1(p1__19666_SHARP_,p2__19667_SHARP_,path,via,in$,x);\n}),self__.forms,self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19668_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,p1__19668_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__19669_SHARP_,p2__19670_SHARP_){\nreturn cljs.spec.alpha.gensub(p1__19669_SHARP_,overrides,path,rmap,p2__19670_SHARP_);\n}),self__.preds,self__.forms))], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.merge_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22merge\x22,\x22cljs.spec.alpha/merge\x22,1420080689,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta19672\x22,\x22meta19672\x22,-412949118,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19671\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19671.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19671\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19671.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19671 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19671(forms__$1,preds,gfn,meta19672){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19671(forms__$1,preds,gfn,meta19672));\n});\n\n\n/**\n * Do not call this directly, use \x27merge\x27\n */\ncljs.spec.alpha.merge_spec_impl \x3d (function cljs$spec$alpha$merge_spec_impl(forms__$1,preds,gfn){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19671(forms__$1,preds,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.empty_coll \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),cljs.core.PersistentVector.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22set?\x22,\x22cljs.core/set?\x22,-1176684971,null),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22list?\x22,\x22cljs.core/list?\x22,-684796618,null),cljs.core.List.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),cljs.core.PersistentArrayMap.EMPTY], null);\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha19707 \x3d (function (form,max_count,check_QMARK_,map__19703,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,cfns,describe_form,distinct,p__19702,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta19708){\nthis.form \x3d form;\nthis.max_count \x3d max_count;\nthis.check_QMARK_ \x3d check_QMARK_;\nthis.map__19703 \x3d map__19703;\nthis.gfn \x3d gfn;\nthis.gen_max \x3d gen_max;\nthis.pred \x3d pred;\nthis.cpred \x3d cpred;\nthis.conform_keys \x3d conform_keys;\nthis.kind_form \x3d kind_form;\nthis.addcv \x3d addcv;\nthis.cfns \x3d cfns;\nthis.describe_form \x3d describe_form;\nthis.distinct \x3d distinct;\nthis.p__19702 \x3d p__19702;\nthis.spec \x3d spec;\nthis.kfn \x3d kfn;\nthis.gen_into \x3d gen_into;\nthis.count \x3d count;\nthis.min_count \x3d min_count;\nthis.opts \x3d opts;\nthis.kind \x3d kind;\nthis.conform_all \x3d conform_all;\nthis.conform_into \x3d conform_into;\nthis.meta19708 \x3d meta19708;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_19709,meta19708__$1){\nvar self__ \x3d this;\nvar _19709__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19707(self__.form,self__.max_count,self__.check_QMARK_,self__.map__19703,self__.gfn,self__.gen_max,self__.pred,self__.cpred,self__.conform_keys,self__.kind_form,self__.addcv,self__.cfns,self__.describe_form,self__.distinct,self__.p__19702,self__.spec,self__.kfn,self__.gen_into,self__.count,self__.min_count,self__.opts,self__.kind,self__.conform_all,self__.conform_into,meta19708__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_19709){\nvar self__ \x3d this;\nvar _19709__$1 \x3d this;\nreturn self__.meta19708;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nif(cljs.core.not((self__.cpred.cljs$core$IFn$_invoke$arity$1 ? self__.cpred.cljs$core$IFn$_invoke$arity$1(x) : self__.cpred.call(null,x)))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nif(cljs.core.truth_(self__.conform_all)){\nvar vec__19713 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19713,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19713,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19713,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__19719 \x3d cljs.core.seq(x);\nvar vec__19720 \x3d G__19719;\nvar seq__19721 \x3d cljs.core.seq(vec__19720);\nvar first__19722 \x3d cljs.core.first(seq__19721);\nvar seq__19721__$1 \x3d cljs.core.next(seq__19721);\nvar v \x3d first__19722;\nvar vs \x3d seq__19721__$1;\nvar vseq \x3d vec__19720;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__19719__$1 \x3d G__19719;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__19723 \x3d G__19719__$1;\nvar seq__19724 \x3d cljs.core.seq(vec__19723);\nvar first__19725 \x3d cljs.core.first(seq__19724);\nvar seq__19724__$1 \x3d cljs.core.next(seq__19724);\nvar v__$1 \x3d first__19725;\nvar vs__$1 \x3d seq__19724__$1;\nvar vseq__$1 \x3d vec__19723;\nif(vseq__$1){\nvar cv \x3d cljs.spec.alpha.conform_STAR_(spec__$1,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__20686 \x3d (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(ret__$2,i__$2,v__$1,cv) : add.call(null,ret__$2,i__$2,v__$1,cv));\nvar G__20687 \x3d (i__$2 + (1));\nvar G__20688 \x3d vs__$1;\nret__$1 \x3d G__20686;\ni__$1 \x3d G__20687;\nG__19719__$1 \x3d G__20688;\ncontinue;\n}\n} else {\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n}\nbreak;\n}\n} else {\nif(cljs.core.indexed_QMARK_(x)){\nvar step \x3d (function (){var x__5130__auto__ \x3d (1);\nvar y__5131__auto__ \x3d cljs.core.long$((cljs.core.count(x) / cljs.spec.alpha._STAR_coll_check_limit_STAR_));\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n})();\nvar i \x3d (0);\nwhile(true){\nif((i \x3e\x3d cljs.core.count(x))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i))){\nvar G__20689 \x3d (i + step);\ni \x3d G__20689;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n} else {\nvar limit \x3d cljs.spec.alpha._STAR_coll_check_limit_STAR_;\nvar i \x3d (0);\nvar G__19732 \x3d cljs.core.seq(x);\nvar vec__19733 \x3d G__19732;\nvar seq__19734 \x3d cljs.core.seq(vec__19733);\nvar first__19735 \x3d cljs.core.first(seq__19734);\nvar seq__19734__$1 \x3d cljs.core.next(seq__19734);\nvar v \x3d first__19735;\nvar vs \x3d seq__19734__$1;\nvar vseq \x3d vec__19733;\nvar i__$1 \x3d i;\nvar G__19732__$1 \x3d G__19732;\nwhile(true){\nvar i__$2 \x3d i__$1;\nvar vec__19736 \x3d G__19732__$1;\nvar seq__19737 \x3d cljs.core.seq(vec__19736);\nvar first__19738 \x3d cljs.core.first(seq__19737);\nvar seq__19737__$1 \x3d cljs.core.next(seq__19737);\nvar v__$1 \x3d first__19738;\nvar vs__$1 \x3d seq__19737__$1;\nvar vseq__$1 \x3d vec__19736;\nif((((vseq__$1 \x3d\x3d null)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i__$2,limit)))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,v__$1)){\nvar G__20690 \x3d (i__$2 + (1));\nvar G__20691 \x3d vs__$1;\ni__$1 \x3d G__20690;\nG__19732__$1 \x3d G__20691;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n\n}\n}\nbreak;\n}\n}\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.conform_all)){\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nvar vec__19739 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19739,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19739,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19739,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__19745 \x3d cljs.core.seq(x);\nvar vec__19746 \x3d G__19745;\nvar seq__19747 \x3d cljs.core.seq(vec__19746);\nvar first__19748 \x3d cljs.core.first(seq__19747);\nvar seq__19747__$1 \x3d cljs.core.next(seq__19747);\nvar v \x3d first__19748;\nvar vs \x3d seq__19747__$1;\nvar vseq \x3d vec__19746;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__19745__$1 \x3d G__19745;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__19749 \x3d G__19745__$1;\nvar seq__19750 \x3d cljs.core.seq(vec__19749);\nvar first__19751 \x3d cljs.core.first(seq__19750);\nvar seq__19750__$1 \x3d cljs.core.next(seq__19750);\nvar v__$1 \x3d first__19751;\nvar vs__$1 \x3d seq__19750__$1;\nvar vseq__$1 \x3d vec__19749;\nif((i__$2 \x3e\x3d cljs.core.count(x))){\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n} else {\nvar G__20692 \x3d (function (){var G__19752 \x3d ret__$2;\nvar G__19753 \x3d i__$2;\nvar G__19754 \x3d v__$1;\nvar G__19755 \x3d cljs.spec.alpha.unform_STAR_(spec__$1,v__$1);\nreturn (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(G__19752,G__19753,G__19754,G__19755) : add.call(null,G__19752,G__19753,G__19754,G__19755));\n})();\nvar G__20693 \x3d (i__$2 + (1));\nvar G__20694 \x3d vs__$1;\nret__$1 \x3d G__20692;\ni__$1 \x3d G__20693;\nG__19745__$1 \x3d G__20694;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5045__auto__ \x3d cljs.spec.alpha.coll_prob(x,self__.kind,self__.kind_form,self__.distinct,self__.count,self__.min_count,self__.max_count,path,via,in$);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,(function (){var G__19757 \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (i,v){\nvar k \x3d (self__.kfn.cljs$core$IFn$_invoke$arity$2 ? self__.kfn.cljs$core$IFn$_invoke$arity$2(i,v) : self__.kfn.call(null,i,v));\nif(cljs.core.truth_((self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1 ? self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1(v) : self__.check_QMARK_.call(null,v)))){\nreturn null;\n} else {\nvar prob \x3d cljs.spec.alpha.explain_1(self__.form,self__.pred,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\nreturn prob;\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$0(),x));\nvar fexpr__19756 \x3d (cljs.core.truth_(self__.conform_all)?cljs.core.identity:cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.take,cljs.spec.alpha._STAR_coll_error_limit_STAR_));\nreturn (fexpr__19756.cljs$core$IFn$_invoke$arity$1 ? fexpr__19756.cljs$core$IFn$_invoke$arity$1(G__19757) : fexpr__19756.call(null,G__19757));\n})());\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar pgen \x3d cljs.spec.alpha.gensub(self__.pred,overrides,path,rmap,self__.form);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(self__.gen_into)?cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.gen_into], 0)):(cljs.core.truth_(self__.kind)?cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19692_SHARP_){\nif(cljs.core.empty_QMARK_(p1__19692_SHARP_)){\nreturn p1__19692_SHARP_;\n} else {\nreturn cljs.core.empty(p1__19692_SHARP_);\n}\n}),cljs.spec.alpha.gensub(self__.kind,overrides,path,rmap,self__.form)], 0)):cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0))\n)),(function (init){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__19693_SHARP_){\nif(cljs.core.vector_QMARK_(init)){\nreturn p1__19693_SHARP_;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(init,p1__19693_SHARP_);\n}\n}),(cljs.core.truth_(self__.distinct)?(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22num-elements\x22,\x22num-elements\x22,1960422107),self__.count,new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0)):cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22min-elements\x22,\x22min-elements\x22,949370780),(function (){var or__5045__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})(),new cljs.core.Keyword(null,\x22max-elements\x22,\x22max-elements\x22,433034073),(function (){var or__5045__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar x__5130__auto__ \x3d self__.gen_max;\nvar y__5131__auto__ \x3d ((2) * (function (){var or__5045__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}\n})(),new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0))):(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,self__.count], 0)):(cljs.core.truth_((function (){var or__5045__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn self__.max_count;\n}\n})())?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(function (){var or__5045__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (0);\n}\n})(),(function (){var or__5045__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar x__5130__auto__ \x3d self__.gen_max;\nvar y__5131__auto__ \x3d ((2) * (function (){var or__5045__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5130__auto__ \x3e y__5131__auto__) ? x__5130__auto__ : y__5131__auto__);\n}\n})()], 0)):cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(0),self__.gen_max], 0))\n)))], 0));\n})], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.pred,self__.opts,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5045__auto__ \x3d self__.describe_form;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22every\x22,\x22cljs.spec.alpha/every\x22,123912744,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opts], 0))], 0))));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 25, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22max-count\x22,\x22max-count\x22,-1115250464,null),new cljs.core.Symbol(null,\x22check?\x22,\x22check?\x22,409539557,null),new cljs.core.Symbol(null,\x22map__19703\x22,\x22map__19703\x22,1746653351,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22gen-max\x22,\x22gen-max\x22,846851082,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22cpred\x22,\x22cpred\x22,-540353554,null),new cljs.core.Symbol(null,\x22conform-keys\x22,\x22conform-keys\x22,-159510287,null),new cljs.core.Symbol(null,\x22kind-form\x22,\x22kind-form\x22,1155997457,null),new cljs.core.Symbol(null,\x22addcv\x22,\x22addcv\x22,-1552991247,null),new cljs.core.Symbol(null,\x22cfns\x22,\x22cfns\x22,1335482066,null),new cljs.core.Symbol(null,\x22describe-form\x22,\x22describe-form\x22,-1410156588,null),new cljs.core.Symbol(null,\x22distinct\x22,\x22distinct\x22,-148347594,null),new cljs.core.Symbol(null,\x22p__19702\x22,\x22p__19702\x22,6193816,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22kfn\x22,\x22kfn\x22,729311001,null),new cljs.core.Symbol(null,\x22gen-into\x22,\x22gen-into\x22,592640985,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22min-count\x22,\x22min-count\x22,-1059726756,null),new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22kind\x22,\x22kind\x22,923265724,null),new cljs.core.Symbol(null,\x22conform-all\x22,\x22conform-all\x22,-980179459,null),new cljs.core.Symbol(null,\x22conform-into\x22,\x22conform-into\x22,-1039113729,null),new cljs.core.Symbol(null,\x22meta19708\x22,\x22meta19708\x22,-491449949,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha19707\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha19707.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha19707\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha19707.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha19707 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha19707(form,max_count,check_QMARK_,map__19703,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,cfns,describe_form,distinct,p__19702,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta19708){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19707(form,max_count,check_QMARK_,map__19703,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,cfns,describe_form,distinct,p__19702,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta19708));\n});\n\n\n/**\n * Do not call this directly, use \x27every\x27, \x27every-kv\x27, \x27coll-of\x27 or \x27map-of\x27\n */\ncljs.spec.alpha.every_impl \x3d (function cljs$spec$alpha$every_impl(var_args){\nvar G__19695 \x3d arguments.length;\nswitch (G__19695) {\ncase 3:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,pred,opts){\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(form,pred,opts,null);\n}));\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,p__19702,gfn){\nvar map__19703 \x3d p__19702;\nvar map__19703__$1 \x3d cljs.core.__destructure_map(map__19703);\nvar opts \x3d map__19703__$1;\nvar max_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(null,\x22max-count\x22,\x22max-count\x22,1539185305));\nvar kind_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kind-form\x22,\x22cljs.spec.alpha/kind-form\x22,-1047104697));\nvar gen_max \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__19703__$1,new cljs.core.Keyword(null,\x22gen-max\x22,\x22gen-max\x22,-793680445),(20));\nvar cpred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22cpred\x22,\x22cljs.spec.alpha/cpred\x22,-693471218));\nvar conform_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(null,\x22conform-keys\x22,\x22conform-keys\x22,-1800041814));\nvar describe_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22describe\x22,\x22cljs.spec.alpha/describe\x22,1883026911));\nvar distinct \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(null,\x22distinct\x22,\x22distinct\x22,-1788879121));\nvar kfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kfn\x22,\x22cljs.spec.alpha/kfn\x22,672643897));\nvar count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085));\nvar min_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(null,\x22min-count\x22,\x22min-count\x22,1594709013));\nvar kind \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(null,\x22kind\x22,\x22kind\x22,-717265803));\nvar conform_all \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22conform-all\x22,\x22cljs.spec.alpha/conform-all\x22,45201917));\nvar conform_into \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19703__$1,new cljs.core.Keyword(null,\x22into\x22,\x22into\x22,-150836029));\nvar gen_into \x3d (cljs.core.truth_(conform_into)?cljs.core.empty(conform_into):cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.empty_coll,kind_form));\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(pred);\n}),null));\nvar check_QMARK_ \x3d (function (p1__19687_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(spec),p1__19687_SHARP_);\n});\nvar kfn__$1 \x3d (function (){var or__5045__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (function (i,v){\nreturn i;\n});\n}\n})();\nvar addcv \x3d (function (ret,i,v,cv){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cv);\n});\nvar cfns \x3d (function (x){\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (((cljs.core.not(conform_into)) || (cljs.core.vector_QMARK_(conform_into)))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.identity,(function (ret,i,v,cv){\nif((v \x3d\x3d\x3d cv)){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv);\n}\n}),cljs.core.identity], null);\n} else {\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.map_QMARK_(x);\nif(and__5043__auto__){\nvar or__5045__auto__ \x3d (function (){var and__5043__auto____$1 \x3d kind;\nif(cljs.core.truth_(and__5043__auto____$1)){\nreturn cljs.core.not(conform_into);\n} else {\nreturn and__5043__auto____$1;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.map_QMARK_(conform_into);\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.truth_(conform_keys)?cljs.core.empty:cljs.core.identity),(function (ret,i,v,cv){\nif((((v \x3d\x3d\x3d cv)) \x26\x26 (cljs.core.not(conform_keys)))){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,cljs.core.nth.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(conform_keys)?cv:v),(0)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cv,(1)));\n}\n}),cljs.core.identity], null);\n} else {\nif(((cljs.core.list_QMARK_(conform_into)) || (((cljs.core.seq_QMARK_(conform_into)) || (((cljs.core.not(conform_into)) \x26\x26 (((cljs.core.list_QMARK_(x)) || (cljs.core.seq_QMARK_(x)))))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.empty,addcv,cljs.core.reverse], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (p1__19688_SHARP_){\nreturn cljs.core.empty((function (){var or__5045__auto__ \x3d conform_into;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p1__19688_SHARP_;\n}\n})());\n}),addcv,cljs.core.identity], null);\n\n}\n}\n}\n});\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha19707(form,max_count,check_QMARK_,map__19703__$1,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,cfns,describe_form,distinct,p__19702,spec,kfn__$1,gen_into,count,min_count,opts,kind,conform_all,conform_into,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.every_impl.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.spec.alpha.accept \x3d (function cljs$spec$alpha$accept(x){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),x], null);\n});\ncljs.spec.alpha.accept_QMARK_ \x3d (function cljs$spec$alpha$accept_QMARK_(p__19786){\nvar map__19787 \x3d p__19786;\nvar map__19787__$1 \x3d cljs.core.__destructure_map(map__19787);\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19787__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),op);\n});\ncljs.spec.alpha.pcat_STAR_ \x3d (function cljs$spec$alpha$pcat_STAR_(p__19788){\nvar map__19789 \x3d p__19788;\nvar map__19789__$1 \x3d cljs.core.__destructure_map(map__19789);\nvar vec__19790 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19789__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__19791 \x3d cljs.core.seq(vec__19790);\nvar first__19792 \x3d cljs.core.first(seq__19791);\nvar seq__19791__$1 \x3d cljs.core.next(seq__19791);\nvar p1 \x3d first__19792;\nvar pr \x3d seq__19791__$1;\nvar ps \x3d vec__19790;\nvar vec__19793 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19789__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__19794 \x3d cljs.core.seq(vec__19793);\nvar first__19795 \x3d cljs.core.first(seq__19794);\nvar seq__19794__$1 \x3d cljs.core.next(seq__19794);\nvar k1 \x3d first__19795;\nvar kr \x3d seq__19794__$1;\nvar ks \x3d vec__19793;\nvar vec__19796 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19789__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar seq__19797 \x3d cljs.core.seq(vec__19796);\nvar first__19798 \x3d cljs.core.first(seq__19797);\nvar seq__19797__$1 \x3d cljs.core.next(seq__19797);\nvar f1 \x3d first__19798;\nvar fr \x3d seq__19797__$1;\nvar forms__$1 \x3d vec__19796;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19789__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19789__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nif(cljs.core.every_QMARK_(cljs.core.identity,ps)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nvar rp \x3d new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1);\nvar ret__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(cljs.core.truth_(ks)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k1,rp]):rp));\nif(pr){\nvar G__19799 \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),fr,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret__$1], null);\nreturn (cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1(G__19799) : cljs.spec.alpha.pcat_STAR_.call(null,G__19799));\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),rep_PLUS_], null);\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.pcat \x3d (function cljs$spec$alpha$pcat(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20706 \x3d arguments.length;\nvar i__5770__auto___20707 \x3d (0);\nwhile(true){\nif((i__5770__auto___20707 \x3c len__5769__auto___20706)){\nargs__5775__auto__.push((arguments[i__5770__auto___20707]));\n\nvar G__20708 \x3d (i__5770__auto___20707 + (1));\ni__5770__auto___20707 \x3d G__20708;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY], null));\n}));\n\n(cljs.spec.alpha.pcat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.pcat.cljs$lang$applyTo \x3d (function (seq19800){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19800));\n}));\n\n/**\n * Do not call this directly, use \x27cat\x27\n */\ncljs.spec.alpha.cat_impl \x3d (function cljs$spec$alpha$cat_impl(ks,ps,forms__$1){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.spec.alpha.rep_STAR_ \x3d (function cljs$spec$alpha$rep_STAR_(p1,p2,ret,splice,form){\nif(cljs.core.truth_(p1)){\nvar r \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641),p2,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165),splice,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),form,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid()], null);\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1))], 0));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], 0));\n}\n} else {\nreturn null;\n}\n});\n/**\n * Do not call this directly, use \x27*\x27\n */\ncljs.spec.alpha.rep_impl \x3d (function cljs$spec$alpha$rep_impl(form,p){\nreturn cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,false,form);\n});\n/**\n * Do not call this directly, use \x27+\x27\n */\ncljs.spec.alpha.rep_PLUS_impl \x3d (function cljs$spec$alpha$rep_PLUS_impl(form,p){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,true,form)], null),new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null),null,(1),null)),(new cljs.core.List(null,form,null,(1),null))))),null,(1),null)))))),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),form], null));\n});\n/**\n * Do not call this directly, use \x27\x26\x27\n */\ncljs.spec.alpha.amp_impl \x3d (function cljs$spec$alpha$amp_impl(re,re_form,preds,pred_forms){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),re,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571),re_form,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),preds,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),pred_forms], null);\n});\ncljs.spec.alpha.filter_alt \x3d (function cljs$spec$alpha$filter_alt(ps,ks,forms__$1,f){\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d ks;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn forms__$1;\n}\n})())){\nvar pks \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__19816_SHARP_){\nvar G__19818 \x3d cljs.core.first(p1__19816_SHARP_);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__19818) : f.call(null,G__19818));\n}),cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})()));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,pks)),(cljs.core.truth_(ks)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,pks)):null),(cljs.core.truth_(forms__$1)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__19817_SHARP_){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__19817_SHARP_,(2));\n}),pks)):null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(f,ps)),ks,forms__$1], null);\n}\n});\ncljs.spec.alpha.alt_STAR_ \x3d (function cljs$spec$alpha$alt_STAR_(ps,ks,forms__$1){\nvar vec__19819 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms__$1,cljs.core.identity);\nvar vec__19822 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19819,(0),null);\nvar seq__19823 \x3d cljs.core.seq(vec__19822);\nvar first__19824 \x3d cljs.core.first(seq__19823);\nvar seq__19823__$1 \x3d cljs.core.next(seq__19823);\nvar p1 \x3d first__19824;\nvar pr \x3d seq__19823__$1;\nvar ps__$1 \x3d vec__19822;\nvar vec__19825 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19819,(1),null);\nvar k1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19825,(0),null);\nvar ks__$1 \x3d vec__19825;\nvar forms__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19819,(2),null);\nif(cljs.core.truth_(ps__$1)){\nvar ret \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$2], null);\nif((pr \x3d\x3d null)){\nif(cljs.core.truth_(k1)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.spec.alpha.accept(cljs.spec.alpha.tagged_ret(k1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1)));\n} else {\nreturn ret;\n}\n} else {\nreturn p1;\n}\n} else {\nreturn ret;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.alts \x3d (function cljs$spec$alpha$alts(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___20716 \x3d arguments.length;\nvar i__5770__auto___20717 \x3d (0);\nwhile(true){\nif((i__5770__auto___20717 \x3c len__5769__auto___20716)){\nargs__5775__auto__.push((arguments[i__5770__auto___20717]));\n\nvar G__20718 \x3d (i__5770__auto___20717 + (1));\ni__5770__auto___20717 \x3d G__20718;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((0) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(argseq__5776__auto__);\n});\n\n(cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.alt_STAR_(ps,null,null);\n}));\n\n(cljs.spec.alpha.alts.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.alts.cljs$lang$applyTo \x3d (function (seq19831){\nvar self__5755__auto__ \x3d this;\nreturn self__5755__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq19831));\n}));\n\ncljs.spec.alpha.alt2 \x3d (function cljs$spec$alpha$alt2(p1,p2){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d p1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn p2;\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1,p2], 0));\n} else {\nvar or__5045__auto__ \x3d p1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p2;\n}\n}\n});\n/**\n * Do not call this directly, use \x27alt\x27\n */\ncljs.spec.alpha.alt_impl \x3d (function cljs$spec$alpha$alt_impl(ks,ps,forms__$1){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(ps,ks,forms__$1),new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid());\n});\n/**\n * Do not call this directly, use \x27?\x27\n */\ncljs.spec.alpha.maybe_impl \x3d (function cljs$spec$alpha$maybe_impl(p,form){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.accept(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [form,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)], null)),new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560),form);\n});\ncljs.spec.alpha.noret_QMARK_ \x3d (function cljs$spec$alpha$noret_QMARK_(p1,pret){\nvar or__5045__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950));\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (function (){var and__5043__auto__ \x3d (function (){var G__19845 \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.reg_resolve_BANG_(p1));\nvar fexpr__19844 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),null,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),null], null), null);\nreturn (fexpr__19844.cljs$core$IFn$_invoke$arity$1 ? fexpr__19844.cljs$core$IFn$_invoke$arity$1(G__19845) : fexpr__19844.call(null,G__19845));\n})();\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.empty_QMARK_(pret);\n} else {\nreturn and__5043__auto__;\n}\n})();\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.accept_nil_QMARK_ \x3d (function cljs$spec$alpha$accept_nil_QMARK_(p){\nvar map__19846 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__19846__$1 \x3d cljs.core.__destructure_map(map__19846);\nvar p__$1 \x3d map__19846__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19846__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19846__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19846__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19846__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19846__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__19847 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__19847)){\nreturn true;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__19847)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__19847)){\nvar and__5043__auto__ \x3d (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\nif(cljs.core.truth_(and__5043__auto__)){\nvar ret \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1),ps,cljs.core.next(forms__$1));\nreturn (!(cljs.spec.alpha.invalid_QMARK_(ret)));\n} else {\nreturn and__5043__auto__;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__19847)){\nvar or__5045__auto__ \x3d (p1 \x3d\x3d\x3d p2);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__19847)){\nreturn cljs.core.every_QMARK_(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__19847)){\nreturn cljs.core.some(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__19847)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.preturn \x3d (function cljs$spec$alpha$preturn(p){\nvar map__19854 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__19854__$1 \x3d cljs.core.__destructure_map(map__19854);\nvar p__$1 \x3d map__19854__$1;\nvar vec__19855 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19854__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__19856 \x3d cljs.core.seq(vec__19855);\nvar first__19857 \x3d cljs.core.first(seq__19856);\nvar seq__19856__$1 \x3d cljs.core.next(seq__19856);\nvar p0 \x3d first__19857;\nvar pr \x3d seq__19856__$1;\nvar ps \x3d vec__19855;\nvar vec__19858 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19854__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19858,(0),null);\nvar ks \x3d vec__19858;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19854__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19854__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19854__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19854__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__19861 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__19861)){\nreturn ret;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__19861)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__19861)){\nvar pret \x3d (cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.preturn.call(null,p1));\nif(cljs.core.truth_(cljs.spec.alpha.noret_QMARK_(p1,pret))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950);\n} else {\nreturn cljs.spec.alpha.and_preds(pret,ps,forms__$1);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__19861)){\nreturn cljs.spec.alpha.add_ret(p1,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__19861)){\nreturn cljs.spec.alpha.add_ret(p0,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__19861)){\nvar vec__19865 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms__$1,cljs.spec.alpha.accept_nil_QMARK_);\nvar vec__19868 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19865,(0),null);\nvar p0__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19868,(0),null);\nvar vec__19871 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19865,(1),null);\nvar k0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19871,(0),null);\nvar r \x3d (((p0__$1 \x3d\x3d null))?new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950):(cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p0__$1) : cljs.spec.alpha.preturn.call(null,p0__$1)));\nif(cljs.core.truth_(k0)){\nreturn cljs.spec.alpha.tagged_ret(k0,r);\n} else {\nreturn r;\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__19861)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.op_unform \x3d (function cljs$spec$alpha$op_unform(p,x){\nvar map__19887 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__19887__$1 \x3d cljs.core.__destructure_map(map__19887);\nvar p__$1 \x3d map__19887__$1;\nvar vec__19888 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19887__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__19889 \x3d cljs.core.seq(vec__19888);\nvar first__19890 \x3d cljs.core.first(seq__19889);\nvar seq__19889__$1 \x3d cljs.core.next(seq__19889);\nvar p0 \x3d first__19890;\nvar pr \x3d seq__19889__$1;\nvar ps \x3d vec__19888;\nvar vec__19891 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19887__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19891,(0),null);\nvar ks \x3d vec__19891;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19887__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19887__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19887__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19887__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19887__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19887__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar kps \x3d cljs.core.zipmap(ks,ps);\nvar G__19894 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__19894)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__19894)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p__$1,x)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__19894)){\nvar px \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__19881_SHARP_,p2__19880_SHARP_){\nreturn cljs.spec.alpha.unform(p2__19880_SHARP_,p1__19881_SHARP_);\n}),x,cljs.core.reverse(ps));\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,px) : cljs.spec.alpha.op_unform.call(null,p1,px));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__19894)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__19882_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,p1__19882_SHARP_) : cljs.spec.alpha.op_unform.call(null,p1,p1__19882_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__19894)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__19883_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p0,p1__19883_SHARP_) : cljs.spec.alpha.op_unform.call(null,p0,p1__19883_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (k__$1){\nif(cljs.core.contains_QMARK_(x,k__$1)){\nvar G__19895 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__19896 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(x,k__$1);\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__19895,G__19896) : cljs.spec.alpha.op_unform.call(null,G__19895,G__19896));\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__19894)){\nif(cljs.core.truth_(maybe)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p0,x)], null);\n} else {\nvar vec__19900 \x3d x;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19900,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19900,(1),null);\nvar G__19905 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__19906 \x3d v;\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__19905,G__19906) : cljs.spec.alpha.op_unform.call(null,G__19905,G__19906));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__19894)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.add_ret \x3d (function cljs$spec$alpha$add_ret(p,r,k){\nvar map__19912 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__19912__$1 \x3d cljs.core.__destructure_map(map__19912);\nvar p__$1 \x3d map__19912__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19912__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19912__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19912__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar prop \x3d (function (){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core.empty_QMARK_(ret)){\nreturn r;\n} else {\nvar G__19926 \x3d r;\nvar G__19927 \x3d (cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret);\nvar fexpr__19925 \x3d (cljs.core.truth_(splice)?cljs.core.into:cljs.core.conj);\nreturn (fexpr__19925.cljs$core$IFn$_invoke$arity$2 ? fexpr__19925.cljs$core$IFn$_invoke$arity$2(G__19926,G__19927) : fexpr__19925.call(null,G__19926,G__19927));\n}\n});\nvar G__19928 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__19928)){\nreturn r;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__19928)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__19928)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__19928)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__19928)){\nreturn prop();\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__19928)){\nreturn prop();\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__19928)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.deriv \x3d (function cljs$spec$alpha$deriv(p,x){\nvar map__19930 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__19930__$1 \x3d cljs.core.__destructure_map(map__19930);\nvar p__$1 \x3d map__19930__$1;\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19930__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19930__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar vec__19931 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19930__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__19932 \x3d cljs.core.seq(vec__19931);\nvar first__19933 \x3d cljs.core.first(seq__19932);\nvar seq__19932__$1 \x3d cljs.core.next(seq__19932);\nvar p0 \x3d first__19933;\nvar pr \x3d seq__19932__$1;\nvar ps \x3d vec__19931;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19930__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19930__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19930__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar vec__19934 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19930__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__19935 \x3d cljs.core.seq(vec__19934);\nvar first__19936 \x3d cljs.core.first(seq__19935);\nvar seq__19935__$1 \x3d cljs.core.next(seq__19935);\nvar k0 \x3d first__19936;\nvar kr \x3d seq__19935__$1;\nvar ks \x3d vec__19934;\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19930__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19930__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__19937 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__19937)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__19937)){\nvar ret__$1 \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p__$1,x,p__$1);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__19937)){\nvar temp__5804__auto__ \x3d (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar p1__$1 \x3d temp__5804__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p1__$1))){\nvar ret__$1 \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1__$1),ps,cljs.core.next(forms__$1));\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.amp_impl(p1__$1,amp,ps,forms__$1);\n}\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__19937)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),cljs.core.cons((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p0,x) : cljs.spec.alpha.deriv.call(null,p0,x)),pr),new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], null)),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p0))?(function (){var G__19947 \x3d cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.next(forms__$1),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.spec.alpha.add_ret(p0,ret,k0)], null));\nvar G__19948 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__19947,G__19948) : cljs.spec.alpha.deriv.call(null,G__19947,G__19948));\n})():null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__19937)){\nreturn cljs.spec.alpha.alt_STAR_(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__19929_SHARP_){\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1__19929_SHARP_,x) : cljs.spec.alpha.deriv.call(null,p1__19929_SHARP_,x));\n}),ps),ks,forms__$1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__19937)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.rep_STAR_((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x)),p2,ret,splice,forms__$1),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))?(function (){var G__19952 \x3d cljs.spec.alpha.rep_STAR_(p2,p2,cljs.spec.alpha.add_ret(p1,ret,null),splice,forms__$1);\nvar G__19953 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__19952,G__19953) : cljs.spec.alpha.deriv.call(null,G__19952,G__19953));\n})():null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__19937)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_describe \x3d (function cljs$spec$alpha$op_describe(p){\nvar map__19954 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__19954__$1 \x3d cljs.core.__destructure_map(map__19954);\nvar p__$1 \x3d map__19954__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19954__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19954__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19954__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19954__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19954__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19954__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19954__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19954__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19954__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__19958 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__19958)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__19958)){\nreturn p__$1;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__19958)){\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22\x26\x22,\x22cljs.spec.alpha/\x26\x22,1635809823,null),amp,forms__$1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__19958)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null),(new cljs.core.List(null,rep_PLUS_,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22cat\x22,\x22cljs.spec.alpha/cat\x22,-1471398329,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22_\x22,\x22_\x22,1453416199));\n}\n})(),forms__$1], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__19958)){\nif(cljs.core.truth_(maybe)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22?\x22,\x22cljs.spec.alpha/?\x22,1605136319,null),(new cljs.core.List(null,maybe,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,-2130750332,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks,forms__$1], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__19958)){\nreturn (new cljs.core.List(null,(cljs.core.truth_(splice)?new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null):new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null)),(new cljs.core.List(null,forms__$1,null,(1),null)),(2),null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__19958)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_explain \x3d (function cljs$spec$alpha$op_explain(form,p,path,via,in$,input){\nvar vec__19968 \x3d input;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19968,(0),null);\nvar input__$1 \x3d vec__19968;\nvar map__19971 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__19971__$1 \x3d cljs.core.__destructure_map(map__19971);\nvar p__$1 \x3d map__19971__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19971__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19971__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19971__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19971__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19971__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19971__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__19971__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar via__$1 \x3d (function (){var temp__5802__auto__ \x3d cljs.spec.alpha.spec_name(p__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar name \x3d temp__5802__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})();\nvar insufficient \x3d (function (path__$1,form__$1){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Insufficient input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n});\nif(cljs.core.truth_(p__$1)){\nvar G__19972 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__19972)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__19972)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,form);\n} else {\nreturn cljs.spec.alpha.explain_1(form,p__$1,path,via__$1,in$,x);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__19972)){\nif(cljs.core.empty_QMARK_(input__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))){\nreturn cljs.spec.alpha.explain_pred_list(forms__$1,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1));\n} else {\nreturn insufficient(path,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1));\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p1,x);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar p1__$1 \x3d temp__5802__auto__;\nreturn cljs.spec.alpha.explain_pred_list(forms__$1,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1__$1));\n} else {\nvar G__19973 \x3d new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1);\nvar G__19974 \x3d p1;\nvar G__19975 \x3d path;\nvar G__19976 \x3d via__$1;\nvar G__19977 \x3d in$;\nvar G__19978 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__19973,G__19974,G__19975,G__19976,G__19977,G__19978) : cljs.spec.alpha.op_explain.call(null,G__19973,G__19974,G__19975,G__19976,G__19977,G__19978));\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__19972)){\nvar pkfs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\nvar vec__19979 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(pkfs)))?cljs.core.first(pkfs):cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__19984){\nvar vec__19986 \x3d p__19984;\nvar p__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19986,(0),null);\nreturn cljs.spec.alpha.accept_nil_QMARK_(p__$2);\n}),pkfs)));\nvar pred \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19979,(0),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19979,(1),null);\nvar form__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__19979,(2),null);\nvar path__$1 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar form__$2 \x3d (function (){var or__5045__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nif(((cljs.core.empty_QMARK_(input__$1)) \x26\x26 (cljs.core.not(pred)))){\nreturn insufficient(path__$1,form__$2);\n} else {\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(form__$2,pred,path__$1,via__$1,in$,input__$1) : cljs.spec.alpha.op_explain.call(null,form__$2,pred,path__$1,via__$1,in$,input__$1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__19972)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,cljs.spec.alpha.op_describe(p__$1));\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form__$1,pred){\nvar G__19989 \x3d (function (){var or__5045__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nvar G__19990 \x3d pred;\nvar G__19991 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__19992 \x3d via__$1;\nvar G__19993 \x3d in$;\nvar G__19994 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__19989,G__19990,G__19991,G__19992,G__19993,G__19994) : cljs.spec.alpha.op_explain.call(null,G__19989,G__19990,G__19991,G__19992,G__19993,G__19994));\n}),(function (){var or__5045__auto__ \x3d cljs.core.seq(ks);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),ps));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__19972)){\nvar G__19995 \x3d (((p1 \x3d\x3d\x3d p2))?forms__$1:cljs.spec.alpha.op_describe(p1));\nvar G__19996 \x3d p1;\nvar G__19997 \x3d path;\nvar G__19998 \x3d via__$1;\nvar G__19999 \x3d in$;\nvar G__20000 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__19995,G__19996,G__19997,G__19998,G__19999,G__20000) : cljs.spec.alpha.op_explain.call(null,G__19995,G__19996,G__19997,G__19998,G__19999,G__20000));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__19972)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.re_gen \x3d (function cljs$spec$alpha$re_gen(p,overrides,path,rmap,f){\nvar origp \x3d p;\nvar map__20042 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__20042__$1 \x3d cljs.core.__destructure_map(map__20042);\nvar p__$1 \x3d map__20042__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20042__$1,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092));\nvar rmap__$1 \x3d (cljs.core.truth_(id)?cljs.spec.alpha.inck(rmap,id):rmap);\nvar ggens \x3d (function (ps__$1,ks__$1,forms__$2){\nvar gen \x3d (function (p__$2,k,f__$1){\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d rmap__$1;\nif(cljs.core.truth_(and__5043__auto__)){\nvar and__5043__auto____$1 \x3d id;\nif(cljs.core.truth_(and__5043__auto____$1)){\nvar and__5043__auto____$2 \x3d k;\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,path,k);\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\nreturn null;\n} else {\nif(cljs.core.truth_(id)){\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nvar G__20052 \x3d p__$2;\nvar G__20053 \x3d overrides;\nvar G__20054 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__20055 \x3d rmap__$1;\nvar G__20056 \x3d (function (){var or__5045__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__20052,G__20053,G__20054,G__20055,G__20056) : cljs.spec.alpha.re_gen.call(null,G__20052,G__20053,G__20054,G__20055,G__20056));\n}),null)));\n} else {\nvar G__20057 \x3d p__$2;\nvar G__20058 \x3d overrides;\nvar G__20059 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__20060 \x3d rmap__$1;\nvar G__20061 \x3d (function (){var or__5045__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__20057,G__20058,G__20059,G__20060,G__20061) : cljs.spec.alpha.re_gen.call(null,G__20057,G__20058,G__20059,G__20060,G__20061));\n}\n}\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,ps__$1,(function (){var or__5045__auto__ \x3d cljs.core.seq(ks__$1);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5045__auto__ \x3d cljs.core.seq(forms__$2);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\n});\nvar or__5045__auto__ \x3d (function (){var temp__5804__auto__ \x3d (function (){var or__5045__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(origp));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(p__$1));\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n}\n})();\nif(cljs.core.truth_(temp__5804__auto__)){\nvar gfn__$1 \x3d temp__5804__auto__;\nvar G__20062 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22accept\x22,\x22accept\x22,1874130431),G__20062)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20062)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nreturn (gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null));\n\n}\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar or__5045__auto____$1 \x3d (cljs.core.truth_(gfn)?(gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null)):null);\nif(cljs.core.truth_(or__5045__auto____$1)){\nreturn or__5045__auto____$1;\n} else {\nif(cljs.core.truth_(p__$1)){\nvar G__20063 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__20063)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null)], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__20063)){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.gensub(p__$1,overrides,path,rmap__$1,f);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar g \x3d temp__5804__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,g], 0));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__20063)){\nvar G__20064 \x3d p1;\nvar G__20065 \x3d overrides;\nvar G__20066 \x3d path;\nvar G__20067 \x3d rmap__$1;\nvar G__20068 \x3d cljs.spec.alpha.op_describe(p1);\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__20064,G__20065,G__20066,G__20067,G__20068) : cljs.spec.alpha.re_gen.call(null,G__20064,G__20065,G__20066,G__20067,G__20068));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__20063)){\nvar gens \x3d ggens(ps,ks,forms__$1);\nif(cljs.core.every_QMARK_(cljs.core.identity,gens)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.cat,gens);\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__20063)){\nvar gens \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,ggens(ps,ks,forms__$1));\nif(cljs.core.empty_QMARK_(gens)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gens], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__20063)){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [id], null),id)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nvar temp__5804__auto__ \x3d (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(p2,overrides,path,rmap__$1,forms__$1) : cljs.spec.alpha.re_gen.call(null,p2,overrides,path,rmap__$1,forms__$1));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar g \x3d temp__5804__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__20006_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__20006_SHARP_);\n}),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([g], 0))], 0));\n} else {\nreturn null;\n}\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20063)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.re_conform \x3d (function cljs$spec$alpha$re_conform(p,p__20072){\nwhile(true){\nvar vec__20073 \x3d p__20072;\nvar seq__20074 \x3d cljs.core.seq(vec__20073);\nvar first__20075 \x3d cljs.core.first(seq__20074);\nvar seq__20074__$1 \x3d cljs.core.next(seq__20074);\nvar x \x3d first__20075;\nvar xs \x3d seq__20074__$1;\nvar data \x3d vec__20073;\nif(cljs.core.empty_QMARK_(data)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p))){\nvar ret \x3d cljs.spec.alpha.preturn(p);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn null;\n} else {\nreturn ret;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p,x);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dp \x3d temp__5802__auto__;\nvar G__20754 \x3d dp;\nvar G__20755 \x3d xs;\np \x3d G__20754;\np__20072 \x3d G__20755;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n});\ncljs.spec.alpha.re_explain \x3d (function cljs$spec$alpha$re_explain(path,via,in$,re,input){\nvar p \x3d re;\nvar G__20079 \x3d input;\nvar vec__20080 \x3d G__20079;\nvar seq__20081 \x3d cljs.core.seq(vec__20080);\nvar first__20082 \x3d cljs.core.first(seq__20081);\nvar seq__20081__$1 \x3d cljs.core.next(seq__20081);\nvar x \x3d first__20082;\nvar xs \x3d seq__20081__$1;\nvar data \x3d vec__20080;\nvar i \x3d (0);\nvar p__$1 \x3d p;\nvar G__20079__$1 \x3d G__20079;\nvar i__$1 \x3d i;\nwhile(true){\nvar p__$2 \x3d p__$1;\nvar vec__20083 \x3d G__20079__$1;\nvar seq__20084 \x3d cljs.core.seq(vec__20083);\nvar first__20085 \x3d cljs.core.first(seq__20084);\nvar seq__20084__$1 \x3d cljs.core.next(seq__20084);\nvar x__$1 \x3d first__20085;\nvar xs__$1 \x3d seq__20084__$1;\nvar data__$1 \x3d vec__20083;\nvar i__$2 \x3d i__$1;\nif(cljs.core.empty_QMARK_(data__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p__$2))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,in$,null);\n}\n} else {\nvar temp__5802__auto__ \x3d cljs.spec.alpha.deriv(p__$2,x__$1);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar dp \x3d temp__5802__auto__;\nvar G__20756 \x3d dp;\nvar G__20757 \x3d xs__$1;\nvar G__20758 \x3d (i__$2 + (1));\np__$1 \x3d G__20756;\nG__20079__$1 \x3d G__20757;\ni__$1 \x3d G__20758;\ncontinue;\n} else {\nif(cljs.spec.alpha.accept_QMARK_(p__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p__$2),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623))){\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(re),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n} else {\nvar or__5045__auto__ \x3d cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(p__$2),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n}\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha20086 \x3d (function (re,gfn,meta20087){\nthis.re \x3d re;\nthis.gfn \x3d gfn;\nthis.meta20087 \x3d meta20087;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20088,meta20087__$1){\nvar self__ \x3d this;\nvar _20088__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20086(self__.re,self__.gfn,meta20087__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20088){\nvar self__ \x3d this;\nvar _20088__$1 \x3d this;\nreturn self__.meta20087;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_conform(self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_unform(self__.re,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_explain(path,via,in$,self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22or\x22,\x22cljs.core/or\x22,1201033885,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22sequential?\x22,\x22cljs.core/sequential?\x22,1777854658,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.re_gen(self__.re,overrides,path,rmap,cljs.spec.alpha.op_describe(self__.re));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2(self__.re,gfn__$1) : cljs.spec.alpha.regex_spec_impl.call(null,self__.re,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_describe(self__.re);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22re\x22,\x22re\x22,1869207729,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta20087\x22,\x22meta20087\x22,-211562722,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha20086\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20086.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha20086\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha20086.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha20086 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha20086(re,gfn,meta20087){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20086(re,gfn,meta20087));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27 with a regex op argument\n */\ncljs.spec.alpha.regex_spec_impl \x3d (function cljs$spec$alpha$regex_spec_impl(re,gfn){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20086(re,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.call_valid_QMARK_ \x3d (function cljs$spec$alpha$call_valid_QMARK_(f,specs,args){\nvar cargs \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs),args);\nif(cljs.spec.alpha.invalid_QMARK_(cargs)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\nvar cret \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(specs),ret);\nvar and__5043__auto__ \x3d (!(cljs.spec.alpha.invalid_QMARK_(cret)));\nif(and__5043__auto__){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs))){\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn true;\n}\n} else {\nreturn and__5043__auto__;\n}\n}\n});\n/**\n * returns f if valid, else smallest\n */\ncljs.spec.alpha.validate_fn \x3d (function cljs$spec$alpha$validate_fn(f,specs,iters){\nvar g \x3d cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs));\nvar prop \x3d cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [g], null),(function (p1__20098_SHARP_){\nreturn cljs.spec.alpha.call_valid_QMARK_(f,specs,p1__20098_SHARP_);\n})], 0));\nvar ret \x3d cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([iters,prop], 0));\nvar temp__5802__auto__ \x3d new cljs.core.Keyword(null,\x22smallest\x22,\x22smallest\x22,-152623883).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22shrunk\x22,\x22shrunk\x22,-2041664412).cljs$core$IFn$_invoke$arity$1(ret));\nif(cljs.core.truth_(temp__5802__auto__)){\nvar vec__20105 \x3d temp__5802__auto__;\nvar smallest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20105,(0),null);\nreturn smallest;\n} else {\nreturn f;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha20108 \x3d (function (argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta20109){\nthis.argspec \x3d argspec;\nthis.aform \x3d aform;\nthis.retspec \x3d retspec;\nthis.rform \x3d rform;\nthis.fnspec \x3d fnspec;\nthis.fform \x3d fform;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.meta20109 \x3d meta20109;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393472;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20110,meta20109__$1){\nvar self__ \x3d this;\nvar _20110__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20108(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,self__.gfn,self__.specs,meta20109__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20110){\nvar self__ \x3d this;\nvar _20110__$1 \x3d this;\nreturn self__.meta20109;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.specs,k);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (_,k,not_found){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.specs,k,not_found);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nif((f \x3d\x3d\x3d cljs.spec.alpha.validate_fn(f,self__.specs,cljs.spec.alpha._STAR_fspec_iterations_STAR_))){\nreturn f;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn f;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nvar args \x3d cljs.spec.alpha.validate_fn(f,self__.specs,(100));\nif((f \x3d\x3d\x3d args)){\nreturn null;\n} else {\nvar ret \x3d (function (){try{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}catch (e20119){if((e20119 instanceof Error)){\nvar t \x3d e20119;\nreturn t;\n} else {\nthrow e20119;\n\n}\n}})();\nif((ret instanceof Error)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.list(new cljs.core.Symbol(null,\x22apply\x22,\x22apply\x22,-1334050276,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),args,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),ret.message,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar cret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(self__.retspec,ret,self__.rform);\nif(cljs.spec.alpha.invalid_QMARK_(cret)){\nreturn cljs.spec.alpha.explain_1(self__.rform,self__.retspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814)),via,in$,ret);\n} else {\nif(cljs.core.truth_(self__.fnspec)){\nvar cargs \x3d cljs.spec.alpha.conform(self__.argspec,args);\nreturn cljs.spec.alpha.explain_1(self__.fform,self__.fnspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)),via,in$,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn null;\n}\n}\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22ifn?\x22,\x22ifn?\x22,-2106461064,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),f,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,___$1,___$2){\nvar self__ \x3d this;\nvar ___$3 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function() { \nvar G__20776__delegate \x3d function (args){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(self__.argspec,args)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__20133_20777 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__20134_20778 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__20135_20779 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__20136_20780 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__20135_20779);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__20136_20780);\n\ntry{cljs.spec.alpha.explain(self__.argspec,args);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__20134_20778);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__20133_20777);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})(),\x22\\n\x22,\x22(pvalid? argspec args)\x22].join(\x27\x27)));\n}\n\nreturn cljs.spec.gen.alpha.generate(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(self__.retspec,overrides));\n};\nvar G__20776 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__20781__i \x3d 0, G__20781__a \x3d new Array(arguments.length - 0);\nwhile (G__20781__i \x3c G__20781__a.length) {G__20781__a[G__20781__i] \x3d arguments[G__20781__i + 0]; ++G__20781__i;}\n args \x3d new cljs.core.IndexedSeq(G__20781__a,0,null);\n} \nreturn G__20776__delegate.call(this,args);};\nG__20776.cljs$lang$maxFixedArity \x3d 0;\nG__20776.cljs$lang$applyTo \x3d (function (arglist__20782){\nvar args \x3d cljs.core.seq(arglist__20782);\nreturn G__20776__delegate(args);\n});\nG__20776.cljs$core$IFn$_invoke$arity$variadic \x3d G__20776__delegate;\nreturn G__20776;\n})()\n], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7 ? cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1) : cljs.spec.alpha.fspec_impl.call(null,self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22fspec\x22,\x22cljs.spec.alpha/fspec\x22,-1289128341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.aform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),null,(1),null)),(new cljs.core.List(null,self__.rform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),null,(1),null)),(new cljs.core.List(null,self__.fform,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22argspec\x22,\x22argspec\x22,-1207762746,null),new cljs.core.Symbol(null,\x22aform\x22,\x22aform\x22,531303525,null),new cljs.core.Symbol(null,\x22retspec\x22,\x22retspec\x22,-920025354,null),new cljs.core.Symbol(null,\x22rform\x22,\x22rform\x22,-1420499912,null),new cljs.core.Symbol(null,\x22fnspec\x22,\x22fnspec\x22,-1865712406,null),new cljs.core.Symbol(null,\x22fform\x22,\x22fform\x22,-176049972,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22meta20109\x22,\x22meta20109\x22,-809886973,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha20108\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20108.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha20108\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha20108.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha20108 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha20108(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta20109){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20108(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta20109));\n});\n\n\n/**\n * Do not call this directly, use \x27fspec\x27\n */\ncljs.spec.alpha.fspec_impl \x3d (function cljs$spec$alpha$fspec_impl(argspec,aform,retspec,rform,fnspec,fform,gfn){\nvar specs \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),argspec,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),retspec,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),fnspec], null);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20108(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.def_impl(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kvs-\x3emap\x22,\x22cljs.spec.alpha/kvs-\x3emap\x22,579713455),cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__20137#\x22,\x22p1__20137#\x22,-829094618,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22p1__20137#\x22,\x22p1__20137#\x22,-829094618,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22p1__20137#\x22,\x22p1__20137#\x22,-829094618,null)))),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__20138#\x22,\x22p1__20138#\x22,266661185,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22p1__20138#\x22,\x22p1__20138#\x22,266661185,null)))),cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),(function (p1__20137_SHARP_){\nreturn cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),p1__20137_SHARP_),cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),p1__20137_SHARP_));\n}),null,true,(function (p1__20138_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__20168){\nvar vec__20169 \x3d p__20168;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20169,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20169,(1),null);\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),k,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),v], null);\n}),p1__20138_SHARP_);\n})));\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha20175 \x3d (function (spec,meta20176){\nthis.spec \x3d spec;\nthis.meta20176 \x3d meta20176;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20177,meta20176__$1){\nvar self__ \x3d this;\nvar _20177__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20175(self__.spec,meta20176__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20177){\nvar self__ \x3d this;\nvar _20177__$1 \x3d this;\nreturn self__.meta20176;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_STAR_(cljs.core.deref(self__.spec),path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.gen_STAR_(cljs.core.deref(self__.spec),overrides,path,rmap);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__20188 \x3d cljs.spec.alpha.with_gen_STAR_(cljs.core.deref(self__.spec),gfn);\nreturn (cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1(G__20188) : cljs.spec.alpha.nonconforming.call(null,G__20188));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nonconforming\x22,\x22cljs.spec.alpha/nonconforming\x22,-1009218508,null),null,(1),null)),(new cljs.core.List(null,cljs.spec.alpha.describe_STAR_(cljs.core.deref(self__.spec)),null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta20176\x22,\x22meta20176\x22,943248911,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha20175\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20175.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha20175\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha20175.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha20175 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha20175(spec,meta20176){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20175(spec,meta20176));\n});\n\n\n/**\n * takes a spec and returns a spec that has the same properties except\n * \x27conform\x27 returns the original (not the conformed) value. Note, will specize regex ops.\n */\ncljs.spec.alpha.nonconforming \x3d (function cljs$spec$alpha$nonconforming(spec){\nvar spec__$1 \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\n}),null));\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20175(spec__$1,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha20199 \x3d (function (form,pred,gfn,spec,meta20200){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.spec \x3d spec;\nthis.meta20200 \x3d meta20200;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_20201,meta20200__$1){\nvar self__ \x3d this;\nvar _20201__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20199(self__.form,self__.pred,self__.gfn,self__.spec,meta20200__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_20201){\nvar self__ \x3d this;\nvar _20201__$1 \x3d this;\nreturn self__.meta20200;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.spec),x)) || ((x \x3d\x3d null)))){\nreturn null;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.explain_1(self__.form,self__.pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),via,in$,x),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)),new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22nil?\x22,\x22nil?\x22,1612038930,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0));\n}),null)))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(9),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(self__.pred,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),rmap,self__.form);\n}),null)))], null)], null)], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3(self__.form,self__.pred,gfn__$1) : cljs.spec.alpha.nilable_impl.call(null,self__.form,self__.pred,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nilable\x22,\x22cljs.spec.alpha/nilable\x22,1628308748,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta20200\x22,\x22meta20200\x22,758462693,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha20199\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha20199.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha20199\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha20199.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha20199 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha20199(form,pred,gfn,spec,meta20200){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20199(form,pred,gfn,spec,meta20200));\n});\n\n\n/**\n * Do not call this directly, use \x27nilable\x27\n */\ncljs.spec.alpha.nilable_impl \x3d (function cljs$spec$alpha$nilable_impl(form,pred,gfn){\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(pred,form);\n}),null));\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha20199(form,pred,gfn,spec,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * generates a number (default 10) of values compatible with spec and maps conform over them,\n * returning a sequence of [val conformed-val] tuples. Optionally takes\n * a generator overrides map as per gen\n */\ncljs.spec.alpha.exercise \x3d (function cljs$spec$alpha$exercise(var_args){\nvar G__20224 \x3d arguments.length;\nswitch (G__20224) {\ncase 1:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2(spec,(10));\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,n){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3(spec,n,null);\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,n,overrides){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20219_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__20219_SHARP_,cljs.spec.alpha.conform(spec,p1__20219_SHARP_)],null));\n}),cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,overrides),n], 0)));\n}));\n\n(cljs.spec.alpha.exercise.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return true if inst at or after start and before end\n */\ncljs.spec.alpha.inst_in_range_QMARK_ \x3d (function cljs$spec$alpha$inst_in_range_QMARK_(start,end,inst){\nvar and__5043__auto__ \x3d cljs.core.inst_QMARK_(inst);\nif(and__5043__auto__){\nvar t \x3d cljs.core.inst_ms(inst);\nreturn (((cljs.core.inst_ms(start) \x3c\x3d t)) \x26\x26 ((t \x3c cljs.core.inst_ms(end))));\n} else {\nreturn and__5043__auto__;\n}\n});\n/**\n * Return true if start \x3c\x3d val, val \x3c end and val is a fixed\n * precision integer.\n */\ncljs.spec.alpha.int_in_range_QMARK_ \x3d (function cljs$spec$alpha$int_in_range_QMARK_(start,end,val){\nif(cljs.core.integer_QMARK_(val)){\nreturn (((start \x3c\x3d val)) \x26\x26 ((val \x3c end)));\n} else {\nif((val instanceof cljs.spec.alpha.goog$module$goog$math$Long)){\nvar and__5043__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5043__auto__;\n}\n} else {\nif((val instanceof goog.math.Integer)){\nvar and__5043__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5043__auto__;\n}\n} else {\nreturn false;\n\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_compile_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * If true, compiler will enable spec asserts, which are then\n * subject to runtime control via check-asserts? If false, compiler\n * will eliminate all spec assert overhead. See \x27assert\x27.\n * Initially set to the negation of the \x27:elide-asserts\x27 compiler option.\n * Defaults to true.\n */\ncljs.spec.alpha._STAR_compile_asserts_STAR_ \x3d true;\n}\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_runtime_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d false;\n}\n/**\n * Returns the value set by check-asserts.\n */\ncljs.spec.alpha.check_asserts_QMARK_ \x3d (function cljs$spec$alpha$check_asserts_QMARK_(){\nreturn cljs.spec.alpha._STAR_runtime_asserts_STAR_;\n});\n/**\n * Enable or disable spec asserts that have been compiled\n * with \x27*compile-asserts*\x27 true. See \x27assert\x27.\n * Initially set to boolean value of cljs.spec.alpha/*runtime-asserts*.\n * Defaults to false.\n */\ncljs.spec.alpha.check_asserts \x3d (function cljs$spec$alpha$check_asserts(flag){\nreturn (cljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d flag);\n});\n/**\n * Do not call this directly, use \x27assert\x27.\n */\ncljs.spec.alpha.assert_STAR_ \x3d (function cljs$spec$alpha$assert_STAR_(spec,x){\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec,x)){\nreturn x;\n} else {\nvar ed \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,x),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22failure\x22,\x22cljs.spec.alpha/failure\x22,188258592),new cljs.core.Keyword(null,\x22assertion-failed\x22,\x22assertion-failed\x22,-970534477))], 0));\nthrow (new Error([\x22Spec assertion failed\\n\x22,(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__20256_20803 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__20257_20804 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__20258_20805 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__20259_20806 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__20258_20805);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__20259_20806);\n\ntry{cljs.spec.alpha.explain_out(ed);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__20257_20804);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__20256_20803);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})()].join(\x27\x27)));\n}\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.writer.js", true , "goog.provide(\x27shadow.remote.runtime.writer\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\nshadow.remote.runtime.writer.LimitWriter \x3d (function (sb,limit){\nthis.sb \x3d sb;\nthis.limit \x3d limit;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.remote.runtime.writer.LimitWriter.prototype.getString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.sb.toString();\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nself__.sb.append(s);\n\nif((self__.sb.getLength() \x3e\x3d self__.limit)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22The limit of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.limit),\x22 bytes was reached while printing.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),self__.limit], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22StringBuffer\x22,\x22StringBuffer\x22,864531538,null)], null)),new cljs.core.Symbol(null,\x22limit\x22,\x22limit\x22,284709164,null)], null);\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorStr \x3d \x22shadow.remote.runtime.writer/LimitWriter\x22);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorPrWriter \x3d (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){\nreturn cljs.core._write(writer__5331__auto__,\x22shadow.remote.runtime.writer/LimitWriter\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.writer/LimitWriter.\n */\nshadow.remote.runtime.writer.__GT_LimitWriter \x3d (function shadow$remote$runtime$writer$__GT_LimitWriter(sb,limit){\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\n\nshadow.remote.runtime.writer.pr_str_limit \x3d (function shadow$remote$runtime$writer$pr_str_limit(obj,limit){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\ntry{cljs.core.pr_writer(obj,writer,cljs.core.pr_opts());\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [false,sb.toString()], null);\n}catch (e18999){var e \x3d e18999;\nif((!(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(e)))))){\nthrow e;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,(function (){var s \x3d sb.toString();\nif((s.length \x3e limit)){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),limit);\n} else {\nreturn s;\n}\n})()], null);\n}\n}});\nshadow.remote.runtime.writer.limit_writer \x3d (function shadow$remote$runtime$writer$limit_writer(limit){\nvar sb \x3d (new goog.string.StringBuffer());\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\nshadow.remote.runtime.writer.get_string \x3d (function shadow$remote$runtime$writer$get_string(lw){\nreturn lw.getString();\n});\n"); SHADOW_ENV.evalLoad("goog.string.stringformat.js", true , "goog.provide(\x22goog.string.format\x22);\ngoog.require(\x22goog.string\x22);\ngoog.string.format \x3d function(formatString, var_args) {\n const args \x3d Array.prototype.slice.call(arguments);\n const template \x3d args.shift();\n if (typeof template \x3d\x3d \x22undefined\x22) {\n throw new Error(\x22[goog.string.format] Template required\x22);\n }\n const formatRe \x3d /%([0\\- \\+]*)(\\d+)?(\\.(\\d+))?([%sfdiu])/g;\n function replacerDemuxer(match, flags, width, dotp, precision, type, offset, wholeString) {\n if (type \x3d\x3d \x22%\x22) {\n return \x22%\x22;\n }\n const value \x3d args.shift();\n if (typeof value \x3d\x3d \x22undefined\x22) {\n throw new Error(\x22[goog.string.format] Not enough arguments\x22);\n }\n arguments[0] \x3d value;\n return goog.string.format.demuxes_[type].apply(null, arguments);\n }\n return template.replace(formatRe, replacerDemuxer);\n};\ngoog.string.format.demuxes_ \x3d {};\ngoog.string.format.demuxes_[\x22s\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n let replacement \x3d value;\n if (isNaN(width) || width \x3d\x3d \x22\x22 || replacement.length \x3e\x3d Number(width)) {\n return replacement;\n }\n if (flags.indexOf(\x22-\x22, 0) \x3e -1) {\n replacement \x3d replacement + goog.string.repeat(\x22 \x22, Number(width) - replacement.length);\n } else {\n replacement \x3d goog.string.repeat(\x22 \x22, Number(width) - replacement.length) + replacement;\n }\n return replacement;\n};\ngoog.string.format.demuxes_[\x22f\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n let replacement \x3d value.toString();\n if (!(isNaN(precision) || precision \x3d\x3d \x22\x22)) {\n replacement \x3d parseFloat(value).toFixed(precision);\n }\n let sign;\n if (Number(value) \x3c 0) {\n sign \x3d \x22-\x22;\n } else if (flags.indexOf(\x22+\x22) \x3e\x3d 0) {\n sign \x3d \x22+\x22;\n } else if (flags.indexOf(\x22 \x22) \x3e\x3d 0) {\n sign \x3d \x22 \x22;\n } else {\n sign \x3d \x22\x22;\n }\n if (Number(value) \x3e\x3d 0) {\n replacement \x3d sign + replacement;\n }\n if (isNaN(width) || replacement.length \x3e\x3d Number(width)) {\n return replacement;\n }\n replacement \x3d isNaN(precision) ? Math.abs(Number(value)).toString() : Math.abs(Number(value)).toFixed(precision);\n const padCount \x3d Number(width) - replacement.length - sign.length;\n if (flags.indexOf(\x22-\x22, 0) \x3e\x3d 0) {\n replacement \x3d sign + replacement + goog.string.repeat(\x22 \x22, padCount);\n } else {\n const paddingChar \x3d flags.indexOf(\x220\x22, 0) \x3e\x3d 0 ? \x220\x22 : \x22 \x22;\n replacement \x3d sign + goog.string.repeat(paddingChar, padCount) + replacement;\n }\n return replacement;\n};\ngoog.string.format.demuxes_[\x22d\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n return goog.string.format.demuxes_[\x22f\x22](parseInt(value, 10), flags, width, dotp, 0, type, offset, wholeString);\n};\ngoog.string.format.demuxes_[\x22i\x22] \x3d goog.string.format.demuxes_[\x22d\x22];\ngoog.string.format.demuxes_[\x22u\x22] \x3d goog.string.format.demuxes_[\x22d\x22];\n"); -SHADOW_ENV.evalLoad("cljs.repl.js", true , "goog.provide(\x27cljs.repl\x27);\ncljs.repl.print_doc \x3d (function cljs$repl$print_doc(p__23713){\nvar map__23714 \x3d p__23713;\nvar map__23714__$1 \x3d cljs.core.__destructure_map(map__23714);\nvar m \x3d map__23714__$1;\nvar n \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23714__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar nm \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23714__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22-------------------------\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn [(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27);\n}\n})()], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Protocol\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__23715_24010 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__23716_24011 \x3d null;\nvar count__23717_24012 \x3d (0);\nvar i__23718_24013 \x3d (0);\nwhile(true){\nif((i__23718_24013 \x3c count__23717_24012)){\nvar f_24014 \x3d chunk__23716_24011.cljs$core$IIndexed$_nth$arity$2(null,i__23718_24013);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,f_24014], 0));\n\n\nvar G__24015 \x3d seq__23715_24010;\nvar G__24016 \x3d chunk__23716_24011;\nvar G__24017 \x3d count__23717_24012;\nvar G__24018 \x3d (i__23718_24013 + (1));\nseq__23715_24010 \x3d G__24015;\nchunk__23716_24011 \x3d G__24016;\ncount__23717_24012 \x3d G__24017;\ni__23718_24013 \x3d G__24018;\ncontinue;\n} else {\nvar temp__5804__auto___24019 \x3d cljs.core.seq(seq__23715_24010);\nif(temp__5804__auto___24019){\nvar seq__23715_24020__$1 \x3d temp__5804__auto___24019;\nif(cljs.core.chunked_seq_QMARK_(seq__23715_24020__$1)){\nvar c__5568__auto___24025 \x3d cljs.core.chunk_first(seq__23715_24020__$1);\nvar G__24026 \x3d cljs.core.chunk_rest(seq__23715_24020__$1);\nvar G__24027 \x3d c__5568__auto___24025;\nvar G__24028 \x3d cljs.core.count(c__5568__auto___24025);\nvar G__24029 \x3d (0);\nseq__23715_24010 \x3d G__24026;\nchunk__23716_24011 \x3d G__24027;\ncount__23717_24012 \x3d G__24028;\ni__23718_24013 \x3d G__24029;\ncontinue;\n} else {\nvar f_24030 \x3d cljs.core.first(seq__23715_24020__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,f_24030], 0));\n\n\nvar G__24031 \x3d cljs.core.next(seq__23715_24020__$1);\nvar G__24032 \x3d null;\nvar G__24033 \x3d (0);\nvar G__24034 \x3d (0);\nseq__23715_24010 \x3d G__24031;\nchunk__23716_24011 \x3d G__24032;\ncount__23717_24012 \x3d G__24033;\ni__23718_24013 \x3d G__24034;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m))){\nvar arglists_24036 \x3d new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m);\n}\n})())){\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arglists_24036], 0));\n} else {\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),cljs.core.first(arglists_24036)))?cljs.core.second(arglists_24036):arglists_24036)], 0));\n}\n} else {\n}\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22special-form\x22,\x22special-form\x22,-1326536374).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Special Form\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.contains_QMARK_(m,new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n Please see http://clojure.org/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n Please see http://clojure.org/special_forms#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Macro\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22REPL Special Function\x22], 0));\n} else {\n}\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__23727_24045 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__23728_24046 \x3d null;\nvar count__23729_24047 \x3d (0);\nvar i__23730_24048 \x3d (0);\nwhile(true){\nif((i__23730_24048 \x3c count__23729_24047)){\nvar vec__23744_24049 \x3d chunk__23728_24046.cljs$core$IIndexed$_nth$arity$2(null,i__23730_24048);\nvar name_24050 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23744_24049,(0),null);\nvar map__23747_24051 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23744_24049,(1),null);\nvar map__23747_24052__$1 \x3d cljs.core.__destructure_map(map__23747_24051);\nvar doc_24053 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23747_24052__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_24054 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23747_24052__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_24050], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_24054], 0));\n\nif(cljs.core.truth_(doc_24053)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_24053], 0));\n} else {\n}\n\n\nvar G__24055 \x3d seq__23727_24045;\nvar G__24056 \x3d chunk__23728_24046;\nvar G__24057 \x3d count__23729_24047;\nvar G__24058 \x3d (i__23730_24048 + (1));\nseq__23727_24045 \x3d G__24055;\nchunk__23728_24046 \x3d G__24056;\ncount__23729_24047 \x3d G__24057;\ni__23730_24048 \x3d G__24058;\ncontinue;\n} else {\nvar temp__5804__auto___24059 \x3d cljs.core.seq(seq__23727_24045);\nif(temp__5804__auto___24059){\nvar seq__23727_24060__$1 \x3d temp__5804__auto___24059;\nif(cljs.core.chunked_seq_QMARK_(seq__23727_24060__$1)){\nvar c__5568__auto___24061 \x3d cljs.core.chunk_first(seq__23727_24060__$1);\nvar G__24062 \x3d cljs.core.chunk_rest(seq__23727_24060__$1);\nvar G__24063 \x3d c__5568__auto___24061;\nvar G__24064 \x3d cljs.core.count(c__5568__auto___24061);\nvar G__24065 \x3d (0);\nseq__23727_24045 \x3d G__24062;\nchunk__23728_24046 \x3d G__24063;\ncount__23729_24047 \x3d G__24064;\ni__23730_24048 \x3d G__24065;\ncontinue;\n} else {\nvar vec__23750_24066 \x3d cljs.core.first(seq__23727_24060__$1);\nvar name_24067 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23750_24066,(0),null);\nvar map__23753_24068 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23750_24066,(1),null);\nvar map__23753_24069__$1 \x3d cljs.core.__destructure_map(map__23753_24068);\nvar doc_24070 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23753_24069__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_24071 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23753_24069__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_24067], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_24071], 0));\n\nif(cljs.core.truth_(doc_24070)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_24070], 0));\n} else {\n}\n\n\nvar G__24072 \x3d cljs.core.next(seq__23727_24060__$1);\nvar G__24073 \x3d null;\nvar G__24074 \x3d (0);\nvar G__24075 \x3d (0);\nseq__23727_24045 \x3d G__24072;\nchunk__23728_24046 \x3d G__24073;\ncount__23729_24047 \x3d G__24074;\ni__23730_24048 \x3d G__24075;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif(cljs.core.truth_(n)){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.get_spec(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(n)),cljs.core.name(nm)));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar fnspec \x3d temp__5804__auto__;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n\nvar seq__23765 \x3d cljs.core.seq(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)], null));\nvar chunk__23766 \x3d null;\nvar count__23767 \x3d (0);\nvar i__23768 \x3d (0);\nwhile(true){\nif((i__23768 \x3c count__23767)){\nvar role \x3d chunk__23766.cljs$core$IIndexed$_nth$arity$2(null,i__23768);\nvar temp__5804__auto___24076__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5804__auto___24076__$1)){\nvar spec_24077 \x3d temp__5804__auto___24076__$1;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_24077)], 0));\n} else {\n}\n\n\nvar G__24078 \x3d seq__23765;\nvar G__24079 \x3d chunk__23766;\nvar G__24080 \x3d count__23767;\nvar G__24081 \x3d (i__23768 + (1));\nseq__23765 \x3d G__24078;\nchunk__23766 \x3d G__24079;\ncount__23767 \x3d G__24080;\ni__23768 \x3d G__24081;\ncontinue;\n} else {\nvar temp__5804__auto____$1 \x3d cljs.core.seq(seq__23765);\nif(temp__5804__auto____$1){\nvar seq__23765__$1 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__23765__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__23765__$1);\nvar G__24082 \x3d cljs.core.chunk_rest(seq__23765__$1);\nvar G__24083 \x3d c__5568__auto__;\nvar G__24084 \x3d cljs.core.count(c__5568__auto__);\nvar G__24085 \x3d (0);\nseq__23765 \x3d G__24082;\nchunk__23766 \x3d G__24083;\ncount__23767 \x3d G__24084;\ni__23768 \x3d G__24085;\ncontinue;\n} else {\nvar role \x3d cljs.core.first(seq__23765__$1);\nvar temp__5804__auto___24086__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5804__auto___24086__$2)){\nvar spec_24087 \x3d temp__5804__auto___24086__$2;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_24087)], 0));\n} else {\n}\n\n\nvar G__24088 \x3d cljs.core.next(seq__23765__$1);\nvar G__24089 \x3d null;\nvar G__24090 \x3d (0);\nvar G__24091 \x3d (0);\nseq__23765 \x3d G__24088;\nchunk__23766 \x3d G__24089;\ncount__23767 \x3d G__24090;\ni__23768 \x3d G__24091;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Constructs a data representation for a Error with keys:\n * :cause - root cause message\n * :phase - error phase\n * :via - cause chain, with cause keys:\n * :type - exception class symbol\n * :message - exception message\n * :data - ex-data\n * :at - top stack element\n * :trace - root cause stack elements\n */\ncljs.repl.Error__GT_map \x3d (function cljs$repl$Error__GT_map(o){\nvar base \x3d (function (t){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),(((t instanceof cljs.core.ExceptionInfo))?new cljs.core.Symbol(\x22cljs.core\x22,\x22ExceptionInfo\x22,\x22cljs.core/ExceptionInfo\x22,701839050,null):(((t instanceof Error))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22js\x22,t.name):null\n))], null),(function (){var temp__5804__auto__ \x3d cljs.core.ex_message(t);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar msg \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.ex_data(t);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ed \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),ed], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\nvar via \x3d (function (){var via \x3d cljs.core.PersistentVector.EMPTY;\nvar t \x3d o;\nwhile(true){\nif(cljs.core.truth_(t)){\nvar G__24092 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,t);\nvar G__24093 \x3d cljs.core.ex_cause(t);\nvia \x3d G__24092;\nt \x3d G__24093;\ncontinue;\n} else {\nreturn via;\n}\nbreak;\n}\n})();\nvar root \x3d cljs.core.peek(via);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(base,via)),new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415),null], null),(function (){var temp__5804__auto__ \x3d cljs.core.ex_message(root);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar root_msg \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),root_msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.ex_data(root);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar data \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(o));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar phase \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),phase], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\n/**\n * Returns an analysis of the phase, error, cause, and location of an error that occurred\n * based on Throwable data, as returned by Throwable-\x3emap. All attributes other than phase\n * are optional:\n * :clojure.error/phase - keyword phase indicator, one of:\n * :read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion\n * :execution :read-eval-result :print-eval-result\n * :clojure.error/source - file name (no path)\n * :clojure.error/line - integer line number\n * :clojure.error/column - integer column number\n * :clojure.error/symbol - symbol being expanded/compiled/invoked\n * :clojure.error/class - cause exception class symbol\n * :clojure.error/cause - cause exception message\n * :clojure.error/spec - explain-data for spec error\n */\ncljs.repl.ex_triage \x3d (function cljs$repl$ex_triage(datafied_throwable){\nvar map__23806 \x3d datafied_throwable;\nvar map__23806__$1 \x3d cljs.core.__destructure_map(map__23806);\nvar via \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23806__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar trace \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23806__$1,new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415));\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__23806__$1,new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),new cljs.core.Keyword(null,\x22execution\x22,\x22execution\x22,253283524));\nvar map__23807 \x3d cljs.core.last(via);\nvar map__23807__$1 \x3d cljs.core.__destructure_map(map__23807);\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23807__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar message \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23807__$1,new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23807__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__23808 \x3d data;\nvar map__23808__$1 \x3d cljs.core.__destructure_map(map__23808);\nvar problems \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23808__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814));\nvar fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23808__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22fn\x22,\x22cljs.spec.alpha/fn\x22,408600443));\nvar caller \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23808__$1,new cljs.core.Keyword(\x22cljs.spec.test.alpha\x22,\x22caller\x22,\x22cljs.spec.test.alpha/caller\x22,-398302390));\nvar map__23809 \x3d new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.first(via));\nvar map__23809__$1 \x3d cljs.core.__destructure_map(map__23809);\nvar top_data \x3d map__23809__$1;\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23809__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((function (){var G__23827 \x3d phase;\nvar G__23827__$1 \x3d (((G__23827 instanceof cljs.core.Keyword))?G__23827.fqn:null);\nswitch (G__23827__$1) {\ncase \x22read-source\x22:\nvar map__23828 \x3d data;\nvar map__23828__$1 \x3d cljs.core.__destructure_map(map__23828);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23828__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23828__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar G__23829 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.second(via)),top_data], 0));\nvar G__23829__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23829,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__23829);\nvar G__23829__$2 \x3d (cljs.core.truth_((function (){var fexpr__23837 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__23837.cljs$core$IFn$_invoke$arity$1 ? fexpr__23837.cljs$core$IFn$_invoke$arity$1(source) : fexpr__23837.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__23829__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__23829__$1);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23829__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__23829__$2;\n}\n\nbreak;\ncase \x22compile-syntax-check\x22:\ncase \x22compilation\x22:\ncase \x22macro-syntax-check\x22:\ncase \x22macroexpansion\x22:\nvar G__23841 \x3d top_data;\nvar G__23841__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23841,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__23841);\nvar G__23841__$2 \x3d (cljs.core.truth_((function (){var fexpr__23842 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__23842.cljs$core$IFn$_invoke$arity$1 ? fexpr__23842.cljs$core$IFn$_invoke$arity$1(source) : fexpr__23842.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__23841__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__23841__$1);\nvar G__23841__$3 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23841__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__23841__$2);\nvar G__23841__$4 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23841__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__23841__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23841__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__23841__$4;\n}\n\nbreak;\ncase \x22read-eval-result\x22:\ncase \x22print-eval-result\x22:\nvar vec__23843 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23843,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23843,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23843,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23843,(3),null);\nvar G__23846 \x3d top_data;\nvar G__23846__$1 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23846,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),line):G__23846);\nvar G__23846__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23846__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file):G__23846__$1);\nvar G__23846__$3 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn method;\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23846__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null))):G__23846__$2);\nvar G__23846__$4 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23846__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__23846__$3);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23846__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__23846__$4;\n}\n\nbreak;\ncase \x22execution\x22:\nvar vec__23899 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23899,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23899,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23899,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__23899,(3),null);\nvar file__$1 \x3d cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__23798_SHARP_){\nvar or__5045__auto__ \x3d (p1__23798_SHARP_ \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar fexpr__23902 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__23902.cljs$core$IFn$_invoke$arity$1 ? fexpr__23902.cljs$core$IFn$_invoke$arity$1(p1__23798_SHARP_) : fexpr__23902.call(null,p1__23798_SHARP_));\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(caller),file], null)));\nvar err_line \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(caller);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn line;\n}\n})();\nvar G__23909 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type], null);\nvar G__23909__$1 \x3d (cljs.core.truth_(err_line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23909,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),err_line):G__23909);\nvar G__23909__$2 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23909__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__23909__$1);\nvar G__23909__$3 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d fn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn method;\n} else {\nreturn and__5043__auto__;\n}\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23909__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(function (){var or__5045__auto__ \x3d fn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null));\n}\n})()):G__23909__$2);\nvar G__23909__$4 \x3d (cljs.core.truth_(file__$1)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23909__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file__$1):G__23909__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__23909__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__23909__$4;\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__23827__$1)].join(\x27\x27)));\n\n}\n})(),new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358),phase);\n});\n/**\n * Returns a string from exception data, as produced by ex-triage.\n * The first line summarizes the exception phase and location.\n * The subsequent lines describe the cause.\n */\ncljs.repl.ex_str \x3d (function cljs$repl$ex_str(p__23939){\nvar map__23940 \x3d p__23939;\nvar map__23940__$1 \x3d cljs.core.__destructure_map(map__23940);\nvar triage_data \x3d map__23940__$1;\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23940__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358));\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23940__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23940__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23940__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar symbol \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23940__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994));\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23940__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890));\nvar cause \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23940__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742));\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__23940__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595));\nvar loc \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d source;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22\x3ccljs repl\x3e\x22;\n}\n})()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d line;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (1);\n}\n})()),(cljs.core.truth_(column)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):\x22\x22)].join(\x27\x27);\nvar class_name \x3d cljs.core.name((function (){var or__5045__auto__ \x3d class$;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22\x22;\n}\n})());\nvar simple_class \x3d class_name;\nvar cause_type \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22RuntimeException\x22,null,\x22Exception\x22,null], null), null),simple_class))?\x22\x22:[\x22 (\x22,simple_class,\x22)\x22].join(\x27\x27));\nvar format \x3d goog.string.format;\nvar G__23948 \x3d phase;\nvar G__23948__$1 \x3d (((G__23948 instanceof cljs.core.Keyword))?G__23948.fqn:null);\nswitch (G__23948__$1) {\ncase \x22read-source\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$3 ? format.cljs$core$IFn$_invoke$arity$3(\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause) : format.call(null,\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause));\n\nbreak;\ncase \x22macro-syntax-check\x22:\nvar G__23949 \x3d \x22Syntax error macroexpanding %sat (%s).\\n%s\x22;\nvar G__23950 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__23951 \x3d loc;\nvar G__23952 \x3d (cljs.core.truth_(spec)?(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__23954_24115 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__23955_24116 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__23956_24117 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__23957_24118 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__23956_24117);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__23957_24118);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__23934_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__23934_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__23955_24116);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__23954_24115);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})():(format.cljs$core$IFn$_invoke$arity$2 ? format.cljs$core$IFn$_invoke$arity$2(\x22%s\\n\x22,cause) : format.call(null,\x22%s\\n\x22,cause)));\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__23949,G__23950,G__23951,G__23952) : format.call(null,G__23949,G__23950,G__23951,G__23952));\n\nbreak;\ncase \x22macroexpansion\x22:\nvar G__23960 \x3d \x22Unexpected error%s macroexpanding %sat (%s).\\n%s\\n\x22;\nvar G__23961 \x3d cause_type;\nvar G__23962 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__23963 \x3d loc;\nvar G__23964 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__23960,G__23961,G__23962,G__23963,G__23964) : format.call(null,G__23960,G__23961,G__23962,G__23963,G__23964));\n\nbreak;\ncase \x22compile-syntax-check\x22:\nvar G__23966 \x3d \x22Syntax error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__23967 \x3d cause_type;\nvar G__23968 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__23969 \x3d loc;\nvar G__23970 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__23966,G__23967,G__23968,G__23969,G__23970) : format.call(null,G__23966,G__23967,G__23968,G__23969,G__23970));\n\nbreak;\ncase \x22compilation\x22:\nvar G__23972 \x3d \x22Unexpected error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__23973 \x3d cause_type;\nvar G__23974 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__23975 \x3d loc;\nvar G__23976 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__23972,G__23973,G__23974,G__23975,G__23976) : format.call(null,G__23972,G__23973,G__23974,G__23975,G__23976));\n\nbreak;\ncase \x22read-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22print-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22execution\x22:\nif(cljs.core.truth_(spec)){\nvar G__23977 \x3d \x22Execution error - invalid arguments to %s at (%s).\\n%s\x22;\nvar G__23978 \x3d symbol;\nvar G__23979 \x3d loc;\nvar G__23980 \x3d (function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__23982_24120 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__23983_24122 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__23984_24123 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__23985_24124 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__23984_24123);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__23985_24124);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__23935_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__23935_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__23983_24122);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__23982_24120);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})();\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__23977,G__23978,G__23979,G__23980) : format.call(null,G__23977,G__23978,G__23979,G__23980));\n} else {\nvar G__23991 \x3d \x22Execution error%s at %s(%s).\\n%s\\n\x22;\nvar G__23992 \x3d cause_type;\nvar G__23993 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__23994 \x3d loc;\nvar G__23995 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__23991,G__23992,G__23993,G__23994,G__23995) : format.call(null,G__23991,G__23992,G__23993,G__23994,G__23995));\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__23948__$1)].join(\x27\x27)));\n\n}\n});\ncljs.repl.error__GT_str \x3d (function cljs$repl$error__GT_str(error){\nreturn cljs.repl.ex_str(cljs.repl.ex_triage(cljs.repl.Error__GT_map(error)));\n});\n"); -SHADOW_ENV.evalLoad("shadow.remote.runtime.obj_support.js", true , "goog.provide(\x27shadow.remote.runtime.obj_support\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.remote.runtime.obj_support.Reference \x3d (function (obj,__meta,__extmap,__hash){\nthis.obj \x3d obj;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k24318,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__24325 \x3d k24318;\nvar G__24325__$1 \x3d (((G__24325 instanceof cljs.core.Keyword))?G__24325.fqn:null);\nswitch (G__24325__$1) {\ncase \x22obj\x22:\nreturn self__.obj;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k24318,else__5346__auto__);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__24326){\nvar vec__24327 \x3d p__24326;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24327,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__24327,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.remote.runtime.obj-support.Reference{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj],null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__24317){\nvar self__ \x3d this;\nvar G__24317__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__24317__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (1 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1775716890 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this24319,other24320){\nvar self__ \x3d this;\nvar this24319__$1 \x3d this;\nreturn (((!((other24320 \x3d\x3d null)))) \x26\x26 ((((this24319__$1.constructor \x3d\x3d\x3d other24320.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this24319__$1.obj,other24320.obj)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this24319__$1.__extmap,other24320.__extmap)))))));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k24318){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__24387 \x3d k24318;\nvar G__24387__$1 \x3d (((G__24387 instanceof cljs.core.Keyword))?G__24387.fqn:null);\nswitch (G__24387__$1) {\ncase \x22obj\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k24318);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__24317){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__24442 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__24443 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__24442.cljs$core$IFn$_invoke$arity$2 ? pred__24442.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__24443) : pred__24442.call(null,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__24443)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(G__24317,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__24317),null));\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj,null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__24317){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,G__24317,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null)], null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.remote.runtime.obj-support/Reference\x22,null,(1),null));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.remote.runtime.obj-support/Reference\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.obj-support/Reference.\n */\nshadow.remote.runtime.obj_support.__GT_Reference \x3d (function shadow$remote$runtime$obj_support$__GT_Reference(obj){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,null,null,null));\n});\n\n/**\n * Factory function for shadow.remote.runtime.obj-support/Reference, taking a map of keywords to field values.\n */\nshadow.remote.runtime.obj_support.map__GT_Reference \x3d (function shadow$remote$runtime$obj_support$map__GT_Reference(G__24322){\nvar extmap__5385__auto__ \x3d (function (){var G__24449 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__24322,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif(cljs.core.record_QMARK_(G__24322)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__24449);\n} else {\nreturn G__24449;\n}\n})();\nreturn (new shadow.remote.runtime.obj_support.Reference(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(G__24322),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.remote.runtime.obj_support.obj_ref \x3d (function shadow$remote$runtime$obj_support$obj_ref(obj){\nif((!((obj \x3d\x3d null)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,null,null,null));\n} else {\nreturn null;\n}\n});\nshadow.remote.runtime.obj_support.obj_ref_QMARK_ \x3d (function shadow$remote$runtime$obj_support$obj_ref_QMARK_(result){\nreturn (result instanceof shadow.remote.runtime.obj_support.Reference);\n});\nshadow.remote.runtime.obj_support.now \x3d (function shadow$remote$runtime$obj_support$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.obj_support.next_oid \x3d (function shadow$remote$runtime$obj_support$next_oid(){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n});\nshadow.remote.runtime.obj_support.register_STAR_ \x3d (function shadow$remote$runtime$obj_support$register_STAR_(state,oid,obj,obj_info){\nvar ts \x3d shadow.remote.runtime.obj_support.now();\nvar entry \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),obj,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),clojure.datafy.datafy(obj),new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),obj_info,new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),ts,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),ts,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null);\nreturn cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null),entry);\n});\nshadow.remote.runtime.obj_support.obj_type_string \x3d (function shadow$remote$runtime$obj_support$obj_type_string(obj){\nif((obj \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0));\n}\n});\nshadow.remote.runtime.obj_support.get_data_type \x3d (function shadow$remote$runtime$obj_support$get_data_type(summary,p__24491){\nvar map__24492 \x3d p__24491;\nvar map__24492__$1 \x3d cljs.core.__destructure_map(map__24492);\nvar entry \x3d map__24492__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24492__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\ntry{if((data \x3d\x3d null)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501));\n} else {\nif(typeof data \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),((data).length)], 0));\n} else {\nif(cljs.core.boolean_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22boolean\x22,\x22boolean\x22,-1919418404));\n} else {\nif(typeof data \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22number\x22,\x22number\x22,1570378438));\n} else {\nif((data instanceof cljs.core.Keyword)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747));\n} else {\nif((data instanceof cljs.core.Symbol)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696));\n} else {\nif(cljs.core.map_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.vector_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22vec\x22,\x22vec\x22,-657847931),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.set_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.list_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.seq_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016));\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}catch (e24493){var e \x3d e24493;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-type-fail\x22,\x22data-type-fail\x22,1917235450),true], 0));\n}});\nshadow.remote.runtime.obj_support.merge_source_info \x3d (function shadow$remote$runtime$obj_support$merge_source_info(summary,p__24540){\nvar map__24545 \x3d p__24540;\nvar map__24545__$1 \x3d cljs.core.__destructure_map(map__24545);\nvar obj_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24545__$1,new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651));\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([summary,cljs.core.select_keys(obj_info,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22label\x22,\x22label\x22,1718410804)], null))], 0));\n});\nshadow.remote.runtime.obj_support.inspect_entry_BANG_ \x3d (function shadow$remote$runtime$obj_support$inspect_entry_BANG_(p__24565,p__24566){\nvar map__24568 \x3d p__24565;\nvar map__24568__$1 \x3d cljs.core.__destructure_map(map__24568);\nvar this$ \x3d map__24568__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24568__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__24569 \x3d p__24566;\nvar map__24569__$1 \x3d cljs.core.__destructure_map(map__24569);\nvar entry \x3d map__24569__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24569__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24569__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar added_at \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24569__$1,new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434));\nvar $ \x3d shadow.remote.runtime.obj_support.merge_source_info(shadow.remote.runtime.obj_support.get_data_type(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),added_at,new cljs.core.Keyword(null,\x22datafied\x22,\x22datafied\x22,2076148104),(!((data \x3d\x3d\x3d obj))),new cljs.core.Keyword(null,\x22obj-type\x22,\x22obj-type\x22,-1658555496),shadow.remote.runtime.obj_support.obj_type_string(obj),new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.PersistentHashSet.EMPTY], null),entry),entry);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (summary,inspect_fn){\nreturn (inspect_fn.cljs$core$IFn$_invoke$arity$2 ? inspect_fn.cljs$core$IFn$_invoke$arity$2(summary,entry) : inspect_fn.call(null,summary,entry));\n}),$,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)));\n});\nshadow.remote.runtime.obj_support.obj_describe_STAR_ \x3d (function shadow$remote$runtime$obj_support$obj_describe_STAR_(p__24576,oid){\nvar map__24581 \x3d p__24576;\nvar map__24581__$1 \x3d cljs.core.__destructure_map(map__24581);\nvar this$ \x3d map__24581__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24581__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar temp__5808__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null));\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar entry \x3d temp__5808__auto__;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nreturn shadow.remote.runtime.obj_support.inspect_entry_BANG_(this$,entry);\n}\n});\nshadow.remote.runtime.obj_support.handler_with_object \x3d (function shadow$remote$runtime$obj_support$handler_with_object(handler_fn){\nreturn (function (p__24604,p__24605){\nvar map__24669 \x3d p__24604;\nvar map__24669__$1 \x3d cljs.core.__destructure_map(map__24669);\nvar this$ \x3d map__24669__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24669__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24669__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__24670 \x3d p__24605;\nvar map__24670__$1 \x3d cljs.core.__destructure_map(map__24670);\nvar msg \x3d map__24670__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24670__$1,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955));\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24670__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar entry \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null));\nif(cljs.core.not(entry)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n} else {\ntry{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nvar result \x3d (handler_fn.cljs$core$IFn$_invoke$arity$3 ? handler_fn.cljs$core$IFn$_invoke$arity$3(this$,entry,msg) : handler_fn.call(null,this$,entry,msg));\nif((!(shadow.remote.runtime.obj_support.obj_ref_QMARK_(result)))){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result\x22,\x22obj-result\x22,-486300152),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),result], null));\n} else {\nvar new_oid \x3d (function (){var G__24676 \x3d this$;\nvar G__24677 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(result);\nvar G__24678 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__24676,G__24677,G__24678) : shadow.remote.runtime.obj_support.register.call(null,G__24676,G__24677,G__24678));\n})();\nvar reply_msg \x3d (function (){var G__24679 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result-ref\x22,\x22obj-result-ref\x22,1537374891),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),new_oid], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952).cljs$core$IFn$_invoke$arity$1(msg))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__24679,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,new_oid));\n} else {\nreturn G__24679;\n}\n})();\nreturn shadow.remote.runtime.shared.reply(runtime,msg,reply_msg);\n}\n}catch (e24671){var e \x3d e24671;\nconsole.warn(\x22action-request-action failed\x22,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(entry),e);\n\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-request-failed\x22,\x22obj-request-failed\x22,-1782005406),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),(function (){var G__24672 \x3d this$;\nvar G__24673 \x3d e;\nvar G__24674 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null);\nreturn (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__24672,G__24673,G__24674) : shadow.remote.runtime.obj_support.register.call(null,G__24672,G__24673,G__24674));\n})()], null));\n}}\n});\n});\nshadow.remote.runtime.obj_support.obj_get_value \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__24680,msg){\nvar map__24681 \x3d p__24680;\nvar map__24681__$1 \x3d cljs.core.__destructure_map(map__24681);\nvar entry \x3d map__24681__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24681__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nreturn obj;\n}));\nshadow.remote.runtime.obj_support.default_max_print_size \x3d (((1) * (1024)) * (1024));\nshadow.remote.runtime.obj_support.obj_edn \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__24682,p__24683){\nvar map__24690 \x3d p__24682;\nvar map__24690__$1 \x3d cljs.core.__destructure_map(map__24690);\nvar entry \x3d map__24690__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24690__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__24691 \x3d p__24683;\nvar map__24691__$1 \x3d cljs.core.__destructure_map(map__24691);\nvar msg \x3d map__24691__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__24691__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.core.pr_writer(data,lw,cljs.core.pr_opts());\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n}));\nshadow.remote.runtime.obj_support.obj_pprint \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__24692,p__24693){\nvar map__24694 \x3d p__24692;\nvar map__24694__$1 \x3d cljs.core.__destructure_map(map__24694);\nvar entry \x3d map__24694__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24694__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__24695 \x3d p__24693;\nvar map__24695__$1 \x3d cljs.core.__destructure_map(map__24695);\nvar msg \x3d map__24695__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__24695__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(data,lw);\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n}));\nshadow.remote.runtime.obj_support.obj_edn_limit \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__24700,p__24701){\nvar map__24702 \x3d p__24700;\nvar map__24702__$1 \x3d cljs.core.__destructure_map(map__24702);\nvar entry \x3d map__24702__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24702__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__24703 \x3d p__24701;\nvar map__24703__$1 \x3d cljs.core.__destructure_map(map__24703);\nvar msg \x3d map__24703__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24703__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363));\nreturn shadow.remote.runtime.writer.pr_str_limit(data,limit);\n}));\nshadow.remote.runtime.obj_support.obj_str \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__24706,msg){\nvar map__24707 \x3d p__24706;\nvar map__24707__$1 \x3d cljs.core.__destructure_map(map__24707);\nvar entry \x3d map__24707__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24707__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj);\n}));\nshadow.remote.runtime.obj_support.obj_ex_str \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__24708,msg){\nvar map__24710 \x3d p__24708;\nvar map__24710__$1 \x3d cljs.core.__destructure_map(map__24710);\nvar entry \x3d map__24710__$1;\nvar ex \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24710__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif((ex instanceof Error)){\nreturn cljs.repl.error__GT_str(ex);\n} else {\nreturn [\x22Execution error:\\n\x22,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.second(shadow.remote.runtime.writer.pr_str_limit(ex,(200)))),\x22\\n\x22,\x22\\n\x22].join(\x27\x27);\n}\n}));\nshadow.remote.runtime.obj_support.exception_QMARK_ \x3d (function shadow$remote$runtime$obj_support$exception_QMARK_(x){\nreturn true;\n});\nshadow.remote.runtime.obj_support.simple_value_QMARK_ \x3d (function shadow$remote$runtime$obj_support$simple_value_QMARK_(val){\nreturn (((val \x3d\x3d null)) || (((cljs.core.boolean_QMARK_(val)) || (((typeof val \x3d\x3d\x3d \x27number\x27) || ((((val instanceof cljs.core.Keyword)) || ((((((val instanceof cljs.core.Symbol)) \x26\x26 ((cljs.core.meta(val) \x3d\x3d null)))) || (((((typeof val \x3d\x3d\x3d \x27string\x27) \x26\x26 (((64) \x3e cljs.core.count(val))))) || (((cljs.core.coll_QMARK_(val)) \x26\x26 (((cljs.core.empty_QMARK_(val)) \x26\x26 ((cljs.core.meta(val) \x3d\x3d null)))))))))))))))));\n});\nshadow.remote.runtime.obj_support.rank_predicates \x3d new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.nil_QMARK_,cljs.core.boolean_QMARK_,cljs.core.number_QMARK_,cljs.core.string_QMARK_,cljs.core.keyword_QMARK_,cljs.core.symbol_QMARK_,cljs.core.vector_QMARK_,cljs.core.map_QMARK_,cljs.core.list_QMARK_], null);\nshadow.remote.runtime.obj_support.rank_val \x3d (function shadow$remote$runtime$obj_support$rank_val(val){\nreturn cljs.core.reduce_kv((function (res,idx,pred){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(val) : pred.call(null,val)))){\nreturn cljs.core.reduced(idx);\n} else {\nreturn res;\n}\n}),(-1),shadow.remote.runtime.obj_support.rank_predicates);\n});\nshadow.remote.runtime.obj_support.smart_comp \x3d (function shadow$remote$runtime$obj_support$smart_comp(a,b){\ntry{return cljs.core.compare(a,b);\n}catch (e24783){if((e24783 instanceof Error)){\nvar e \x3d e24783;\nvar ar \x3d shadow.remote.runtime.obj_support.rank_val(a);\nvar br \x3d shadow.remote.runtime.obj_support.rank_val(b);\nreturn cljs.core.compare(ar,br);\n} else {\nthrow e24783;\n\n}\n}});\nshadow.remote.runtime.obj_support.attempt_to_sort \x3d (function shadow$remote$runtime$obj_support$attempt_to_sort(coll){\nreturn cljs.core.vec((function (){try{return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(shadow.remote.runtime.obj_support.smart_comp,coll);\n}catch (e24784){var e \x3d e24784;\nreturn coll;\n}})());\n});\nshadow.remote.runtime.obj_support.cache_view_order \x3d (function shadow$remote$runtime$obj_support$cache_view_order(state_ref,p__24785,coll){\nvar map__24786 \x3d p__24785;\nvar map__24786__$1 \x3d cljs.core.__destructure_map(map__24786);\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24786__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar view_order \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24786__$1,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574));\nvar or__5045__auto__ \x3d view_order;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar view_order__$1 \x3d shadow.remote.runtime.obj_support.attempt_to_sort(coll);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574)], null),view_order__$1);\n\nreturn view_order__$1;\n}\n});\nshadow.remote.runtime.obj_support.obj_nav \x3d shadow.remote.runtime.obj_support.handler_with_object((function (p__24788,p__24789,p__24790){\nvar map__24805 \x3d p__24788;\nvar map__24805__$1 \x3d cljs.core.__destructure_map(map__24805);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24805__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__24806 \x3d p__24789;\nvar map__24806__$1 \x3d cljs.core.__destructure_map(map__24806);\nvar entry \x3d map__24806__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24806__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__24807 \x3d p__24790;\nvar map__24807__$1 \x3d cljs.core.__destructure_map(map__24807);\nvar msg \x3d map__24807__$1;\nvar idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24807__$1,new cljs.core.Keyword(null,\x22idx\x22,\x22idx\x22,1053688473));\nif(((cljs.core.vector_QMARK_(data)) || (cljs.core.list_QMARK_(data)))){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n} else {\nif(cljs.core.map_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data));\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nvar nav \x3d clojure.datafy.nav(data,key,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n} else {\nif(cljs.core.set_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data);\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22nav not supported?\x22,entry);\n\n}\n}\n}\n}));\nshadow.remote.runtime.obj_support.obj_fragment \x3d shadow.remote.runtime.obj_support.handler_with_object((function (p__24814,p__24815,p__24816){\nvar map__24817 \x3d p__24814;\nvar map__24817__$1 \x3d cljs.core.__destructure_map(map__24817);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24817__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__24818 \x3d p__24815;\nvar map__24818__$1 \x3d cljs.core.__destructure_map(map__24818);\nvar entry \x3d map__24818__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24818__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__24819 \x3d p__24816;\nvar map__24819__$1 \x3d cljs.core.__destructure_map(map__24819);\nvar msg \x3d map__24819__$1;\nvar start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24819__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24819__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673));\nvar val_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__24819__$1,new cljs.core.Keyword(null,\x22val-limit\x22,\x22val-limit\x22,1428666181),(100));\nif(cljs.core.map_QMARK_(data)){\nvar map__24843 \x3d msg;\nvar map__24843__$1 \x3d cljs.core.__destructure_map(map__24843);\nvar key_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__24843__$1,new cljs.core.Keyword(null,\x22key-limit\x22,\x22key-limit\x22,259239169),(100));\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data));\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(view_order);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(key,key_limit);\n}catch (e24847){var e \x3d e24847;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})(),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(val,val_limit);\n}catch (e24852){var e \x3d e24852;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})()], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.vector_QMARK_(data)){\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(data);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.list_QMARK_(data)){\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(data);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.set_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data);\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(view_order);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nreturn null;\n}\n}\n}\n}\n}));\nshadow.remote.runtime.obj_support.obj_request \x3d (function shadow$remote$runtime$obj_support$obj_request(this$,p__24866){\nvar map__24867 \x3d p__24866;\nvar map__24867__$1 \x3d cljs.core.__destructure_map(map__24867);\nvar msg \x3d map__24867__$1;\nvar request_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24867__$1,new cljs.core.Keyword(null,\x22request-op\x22,\x22request-op\x22,1472997246));\nvar real_handler \x3d (function (){var G__24868 \x3d request_op;\nvar G__24868__$1 \x3d (((G__24868 instanceof cljs.core.Keyword))?G__24868.fqn:null);\nswitch (G__24868__$1) {\ncase \x22str\x22:\nreturn shadow.remote.runtime.obj_support.obj_str;\n\nbreak;\ncase \x22ex-str\x22:\nreturn shadow.remote.runtime.obj_support.obj_ex_str;\n\nbreak;\ncase \x22edn\x22:\nreturn shadow.remote.runtime.obj_support.obj_edn;\n\nbreak;\ncase \x22edn-limit\x22:\nreturn shadow.remote.runtime.obj_support.obj_edn;\n\nbreak;\ncase \x22pprint\x22:\nreturn this$;\n\nbreak;\ncase \x22nav\x22:\nreturn this$;\n\nbreak;\ncase \x22fragment\x22:\nreturn shadow.remote.runtime.obj_support.obj_fragment;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__24868__$1)].join(\x27\x27)));\n\n}\n})();\nreturn (real_handler.cljs$core$IFn$_invoke$arity$2 ? real_handler.cljs$core$IFn$_invoke$arity$2(this$,msg) : real_handler.call(null,this$,msg));\n});\nshadow.remote.runtime.obj_support.obj_describe \x3d (function shadow$remote$runtime$obj_support$obj_describe(p__24902,p__24903){\nvar map__24904 \x3d p__24902;\nvar map__24904__$1 \x3d cljs.core.__destructure_map(map__24904);\nvar this$ \x3d map__24904__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24904__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__24905 \x3d p__24903;\nvar map__24905__$1 \x3d cljs.core.__destructure_map(map__24905);\nvar msg \x3d map__24905__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24905__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar temp__5802__auto__ \x3d shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,oid);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar summary \x3d temp__5802__auto__;\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-summary\x22,\x22obj-summary\x22,-1372191064),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),summary], null));\n} else {\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n});\nshadow.remote.runtime.obj_support.obj_forget \x3d (function shadow$remote$runtime$obj_support$obj_forget(p__24915,p__24916){\nvar map__24917 \x3d p__24915;\nvar map__24917__$1 \x3d cljs.core.__destructure_map(map__24917);\nvar svc \x3d map__24917__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24917__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__24918 \x3d p__24916;\nvar map__24918__$1 \x3d cljs.core.__destructure_map(map__24918);\nvar msg \x3d map__24918__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24918__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([oid], 0));\n});\nshadow.remote.runtime.obj_support.obj_forget_all \x3d (function shadow$remote$runtime$obj_support$obj_forget_all(p__24919,msg){\nvar map__24920 \x3d p__24919;\nvar map__24920__$1 \x3d cljs.core.__destructure_map(map__24920);\nvar svc \x3d map__24920__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24920__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY);\n});\nshadow.remote.runtime.obj_support.basic_gc_BANG_ \x3d (function shadow$remote$runtime$obj_support$basic_gc_BANG_(state){\nvar objs_to_drop \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((100),cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(state))))));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (state__$1,oid){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,oid);\n}),state,objs_to_drop);\n});\nshadow.remote.runtime.obj_support.add_inspector \x3d (function shadow$remote$runtime$obj_support$add_inspector(p__24927,inspect_fn){\nvar map__24928 \x3d p__24927;\nvar map__24928__$1 \x3d cljs.core.__destructure_map(map__24928);\nvar this$ \x3d map__24928__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24928__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.fn_QMARK_(inspect_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? inspect-fn)\x22));\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([inspect_fn], 0));\n\nreturn this$;\n});\nshadow.remote.runtime.obj_support.start \x3d (function shadow$remote$runtime$obj_support$start(runtime){\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22id-seq-ref\x22,\x22id-seq-ref\x22,-98357047),(0)], null));\nvar svc \x3d shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),state_ref], null),(function (summary,p__24941){\nvar map__24942 \x3d p__24941;\nvar map__24942__$1 \x3d cljs.core.__destructure_map(map__24942);\nvar entry \x3d map__24942__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24942__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif((!(shadow.remote.runtime.obj_support.simple_value_QMARK_(obj)))){\nreturn summary;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-get-value\x22,\x22obj-get-value\x22,281897170));\n}\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-str\x22,\x22obj-str\x22,1815115325));\n})),(function (summary,p__24945){\nvar map__24946 \x3d p__24945;\nvar map__24946__$1 \x3d cljs.core.__destructure_map(map__24946);\nvar entry \x3d map__24946__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24946__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif(shadow.remote.runtime.obj_support.exception_QMARK_(obj)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-ex-str\x22,\x22obj-ex-str\x22,-639656467));\n} else {\nreturn summary;\n}\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-edn\x22,\x22obj-edn\x22,809365133));\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-edn-limit\x22,\x22obj-edn-limit\x22,-1550136004));\n})),(function (summary,p__24950){\nvar map__24951 \x3d p__24950;\nvar map__24951__$1 \x3d cljs.core.__destructure_map(map__24951);\nvar entry \x3d map__24951__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24951__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((cljs.core.coll_QMARK_(data)) || (cljs.core.seq_QMARK_(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-pprint\x22,\x22obj-pprint\x22,-1831226802));\n} else {\nreturn summary;\n}\n})),(function (summary,p__24952){\nvar map__24953 \x3d p__24952;\nvar map__24953__$1 \x3d cljs.core.__destructure_map(map__24953);\nvar entry \x3d map__24953__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24953__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) \x26\x26 (cljs.core.seq(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-nav\x22,\x22obj-nav\x22,1248750622));\n} else {\nreturn summary;\n}\n})),(function (summary,p__24954){\nvar map__24955 \x3d p__24954;\nvar map__24955__$1 \x3d cljs.core.__destructure_map(map__24955);\nvar entry \x3d map__24955__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24955__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) \x26\x26 (cljs.core.seq(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-fragment\x22,\x22obj-fragment\x22,1857463161));\n} else {\nreturn summary;\n}\n}));\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22obj-forget\x22,\x22obj-forget\x22,2003566115),new cljs.core.Keyword(null,\x22obj-describe\x22,\x22obj-describe\x22,-34922904),new cljs.core.Keyword(null,\x22obj-ex-str\x22,\x22obj-ex-str\x22,-639656467),new cljs.core.Keyword(null,\x22obj-request\x22,\x22obj-request\x22,-1709325811),new cljs.core.Keyword(null,\x22obj-edn\x22,\x22obj-edn\x22,809365133),new cljs.core.Keyword(null,\x22obj-pprint\x22,\x22obj-pprint\x22,-1831226802),new cljs.core.Keyword(null,\x22obj-get-value\x22,\x22obj-get-value\x22,281897170),new cljs.core.Keyword(null,\x22obj-forget-all\x22,\x22obj-forget-all\x22,1418682131),new cljs.core.Keyword(null,\x22obj-fragment\x22,\x22obj-fragment\x22,1857463161),new cljs.core.Keyword(null,\x22obj-edn-limit\x22,\x22obj-edn-limit\x22,-1550136004),new cljs.core.Keyword(null,\x22obj-str\x22,\x22obj-str\x22,1815115325),new cljs.core.Keyword(null,\x22obj-nav\x22,\x22obj-nav\x22,1248750622)],[(function (p1__24939_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget(svc,p1__24939_SHARP_);\n}),(function (p1__24929_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_describe(svc,p1__24929_SHARP_);\n}),(function (p1__24935_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_ex_str(svc,p1__24935_SHARP_);\n}),(function (p1__24930_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_request(svc,p1__24930_SHARP_);\n}),(function (p1__24931_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_edn(svc,p1__24931_SHARP_);\n}),(function (p1__24936_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_pprint(svc,p1__24936_SHARP_);\n}),(function (p1__24932_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_get_value(svc,p1__24932_SHARP_);\n}),(function (p1__24940_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget_all(svc,p1__24940_SHARP_);\n}),(function (p1__24938_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_fragment(svc,p1__24938_SHARP_);\n}),(function (p1__24933_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_edn_limit(svc,p1__24933_SHARP_);\n}),(function (p1__24934_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_str(svc,p1__24934_SHARP_);\n}),(function (p1__24937_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_nav(svc,p1__24937_SHARP_);\n})]),new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602),(function (){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(state_ref,shadow.remote.runtime.obj_support.basic_gc_BANG_);\n})], null));\n\nreturn svc;\n});\nshadow.remote.runtime.obj_support.get_tap_history \x3d (function shadow$remote$runtime$obj_support$get_tap_history(p__24962,num){\nvar map__24968 \x3d p__24962;\nvar map__24968__$1 \x3d cljs.core.__destructure_map(map__24968);\nvar svc \x3d map__24968__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24968__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.take.cljs$core$IFn$_invoke$arity$2(num,cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__24961_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(p1__24961_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044)], null)));\n}),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))))))));\n});\nshadow.remote.runtime.obj_support.register \x3d (function shadow$remote$runtime$obj_support$register(p__24972,obj,obj_info){\nvar map__24973 \x3d p__24972;\nvar map__24973__$1 \x3d cljs.core.__destructure_map(map__24973);\nvar svc \x3d map__24973__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24973__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar oid \x3d shadow.remote.runtime.obj_support.next_oid();\nif((!(((cljs.core.vector_QMARK_(obj)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22shadow.remote\x22,\x22wrap\x22,\x22shadow.remote/wrap\x22,996267199),cljs.core.first(obj))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(obj),(3))))))))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,obj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info], 0));\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(1)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(2))], 0))], 0));\n}\n\nreturn oid;\n});\nshadow.remote.runtime.obj_support.get_ref \x3d (function shadow$remote$runtime$obj_support$get_ref(p__24974,obj_id){\nvar map__24975 \x3d p__24974;\nvar map__24975__$1 \x3d cljs.core.__destructure_map(map__24975);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24975__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),obj_id], null));\n});\nshadow.remote.runtime.obj_support.stop \x3d (function shadow$remote$runtime$obj_support$stop(p__24976){\nvar map__24977 \x3d p__24976;\nvar map__24977__$1 \x3d cljs.core.__destructure_map(map__24977);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24977__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346));\n});\n"); -SHADOW_ENV.evalLoad("shadow.remote.runtime.tap_support.js", true , "goog.provide(\x27shadow.remote.runtime.tap_support\x27);\nshadow.remote.runtime.tap_support.tap_subscribe \x3d (function shadow$remote$runtime$tap_support$tap_subscribe(p__24997,p__24998){\nvar map__24999 \x3d p__24997;\nvar map__24999__$1 \x3d cljs.core.__destructure_map(map__24999);\nvar svc \x3d map__24999__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24999__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24999__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24999__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__25000 \x3d p__24998;\nvar map__25000__$1 \x3d cljs.core.__destructure_map(map__25000);\nvar msg \x3d map__25000__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25000__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar summary \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25000__$1,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952));\nvar history__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25000__$1,new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__25000__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(subs_ref,cljs.core.assoc,from,msg);\n\nif(cljs.core.truth_(history__$1)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-subscribed\x22,\x22tap-subscribed\x22,-1882247432),new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (oid){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(obj_support,oid)], null);\n}),shadow.remote.runtime.obj_support.get_tap_history(obj_support,num)))], null));\n} else {\nreturn null;\n}\n});\nshadow.remote.runtime.tap_support.tap_unsubscribe \x3d (function shadow$remote$runtime$tap_support$tap_unsubscribe(p__25002,p__25003){\nvar map__25004 \x3d p__25002;\nvar map__25004__$1 \x3d cljs.core.__destructure_map(map__25004);\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25004__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar map__25005 \x3d p__25003;\nvar map__25005__$1 \x3d cljs.core.__destructure_map(map__25005);\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25005__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,from);\n});\nshadow.remote.runtime.tap_support.request_tap_history \x3d (function shadow$remote$runtime$tap_support$request_tap_history(p__25014,p__25015){\nvar map__25016 \x3d p__25014;\nvar map__25016__$1 \x3d cljs.core.__destructure_map(map__25016);\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25016__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25016__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__25017 \x3d p__25015;\nvar map__25017__$1 \x3d cljs.core.__destructure_map(map__25017);\nvar msg \x3d map__25017__$1;\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__25017__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\nvar tap_ids \x3d shadow.remote.runtime.obj_support.get_tap_history(obj_support,num);\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-history\x22,\x22tap-history\x22,-282803347),new cljs.core.Keyword(null,\x22oids\x22,\x22oids\x22,-1580877688),tap_ids], null));\n});\nshadow.remote.runtime.tap_support.tool_disconnect \x3d (function shadow$remote$runtime$tap_support$tool_disconnect(p__25018,tid){\nvar map__25019 \x3d p__25018;\nvar map__25019__$1 \x3d cljs.core.__destructure_map(map__25019);\nvar svc \x3d map__25019__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25019__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,tid);\n});\nshadow.remote.runtime.tap_support.start \x3d (function shadow$remote$runtime$tap_support$start(runtime,obj_support){\nvar subs_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar tap_fn \x3d (function shadow$remote$runtime$tap_support$start_$_runtime_tap(obj){\nif((!((obj \x3d\x3d null)))){\nvar oid \x3d shadow.remote.runtime.obj_support.register(obj_support,obj,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463)], null));\nvar seq__25035 \x3d cljs.core.seq(cljs.core.deref(subs_ref));\nvar chunk__25036 \x3d null;\nvar count__25037 \x3d (0);\nvar i__25038 \x3d (0);\nwhile(true){\nif((i__25038 \x3c count__25037)){\nvar vec__25047 \x3d chunk__25036.cljs$core$IIndexed$_nth$arity$2(null,i__25038);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25047,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25047,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__25080 \x3d seq__25035;\nvar G__25081 \x3d chunk__25036;\nvar G__25082 \x3d count__25037;\nvar G__25083 \x3d (i__25038 + (1));\nseq__25035 \x3d G__25080;\nchunk__25036 \x3d G__25081;\ncount__25037 \x3d G__25082;\ni__25038 \x3d G__25083;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__25035);\nif(temp__5804__auto__){\nvar seq__25035__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__25035__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__25035__$1);\nvar G__25084 \x3d cljs.core.chunk_rest(seq__25035__$1);\nvar G__25085 \x3d c__5568__auto__;\nvar G__25086 \x3d cljs.core.count(c__5568__auto__);\nvar G__25087 \x3d (0);\nseq__25035 \x3d G__25084;\nchunk__25036 \x3d G__25085;\ncount__25037 \x3d G__25086;\ni__25038 \x3d G__25087;\ncontinue;\n} else {\nvar vec__25051 \x3d cljs.core.first(seq__25035__$1);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25051,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25051,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__25098 \x3d cljs.core.next(seq__25035__$1);\nvar G__25099 \x3d null;\nvar G__25100 \x3d (0);\nvar G__25101 \x3d (0);\nseq__25035 \x3d G__25098;\nchunk__25036 \x3d G__25099;\ncount__25037 \x3d G__25100;\ni__25038 \x3d G__25101;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461),tap_fn,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911),subs_ref], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22tap-subscribe\x22,\x22tap-subscribe\x22,411179050),(function (p1__25020_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_subscribe(svc,p1__25020_SHARP_);\n}),new cljs.core.Keyword(null,\x22tap-unsubscribe\x22,\x22tap-unsubscribe\x22,1183890755),(function (p1__25021_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_unsubscribe(svc,p1__25021_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-tap-history\x22,\x22request-tap-history\x22,-670837812),(function (p1__25022_SHARP_){\nreturn shadow.remote.runtime.tap_support.request_tap_history(svc,p1__25022_SHARP_);\n})], null),new cljs.core.Keyword(null,\x22on-tool-disconnect\x22,\x22on-tool-disconnect\x22,693464366),(function (p1__25023_SHARP_){\nreturn shadow.remote.runtime.tap_support.tool_disconnect(svc,p1__25023_SHARP_);\n})], null));\n\ncljs.core.add_tap(tap_fn);\n\nreturn svc;\n});\nshadow.remote.runtime.tap_support.stop \x3d (function shadow$remote$runtime$tap_support$stop(p__25059){\nvar map__25060 \x3d p__25059;\nvar map__25060__$1 \x3d cljs.core.__destructure_map(map__25060);\nvar svc \x3d map__25060__$1;\nvar tap_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25060__$1,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25060__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\ncljs.core.remove_tap(tap_fn);\n\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674));\n});\n"); -SHADOW_ENV.evalLoad("shadow.remote.runtime.eval_support.js", true , "goog.provide(\x27shadow.remote.runtime.eval_support\x27);\nshadow.remote.runtime.eval_support.obj_support_inst \x3d null;\nshadow.remote.runtime.eval_support.get_ref \x3d (function shadow$remote$runtime$eval_support$get_ref(oid){\nif(cljs.core.truth_(shadow.remote.runtime.eval_support.obj_support_inst)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22obj-support not bound, can only call this from eval\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n\nreturn shadow.remote.runtime.obj_support.get_ref(shadow.remote.runtime.eval_support.obj_support_inst,oid);\n});\nshadow.remote.runtime.eval_support.cljs_eval \x3d (function shadow$remote$runtime$eval_support$cljs_eval(p__24982,p__24983){\nvar map__24984 \x3d p__24982;\nvar map__24984__$1 \x3d cljs.core.__destructure_map(map__24984);\nvar svc \x3d map__24984__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24984__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24984__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__24985 \x3d p__24983;\nvar map__24985__$1 \x3d cljs.core.__destructure_map(map__24985);\nvar msg \x3d map__24985__$1;\nvar input \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24985__$1,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d obj_support);\n\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input,(function (p__24990){\nvar map__24991 \x3d p__24990;\nvar map__24991__$1 \x3d cljs.core.__destructure_map(map__24991);\nvar info \x3d map__24991__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__24991__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d null);\n\nvar G__24996 \x3d result;\nvar G__24996__$1 \x3d (((G__24996 instanceof cljs.core.Keyword))?G__24996.fqn:null);\nswitch (G__24996__$1) {\ncase \x22compile-error\x22:\nvar map__25007 \x3d info;\nvar map__25007__$1 \x3d cljs.core.__destructure_map(map__25007);\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25007__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25007__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25007__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-error\x22,\x22eval-compile-error\x22,-1765075397),new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null));\n\nbreak;\ncase \x22runtime-error\x22:\nvar map__25011 \x3d info;\nvar map__25011__$1 \x3d cljs.core.__destructure_map(map__25011);\nvar ex \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25011__$1,new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341));\nvar ex_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,ex,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-runtime-error\x22,\x22eval-runtime-error\x22,275935402),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid], null));\n\nbreak;\ncase \x22warnings\x22:\nvar map__25012 \x3d info;\nvar map__25012__$1 \x3d cljs.core.__destructure_map(map__25012);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25012__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-warnings\x22,\x22eval-compile-warnings\x22,1994859386),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ncase \x22ok\x22:\nvar map__25013 \x3d info;\nvar map__25013__$1 \x3d cljs.core.__destructure_map(map__25013);\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25013__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25013__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar time_start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25013__$1,new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745));\nvar time_finish \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25013__$1,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653));\nvar val \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(results)))?cljs.core.first(results):results);\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,val,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid,new cljs.core.Keyword(null,\x22eval-ms\x22,\x22eval-ms\x22,788821074),(time_finish - time_start),new cljs.core.Keyword(null,\x22eval-ns\x22,\x22eval-ns\x22,-915623795),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(info),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ndefault:\nreturn console.error(\x22Unhandled cljs-eval result\x22,info);\n\n}\n}));\n});\nshadow.remote.runtime.eval_support.js_eval \x3d (function shadow$remote$runtime$eval_support$js_eval(p__25026,p__25027){\nvar map__25028 \x3d p__25026;\nvar map__25028__$1 \x3d cljs.core.__destructure_map(map__25028);\nvar svc \x3d map__25028__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25028__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25028__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__25029 \x3d p__25027;\nvar map__25029__$1 \x3d cljs.core.__destructure_map(map__25029);\nvar msg \x3d map__25029__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25029__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\ntry{var res \x3d shadow.remote.runtime.api.js_eval(runtime,code);\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,res,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22js-code\x22,\x22js-code\x22,1816578331),code], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid], null));\n}catch (e25030){var e \x3d e25030;\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-error\x22,\x22eval-error\x22,466139568),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),e.message], null));\n}});\nshadow.remote.runtime.eval_support.start \x3d (function shadow$remote$runtime$eval_support$start(runtime,obj_support){\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support], null);\nshadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22js-eval\x22,\x22js-eval\x22,-137738892),(function (p1__25031_SHARP_){\nreturn shadow.remote.runtime.eval_support.js_eval(svc,p1__25031_SHARP_);\n}),new cljs.core.Keyword(null,\x22cljs-eval\x22,\x22cljs-eval\x22,1860675817),(function (p1__25032_SHARP_){\nreturn shadow.remote.runtime.eval_support.cljs_eval(svc,p1__25032_SHARP_);\n})], null)], null));\n\nreturn svc;\n});\nshadow.remote.runtime.eval_support.stop \x3d (function shadow$remote$runtime$eval_support$stop(p__25057){\nvar map__25058 \x3d p__25057;\nvar map__25058__$1 \x3d cljs.core.__destructure_map(map__25058);\nvar svc \x3d map__25058__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25058__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625));\n});\n"); -SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.shared.js", true , "goog.provide(\x27shadow.cljs.devtools.client.shared\x27);\ngoog.scope(function(){\n shadow.cljs.devtools.client.shared.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IRemote \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_25428 \x3d (function (this$,e){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5394__auto__.call(null,this$,e));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5392__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-open\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_open \x3d (function shadow$cljs$devtools$client$shared$remote_open(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_25428(this$,e);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_25429 \x3d (function (this$,msg){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5394__auto__.call(null,this$,msg));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5392__auto__.call(null,this$,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-msg\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_msg \x3d (function shadow$cljs$devtools$client$shared$remote_msg(this$,msg){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2(this$,msg);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_25429(this$,msg);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_25430 \x3d (function (this$,e,info){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5394__auto__.call(null,this$,e,info));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5392__auto__.call(null,this$,e,info));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-close\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_close \x3d (function shadow$cljs$devtools$client$shared$remote_close(this$,e,info){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3(this$,e,info);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_25430(this$,e,info);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_25431 \x3d (function (this$,e){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5394__auto__.call(null,this$,e));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5392__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-error\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_error \x3d (function shadow$cljs$devtools$client$shared$remote_error(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_25431(this$,e);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IHostSpecific \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_25432 \x3d (function (this$,action,done,error){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5394__auto__.call(null,this$,action,done,error));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5392__auto__.call(null,this$,action,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-init\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_init \x3d (function shadow$cljs$devtools$client$shared$do_repl_init(this$,action,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4(this$,action,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_25432(this$,action,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_25433 \x3d (function (this$,require_msg,done,error){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5394__auto__.call(null,this$,require_msg,done,error));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5392__auto__.call(null,this$,require_msg,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-require\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_require \x3d (function shadow$cljs$devtools$client$shared$do_repl_require(this$,require_msg,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4(this$,require_msg,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_25433(this$,require_msg,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_25434 \x3d (function (this$,ns,invoke_msg){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,ns,invoke_msg) : m__5394__auto__.call(null,this$,ns,invoke_msg));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,ns,invoke_msg) : m__5392__auto__.call(null,this$,ns,invoke_msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-invoke\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_invoke \x3d (function shadow$cljs$devtools$client$shared$do_invoke(this$,ns,invoke_msg){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$3 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$3(this$,ns,invoke_msg);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_25434(this$,ns,invoke_msg);\n}\n});\n\nshadow.cljs.devtools.client.shared.load_sources \x3d (function shadow$cljs$devtools$client$shared$load_sources(runtime,sources,callback){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__25111){\nvar map__25112 \x3d p__25111;\nvar map__25112__$1 \x3d cljs.core.__destructure_map(map__25112);\nvar msg \x3d map__25112__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25112__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(sources__$1) : callback.call(null,sources__$1));\n})], null));\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.runtime_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.runtime_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.plugins_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.plugins_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_ \x3d (function shadow$cljs$devtools$client$shared$start_all_plugins_BANG_(p__25129){\nvar map__25130 \x3d p__25129;\nvar map__25130__$1 \x3d cljs.core.__destructure_map(map__25130);\nvar runtime \x3d map__25130__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25130__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar started_set \x3d cljs.core.set(cljs.core.keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar plugins \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref);\nvar plugins_set \x3d cljs.core.set(cljs.core.keys(plugins));\nvar pending_set \x3d clojure.set.difference.cljs$core$IFn$_invoke$arity$2(plugins_set,started_set);\nvar pending_set__$1 \x3d pending_set;\nwhile(true){\nif(cljs.core.empty_QMARK_(pending_set__$1)){\nreturn new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22done!\x22,\x22shadow.cljs.devtools.client.shared/done!\x22,-748632664);\n} else {\nvar G__25435 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (pending_set__$1,started_set,plugins,plugins_set,pending_set,map__25130,map__25130__$1,runtime,state_ref){\nreturn (function (pending_set__$2,plugin_id){\nvar map__25133 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(plugins,plugin_id);\nvar map__25133__$1 \x3d cljs.core.__destructure_map(map__25133);\nvar plugin \x3d map__25133__$1;\nvar depends_on \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25133__$1,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022));\nvar init_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25133__$1,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971));\nif(cljs.core.truth_(cljs.core.some(pending_set__$2,depends_on))){\nreturn pending_set__$2;\n} else {\nvar start_arg \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.select_keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)),depends_on),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime);\nvar started \x3d (init_fn.cljs$core$IFn$_invoke$arity$1 ? init_fn.cljs$core$IFn$_invoke$arity$1(start_arg) : init_fn.call(null,start_arg));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null),started);\n\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(pending_set__$2,plugin_id);\n}\n});})(pending_set__$1,started_set,plugins,plugins_set,pending_set,map__25130,map__25130__$1,runtime,state_ref))\n,pending_set__$1,pending_set__$1);\npending_set__$1 \x3d G__25435;\ncontinue;\n\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.shared.add_plugin_BANG_ \x3d (function shadow$cljs$devtools$client$shared$add_plugin_BANG_(plugin_id,depends_on,init_fn,stop_fn){\nif((plugin_id instanceof cljs.core.Keyword)){\n} else {\nthrow (new Error(\x22Assert failed: (keyword? plugin-id)\x22));\n}\n\nif(cljs.core.set_QMARK_(depends_on)){\n} else {\nthrow (new Error(\x22Assert failed: (set? depends-on)\x22));\n}\n\nif(cljs.core.fn_QMARK_(init_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? init-fn)\x22));\n}\n\nif(cljs.core.fn_QMARK_(stop_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? stop-fn)\x22));\n}\n\nvar temp__5808__auto___25436 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto___25436 \x3d\x3d null)){\n} else {\nvar runtime_25437 \x3d temp__5808__auto___25436;\nvar temp__5808__auto___25438__$1 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(runtime_25437,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null));\nif((temp__5808__auto___25438__$1 \x3d\x3d null)){\n} else {\nvar started_25439 \x3d temp__5808__auto___25438__$1;\nvar map__25135_25440 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__25135_25441__$1 \x3d cljs.core.__destructure_map(map__25135_25440);\nvar old_25442 \x3d map__25135_25441__$1;\nvar stop_fn_25443__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25135_25441__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\n(stop_fn_25443__$1.cljs$core$IFn$_invoke$arity$1 ? stop_fn_25443__$1.cljs$core$IFn$_invoke$arity$1(started_25439) : stop_fn_25443__$1.call(null,started_25439));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.cljs.devtools.client.shared.runtime_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([plugin_id], 0));\n}\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.cljs.devtools.client.shared.plugins_ref,cljs.core.assoc,plugin_id,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ext-id\x22,\x22ext-id\x22,-653860474),plugin_id,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022),depends_on,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971),init_fn,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246),stop_fn], null));\n\nvar temp__5808__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar runtime \x3d temp__5808__auto__;\nreturn shadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n}\n});\nshadow.cljs.devtools.client.shared.transit_read \x3d (function shadow$cljs$devtools$client$shared$transit_read(data){\nvar t \x3d cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570));\nreturn cognitect.transit.read(t,data);\n});\nshadow.cljs.devtools.client.shared.transit_str \x3d (function shadow$cljs$devtools$client$shared$transit_str(obj){\nvar w \x3d cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570));\nreturn cognitect.transit.write(w,obj);\n});\nshadow.cljs.devtools.client.shared.continue_BANG_ \x3d (function shadow$cljs$devtools$client$shared$continue_BANG_(state){\nreturn (shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1(state) : shadow.cljs.devtools.client.shared.interpret_actions.call(null,state));\n});\nshadow.cljs.devtools.client.shared.abort_BANG_ \x3d (function shadow$cljs$devtools$client$shared$abort_BANG_(p__25138,action,ex){\nvar map__25139 \x3d p__25138;\nvar map__25139__$1 \x3d cljs.core.__destructure_map(map__25139);\nvar state \x3d map__25139__$1;\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25139__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__25140 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime-error\x22,\x22runtime-error\x22,-2116843646),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341),ex,new cljs.core.Keyword(null,\x22ex-action\x22,\x22ex-action\x22,672251553),action], 0)),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228)], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__25140) : callback.call(null,G__25140));\n});\nshadow.cljs.devtools.client.shared.handle_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_invoke(state,runtime,action){\nvar res \x3d shadow.cljs.devtools.client.shared.do_invoke(runtime,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(state),action);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn state;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,res);\n}\n});\nshadow.cljs.devtools.client.shared.handle_repl_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_repl_invoke(state,runtime,action){\ntry{var ret \x3d shadow.cljs.devtools.client.shared.do_invoke(runtime,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(state),action);\n(cljs.core._STAR_3 \x3d cljs.core._STAR_2);\n\n(cljs.core._STAR_2 \x3d cljs.core._STAR_1);\n\n(cljs.core._STAR_1 \x3d ret);\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn state;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,ret);\n}\n}catch (e25144){var e \x3d e25144;\n(cljs.core._STAR_e \x3d e);\n\nthrow e;\n}});\nshadow.cljs.devtools.client.shared.interpret_action \x3d (function shadow$cljs$devtools$client$shared$interpret_action(p__25146,p__25147){\nvar map__25148 \x3d p__25146;\nvar map__25148__$1 \x3d cljs.core.__destructure_map(map__25148);\nvar state \x3d map__25148__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25148__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__25149 \x3d p__25147;\nvar map__25149__$1 \x3d cljs.core.__destructure_map(map__25149);\nvar action \x3d map__25149__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25149__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar G__25150 \x3d type;\nvar G__25150__$1 \x3d (((G__25150 instanceof cljs.core.Keyword))?G__25150.fqn:null);\nswitch (G__25150__$1) {\ncase \x22repl/init\x22:\nreturn shadow.cljs.devtools.client.shared.do_repl_init(runtime,action,(function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime),cljs.core.assoc,new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484),true);\n\nreturn shadow.cljs.devtools.client.shared.continue_BANG_(state);\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/set-ns\x22:\nvar map__25151 \x3d action;\nvar map__25151__$1 \x3d cljs.core.__destructure_map(map__25151);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25151__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25151__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__25152 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__25152,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__25152;\n}\n})());\n\nbreak;\ncase \x22repl/require\x22:\nvar map__25153 \x3d action;\nvar map__25153__$1 \x3d cljs.core.__destructure_map(map__25153);\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25153__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.do_repl_require(runtime,action,(function (sources){\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__25154 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),cljs.core.into,sources);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__25154,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__25154;\n}\n})());\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/invoke\x22:\ntry{var repl \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22repl\x22,\x22repl\x22,-35398667)], null));\nvar invoke_fn \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d repl;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action));\n} else {\nreturn and__5043__auto__;\n}\n})())?shadow.cljs.devtools.client.shared.handle_repl_invoke:shadow.cljs.devtools.client.shared.handle_invoke);\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((invoke_fn.cljs$core$IFn$_invoke$arity$3 ? invoke_fn.cljs$core$IFn$_invoke$arity$3(state,runtime,action) : invoke_fn.call(null,state,runtime,action)));\n}catch (e25155){var ex \x3d e25155;\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}\nbreak;\ndefault:\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unhandled repl action\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22state\x22,\x22state\x22,-1988618099),state,new cljs.core.Keyword(null,\x22action\x22,\x22action\x22,-811238024),action], null));\n\n}\n});\nshadow.cljs.devtools.client.shared.interpret_actions \x3d (function shadow$cljs$devtools$client$shared$interpret_actions(p__25157){\nvar map__25158 \x3d p__25157;\nvar map__25158__$1 \x3d cljs.core.__destructure_map(map__25158);\nvar state \x3d map__25158__$1;\nvar queue \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25158__$1,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25158__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.empty_QMARK_(queue)){\nvar map__25159 \x3d state;\nvar map__25159__$1 \x3d cljs.core.__destructure_map(map__25159);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25159__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__25160 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now());\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__25160) : callback.call(null,G__25160));\n} else {\nif(((cljs.core.seq(warnings)) \x26\x26 (shadow.cljs.devtools.client.env.ignore_warnings \x3d\x3d\x3d false))){\nvar map__25161 \x3d state;\nvar map__25161__$1 \x3d cljs.core.__destructure_map(map__25161);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25161__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__25162 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now()], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__25162) : callback.call(null,G__25162));\n} else {\nvar action \x3d cljs.core.first(queue);\nvar state__$1 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.core.rest);\nreturn shadow.cljs.devtools.client.shared.interpret_action(state__$1,action);\n\n}\n}\n});\nshadow.cljs.devtools.client.shared.setup_actions \x3d (function shadow$cljs$devtools$client$shared$setup_actions(runtime,input,p__25166,callback){\nvar map__25169 \x3d p__25166;\nvar map__25169__$1 \x3d cljs.core.__destructure_map(map__25169);\nvar msg \x3d map__25169__$1;\nvar actions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25169__$1,new cljs.core.Keyword(null,\x22actions\x22,\x22actions\x22,-812656882));\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745),new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113)],[actions,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(input),msg,cljs.core.PersistentVector.EMPTY,cljs.core.vec(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([actions], 0))),new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),runtime,input,callback,Date.now(),cljs.core.PersistentVector.EMPTY]);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {shadow.cljs.devtools.client.shared.IRemote}\n * @implements {shadow.remote.runtime.api.IRuntime}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {shadow.remote.runtime.api.IEvalCLJS}\n*/\nshadow.cljs.devtools.client.shared.Runtime \x3d (function (state_ref,__meta,__extmap,__hash){\nthis.state_ref \x3d state_ref;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.cljs.devtools.client.shared.Runtime.prototype.attempt_connect_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__25203 \x3d cljs.core.deref(self__.state_ref);\nvar map__25203__$1 \x3d cljs.core.__destructure_map(map__25203);\nvar state \x3d map__25203__$1;\nvar ws_connecting \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25203__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25203__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25203__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25203__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25203__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25203__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar ws_start_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25203__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682));\nif(((cljs.core.not(shutdown)) \x26\x26 (((cljs.core.not(stale)) \x26\x26 (cljs.core.not(ws_connecting)))))){\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\nvar ws_state__$1 \x3d (ws_start_fn.cljs$core$IFn$_invoke$arity$1 ? ws_start_fn.cljs$core$IFn$_invoke$arity$1(this$) : ws_start_fn.call(null,this$));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656),ws_state__$1], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.schedule_connect_BANG_ \x3d (function (after){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__25220 \x3d cljs.core.deref(self__.state_ref);\nvar map__25220__$1 \x3d cljs.core.__destructure_map(map__25220);\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25220__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25220__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25220__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif(((cljs.core.not(stale)) \x26\x26 (cljs.core.not(shutdown)))){\nshadow.remote.runtime.shared.trigger_BANG_(this$,new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043),setTimeout((function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\n\nreturn this$.attempt_connect_BANG_();\n}),after));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k25185,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__25228 \x3d k25185;\nvar G__25228__$1 \x3d (((G__25228 instanceof cljs.core.Keyword))?G__25228.fqn:null);\nswitch (G__25228__$1) {\ncase \x22state-ref\x22:\nreturn self__.state_ref;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k25185,else__5346__auto__);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__25229){\nvar vec__25234 \x3d p__25229;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25234,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__25234,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.cljs.devtools.client.shared.Runtime{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref],null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__25184){\nvar self__ \x3d this;\nvar G__25184__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__25184__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (1 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (229736719 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this25186,other25187){\nvar self__ \x3d this;\nvar this25186__$1 \x3d this;\nreturn (((!((other25187 \x3d\x3d null)))) \x26\x26 ((((this25186__$1.constructor \x3d\x3d\x3d other25187.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this25186__$1.state_ref,other25187.state_ref)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this25186__$1.__extmap,other25187.__extmap)))))));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d (function (this$,input,callback){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(this$__$1,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-compile\x22,\x22cljs-compile\x22,-1735075279),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22include-init\x22,\x22include-init\x22,1061115199),cljs.core.not(new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22cljs-compile-result\x22,\x22cljs-compile-result\x22,-1137644713),(function (msg){\nreturn shadow.cljs.devtools.client.shared.interpret_actions(shadow.cljs.devtools.client.shared.setup_actions(this$__$1,input,msg,callback));\n}),new cljs.core.Keyword(null,\x22cljs-compile-error\x22,\x22cljs-compile-error\x22,-371665768),(function (p__25277){\nvar map__25280 \x3d p__25277;\nvar map__25280__$1 \x3d cljs.core.__destructure_map(map__25280);\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25280__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25280__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar ex_data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25280__$1,new cljs.core.Keyword(null,\x22ex-data\x22,\x22ex-data\x22,-309040259));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25280__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nvar G__25283 \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22compile-error\x22,\x22compile-error\x22,-1313154526),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22ex-data\x22,\x22ex-data\x22,-309040259),ex_data,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__25283) : callback.call(null,G__25283));\n}),new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),(function (msg){\nvar G__25288 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22worker-not-found\x22,\x22worker-not-found\x22,-1848657608)], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__25288) : callback.call(null,G__25288));\n})], null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),true,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now()], 0));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d (function (this$,text){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar msg \x3d shadow.cljs.devtools.client.shared.transit_read(text);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now());\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955).cljs$core$IFn$_invoke$arity$1(msg))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),true);\n} else {\n}\n\nreturn shadow.remote.runtime.shared.process(this$__$1,msg);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d (function (this$,e,info){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\n\nif(((3) \x3e\x3d new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))){\nreturn this$__$1.schedule_connect_BANG_((5000));\n} else {\nreturn console.warn(\x22shadow-cljs: giving up trying to connect to \x22,info);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),cljs.core.inc);\n\nshadow.remote.runtime.shared.trigger_BANG_(this$__$1,new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814));\n\nreturn console.error(\x22shadow-cljs - remote-error\x22,e);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d (function (this$,msg){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar map__25312 \x3d cljs.core.deref(self__.state_ref);\nvar map__25312__$1 \x3d cljs.core.__destructure_map(map__25312);\nvar state \x3d map__25312__$1;\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25312__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25312__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_send_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25312__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866));\nif(cljs.core.not(ws_connected)){\nreturn console.warn(\x22shadow-cljs - dropped ws message, not connected\x22,msg,state);\n} else {\nvar s \x3d (function (){try{return shadow.cljs.devtools.client.shared.transit_str(msg);\n}catch (e25319){var e \x3d e25319;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to encode relay msg\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n}})();\nreturn (ws_send_fn.cljs$core$IFn$_invoke$arity$2 ? ws_send_fn.cljs$core$IFn$_invoke$arity$2(ws_state,s) : ws_send_fn.call(null,ws_state,s));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d (function (runtime,key,spec){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.add_extension(runtime__$1,key,spec);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d (function (runtime,key){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.del_extension(runtime__$1,key);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k25185){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__25339 \x3d k25185;\nvar G__25339__$1 \x3d (((G__25339 instanceof cljs.core.Keyword))?G__25339.fqn:null);\nswitch (G__25339__$1) {\ncase \x22state-ref\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k25185);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__25184){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__25346 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__25347 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__25346.cljs$core$IFn$_invoke$arity$2 ? pred__25346.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__25347) : pred__25346.call(null,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__25347)))){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(G__25184,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__25184),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref,null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__25184){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,G__25184,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state-ref\x22,\x22state-ref\x22,-526560817,null)], null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.cljs.devtools.client.shared/Runtime\x22,null,(1),null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.cljs.devtools.client.shared/Runtime\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.shared/Runtime.\n */\nshadow.cljs.devtools.client.shared.__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$__GT_Runtime(state_ref){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(state_ref,null,null,null));\n});\n\n/**\n * Factory function for shadow.cljs.devtools.client.shared/Runtime, taking a map of keywords to field values.\n */\nshadow.cljs.devtools.client.shared.map__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$map__GT_Runtime(G__25194){\nvar extmap__5385__auto__ \x3d (function (){var G__25379 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__25194,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.record_QMARK_(G__25194)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__25379);\n} else {\nreturn G__25379;\n}\n})();\nreturn (new shadow.cljs.devtools.client.shared.Runtime(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(G__25194),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.print_subs !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.print_subs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$stop_runtime_BANG_(p__25391){\nvar map__25392 \x3d p__25391;\nvar map__25392__$1 \x3d cljs.core.__destructure_map(map__25392);\nvar runtime \x3d map__25392__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25392__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__25393 \x3d cljs.core.deref(state_ref);\nvar map__25393__$1 \x3d cljs.core.__destructure_map(map__25393);\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25393__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25393__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar interval \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25393__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585));\nvar plugins \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25393__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855));\nclearInterval(interval);\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\ncljs.core.reduce_kv((function (_,plugin_id,started){\nvar map__25395 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__25395__$1 \x3d cljs.core.__destructure_map(map__25395);\nvar stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25395__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\nreturn (stop_fn.cljs$core$IFn$_invoke$arity$1 ? stop_fn.cljs$core$IFn$_invoke$arity$1(started) : stop_fn.call(null,started));\n}),null,plugins);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),true);\n});\nshadow.cljs.devtools.client.shared.init_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$init_runtime_BANG_(client_info,ws_start_fn,ws_send_fn,ws_stop_fn){\nvar temp__5808__auto___25447 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto___25447 \x3d\x3d null)){\n} else {\nvar runtime_25448 \x3d temp__5808__auto___25447;\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_(runtime_25448);\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,null);\n}\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),cljs.core.PersistentHashSet.EMPTY,(function (p1__25396_SHARP_){\nreturn shadow.remote.runtime.obj_support.start(new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996).cljs$core$IFn$_invoke$arity$1(p1__25396_SHARP_));\n}),shadow.remote.runtime.obj_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22tap-support\x22,\x22tap-support\x22,80346439),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__25398){\nvar map__25399 \x3d p__25398;\nvar map__25399__$1 \x3d cljs.core.__destructure_map(map__25399);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25399__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25399__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.tap_support.start(runtime,obj_support);\n}),shadow.remote.runtime.tap_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22eval-support\x22,\x22eval-support\x22,-1581799533),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__25400){\nvar map__25401 \x3d p__25400;\nvar map__25401__$1 \x3d cljs.core.__destructure_map(map__25401);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25401__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25401__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.eval_support.start(runtime,obj_support);\n}),shadow.remote.runtime.eval_support.stop);\n\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(shadow.remote.runtime.shared.init_state(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(client_info,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lang\x22,\x22lang\x22,-1819677104),new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),new cljs.core.Keyword(null,\x22build-id\x22,\x22build-id\x22,1642831089),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id),new cljs.core.Keyword(null,\x22worker-id\x22,\x22worker-id\x22,644510040),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22proc-id\x22,\x22proc-id\x22,-1856109278),shadow.cljs.devtools.client.env.proc_id], 0))),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),false,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682),ws_start_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866),ws_send_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255),ws_stop_fn], 0)));\nvar runtime \x3d (function (){var G__25403 \x3d shadow.cljs.devtools.client.shared.__GT_Runtime(state_ref);\nshadow.remote.runtime.shared.add_defaults(G__25403);\n\nreturn G__25403;\n})();\nvar idle_fn \x3d (function (){\nvar map__25404 \x3d cljs.core.deref(state_ref);\nvar map__25404__$1 \x3d cljs.core.__destructure_map(map__25404);\nvar state \x3d map__25404__$1;\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25404__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25404__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_last_msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25404__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25404__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(ws_connect_timeout);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.not(shutdown);\nif(and__5043__auto____$1){\nvar and__5043__auto____$2 \x3d ws_connected;\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn (shadow.remote.runtime.shared.now() \x3e (ws_last_msg + (20000)));\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\n\nruntime.schedule_connect_BANG_((2000));\n} else {\n}\n\nreturn shadow.remote.runtime.shared.run_on_idle(state_ref);\n});\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585),setInterval(idle_fn,(1000)));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,runtime);\n\n(goog.global.cljs_eval \x3d (function (input,opts){\nvar input__$1 \x3d ((cljs.core.map_QMARK_(input))?input:((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.not(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Symbol(null,\x22cljs.user\x22,\x22cljs.user\x22,877795071,null)], null):((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.object_QMARK_(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.shared.goog$module$goog$object.get(opts,\x22ns\x22))], null):(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid arguments, call cljs_eval(string, opts-obj) or cljs_eval(map)\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts], null))})()\n)));\nreturn (new Promise((function (resolve,reject){\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input__$1,(function (p__25417){\nvar map__25418 \x3d p__25417;\nvar map__25418__$1 \x3d cljs.core.__destructure_map(map__25418);\nvar info \x3d map__25418__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25418__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25418__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),result)){\nvar G__25419 \x3d cljs.core.last(results);\nreturn (resolve.cljs$core$IFn$_invoke$arity$1 ? resolve.cljs$core$IFn$_invoke$arity$1(G__25419) : resolve.call(null,G__25419));\n} else {\nreturn (reject.cljs$core$IFn$_invoke$arity$1 ? reject.cljs$core$IFn$_invoke$arity$1(info) : reject.call(null,info));\n}\n}));\n})));\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22print-support\x22,\x22shadow.cljs.devtools.client.shared/print-support\x22,-1090548637),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22runtime-print-sub\x22,\x22runtime-print-sub\x22,1832904759),(function (p__25420){\nvar map__25421 \x3d p__25420;\nvar map__25421__$1 \x3d cljs.core.__destructure_map(map__25421);\nvar msg \x3d map__25421__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25421__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.conj,from);\n\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-notify\x22,\x22request-notify\x22,351029173),new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),from], null)], null));\n}),new cljs.core.Keyword(null,\x22runtime-print-unsub\x22,\x22runtime-print-unsub\x22,2055442536),(function (p__25422){\nvar map__25423 \x3d p__25422;\nvar map__25423__$1 \x3d cljs.core.__destructure_map(map__25423);\nvar msg \x3d map__25423__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25423__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,from);\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),(function (p__25424){\nvar map__25425 \x3d p__25424;\nvar map__25425__$1 \x3d cljs.core.__destructure_map(map__25425);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25425__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25425__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n} else {\nreturn null;\n}\n})], null),new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),(function (p__25426){\nvar map__25427 \x3d p__25426;\nvar map__25427__$1 \x3d cljs.core.__destructure_map(map__25427);\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__25427__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n})], null));\n\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_();\n\nshadow.cljs.devtools.client.env.set_print_fns_BANG_((function (stream,text){\nvar subs \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.print_subs);\nif(cljs.core.seq(subs)){\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22runtime-print\x22,\x22runtime-print\x22,-1950604603),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),subs,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),stream,new cljs.core.Keyword(null,\x22text\x22,\x22text\x22,-1790561697),text], null));\n} else {\nreturn null;\n}\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shared\x22,\x22shadow.cljs.devtools.client.shared/shared\x22,85374117),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-notify\x22,\x22request-notify\x22,351029173),new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(\x22shadow.cljs.model\x22,\x22worker-for\x22,\x22shadow.cljs.model/worker-for\x22,-228262107),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id)], null)], null));\n})], null));\n\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n\nreturn runtime.attempt_connect_BANG_();\n});\n"); -SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.hud.js", true , "goog.provide(\x27shadow.cljs.devtools.client.hud\x27);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_progress \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_progress\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_warnings\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_errors \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_errors\x22,true);\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud.dom_available_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.hud.dom_available_QMARK_ \x3d (!((goog.global.document \x3d\x3d null)));\n}\nshadow.cljs.devtools.client.hud.open_file \x3d (function shadow$cljs$devtools$client$hud$open_file(file,line,column){\nconsole.log(\x22opening file\x22,file,line,column);\n\nreturn fetch([shadow.cljs.devtools.client.env.get_url_base(),\x22/api/open-file\x22].join(\x27\x27),({\x22method\x22: \x22POST\x22, \x22cache\x22: \x22no-cache\x22, \x22mode\x22: \x22cors\x22, \x22body\x22: shadow.cljs.devtools.client.shared.transit_str(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null))})).then((function (p1__27302_SHARP_){\nreturn p1__27302_SHARP_.text();\n})).then((function (result_text){\nvar data \x3d shadow.cljs.devtools.client.shared.transit_read(result_text);\nreturn console.log(\x22open file result\x22,data);\n}));\n});\nshadow.cljs.devtools.client.hud.dom_insert \x3d (function shadow$cljs$devtools$client$hud$dom_insert(var_args){\nvar G__27304 \x3d arguments.length;\nswitch (G__27304) {\ncase 1:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2(document.body,node);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2 \x3d (function (where,node){\nvar el \x3d shadow.dom.dom_node(node);\nvar id \x3d el.id;\nif(cljs.core.seq(id)){\n} else {\nthrow (new Error(\x22Assert failed: (seq id)\x22));\n}\n\nvar temp__5808__auto___27357 \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(id);\nif((temp__5808__auto___27357 \x3d\x3d null)){\n} else {\nvar x_27358 \x3d temp__5808__auto___27357;\nshadow.dom.remove(x_27358);\n}\n\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(where,el);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.hud_id \x3d \x22shadow-hud-container\x22;\nshadow.cljs.devtools.client.hud.load_id \x3d \x22shadow-hud-loading-container\x22;\nshadow.cljs.devtools.client.hud.logo_svg \x3d (new cljs.core.Delay((function (){\nvar s_path \x3d \x22M247.183941,141.416413 C247.183941,74.7839971 148.383423,78.9723529 148.383423,141.416413 C148.383423,203.860473 265.090698,171.864644 265.090698,248.900057 C265.090698,325.93547 135,325.851749 135,251.708304\x22;\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),\x22shadow-cljs-logo\x22,new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698),\x221.1\x22,new cljs.core.Keyword(null,\x22viewBox\x22,\x22viewBox\x22,-469489477),\x220 0 400 400\x22,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),\x22block\x22], null),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),\x2260px\x22,new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x2260px\x22], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22title\x22,\x22title\x22,636505583),\x22shadow-cljs\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22defs\x22,\x22defs\x22,1398449717),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mask#shadow-cljs-logo-mask\x22,\x22mask#shadow-cljs-logo-mask\x22,1690487509),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#fff\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22], null)], null)], null)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22fill-rule\x22,\x22fill-rule\x22,-1824841598),\x22evenodd\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22none\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x220\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22none\x22,new cljs.core.Keyword(null,\x22mask\x22,\x22mask\x22,-585748447),\x22url(#shadow-cljs-logo-mask)\x22], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g.circles\x22,\x22g.circles\x22,374463200),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.blue\x22,\x22circle.blue\x22,1902916291),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#4F80DF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-blue\x22,\x22circle.light-blue\x22,438137342),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x2271.5\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22370\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#89B4FF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.dark-green\x22,\x22circle.dark-green\x22,608465767),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22180\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22360\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x2260\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#40B400\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-green\x22,\x22circle.light-green\x22,-1663041285),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22129\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22320\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22280\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#76E013\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22animateTransform\x22,\x22animateTransform\x22,759329815),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22attributeType\x22,\x22attributeType\x22,1055561918),\x22xml\x22,new cljs.core.Keyword(null,\x22attributeName\x22,\x22attributeName\x22,-400177890),\x22transform\x22,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),\x22rotate\x22,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),\x220 200 200\x22,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),\x22360 200 200\x22,new cljs.core.Keyword(null,\x22dur\x22,\x22dur\x22,1464522452),\x223s\x22,new cljs.core.Keyword(null,\x22repeatCount\x22,\x22repeatCount\x22,1447663848),\x22indefinite\x22], null)], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),\x22translate(10,10)\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#aaa\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#FFFFFF\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null)], 0));\n}),null));\nshadow.cljs.devtools.client.hud.load_start \x3d (function shadow$cljs$devtools$client$hud$load_start(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.load_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),\x2240px\x22,new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),\x2240px\x22,new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),\x222px 2px 10px #aaa\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22], null)], null),cljs.core.deref(shadow.cljs.devtools.client.hud.logo_svg)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end_success \x3d (function shadow$cljs$devtools$client$hud$load_end_success(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar container_el \x3d temp__5808__auto__;\nvar el \x3d container_el.firstChild;\nshadow.animate.start((500),cljs.core.PersistentArrayMap.createAsIfByAssoc([el,shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,\x22#40B400\x22,\x22ease-out\x22)]));\n\nvar c__18542__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__18543__auto__ \x3d (function (){var switch__18256__auto__ \x3d (function (state_27317){\nvar state_val_27318 \x3d (state_27317[(1)]);\nif((state_val_27318 \x3d\x3d\x3d (1))){\nvar inst_27305 \x3d cljs.core.async.timeout((250));\nvar state_27317__$1 \x3d state_27317;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_27317__$1,(2),inst_27305);\n} else {\nif((state_val_27318 \x3d\x3d\x3d (2))){\nvar inst_27307 \x3d (state_27317[(2)]);\nvar inst_27308 \x3d [el];\nvar inst_27309 \x3d shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,\x22ease-in\x22);\nvar inst_27310 \x3d [inst_27309];\nvar inst_27311 \x3d cljs.core.PersistentHashMap.fromArrays(inst_27308,inst_27310);\nvar inst_27312 \x3d shadow.animate.start((250),inst_27311);\nvar state_27317__$1 \x3d (function (){var statearr_27319 \x3d state_27317;\n(statearr_27319[(7)] \x3d inst_27307);\n\nreturn statearr_27319;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_27317__$1,(3),inst_27312);\n} else {\nif((state_val_27318 \x3d\x3d\x3d (3))){\nvar inst_27314 \x3d (state_27317[(2)]);\nvar inst_27315 \x3d shadow.dom.remove(container_el);\nvar state_27317__$1 \x3d (function (){var statearr_27320 \x3d state_27317;\n(statearr_27320[(8)] \x3d inst_27314);\n\nreturn statearr_27320;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_27317__$1,inst_27315);\n} else {\nreturn null;\n}\n}\n}\n});\nreturn (function() {\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto__ \x3d null;\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto____0 \x3d (function (){\nvar statearr_27321 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_27321[(0)] \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto__);\n\n(statearr_27321[(1)] \x3d (1));\n\nreturn statearr_27321;\n});\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto____1 \x3d (function (state_27317){\nwhile(true){\nvar ret_value__18258__auto__ \x3d (function (){try{while(true){\nvar result__18259__auto__ \x3d switch__18256__auto__(state_27317);\nif(cljs.core.keyword_identical_QMARK_(result__18259__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__18259__auto__;\n}\nbreak;\n}\n}catch (e27322){var ex__18260__auto__ \x3d e27322;\nvar statearr_27323_27361 \x3d state_27317;\n(statearr_27323_27361[(2)] \x3d ex__18260__auto__);\n\n\nif(cljs.core.seq((state_27317[(4)]))){\nvar statearr_27324_27362 \x3d state_27317;\n(statearr_27324_27362[(1)] \x3d cljs.core.first((state_27317[(4)])));\n\n} else {\nthrow ex__18260__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__18258__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__27363 \x3d state_27317;\nstate_27317 \x3d G__27363;\ncontinue;\n} else {\nreturn ret_value__18258__auto__;\n}\nbreak;\n}\n});\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto__ \x3d function(state_27317){\nswitch(arguments.length){\ncase 0:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto____0.call(this);\ncase 1:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto____1.call(this,state_27317);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto____0;\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto____1;\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__18257__auto__;\n})()\n})();\nvar state__18544__auto__ \x3d (function (){var statearr_27325 \x3d f__18543__auto__();\n(statearr_27325[(6)] \x3d c__18542__auto__);\n\nreturn statearr_27325;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__18544__auto__);\n}));\n\nreturn c__18542__auto__;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end \x3d (function shadow$cljs$devtools$client$hud$load_end(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar el \x3d temp__5808__auto__;\nreturn shadow.dom.remove(el);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_hide \x3d (function shadow$cljs$devtools$client$hud$hud_hide(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.hud_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar d \x3d temp__5808__auto__;\nreturn shadow.dom.remove(d);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.source_line_styles \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x220\x22,new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),\x220\x22], null);\nshadow.cljs.devtools.client.hud.source_highlight_styles \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.hud.source_line_styles,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22);\nshadow.cljs.devtools.client.hud.source_line_html \x3d (function shadow$cljs$devtools$client$hud$source_line_html(start_idx,lines,styles){\nvar iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$hud$source_line_html_$_iter__27326(s__27327){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__27327__$1 \x3d s__27327;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__27327__$1);\nif(temp__5804__auto__){\nvar s__27327__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__27327__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__27327__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__27329 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__27328 \x3d (0);\nwhile(true){\nif((i__27328 \x3c size__5522__auto__)){\nvar vec__27330 \x3d cljs.core._nth(c__5521__auto__,i__27328);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27330,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27330,(1),null);\ncljs.core.chunk_append(b__27329,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null));\n\nvar G__27364 \x3d (i__27328 + (1));\ni__27328 \x3d G__27364;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27329),shadow$cljs$devtools$client$hud$source_line_html_$_iter__27326(cljs.core.chunk_rest(s__27327__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27329),null);\n}\n} else {\nvar vec__27333 \x3d cljs.core.first(s__27327__$2);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27333,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27333,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null),shadow$cljs$devtools$client$hud$source_line_html_$_iter__27326(cljs.core.rest(s__27327__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,lines));\n});\nshadow.cljs.devtools.client.hud.sep_length \x3d (80);\nshadow.cljs.devtools.client.hud.sep_line \x3d (function shadow$cljs$devtools$client$hud$sep_line(var_args){\nvar G__27337 \x3d arguments.length;\nswitch (G__27337) {\ncase 0:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22\x22,(0));\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2 \x3d (function (label,offset){\nvar sep_len \x3d Math.max(shadow.cljs.devtools.client.hud.sep_length,offset);\nvar len \x3d cljs.core.count(label);\nvar sep \x3d (function (c){\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(c,\x22-\x22));\n});\nreturn [sep(offset),cljs.core.str.cljs$core$IFn$_invoke$arity$1(label),sep((sep_len - (offset + len)))].join(\x27\x27);\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.file_link \x3d (function shadow$cljs$devtools$client$hud$file_link(p__27338){\nvar map__27339 \x3d p__27338;\nvar map__27339__$1 \x3d cljs.core.__destructure_map(map__27339);\nvar warning \x3d map__27339__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27339__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27339__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27339__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27339__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nif(cljs.core.not(file)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),resource_name], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22text-decoration\x22,\x22text-decoration\x22,1836813207),\x22underline\x22,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22blue\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),(function (e){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn shadow.cljs.devtools.client.hud.open_file(file,line,column);\n})], null)], null),resource_name], null);\n}\n});\nshadow.cljs.devtools.client.hud.html_for_warning \x3d (function shadow$cljs$devtools$client$hud$html_for_warning(p__27340){\nvar map__27341 \x3d p__27340;\nvar map__27341__$1 \x3d cljs.core.__destructure_map(map__27341);\nvar warning \x3d map__27341__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27341__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27341__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27341__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27341__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27341__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar source_excerpt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27341__$1,new cljs.core.Keyword(null,\x22source-excerpt\x22,\x22source-excerpt\x22,5665576));\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x2210px\x22], null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22line-height\x22,\x22line-height\x22,1870784992),\x2216px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fadb64\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22WARNING in \x22], null),shadow.cljs.devtools.client.hud.file_link(warning)], null),(cljs.core.truth_(source_excerpt)?(function (){var map__27342 \x3d source_excerpt;\nvar map__27342__$1 \x3d cljs.core.__destructure_map(map__27342);\nvar start_idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27342__$1,new cljs.core.Keyword(null,\x22start-idx\x22,\x22start-idx\x22,-1600773745));\nvar before \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27342__$1,new cljs.core.Keyword(null,\x22before\x22,\x22before\x22,-1633692388));\nvar line__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27342__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar after \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27342__$1,new cljs.core.Keyword(null,\x22after\x22,\x22after\x22,594996914));\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22], null)], null),shadow.cljs.devtools.client.hud.source_line_html(start_idx,before,shadow.cljs.devtools.client.hud.source_line_styles),shadow.cljs.devtools.client.hud.source_line_html((start_idx + cljs.core.count(before)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [line__$1], null),shadow.cljs.devtools.client.hud.source_highlight_styles),(function (){var arrow_idx \x3d ((6) + (function (){var or__5045__auto__ \x3d column;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (1);\n}\n})());\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22^\x22,arrow_idx)], null);\n})(),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 0\x22], null)], null),msg], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0()], null),shadow.cljs.devtools.client.hud.source_line_html(((start_idx + cljs.core.count(before)) + (1)),after,shadow.cljs.devtools.client.hud.source_line_styles)], null);\n})():null)], null);\n});\nshadow.cljs.devtools.client.hud.hud_warnings \x3d (function shadow$cljs$devtools$client$hud$hud_warnings(p__27344){\nvar map__27345 \x3d p__27344;\nvar map__27345__$1 \x3d cljs.core.__destructure_map(map__27345);\nvar msg \x3d map__27345__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27345__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27345__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar map__27346 \x3d info;\nvar map__27346__$1 \x3d cljs.core.__destructure_map(map__27346);\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27346__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar sources_with_warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__27343_SHARP_){\nreturn cljs.core.seq(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651).cljs$core$IFn$_invoke$arity$1(p1__27343_SHARP_));\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827),sources)));\nif(cljs.core.seq(sources_with_warnings)){\nshadow.cljs.devtools.client.hud.load_end();\n\nif(shadow.cljs.devtools.client.hud.show_warnings){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22flex-direction\x22,\x22flex-direction\x22,364609438),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x2210000\x22,\x220px\x22,\x22flex\x22,\x22fixed\x22,\x22monospace\x22,\x22column\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22align-self\x22,\x22align-self\x22,1475936794),\x22flex-end\x22,new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22border-bottom\x22,\x22border-bottom\x22,2110948415),\x220px\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x226px\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x22-2px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),shadow.cljs.devtools.client.hud.hud_hide], null)], null),\x22Close\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22flex\x22,\x22flex\x22,-1425124628),\x221\x22,new cljs.core.Keyword(null,\x22max-height\x22,\x22max-height\x22,-612563804),\x22300px\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px 0\x22,new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),\x22auto\x22], null)], null),(function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__27347(s__27348){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__27348__$1 \x3d s__27348;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__27348__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__27353 \x3d cljs.core.first(xs__6360__auto__);\nvar map__27353__$1 \x3d cljs.core.__destructure_map(map__27353);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27353__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar iterys__5519__auto__ \x3d ((function (s__27348__$1,map__27353,map__27353__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__27346,map__27346__$1,sources,sources_with_warnings,map__27345,map__27345__$1,msg,type,info){\nreturn (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__27347_$_iter__27349(s__27350){\nreturn (new cljs.core.LazySeq(null,((function (s__27348__$1,map__27353,map__27353__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__27346,map__27346__$1,sources,sources_with_warnings,map__27345,map__27345__$1,msg,type,info){\nreturn (function (){\nvar s__27350__$1 \x3d s__27350;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__27350__$1);\nif(temp__5804__auto____$1){\nvar s__27350__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__27350__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__27350__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__27352 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__27351 \x3d (0);\nwhile(true){\nif((i__27351 \x3c size__5522__auto__)){\nvar warning \x3d cljs.core._nth(c__5521__auto__,i__27351);\ncljs.core.chunk_append(b__27352,shadow.cljs.devtools.client.hud.html_for_warning(warning));\n\nvar G__27378 \x3d (i__27351 + (1));\ni__27351 \x3d G__27378;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27352),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__27347_$_iter__27349(cljs.core.chunk_rest(s__27350__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27352),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__27350__$2);\nreturn cljs.core.cons(shadow.cljs.devtools.client.hud.html_for_warning(warning),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__27347_$_iter__27349(cljs.core.rest(s__27350__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__27348__$1,map__27353,map__27353__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__27346,map__27346__$1,sources,sources_with_warnings,map__27345,map__27345__$1,msg,type,info))\n,null,null));\n});})(s__27348__$1,map__27353,map__27353__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__27346,map__27346__$1,sources,sources_with_warnings,map__27345,map__27345__$1,msg,type,info))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(warnings));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,shadow$cljs$devtools$client$hud$hud_warnings_$_iter__27347(cljs.core.rest(s__27348__$1)));\n} else {\nvar G__27379 \x3d cljs.core.rest(s__27348__$1);\ns__27348__$1 \x3d G__27379;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(sources_with_warnings);\n})()], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_error \x3d (function shadow$cljs$devtools$client$hud$hud_error(p__27354){\nvar map__27355 \x3d p__27354;\nvar map__27355__$1 \x3d cljs.core.__destructure_map(map__27355);\nvar msg \x3d map__27355__$1;\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27355__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22top\x22,\x22top\x22,-1856271961),new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x220px\x22,\x22auto\x22,\x22#fff\x22,\x2210000\x22,\x2220px\x22,\x220px\x22,\x22fixed\x22,\x225px solid red\x22,\x22monospace\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),\x22color: red; margin-bottom: 10px; font-size: 2em;\x22], null),\x22Compilation failed!\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),report], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error_id \x3d \x22shadow-connection-error\x22;\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_ \x3d (function shadow$cljs$devtools$client$hud$connection_error_clear_BANG_(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.connection_error_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar x \x3d temp__5808__auto__;\nreturn shadow.dom.remove(x);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error \x3d (function shadow$cljs$devtools$client$hud$connection_error(msg){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.connection_error_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874)],[\x222px 2px 10px #aaa\x22,\x22#fff\x22,\x2214px\x22,\x22bold\x22,\x2240px\x22,\x22#c00\x22,\x2210px\x22,\x2240px\x22,\x22monospace\x22])], null),[\x22shadow-cljs - \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_failure \x3d (function shadow$cljs$devtools$client$hud$load_failure(error,task,remaining){\nshadow.cljs.devtools.client.hud.load_end();\n\nconsole.error(\x22reload-failed\x22,error);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22[reload failed] \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(error.message)].join(\x27\x27));\n});\n"); -SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.websocket.js", true , "goog.provide(\x27shadow.cljs.devtools.client.websocket\x27);\nshadow.cljs.devtools.client.websocket.start \x3d (function shadow$cljs$devtools$client$websocket$start(var_args){\nvar G__27300 \x3d arguments.length;\nswitch (G__27300) {\ncase 1:\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$1 \x3d (function (runtime){\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2(WebSocket,runtime);\n}));\n\n(shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2 \x3d (function (ws_impl,runtime){\nvar ws_url \x3d shadow.cljs.devtools.client.env.get_ws_relay_url();\nvar socket \x3d (new ws_impl(ws_url));\n(socket.onmessage \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_msg(runtime,e.data);\n}));\n\n(socket.onopen \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_open(runtime,e);\n}));\n\n(socket.onclose \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_close(runtime,e,ws_url);\n}));\n\n(socket.onerror \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_error(runtime,e);\n}));\n\nreturn socket;\n}));\n\n(shadow.cljs.devtools.client.websocket.start.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.websocket.send \x3d (function shadow$cljs$devtools$client$websocket$send(socket,msg){\nreturn socket.send(msg);\n});\nshadow.cljs.devtools.client.websocket.stop \x3d (function shadow$cljs$devtools$client$websocket$stop(socket){\n(socket.onopen \x3d null);\n\n(socket.onclose \x3d null);\n\n(socket.onmessage \x3d null);\n\n(socket.onerror \x3d null);\n\nreturn socket.close();\n});\n"); -SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.browser.js", true , "goog.provide(\x27shadow.cljs.devtools.client.browser\x27);\nshadow.cljs.devtools.client.browser.devtools_msg \x3d (function shadow$cljs$devtools$client$browser$devtools_msg(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___27644 \x3d arguments.length;\nvar i__5770__auto___27645 \x3d (0);\nwhile(true){\nif((i__5770__auto___27645 \x3c len__5769__auto___27644)){\nargs__5775__auto__.push((arguments[i__5770__auto___27645]));\n\nvar G__27646 \x3d (i__5770__auto___27645 + (1));\ni__5770__auto___27645 \x3d G__27646;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (msg,args){\nif(shadow.cljs.devtools.client.env.log){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.log_style)){\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22%cshadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27),shadow.cljs.devtools.client.env.log_style], null),args)));\n} else {\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22shadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null),args)));\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$applyTo \x3d (function (seq27359){\nvar G__27360 \x3d cljs.core.first(seq27359);\nvar seq27359__$1 \x3d cljs.core.next(seq27359);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27360,seq27359__$1);\n}));\n\nshadow.cljs.devtools.client.browser.script_eval \x3d (function shadow$cljs$devtools$client$browser$script_eval(code){\nreturn goog.globalEval(code);\n});\nshadow.cljs.devtools.client.browser.do_js_load \x3d (function shadow$cljs$devtools$client$browser$do_js_load(sources){\nvar seq__27366 \x3d cljs.core.seq(sources);\nvar chunk__27367 \x3d null;\nvar count__27368 \x3d (0);\nvar i__27369 \x3d (0);\nwhile(true){\nif((i__27369 \x3c count__27368)){\nvar map__27374 \x3d chunk__27367.cljs$core$IIndexed$_nth$arity$2(null,i__27369);\nvar map__27374__$1 \x3d cljs.core.__destructure_map(map__27374);\nvar src \x3d map__27374__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27374__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27374__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27374__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27374__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e27375){var e_27647 \x3d e27375;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_27647);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_27647.message)].join(\x27\x27)));\n}\n\nvar G__27648 \x3d seq__27366;\nvar G__27649 \x3d chunk__27367;\nvar G__27650 \x3d count__27368;\nvar G__27651 \x3d (i__27369 + (1));\nseq__27366 \x3d G__27648;\nchunk__27367 \x3d G__27649;\ncount__27368 \x3d G__27650;\ni__27369 \x3d G__27651;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27366);\nif(temp__5804__auto__){\nvar seq__27366__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27366__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27366__$1);\nvar G__27652 \x3d cljs.core.chunk_rest(seq__27366__$1);\nvar G__27653 \x3d c__5568__auto__;\nvar G__27654 \x3d cljs.core.count(c__5568__auto__);\nvar G__27655 \x3d (0);\nseq__27366 \x3d G__27652;\nchunk__27367 \x3d G__27653;\ncount__27368 \x3d G__27654;\ni__27369 \x3d G__27655;\ncontinue;\n} else {\nvar map__27376 \x3d cljs.core.first(seq__27366__$1);\nvar map__27376__$1 \x3d cljs.core.__destructure_map(map__27376);\nvar src \x3d map__27376__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27376__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27376__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27376__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27376__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e27377){var e_27656 \x3d e27377;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_27656);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_27656.message)].join(\x27\x27)));\n}\n\nvar G__27657 \x3d cljs.core.next(seq__27366__$1);\nvar G__27658 \x3d null;\nvar G__27659 \x3d (0);\nvar G__27660 \x3d (0);\nseq__27366 \x3d G__27657;\nchunk__27367 \x3d G__27658;\ncount__27368 \x3d G__27659;\ni__27369 \x3d G__27660;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.do_js_reload \x3d (function shadow$cljs$devtools$client$browser$do_js_reload(msg,sources,complete_fn,failure_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(msg,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765),(function (fn_sym){\nreturn null;\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call async \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n})], 0)),(function (){\nreturn shadow.cljs.devtools.client.browser.do_js_load(sources);\n}),complete_fn,failure_fn);\n});\n/**\n * when (require \x27[\x22some-str\x22 :as x]) is done at the REPL we need to manually call the shadow.js.require for it\n * since the file only adds the shadow$provide. only need to do this for shadow-js.\n */\nshadow.cljs.devtools.client.browser.do_js_requires \x3d (function shadow$cljs$devtools$client$browser$do_js_requires(js_requires){\nvar seq__27380 \x3d cljs.core.seq(js_requires);\nvar chunk__27381 \x3d null;\nvar count__27382 \x3d (0);\nvar i__27383 \x3d (0);\nwhile(true){\nif((i__27383 \x3c count__27382)){\nvar js_ns \x3d chunk__27381.cljs$core$IIndexed$_nth$arity$2(null,i__27383);\nvar require_str_27661 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_27661);\n\n\nvar G__27662 \x3d seq__27380;\nvar G__27663 \x3d chunk__27381;\nvar G__27664 \x3d count__27382;\nvar G__27665 \x3d (i__27383 + (1));\nseq__27380 \x3d G__27662;\nchunk__27381 \x3d G__27663;\ncount__27382 \x3d G__27664;\ni__27383 \x3d G__27665;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27380);\nif(temp__5804__auto__){\nvar seq__27380__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27380__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27380__$1);\nvar G__27666 \x3d cljs.core.chunk_rest(seq__27380__$1);\nvar G__27667 \x3d c__5568__auto__;\nvar G__27668 \x3d cljs.core.count(c__5568__auto__);\nvar G__27669 \x3d (0);\nseq__27380 \x3d G__27666;\nchunk__27381 \x3d G__27667;\ncount__27382 \x3d G__27668;\ni__27383 \x3d G__27669;\ncontinue;\n} else {\nvar js_ns \x3d cljs.core.first(seq__27380__$1);\nvar require_str_27670 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_27670);\n\n\nvar G__27671 \x3d cljs.core.next(seq__27380__$1);\nvar G__27672 \x3d null;\nvar G__27673 \x3d (0);\nvar G__27674 \x3d (0);\nseq__27380 \x3d G__27671;\nchunk__27381 \x3d G__27672;\ncount__27382 \x3d G__27673;\ni__27383 \x3d G__27674;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.handle_build_complete \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete(runtime,p__27385){\nvar map__27386 \x3d p__27385;\nvar map__27386__$1 \x3d cljs.core.__destructure_map(map__27386);\nvar msg \x3d map__27386__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27386__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27386__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__27387(s__27388){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__27388__$1 \x3d s__27388;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__27388__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__27393 \x3d cljs.core.first(xs__6360__auto__);\nvar map__27393__$1 \x3d cljs.core.__destructure_map(map__27393);\nvar src \x3d map__27393__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27393__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27393__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5519__auto__ \x3d ((function (s__27388__$1,map__27393,map__27393__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__27386,map__27386__$1,msg,info,reload_info){\nreturn (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__27387_$_iter__27389(s__27390){\nreturn (new cljs.core.LazySeq(null,((function (s__27388__$1,map__27393,map__27393__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__27386,map__27386__$1,msg,info,reload_info){\nreturn (function (){\nvar s__27390__$1 \x3d s__27390;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__27390__$1);\nif(temp__5804__auto____$1){\nvar s__27390__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__27390__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__27390__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__27392 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__27391 \x3d (0);\nwhile(true){\nif((i__27391 \x3c size__5522__auto__)){\nvar warning \x3d cljs.core._nth(c__5521__auto__,i__27391);\ncljs.core.chunk_append(b__27392,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__27675 \x3d (i__27391 + (1));\ni__27391 \x3d G__27675;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27392),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__27387_$_iter__27389(cljs.core.chunk_rest(s__27390__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__27392),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__27390__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__27387_$_iter__27389(cljs.core.rest(s__27390__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__27388__$1,map__27393,map__27393__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__27386,map__27386__$1,msg,info,reload_info))\n,null,null));\n});})(s__27388__$1,map__27393,map__27393__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__27386,map__27386__$1,msg,info,reload_info))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(warnings));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__27387(cljs.core.rest(s__27388__$1)));\n} else {\nvar G__27676 \x3d cljs.core.rest(s__27388__$1);\ns__27388__$1 \x3d G__27676;\ncontinue;\n}\n} else {\nvar G__27677 \x3d cljs.core.rest(s__27388__$1);\ns__27388__$1 \x3d G__27677;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nif(shadow.cljs.devtools.client.env.log){\nvar seq__27394_27678 \x3d cljs.core.seq(warnings);\nvar chunk__27395_27679 \x3d null;\nvar count__27396_27680 \x3d (0);\nvar i__27397_27681 \x3d (0);\nwhile(true){\nif((i__27397_27681 \x3c count__27396_27680)){\nvar map__27400_27682 \x3d chunk__27395_27679.cljs$core$IIndexed$_nth$arity$2(null,i__27397_27681);\nvar map__27400_27683__$1 \x3d cljs.core.__destructure_map(map__27400_27682);\nvar w_27684 \x3d map__27400_27683__$1;\nvar msg_27685__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27400_27683__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_27686 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27400_27683__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_27687 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27400_27683__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_27688 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27400_27683__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_27688),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_27686),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_27687),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_27685__$1)].join(\x27\x27));\n\n\nvar G__27689 \x3d seq__27394_27678;\nvar G__27690 \x3d chunk__27395_27679;\nvar G__27691 \x3d count__27396_27680;\nvar G__27692 \x3d (i__27397_27681 + (1));\nseq__27394_27678 \x3d G__27689;\nchunk__27395_27679 \x3d G__27690;\ncount__27396_27680 \x3d G__27691;\ni__27397_27681 \x3d G__27692;\ncontinue;\n} else {\nvar temp__5804__auto___27693 \x3d cljs.core.seq(seq__27394_27678);\nif(temp__5804__auto___27693){\nvar seq__27394_27694__$1 \x3d temp__5804__auto___27693;\nif(cljs.core.chunked_seq_QMARK_(seq__27394_27694__$1)){\nvar c__5568__auto___27695 \x3d cljs.core.chunk_first(seq__27394_27694__$1);\nvar G__27696 \x3d cljs.core.chunk_rest(seq__27394_27694__$1);\nvar G__27697 \x3d c__5568__auto___27695;\nvar G__27698 \x3d cljs.core.count(c__5568__auto___27695);\nvar G__27699 \x3d (0);\nseq__27394_27678 \x3d G__27696;\nchunk__27395_27679 \x3d G__27697;\ncount__27396_27680 \x3d G__27698;\ni__27397_27681 \x3d G__27699;\ncontinue;\n} else {\nvar map__27401_27700 \x3d cljs.core.first(seq__27394_27694__$1);\nvar map__27401_27701__$1 \x3d cljs.core.__destructure_map(map__27401_27700);\nvar w_27702 \x3d map__27401_27701__$1;\nvar msg_27703__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27401_27701__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_27704 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27401_27701__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_27705 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27401_27701__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_27706 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27401_27701__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_27706),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_27704),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_27705),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_27703__$1)].join(\x27\x27));\n\n\nvar G__27707 \x3d cljs.core.next(seq__27394_27694__$1);\nvar G__27708 \x3d null;\nvar G__27709 \x3d (0);\nvar G__27710 \x3d (0);\nseq__27394_27678 \x3d G__27707;\nchunk__27395_27679 \x3d G__27708;\ncount__27396_27680 \x3d G__27709;\ni__27397_27681 \x3d G__27710;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif((!(shadow.cljs.devtools.client.env.autoload))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(((cljs.core.empty_QMARK_(warnings)) || (shadow.cljs.devtools.client.env.ignore_warnings))){\nvar sources_to_get \x3d shadow.cljs.devtools.client.env.filter_reload_sources(info,reload_info);\nif(cljs.core.not(cljs.core.seq(sources_to_get))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285)], null)))){\n} else {\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22reloading code but no :after-load hooks are configured!\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22https://shadow-cljs.github.io/docs/UsersGuide.html#_lifecycle_hooks\x22], 0));\n}\n\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime,sources_to_get,(function (p1__27384_SHARP_){\nreturn shadow.cljs.devtools.client.browser.do_js_reload(msg,p1__27384_SHARP_,shadow.cljs.devtools.client.hud.load_end_success,shadow.cljs.devtools.client.hud.load_failure);\n}));\n}\n} else {\nreturn null;\n}\n}\n});\nshadow.cljs.devtools.client.browser.page_load_uri \x3d (cljs.core.truth_(goog.global.document)?goog.Uri.parse(document.location.href):null);\nshadow.cljs.devtools.client.browser.match_paths \x3d (function shadow$cljs$devtools$client$browser$match_paths(old,new$){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22file\x22,shadow.cljs.devtools.client.browser.page_load_uri.getScheme())){\nvar rel_new \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(new$,(1));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(old,rel_new)) || (clojure.string.starts_with_QMARK_(old,[rel_new,\x22?\x22].join(\x27\x27))))){\nreturn rel_new;\n} else {\nreturn null;\n}\n} else {\nvar node_uri \x3d goog.Uri.parse(old);\nvar node_uri_resolved \x3d shadow.cljs.devtools.client.browser.page_load_uri.resolve(node_uri);\nvar node_abs \x3d node_uri_resolved.getPath();\nvar and__5043__auto__ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.browser.page_load_uri.hasSameDomainAs(node_uri))) || (cljs.core.not(node_uri.hasDomain())));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(node_abs,new$);\nif(and__5043__auto____$1){\nreturn new$;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}\n});\nshadow.cljs.devtools.client.browser.handle_asset_update \x3d (function shadow$cljs$devtools$client$browser$handle_asset_update(p__27402){\nvar map__27403 \x3d p__27402;\nvar map__27403__$1 \x3d cljs.core.__destructure_map(map__27403);\nvar msg \x3d map__27403__$1;\nvar updates \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27403__$1,new cljs.core.Keyword(null,\x22updates\x22,\x22updates\x22,2013983452));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27403__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar seq__27404 \x3d cljs.core.seq(updates);\nvar chunk__27406 \x3d null;\nvar count__27407 \x3d (0);\nvar i__27408 \x3d (0);\nwhile(true){\nif((i__27408 \x3c count__27407)){\nvar path \x3d chunk__27406.cljs$core$IIndexed$_nth$arity$2(null,i__27408);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__27518_27711 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__27522_27712 \x3d null;\nvar count__27523_27713 \x3d (0);\nvar i__27524_27714 \x3d (0);\nwhile(true){\nif((i__27524_27714 \x3c count__27523_27713)){\nvar node_27715 \x3d chunk__27522_27712.cljs$core$IIndexed$_nth$arity$2(null,i__27524_27714);\nif(cljs.core.not(node_27715.shadow$old)){\nvar path_match_27716 \x3d shadow.cljs.devtools.client.browser.match_paths(node_27715.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_27716)){\nvar new_link_27717 \x3d (function (){var G__27550 \x3d node_27715.cloneNode(true);\nG__27550.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_27716),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__27550;\n})();\n(node_27715.shadow$old \x3d true);\n\n(new_link_27717.onload \x3d ((function (seq__27518_27711,chunk__27522_27712,count__27523_27713,i__27524_27714,seq__27404,chunk__27406,count__27407,i__27408,new_link_27717,path_match_27716,node_27715,path,map__27403,map__27403__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__27551_27718 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__27553_27719 \x3d null;\nvar count__27554_27720 \x3d (0);\nvar i__27555_27721 \x3d (0);\nwhile(true){\nif((i__27555_27721 \x3c count__27554_27720)){\nvar map__27559_27722 \x3d chunk__27553_27719.cljs$core$IIndexed$_nth$arity$2(null,i__27555_27721);\nvar map__27559_27723__$1 \x3d cljs.core.__destructure_map(map__27559_27722);\nvar task_27724 \x3d map__27559_27723__$1;\nvar fn_str_27725 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27559_27723__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_27726 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27559_27723__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_27727 \x3d goog.getObjectByName(fn_str_27725,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_27726)].join(\x27\x27));\n\n(fn_obj_27727.cljs$core$IFn$_invoke$arity$2 ? fn_obj_27727.cljs$core$IFn$_invoke$arity$2(path,new_link_27717) : fn_obj_27727.call(null,path,new_link_27717));\n\n\nvar G__27728 \x3d seq__27551_27718;\nvar G__27729 \x3d chunk__27553_27719;\nvar G__27730 \x3d count__27554_27720;\nvar G__27731 \x3d (i__27555_27721 + (1));\nseq__27551_27718 \x3d G__27728;\nchunk__27553_27719 \x3d G__27729;\ncount__27554_27720 \x3d G__27730;\ni__27555_27721 \x3d G__27731;\ncontinue;\n} else {\nvar temp__5804__auto___27732 \x3d cljs.core.seq(seq__27551_27718);\nif(temp__5804__auto___27732){\nvar seq__27551_27733__$1 \x3d temp__5804__auto___27732;\nif(cljs.core.chunked_seq_QMARK_(seq__27551_27733__$1)){\nvar c__5568__auto___27734 \x3d cljs.core.chunk_first(seq__27551_27733__$1);\nvar G__27735 \x3d cljs.core.chunk_rest(seq__27551_27733__$1);\nvar G__27736 \x3d c__5568__auto___27734;\nvar G__27737 \x3d cljs.core.count(c__5568__auto___27734);\nvar G__27738 \x3d (0);\nseq__27551_27718 \x3d G__27735;\nchunk__27553_27719 \x3d G__27736;\ncount__27554_27720 \x3d G__27737;\ni__27555_27721 \x3d G__27738;\ncontinue;\n} else {\nvar map__27560_27739 \x3d cljs.core.first(seq__27551_27733__$1);\nvar map__27560_27740__$1 \x3d cljs.core.__destructure_map(map__27560_27739);\nvar task_27741 \x3d map__27560_27740__$1;\nvar fn_str_27742 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27560_27740__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_27743 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27560_27740__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_27744 \x3d goog.getObjectByName(fn_str_27742,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_27743)].join(\x27\x27));\n\n(fn_obj_27744.cljs$core$IFn$_invoke$arity$2 ? fn_obj_27744.cljs$core$IFn$_invoke$arity$2(path,new_link_27717) : fn_obj_27744.call(null,path,new_link_27717));\n\n\nvar G__27745 \x3d cljs.core.next(seq__27551_27733__$1);\nvar G__27746 \x3d null;\nvar G__27747 \x3d (0);\nvar G__27748 \x3d (0);\nseq__27551_27718 \x3d G__27745;\nchunk__27553_27719 \x3d G__27746;\ncount__27554_27720 \x3d G__27747;\ni__27555_27721 \x3d G__27748;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_27715);\n});})(seq__27518_27711,chunk__27522_27712,count__27523_27713,i__27524_27714,seq__27404,chunk__27406,count__27407,i__27408,new_link_27717,path_match_27716,node_27715,path,map__27403,map__27403__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_27716], 0));\n\ngoog.dom.insertSiblingAfter(new_link_27717,node_27715);\n\n\nvar G__27749 \x3d seq__27518_27711;\nvar G__27750 \x3d chunk__27522_27712;\nvar G__27751 \x3d count__27523_27713;\nvar G__27752 \x3d (i__27524_27714 + (1));\nseq__27518_27711 \x3d G__27749;\nchunk__27522_27712 \x3d G__27750;\ncount__27523_27713 \x3d G__27751;\ni__27524_27714 \x3d G__27752;\ncontinue;\n} else {\nvar G__27753 \x3d seq__27518_27711;\nvar G__27754 \x3d chunk__27522_27712;\nvar G__27755 \x3d count__27523_27713;\nvar G__27756 \x3d (i__27524_27714 + (1));\nseq__27518_27711 \x3d G__27753;\nchunk__27522_27712 \x3d G__27754;\ncount__27523_27713 \x3d G__27755;\ni__27524_27714 \x3d G__27756;\ncontinue;\n}\n} else {\nvar G__27757 \x3d seq__27518_27711;\nvar G__27758 \x3d chunk__27522_27712;\nvar G__27759 \x3d count__27523_27713;\nvar G__27760 \x3d (i__27524_27714 + (1));\nseq__27518_27711 \x3d G__27757;\nchunk__27522_27712 \x3d G__27758;\ncount__27523_27713 \x3d G__27759;\ni__27524_27714 \x3d G__27760;\ncontinue;\n}\n} else {\nvar temp__5804__auto___27761 \x3d cljs.core.seq(seq__27518_27711);\nif(temp__5804__auto___27761){\nvar seq__27518_27762__$1 \x3d temp__5804__auto___27761;\nif(cljs.core.chunked_seq_QMARK_(seq__27518_27762__$1)){\nvar c__5568__auto___27763 \x3d cljs.core.chunk_first(seq__27518_27762__$1);\nvar G__27764 \x3d cljs.core.chunk_rest(seq__27518_27762__$1);\nvar G__27765 \x3d c__5568__auto___27763;\nvar G__27766 \x3d cljs.core.count(c__5568__auto___27763);\nvar G__27767 \x3d (0);\nseq__27518_27711 \x3d G__27764;\nchunk__27522_27712 \x3d G__27765;\ncount__27523_27713 \x3d G__27766;\ni__27524_27714 \x3d G__27767;\ncontinue;\n} else {\nvar node_27768 \x3d cljs.core.first(seq__27518_27762__$1);\nif(cljs.core.not(node_27768.shadow$old)){\nvar path_match_27769 \x3d shadow.cljs.devtools.client.browser.match_paths(node_27768.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_27769)){\nvar new_link_27770 \x3d (function (){var G__27561 \x3d node_27768.cloneNode(true);\nG__27561.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_27769),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__27561;\n})();\n(node_27768.shadow$old \x3d true);\n\n(new_link_27770.onload \x3d ((function (seq__27518_27711,chunk__27522_27712,count__27523_27713,i__27524_27714,seq__27404,chunk__27406,count__27407,i__27408,new_link_27770,path_match_27769,node_27768,seq__27518_27762__$1,temp__5804__auto___27761,path,map__27403,map__27403__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__27562_27771 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__27564_27772 \x3d null;\nvar count__27565_27773 \x3d (0);\nvar i__27566_27774 \x3d (0);\nwhile(true){\nif((i__27566_27774 \x3c count__27565_27773)){\nvar map__27570_27775 \x3d chunk__27564_27772.cljs$core$IIndexed$_nth$arity$2(null,i__27566_27774);\nvar map__27570_27776__$1 \x3d cljs.core.__destructure_map(map__27570_27775);\nvar task_27777 \x3d map__27570_27776__$1;\nvar fn_str_27778 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27570_27776__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_27779 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27570_27776__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_27780 \x3d goog.getObjectByName(fn_str_27778,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_27779)].join(\x27\x27));\n\n(fn_obj_27780.cljs$core$IFn$_invoke$arity$2 ? fn_obj_27780.cljs$core$IFn$_invoke$arity$2(path,new_link_27770) : fn_obj_27780.call(null,path,new_link_27770));\n\n\nvar G__27781 \x3d seq__27562_27771;\nvar G__27782 \x3d chunk__27564_27772;\nvar G__27783 \x3d count__27565_27773;\nvar G__27784 \x3d (i__27566_27774 + (1));\nseq__27562_27771 \x3d G__27781;\nchunk__27564_27772 \x3d G__27782;\ncount__27565_27773 \x3d G__27783;\ni__27566_27774 \x3d G__27784;\ncontinue;\n} else {\nvar temp__5804__auto___27785__$1 \x3d cljs.core.seq(seq__27562_27771);\nif(temp__5804__auto___27785__$1){\nvar seq__27562_27786__$1 \x3d temp__5804__auto___27785__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__27562_27786__$1)){\nvar c__5568__auto___27787 \x3d cljs.core.chunk_first(seq__27562_27786__$1);\nvar G__27788 \x3d cljs.core.chunk_rest(seq__27562_27786__$1);\nvar G__27789 \x3d c__5568__auto___27787;\nvar G__27790 \x3d cljs.core.count(c__5568__auto___27787);\nvar G__27791 \x3d (0);\nseq__27562_27771 \x3d G__27788;\nchunk__27564_27772 \x3d G__27789;\ncount__27565_27773 \x3d G__27790;\ni__27566_27774 \x3d G__27791;\ncontinue;\n} else {\nvar map__27571_27792 \x3d cljs.core.first(seq__27562_27786__$1);\nvar map__27571_27793__$1 \x3d cljs.core.__destructure_map(map__27571_27792);\nvar task_27794 \x3d map__27571_27793__$1;\nvar fn_str_27795 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27571_27793__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_27796 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27571_27793__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_27797 \x3d goog.getObjectByName(fn_str_27795,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_27796)].join(\x27\x27));\n\n(fn_obj_27797.cljs$core$IFn$_invoke$arity$2 ? fn_obj_27797.cljs$core$IFn$_invoke$arity$2(path,new_link_27770) : fn_obj_27797.call(null,path,new_link_27770));\n\n\nvar G__27798 \x3d cljs.core.next(seq__27562_27786__$1);\nvar G__27799 \x3d null;\nvar G__27800 \x3d (0);\nvar G__27801 \x3d (0);\nseq__27562_27771 \x3d G__27798;\nchunk__27564_27772 \x3d G__27799;\ncount__27565_27773 \x3d G__27800;\ni__27566_27774 \x3d G__27801;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_27768);\n});})(seq__27518_27711,chunk__27522_27712,count__27523_27713,i__27524_27714,seq__27404,chunk__27406,count__27407,i__27408,new_link_27770,path_match_27769,node_27768,seq__27518_27762__$1,temp__5804__auto___27761,path,map__27403,map__27403__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_27769], 0));\n\ngoog.dom.insertSiblingAfter(new_link_27770,node_27768);\n\n\nvar G__27802 \x3d cljs.core.next(seq__27518_27762__$1);\nvar G__27803 \x3d null;\nvar G__27804 \x3d (0);\nvar G__27805 \x3d (0);\nseq__27518_27711 \x3d G__27802;\nchunk__27522_27712 \x3d G__27803;\ncount__27523_27713 \x3d G__27804;\ni__27524_27714 \x3d G__27805;\ncontinue;\n} else {\nvar G__27806 \x3d cljs.core.next(seq__27518_27762__$1);\nvar G__27807 \x3d null;\nvar G__27808 \x3d (0);\nvar G__27809 \x3d (0);\nseq__27518_27711 \x3d G__27806;\nchunk__27522_27712 \x3d G__27807;\ncount__27523_27713 \x3d G__27808;\ni__27524_27714 \x3d G__27809;\ncontinue;\n}\n} else {\nvar G__27810 \x3d cljs.core.next(seq__27518_27762__$1);\nvar G__27811 \x3d null;\nvar G__27812 \x3d (0);\nvar G__27813 \x3d (0);\nseq__27518_27711 \x3d G__27810;\nchunk__27522_27712 \x3d G__27811;\ncount__27523_27713 \x3d G__27812;\ni__27524_27714 \x3d G__27813;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__27814 \x3d seq__27404;\nvar G__27815 \x3d chunk__27406;\nvar G__27816 \x3d count__27407;\nvar G__27817 \x3d (i__27408 + (1));\nseq__27404 \x3d G__27814;\nchunk__27406 \x3d G__27815;\ncount__27407 \x3d G__27816;\ni__27408 \x3d G__27817;\ncontinue;\n} else {\nvar G__27818 \x3d seq__27404;\nvar G__27819 \x3d chunk__27406;\nvar G__27820 \x3d count__27407;\nvar G__27821 \x3d (i__27408 + (1));\nseq__27404 \x3d G__27818;\nchunk__27406 \x3d G__27819;\ncount__27407 \x3d G__27820;\ni__27408 \x3d G__27821;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__27404);\nif(temp__5804__auto__){\nvar seq__27404__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27404__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__27404__$1);\nvar G__27822 \x3d cljs.core.chunk_rest(seq__27404__$1);\nvar G__27823 \x3d c__5568__auto__;\nvar G__27824 \x3d cljs.core.count(c__5568__auto__);\nvar G__27825 \x3d (0);\nseq__27404 \x3d G__27822;\nchunk__27406 \x3d G__27823;\ncount__27407 \x3d G__27824;\ni__27408 \x3d G__27825;\ncontinue;\n} else {\nvar path \x3d cljs.core.first(seq__27404__$1);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__27572_27826 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__27576_27827 \x3d null;\nvar count__27577_27828 \x3d (0);\nvar i__27578_27829 \x3d (0);\nwhile(true){\nif((i__27578_27829 \x3c count__27577_27828)){\nvar node_27830 \x3d chunk__27576_27827.cljs$core$IIndexed$_nth$arity$2(null,i__27578_27829);\nif(cljs.core.not(node_27830.shadow$old)){\nvar path_match_27831 \x3d shadow.cljs.devtools.client.browser.match_paths(node_27830.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_27831)){\nvar new_link_27832 \x3d (function (){var G__27604 \x3d node_27830.cloneNode(true);\nG__27604.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_27831),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__27604;\n})();\n(node_27830.shadow$old \x3d true);\n\n(new_link_27832.onload \x3d ((function (seq__27572_27826,chunk__27576_27827,count__27577_27828,i__27578_27829,seq__27404,chunk__27406,count__27407,i__27408,new_link_27832,path_match_27831,node_27830,path,seq__27404__$1,temp__5804__auto__,map__27403,map__27403__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__27605_27833 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__27607_27834 \x3d null;\nvar count__27608_27835 \x3d (0);\nvar i__27609_27836 \x3d (0);\nwhile(true){\nif((i__27609_27836 \x3c count__27608_27835)){\nvar map__27613_27837 \x3d chunk__27607_27834.cljs$core$IIndexed$_nth$arity$2(null,i__27609_27836);\nvar map__27613_27838__$1 \x3d cljs.core.__destructure_map(map__27613_27837);\nvar task_27839 \x3d map__27613_27838__$1;\nvar fn_str_27840 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27613_27838__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_27841 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27613_27838__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_27842 \x3d goog.getObjectByName(fn_str_27840,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_27841)].join(\x27\x27));\n\n(fn_obj_27842.cljs$core$IFn$_invoke$arity$2 ? fn_obj_27842.cljs$core$IFn$_invoke$arity$2(path,new_link_27832) : fn_obj_27842.call(null,path,new_link_27832));\n\n\nvar G__27843 \x3d seq__27605_27833;\nvar G__27844 \x3d chunk__27607_27834;\nvar G__27845 \x3d count__27608_27835;\nvar G__27846 \x3d (i__27609_27836 + (1));\nseq__27605_27833 \x3d G__27843;\nchunk__27607_27834 \x3d G__27844;\ncount__27608_27835 \x3d G__27845;\ni__27609_27836 \x3d G__27846;\ncontinue;\n} else {\nvar temp__5804__auto___27847__$1 \x3d cljs.core.seq(seq__27605_27833);\nif(temp__5804__auto___27847__$1){\nvar seq__27605_27848__$1 \x3d temp__5804__auto___27847__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__27605_27848__$1)){\nvar c__5568__auto___27849 \x3d cljs.core.chunk_first(seq__27605_27848__$1);\nvar G__27850 \x3d cljs.core.chunk_rest(seq__27605_27848__$1);\nvar G__27851 \x3d c__5568__auto___27849;\nvar G__27852 \x3d cljs.core.count(c__5568__auto___27849);\nvar G__27853 \x3d (0);\nseq__27605_27833 \x3d G__27850;\nchunk__27607_27834 \x3d G__27851;\ncount__27608_27835 \x3d G__27852;\ni__27609_27836 \x3d G__27853;\ncontinue;\n} else {\nvar map__27614_27854 \x3d cljs.core.first(seq__27605_27848__$1);\nvar map__27614_27855__$1 \x3d cljs.core.__destructure_map(map__27614_27854);\nvar task_27856 \x3d map__27614_27855__$1;\nvar fn_str_27857 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27614_27855__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_27858 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27614_27855__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_27859 \x3d goog.getObjectByName(fn_str_27857,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_27858)].join(\x27\x27));\n\n(fn_obj_27859.cljs$core$IFn$_invoke$arity$2 ? fn_obj_27859.cljs$core$IFn$_invoke$arity$2(path,new_link_27832) : fn_obj_27859.call(null,path,new_link_27832));\n\n\nvar G__27860 \x3d cljs.core.next(seq__27605_27848__$1);\nvar G__27861 \x3d null;\nvar G__27862 \x3d (0);\nvar G__27863 \x3d (0);\nseq__27605_27833 \x3d G__27860;\nchunk__27607_27834 \x3d G__27861;\ncount__27608_27835 \x3d G__27862;\ni__27609_27836 \x3d G__27863;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_27830);\n});})(seq__27572_27826,chunk__27576_27827,count__27577_27828,i__27578_27829,seq__27404,chunk__27406,count__27407,i__27408,new_link_27832,path_match_27831,node_27830,path,seq__27404__$1,temp__5804__auto__,map__27403,map__27403__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_27831], 0));\n\ngoog.dom.insertSiblingAfter(new_link_27832,node_27830);\n\n\nvar G__27864 \x3d seq__27572_27826;\nvar G__27865 \x3d chunk__27576_27827;\nvar G__27866 \x3d count__27577_27828;\nvar G__27867 \x3d (i__27578_27829 + (1));\nseq__27572_27826 \x3d G__27864;\nchunk__27576_27827 \x3d G__27865;\ncount__27577_27828 \x3d G__27866;\ni__27578_27829 \x3d G__27867;\ncontinue;\n} else {\nvar G__27868 \x3d seq__27572_27826;\nvar G__27869 \x3d chunk__27576_27827;\nvar G__27870 \x3d count__27577_27828;\nvar G__27871 \x3d (i__27578_27829 + (1));\nseq__27572_27826 \x3d G__27868;\nchunk__27576_27827 \x3d G__27869;\ncount__27577_27828 \x3d G__27870;\ni__27578_27829 \x3d G__27871;\ncontinue;\n}\n} else {\nvar G__27872 \x3d seq__27572_27826;\nvar G__27873 \x3d chunk__27576_27827;\nvar G__27874 \x3d count__27577_27828;\nvar G__27875 \x3d (i__27578_27829 + (1));\nseq__27572_27826 \x3d G__27872;\nchunk__27576_27827 \x3d G__27873;\ncount__27577_27828 \x3d G__27874;\ni__27578_27829 \x3d G__27875;\ncontinue;\n}\n} else {\nvar temp__5804__auto___27876__$1 \x3d cljs.core.seq(seq__27572_27826);\nif(temp__5804__auto___27876__$1){\nvar seq__27572_27877__$1 \x3d temp__5804__auto___27876__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__27572_27877__$1)){\nvar c__5568__auto___27878 \x3d cljs.core.chunk_first(seq__27572_27877__$1);\nvar G__27879 \x3d cljs.core.chunk_rest(seq__27572_27877__$1);\nvar G__27880 \x3d c__5568__auto___27878;\nvar G__27881 \x3d cljs.core.count(c__5568__auto___27878);\nvar G__27882 \x3d (0);\nseq__27572_27826 \x3d G__27879;\nchunk__27576_27827 \x3d G__27880;\ncount__27577_27828 \x3d G__27881;\ni__27578_27829 \x3d G__27882;\ncontinue;\n} else {\nvar node_27883 \x3d cljs.core.first(seq__27572_27877__$1);\nif(cljs.core.not(node_27883.shadow$old)){\nvar path_match_27884 \x3d shadow.cljs.devtools.client.browser.match_paths(node_27883.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_27884)){\nvar new_link_27885 \x3d (function (){var G__27615 \x3d node_27883.cloneNode(true);\nG__27615.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_27884),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__27615;\n})();\n(node_27883.shadow$old \x3d true);\n\n(new_link_27885.onload \x3d ((function (seq__27572_27826,chunk__27576_27827,count__27577_27828,i__27578_27829,seq__27404,chunk__27406,count__27407,i__27408,new_link_27885,path_match_27884,node_27883,seq__27572_27877__$1,temp__5804__auto___27876__$1,path,seq__27404__$1,temp__5804__auto__,map__27403,map__27403__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__27616_27886 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__27618_27887 \x3d null;\nvar count__27619_27888 \x3d (0);\nvar i__27620_27889 \x3d (0);\nwhile(true){\nif((i__27620_27889 \x3c count__27619_27888)){\nvar map__27624_27890 \x3d chunk__27618_27887.cljs$core$IIndexed$_nth$arity$2(null,i__27620_27889);\nvar map__27624_27891__$1 \x3d cljs.core.__destructure_map(map__27624_27890);\nvar task_27892 \x3d map__27624_27891__$1;\nvar fn_str_27893 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27624_27891__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_27894 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27624_27891__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_27895 \x3d goog.getObjectByName(fn_str_27893,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_27894)].join(\x27\x27));\n\n(fn_obj_27895.cljs$core$IFn$_invoke$arity$2 ? fn_obj_27895.cljs$core$IFn$_invoke$arity$2(path,new_link_27885) : fn_obj_27895.call(null,path,new_link_27885));\n\n\nvar G__27896 \x3d seq__27616_27886;\nvar G__27897 \x3d chunk__27618_27887;\nvar G__27898 \x3d count__27619_27888;\nvar G__27899 \x3d (i__27620_27889 + (1));\nseq__27616_27886 \x3d G__27896;\nchunk__27618_27887 \x3d G__27897;\ncount__27619_27888 \x3d G__27898;\ni__27620_27889 \x3d G__27899;\ncontinue;\n} else {\nvar temp__5804__auto___27900__$2 \x3d cljs.core.seq(seq__27616_27886);\nif(temp__5804__auto___27900__$2){\nvar seq__27616_27901__$1 \x3d temp__5804__auto___27900__$2;\nif(cljs.core.chunked_seq_QMARK_(seq__27616_27901__$1)){\nvar c__5568__auto___27902 \x3d cljs.core.chunk_first(seq__27616_27901__$1);\nvar G__27903 \x3d cljs.core.chunk_rest(seq__27616_27901__$1);\nvar G__27904 \x3d c__5568__auto___27902;\nvar G__27905 \x3d cljs.core.count(c__5568__auto___27902);\nvar G__27906 \x3d (0);\nseq__27616_27886 \x3d G__27903;\nchunk__27618_27887 \x3d G__27904;\ncount__27619_27888 \x3d G__27905;\ni__27620_27889 \x3d G__27906;\ncontinue;\n} else {\nvar map__27625_27907 \x3d cljs.core.first(seq__27616_27901__$1);\nvar map__27625_27908__$1 \x3d cljs.core.__destructure_map(map__27625_27907);\nvar task_27909 \x3d map__27625_27908__$1;\nvar fn_str_27910 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27625_27908__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_27911 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27625_27908__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_27912 \x3d goog.getObjectByName(fn_str_27910,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_27911)].join(\x27\x27));\n\n(fn_obj_27912.cljs$core$IFn$_invoke$arity$2 ? fn_obj_27912.cljs$core$IFn$_invoke$arity$2(path,new_link_27885) : fn_obj_27912.call(null,path,new_link_27885));\n\n\nvar G__27913 \x3d cljs.core.next(seq__27616_27901__$1);\nvar G__27914 \x3d null;\nvar G__27915 \x3d (0);\nvar G__27916 \x3d (0);\nseq__27616_27886 \x3d G__27913;\nchunk__27618_27887 \x3d G__27914;\ncount__27619_27888 \x3d G__27915;\ni__27620_27889 \x3d G__27916;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_27883);\n});})(seq__27572_27826,chunk__27576_27827,count__27577_27828,i__27578_27829,seq__27404,chunk__27406,count__27407,i__27408,new_link_27885,path_match_27884,node_27883,seq__27572_27877__$1,temp__5804__auto___27876__$1,path,seq__27404__$1,temp__5804__auto__,map__27403,map__27403__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_27884], 0));\n\ngoog.dom.insertSiblingAfter(new_link_27885,node_27883);\n\n\nvar G__27917 \x3d cljs.core.next(seq__27572_27877__$1);\nvar G__27918 \x3d null;\nvar G__27919 \x3d (0);\nvar G__27920 \x3d (0);\nseq__27572_27826 \x3d G__27917;\nchunk__27576_27827 \x3d G__27918;\ncount__27577_27828 \x3d G__27919;\ni__27578_27829 \x3d G__27920;\ncontinue;\n} else {\nvar G__27921 \x3d cljs.core.next(seq__27572_27877__$1);\nvar G__27922 \x3d null;\nvar G__27923 \x3d (0);\nvar G__27924 \x3d (0);\nseq__27572_27826 \x3d G__27921;\nchunk__27576_27827 \x3d G__27922;\ncount__27577_27828 \x3d G__27923;\ni__27578_27829 \x3d G__27924;\ncontinue;\n}\n} else {\nvar G__27925 \x3d cljs.core.next(seq__27572_27877__$1);\nvar G__27926 \x3d null;\nvar G__27927 \x3d (0);\nvar G__27928 \x3d (0);\nseq__27572_27826 \x3d G__27925;\nchunk__27576_27827 \x3d G__27926;\ncount__27577_27828 \x3d G__27927;\ni__27578_27829 \x3d G__27928;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__27929 \x3d cljs.core.next(seq__27404__$1);\nvar G__27930 \x3d null;\nvar G__27931 \x3d (0);\nvar G__27932 \x3d (0);\nseq__27404 \x3d G__27929;\nchunk__27406 \x3d G__27930;\ncount__27407 \x3d G__27931;\ni__27408 \x3d G__27932;\ncontinue;\n} else {\nvar G__27933 \x3d cljs.core.next(seq__27404__$1);\nvar G__27934 \x3d null;\nvar G__27935 \x3d (0);\nvar G__27936 \x3d (0);\nseq__27404 \x3d G__27933;\nchunk__27406 \x3d G__27934;\ncount__27407 \x3d G__27935;\ni__27408 \x3d G__27936;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.global_eval \x3d (function shadow$cljs$devtools$client$browser$global_eval(js){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(\x22undefined\x22,typeof(module))){\nreturn eval(js);\n} else {\nreturn (0,eval)(js);;\n}\n});\nshadow.cljs.devtools.client.browser.runtime_info \x3d (((typeof SHADOW_CONFIG !\x3d\x3d \x27undefined\x27))?shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1(SHADOW_CONFIG):null);\nshadow.cljs.devtools.client.browser.client_info \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.cljs.devtools.client.browser.runtime_info,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),(cljs.core.truth_(goog.global.document)?new cljs.core.Keyword(null,\x22browser\x22,\x22browser\x22,828191719):new cljs.core.Keyword(null,\x22browser-worker\x22,\x22browser-worker\x22,1638998282)),new cljs.core.Keyword(null,\x22user-agent\x22,\x22user-agent\x22,1220426212),[(cljs.core.truth_(goog.userAgent.OPERA)?\x22Opera\x22:(cljs.core.truth_(goog.userAgent.product.CHROME)?\x22Chrome\x22:(cljs.core.truth_(goog.userAgent.IE)?\x22MSIE\x22:(cljs.core.truth_(goog.userAgent.EDGE)?\x22Edge\x22:(cljs.core.truth_(goog.userAgent.GECKO)?\x22Firefox\x22:(cljs.core.truth_(goog.userAgent.SAFARI)?\x22Safari\x22:(cljs.core.truth_(goog.userAgent.WEBKIT)?\x22Webkit\x22:null))))))),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.VERSION),\x22 [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.PLATFORM),\x22]\x22].join(\x27\x27),new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),(!((goog.global.document \x3d\x3d null)))], null)], 0));\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser.ws_was_welcome_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.browser.ws_was_welcome_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\n}\nif(((shadow.cljs.devtools.client.env.enabled) \x26\x26 ((shadow.cljs.devtools.client.env.worker_client_id \x3e (0))))){\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$2 \x3d (function (this$,code){\nvar this$__$1 \x3d this;\nreturn shadow.cljs.devtools.client.browser.global_eval(code);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$3 \x3d (function (this$,ns,p__27626){\nvar map__27627 \x3d p__27626;\nvar map__27627__$1 \x3d cljs.core.__destructure_map(map__27627);\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27627__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\nvar this$__$1 \x3d this;\nreturn shadow.cljs.devtools.client.browser.global_eval(js);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d (function (runtime,p__27628,done,error){\nvar map__27629 \x3d p__27628;\nvar map__27629__$1 \x3d cljs.core.__destructure_map(map__27629);\nvar repl_sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27629__$1,new cljs.core.Keyword(null,\x22repl-sources\x22,\x22repl-sources\x22,723867535));\nvar runtime__$1 \x3d this;\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime__$1,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_,repl_sources)),(function (sources){\nshadow.cljs.devtools.client.browser.do_js_load(sources);\n\nreturn (done.cljs$core$IFn$_invoke$arity$0 ? done.cljs$core$IFn$_invoke$arity$0() : done.call(null));\n}));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d (function (runtime,p__27630,done,error){\nvar map__27631 \x3d p__27630;\nvar map__27631__$1 \x3d cljs.core.__destructure_map(map__27631);\nvar msg \x3d map__27631__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27631__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar reload_namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27631__$1,new cljs.core.Keyword(null,\x22reload-namespaces\x22,\x22reload-namespaces\x22,250210134));\nvar js_requires \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27631__$1,new cljs.core.Keyword(null,\x22js-requires\x22,\x22js-requires\x22,-1311472051));\nvar runtime__$1 \x3d this;\nvar sources_to_load \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__27632){\nvar map__27633 \x3d p__27632;\nvar map__27633__$1 \x3d cljs.core.__destructure_map(map__27633);\nvar src \x3d map__27633__$1;\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27633__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar and__5043__auto__ \x3d shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(cljs.core.some(reload_namespaces,provides));\n} else {\nreturn and__5043__auto__;\n}\n}),sources));\nif(cljs.core.not(cljs.core.seq(sources_to_load))){\nvar G__27634 \x3d cljs.core.PersistentVector.EMPTY;\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(G__27634) : done.call(null,G__27634));\n} else {\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime__$1,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources_to_load)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__27635){\nvar map__27636 \x3d p__27635;\nvar map__27636__$1 \x3d cljs.core.__destructure_map(map__27636);\nvar msg__$1 \x3d map__27636__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27636__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\ntry{shadow.cljs.devtools.client.browser.do_js_load(sources__$1);\n\nif(cljs.core.seq(js_requires)){\nshadow.cljs.devtools.client.browser.do_js_requires(js_requires);\n} else {\n}\n\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(sources_to_load) : done.call(null,sources_to_load));\n}catch (e27637){var ex \x3d e27637;\nreturn (error.cljs$core$IFn$_invoke$arity$1 ? error.cljs$core$IFn$_invoke$arity$1(ex) : error.call(null,ex));\n}})], null));\n}\n}));\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),cljs.core.PersistentHashSet.EMPTY,(function (p__27638){\nvar map__27639 \x3d p__27638;\nvar map__27639__$1 \x3d cljs.core.__destructure_map(map__27639);\nvar env \x3d map__27639__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27639__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,true);\n\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.env.patch_goog_BANG_();\n\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime)))),\x22 ready!\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814),(function (e){\nif(cljs.core.truth_(cljs.core.deref(shadow.cljs.devtools.client.browser.ws_was_welcome_ref))){\nshadow.cljs.devtools.client.hud.connection_error(\x22The Websocket connection was closed!\x22);\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n} else {\nreturn null;\n}\n}),new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702),(function (e){\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22Reconnecting ...\x22);\n}),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),(function (msg){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22Stale Output! Your loaded JS was not produced by the running shadow-cljs instance.\x22,\x22 Is the watch for this build running?\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22cljs-asset-update\x22,\x22cljs-asset-update\x22,1224093028),(function (msg){\nreturn shadow.cljs.devtools.client.browser.handle_asset_update(msg);\n}),new cljs.core.Keyword(null,\x22cljs-build-configure\x22,\x22cljs-build-configure\x22,-2089891268),(function (msg){\nreturn null;\n}),new cljs.core.Keyword(null,\x22cljs-build-start\x22,\x22cljs-build-start\x22,-725781241),(function (msg){\nshadow.cljs.devtools.client.hud.hud_hide();\n\nshadow.cljs.devtools.client.hud.load_start();\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480)));\n}),new cljs.core.Keyword(null,\x22cljs-build-complete\x22,\x22cljs-build-complete\x22,273626153),(function (msg){\nvar msg__$1 \x3d shadow.cljs.devtools.client.env.add_warnings_to_info(msg);\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.hud.hud_warnings(msg__$1);\n\nshadow.cljs.devtools.client.browser.handle_build_complete(runtime,msg__$1);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472)));\n}),new cljs.core.Keyword(null,\x22cljs-build-failure\x22,\x22cljs-build-failure\x22,1718154990),(function (msg){\nshadow.cljs.devtools.client.hud.load_end();\n\nshadow.cljs.devtools.client.hud.hud_error(msg);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466)));\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),(function (p__27640){\nvar map__27641 \x3d p__27640;\nvar map__27641__$1 \x3d cljs.core.__destructure_map(map__27641);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27641__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27641__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(client_id,shadow.cljs.devtools.client.env.worker_client_id)))){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was stopped!\x22);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-connect\x22,\x22client-connect\x22,-1113973888),event_op)){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was restarted. Reload required!\x22);\n} else {\nreturn null;\n}\n}\n})], null)], null));\n\nreturn svc;\n}),(function (p__27642){\nvar map__27643 \x3d p__27642;\nvar map__27643__$1 \x3d cljs.core.__destructure_map(map__27643);\nvar svc \x3d map__27643__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27643__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282));\n}));\n\nshadow.cljs.devtools.client.shared.init_runtime_BANG_(shadow.cljs.devtools.client.browser.client_info,shadow.cljs.devtools.client.websocket.start,shadow.cljs.devtools.client.websocket.send,shadow.cljs.devtools.client.websocket.stop);\n} else {\n}\n"); -SHADOW_ENV.evalLoad("forms.js", true , "goog.provide(\x27forms\x27);\n/**\n * logs everything to the javascript console\n */\nforms.log \x3d console.log;\nforms.startup \x3d (function forms$startup(){\nforms.form \x3d document.getElementById(\x22form\x22);\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(forms.form) : forms.log.call(null,forms.form));\n\nforms.data \x3d (new FormData(forms.form));\n\nreturn (forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(forms.data) : forms.log.call(null,forms.data));\n});\nforms.calc_age \x3d (function forms$calc_age(dob){\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(\x22HELLO CHICKENS!\x22) : forms.log.call(null,\x22HELLO CHICKENS!\x22));\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(dob) : forms.log.call(null,dob));\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(\x22HELLO CHICKENS!\x22) : forms.log.call(null,\x22HELLO CHICKENS!\x22));\n\nvar diff_ms \x3d (Date - dob.getTime);\nvar age_dt \x3d (new Date(diff_ms));\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(diff_ms) : forms.log.call(null,diff_ms));\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(age_dt) : forms.log.call(null,age_dt));\n\nreturn Math.abs((age_dt.getUTCFullyYear - (1970)));\n});\nforms.submitform \x3d (function forms$submitform(e){\nvar form \x3d document.getElementById(\x22form\x22);\nvar data \x3d (new FormData(form));\nvar birthdate \x3d (new Date(cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,\x22birthdate\x22)));\nvar age \x3d forms.calc_age(birthdate);\n(data.age \x3d age);\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(\x22HERE IS BIRTHDATE\x22) : forms.log.call(null,\x22HERE IS BIRTHDATE\x22));\n\nvar G__18180_18183 \x3d \x22birthdate\x22;\nvar G__18181_18184 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,\x22birtdate\x22);\n(forms.log.cljs$core$IFn$_invoke$arity$2 ? forms.log.cljs$core$IFn$_invoke$arity$2(G__18180_18183,G__18181_18184) : forms.log.call(null,G__18180_18183,G__18181_18184));\n\nvar G__18182_18185 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,\x22tetanus-shot\x22);\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(G__18182_18185) : forms.log.call(null,G__18182_18185));\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,\x22tetanus-shot\x22),\x22\x22)){\n(data._tetanus_shot \x3d \x221111-11-11\x22);\n} else {\n}\n\nreturn (forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(data) : forms.log.call(null,data));\n});\ngoog.exportSymbol(\x27forms.submitform\x27, forms.submitform);\ndocument.addEventListener(\x22DOMContentLoaded\x22,forms.startup);\n"); +SHADOW_ENV.evalLoad("cljs.repl.js", true , "goog.provide(\x27cljs.repl\x27);\ncljs.repl.print_doc \x3d (function cljs$repl$print_doc(p__20270){\nvar map__20271 \x3d p__20270;\nvar map__20271__$1 \x3d cljs.core.__destructure_map(map__20271);\nvar m \x3d map__20271__$1;\nvar n \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20271__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar nm \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20271__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22-------------------------\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn [(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ns \x3d temp__5804__auto__;\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27);\n}\n})()], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Protocol\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__20272_20550 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__20273_20551 \x3d null;\nvar count__20274_20552 \x3d (0);\nvar i__20275_20553 \x3d (0);\nwhile(true){\nif((i__20275_20553 \x3c count__20274_20552)){\nvar f_20554 \x3d chunk__20273_20551.cljs$core$IIndexed$_nth$arity$2(null,i__20275_20553);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,f_20554], 0));\n\n\nvar G__20555 \x3d seq__20272_20550;\nvar G__20556 \x3d chunk__20273_20551;\nvar G__20557 \x3d count__20274_20552;\nvar G__20558 \x3d (i__20275_20553 + (1));\nseq__20272_20550 \x3d G__20555;\nchunk__20273_20551 \x3d G__20556;\ncount__20274_20552 \x3d G__20557;\ni__20275_20553 \x3d G__20558;\ncontinue;\n} else {\nvar temp__5804__auto___20559 \x3d cljs.core.seq(seq__20272_20550);\nif(temp__5804__auto___20559){\nvar seq__20272_20560__$1 \x3d temp__5804__auto___20559;\nif(cljs.core.chunked_seq_QMARK_(seq__20272_20560__$1)){\nvar c__5568__auto___20561 \x3d cljs.core.chunk_first(seq__20272_20560__$1);\nvar G__20562 \x3d cljs.core.chunk_rest(seq__20272_20560__$1);\nvar G__20563 \x3d c__5568__auto___20561;\nvar G__20564 \x3d cljs.core.count(c__5568__auto___20561);\nvar G__20565 \x3d (0);\nseq__20272_20550 \x3d G__20562;\nchunk__20273_20551 \x3d G__20563;\ncount__20274_20552 \x3d G__20564;\ni__20275_20553 \x3d G__20565;\ncontinue;\n} else {\nvar f_20566 \x3d cljs.core.first(seq__20272_20560__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,f_20566], 0));\n\n\nvar G__20567 \x3d cljs.core.next(seq__20272_20560__$1);\nvar G__20568 \x3d null;\nvar G__20569 \x3d (0);\nvar G__20570 \x3d (0);\nseq__20272_20550 \x3d G__20567;\nchunk__20273_20551 \x3d G__20568;\ncount__20274_20552 \x3d G__20569;\ni__20275_20553 \x3d G__20570;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m))){\nvar arglists_20571 \x3d new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_((function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m);\n}\n})())){\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arglists_20571], 0));\n} else {\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),cljs.core.first(arglists_20571)))?cljs.core.second(arglists_20571):arglists_20571)], 0));\n}\n} else {\n}\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22special-form\x22,\x22special-form\x22,-1326536374).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Special Form\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.contains_QMARK_(m,new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n Please see http://clojure.org/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n Please see http://clojure.org/special_forms#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Macro\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22REPL Special Function\x22], 0));\n} else {\n}\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__20289_20576 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__20290_20577 \x3d null;\nvar count__20291_20578 \x3d (0);\nvar i__20292_20579 \x3d (0);\nwhile(true){\nif((i__20292_20579 \x3c count__20291_20578)){\nvar vec__20301_20580 \x3d chunk__20290_20577.cljs$core$IIndexed$_nth$arity$2(null,i__20292_20579);\nvar name_20581 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20301_20580,(0),null);\nvar map__20304_20582 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20301_20580,(1),null);\nvar map__20304_20583__$1 \x3d cljs.core.__destructure_map(map__20304_20582);\nvar doc_20584 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20304_20583__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_20585 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20304_20583__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_20581], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_20585], 0));\n\nif(cljs.core.truth_(doc_20584)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_20584], 0));\n} else {\n}\n\n\nvar G__20589 \x3d seq__20289_20576;\nvar G__20590 \x3d chunk__20290_20577;\nvar G__20591 \x3d count__20291_20578;\nvar G__20592 \x3d (i__20292_20579 + (1));\nseq__20289_20576 \x3d G__20589;\nchunk__20290_20577 \x3d G__20590;\ncount__20291_20578 \x3d G__20591;\ni__20292_20579 \x3d G__20592;\ncontinue;\n} else {\nvar temp__5804__auto___20593 \x3d cljs.core.seq(seq__20289_20576);\nif(temp__5804__auto___20593){\nvar seq__20289_20594__$1 \x3d temp__5804__auto___20593;\nif(cljs.core.chunked_seq_QMARK_(seq__20289_20594__$1)){\nvar c__5568__auto___20595 \x3d cljs.core.chunk_first(seq__20289_20594__$1);\nvar G__20596 \x3d cljs.core.chunk_rest(seq__20289_20594__$1);\nvar G__20597 \x3d c__5568__auto___20595;\nvar G__20598 \x3d cljs.core.count(c__5568__auto___20595);\nvar G__20599 \x3d (0);\nseq__20289_20576 \x3d G__20596;\nchunk__20290_20577 \x3d G__20597;\ncount__20291_20578 \x3d G__20598;\ni__20292_20579 \x3d G__20599;\ncontinue;\n} else {\nvar vec__20305_20600 \x3d cljs.core.first(seq__20289_20594__$1);\nvar name_20601 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20305_20600,(0),null);\nvar map__20308_20602 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20305_20600,(1),null);\nvar map__20308_20603__$1 \x3d cljs.core.__destructure_map(map__20308_20602);\nvar doc_20604 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20308_20603__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_20605 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20308_20603__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_20601], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_20605], 0));\n\nif(cljs.core.truth_(doc_20604)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_20604], 0));\n} else {\n}\n\n\nvar G__20606 \x3d cljs.core.next(seq__20289_20594__$1);\nvar G__20607 \x3d null;\nvar G__20608 \x3d (0);\nvar G__20609 \x3d (0);\nseq__20289_20576 \x3d G__20606;\nchunk__20290_20577 \x3d G__20607;\ncount__20291_20578 \x3d G__20608;\ni__20292_20579 \x3d G__20609;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif(cljs.core.truth_(n)){\nvar temp__5804__auto__ \x3d cljs.spec.alpha.get_spec(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(n)),cljs.core.name(nm)));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar fnspec \x3d temp__5804__auto__;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n\nvar seq__20309 \x3d cljs.core.seq(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)], null));\nvar chunk__20310 \x3d null;\nvar count__20311 \x3d (0);\nvar i__20312 \x3d (0);\nwhile(true){\nif((i__20312 \x3c count__20311)){\nvar role \x3d chunk__20310.cljs$core$IIndexed$_nth$arity$2(null,i__20312);\nvar temp__5804__auto___20610__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5804__auto___20610__$1)){\nvar spec_20611 \x3d temp__5804__auto___20610__$1;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_20611)], 0));\n} else {\n}\n\n\nvar G__20612 \x3d seq__20309;\nvar G__20613 \x3d chunk__20310;\nvar G__20614 \x3d count__20311;\nvar G__20615 \x3d (i__20312 + (1));\nseq__20309 \x3d G__20612;\nchunk__20310 \x3d G__20613;\ncount__20311 \x3d G__20614;\ni__20312 \x3d G__20615;\ncontinue;\n} else {\nvar temp__5804__auto____$1 \x3d cljs.core.seq(seq__20309);\nif(temp__5804__auto____$1){\nvar seq__20309__$1 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__20309__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20309__$1);\nvar G__20616 \x3d cljs.core.chunk_rest(seq__20309__$1);\nvar G__20617 \x3d c__5568__auto__;\nvar G__20618 \x3d cljs.core.count(c__5568__auto__);\nvar G__20619 \x3d (0);\nseq__20309 \x3d G__20616;\nchunk__20310 \x3d G__20617;\ncount__20311 \x3d G__20618;\ni__20312 \x3d G__20619;\ncontinue;\n} else {\nvar role \x3d cljs.core.first(seq__20309__$1);\nvar temp__5804__auto___20621__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5804__auto___20621__$2)){\nvar spec_20622 \x3d temp__5804__auto___20621__$2;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_20622)], 0));\n} else {\n}\n\n\nvar G__20623 \x3d cljs.core.next(seq__20309__$1);\nvar G__20624 \x3d null;\nvar G__20625 \x3d (0);\nvar G__20626 \x3d (0);\nseq__20309 \x3d G__20623;\nchunk__20310 \x3d G__20624;\ncount__20311 \x3d G__20625;\ni__20312 \x3d G__20626;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Constructs a data representation for a Error with keys:\n * :cause - root cause message\n * :phase - error phase\n * :via - cause chain, with cause keys:\n * :type - exception class symbol\n * :message - exception message\n * :data - ex-data\n * :at - top stack element\n * :trace - root cause stack elements\n */\ncljs.repl.Error__GT_map \x3d (function cljs$repl$Error__GT_map(o){\nvar base \x3d (function (t){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),(((t instanceof cljs.core.ExceptionInfo))?new cljs.core.Symbol(\x22cljs.core\x22,\x22ExceptionInfo\x22,\x22cljs.core/ExceptionInfo\x22,701839050,null):(((t instanceof Error))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22js\x22,t.name):null\n))], null),(function (){var temp__5804__auto__ \x3d cljs.core.ex_message(t);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar msg \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.ex_data(t);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar ed \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),ed], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\nvar via \x3d (function (){var via \x3d cljs.core.PersistentVector.EMPTY;\nvar t \x3d o;\nwhile(true){\nif(cljs.core.truth_(t)){\nvar G__20627 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,t);\nvar G__20628 \x3d cljs.core.ex_cause(t);\nvia \x3d G__20627;\nt \x3d G__20628;\ncontinue;\n} else {\nreturn via;\n}\nbreak;\n}\n})();\nvar root \x3d cljs.core.peek(via);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(base,via)),new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415),null], null),(function (){var temp__5804__auto__ \x3d cljs.core.ex_message(root);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar root_msg \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),root_msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d cljs.core.ex_data(root);\nif(cljs.core.truth_(temp__5804__auto__)){\nvar data \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5804__auto__ \x3d new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(o));\nif(cljs.core.truth_(temp__5804__auto__)){\nvar phase \x3d temp__5804__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),phase], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\n/**\n * Returns an analysis of the phase, error, cause, and location of an error that occurred\n * based on Throwable data, as returned by Throwable-\x3emap. All attributes other than phase\n * are optional:\n * :clojure.error/phase - keyword phase indicator, one of:\n * :read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion\n * :execution :read-eval-result :print-eval-result\n * :clojure.error/source - file name (no path)\n * :clojure.error/line - integer line number\n * :clojure.error/column - integer column number\n * :clojure.error/symbol - symbol being expanded/compiled/invoked\n * :clojure.error/class - cause exception class symbol\n * :clojure.error/cause - cause exception message\n * :clojure.error/spec - explain-data for spec error\n */\ncljs.repl.ex_triage \x3d (function cljs$repl$ex_triage(datafied_throwable){\nvar map__20351 \x3d datafied_throwable;\nvar map__20351__$1 \x3d cljs.core.__destructure_map(map__20351);\nvar via \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20351__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar trace \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20351__$1,new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415));\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20351__$1,new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),new cljs.core.Keyword(null,\x22execution\x22,\x22execution\x22,253283524));\nvar map__20352 \x3d cljs.core.last(via);\nvar map__20352__$1 \x3d cljs.core.__destructure_map(map__20352);\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20352__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar message \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20352__$1,new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20352__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__20353 \x3d data;\nvar map__20353__$1 \x3d cljs.core.__destructure_map(map__20353);\nvar problems \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20353__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814));\nvar fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20353__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22fn\x22,\x22cljs.spec.alpha/fn\x22,408600443));\nvar caller \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20353__$1,new cljs.core.Keyword(\x22cljs.spec.test.alpha\x22,\x22caller\x22,\x22cljs.spec.test.alpha/caller\x22,-398302390));\nvar map__20354 \x3d new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.first(via));\nvar map__20354__$1 \x3d cljs.core.__destructure_map(map__20354);\nvar top_data \x3d map__20354__$1;\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20354__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((function (){var G__20355 \x3d phase;\nvar G__20355__$1 \x3d (((G__20355 instanceof cljs.core.Keyword))?G__20355.fqn:null);\nswitch (G__20355__$1) {\ncase \x22read-source\x22:\nvar map__20357 \x3d data;\nvar map__20357__$1 \x3d cljs.core.__destructure_map(map__20357);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20357__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20357__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar G__20358 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.second(via)),top_data], 0));\nvar G__20358__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20358,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__20358);\nvar G__20358__$2 \x3d (cljs.core.truth_((function (){var fexpr__20360 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__20360.cljs$core$IFn$_invoke$arity$1 ? fexpr__20360.cljs$core$IFn$_invoke$arity$1(source) : fexpr__20360.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__20358__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__20358__$1);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20358__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__20358__$2;\n}\n\nbreak;\ncase \x22compile-syntax-check\x22:\ncase \x22compilation\x22:\ncase \x22macro-syntax-check\x22:\ncase \x22macroexpansion\x22:\nvar G__20361 \x3d top_data;\nvar G__20361__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20361,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__20361);\nvar G__20361__$2 \x3d (cljs.core.truth_((function (){var fexpr__20362 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__20362.cljs$core$IFn$_invoke$arity$1 ? fexpr__20362.cljs$core$IFn$_invoke$arity$1(source) : fexpr__20362.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__20361__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__20361__$1);\nvar G__20361__$3 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20361__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__20361__$2);\nvar G__20361__$4 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20361__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__20361__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20361__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__20361__$4;\n}\n\nbreak;\ncase \x22read-eval-result\x22:\ncase \x22print-eval-result\x22:\nvar vec__20363 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20363,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20363,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20363,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20363,(3),null);\nvar G__20366 \x3d top_data;\nvar G__20366__$1 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20366,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),line):G__20366);\nvar G__20366__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20366__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file):G__20366__$1);\nvar G__20366__$3 \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn method;\n} else {\nreturn and__5043__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20366__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null))):G__20366__$2);\nvar G__20366__$4 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20366__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__20366__$3);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20366__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__20366__$4;\n}\n\nbreak;\ncase \x22execution\x22:\nvar vec__20471 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20471,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20471,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20471,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20471,(3),null);\nvar file__$1 \x3d cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__20346_SHARP_){\nvar or__5045__auto__ \x3d (p1__20346_SHARP_ \x3d\x3d null);\nif(or__5045__auto__){\nreturn or__5045__auto__;\n} else {\nvar fexpr__20474 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__20474.cljs$core$IFn$_invoke$arity$1 ? fexpr__20474.cljs$core$IFn$_invoke$arity$1(p1__20346_SHARP_) : fexpr__20474.call(null,p1__20346_SHARP_));\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(caller),file], null)));\nvar err_line \x3d (function (){var or__5045__auto__ \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(caller);\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn line;\n}\n})();\nvar G__20476 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type], null);\nvar G__20476__$1 \x3d (cljs.core.truth_(err_line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20476,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),err_line):G__20476);\nvar G__20476__$2 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20476__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__20476__$1);\nvar G__20476__$3 \x3d (cljs.core.truth_((function (){var or__5045__auto__ \x3d fn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar and__5043__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn method;\n} else {\nreturn and__5043__auto__;\n}\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20476__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(function (){var or__5045__auto__ \x3d fn;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null));\n}\n})()):G__20476__$2);\nvar G__20476__$4 \x3d (cljs.core.truth_(file__$1)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20476__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file__$1):G__20476__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20476__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__20476__$4;\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20355__$1)].join(\x27\x27)));\n\n}\n})(),new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358),phase);\n});\n/**\n * Returns a string from exception data, as produced by ex-triage.\n * The first line summarizes the exception phase and location.\n * The subsequent lines describe the cause.\n */\ncljs.repl.ex_str \x3d (function cljs$repl$ex_str(p__20481){\nvar map__20482 \x3d p__20481;\nvar map__20482__$1 \x3d cljs.core.__destructure_map(map__20482);\nvar triage_data \x3d map__20482__$1;\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20482__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358));\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20482__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20482__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20482__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar symbol \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20482__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994));\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20482__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890));\nvar cause \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20482__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742));\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20482__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595));\nvar loc \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d source;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22\x3ccljs repl\x3e\x22;\n}\n})()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5045__auto__ \x3d line;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (1);\n}\n})()),(cljs.core.truth_(column)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):\x22\x22)].join(\x27\x27);\nvar class_name \x3d cljs.core.name((function (){var or__5045__auto__ \x3d class$;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn \x22\x22;\n}\n})());\nvar simple_class \x3d class_name;\nvar cause_type \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22RuntimeException\x22,null,\x22Exception\x22,null], null), null),simple_class))?\x22\x22:[\x22 (\x22,simple_class,\x22)\x22].join(\x27\x27));\nvar format \x3d goog.string.format;\nvar G__20503 \x3d phase;\nvar G__20503__$1 \x3d (((G__20503 instanceof cljs.core.Keyword))?G__20503.fqn:null);\nswitch (G__20503__$1) {\ncase \x22read-source\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$3 ? format.cljs$core$IFn$_invoke$arity$3(\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause) : format.call(null,\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause));\n\nbreak;\ncase \x22macro-syntax-check\x22:\nvar G__20504 \x3d \x22Syntax error macroexpanding %sat (%s).\\n%s\x22;\nvar G__20505 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__20506 \x3d loc;\nvar G__20507 \x3d (cljs.core.truth_(spec)?(function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__20508_20646 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__20509_20647 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__20510_20648 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__20511_20649 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__20510_20648);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__20511_20649);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20478_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__20478_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__20509_20647);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__20508_20646);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})():(format.cljs$core$IFn$_invoke$arity$2 ? format.cljs$core$IFn$_invoke$arity$2(\x22%s\\n\x22,cause) : format.call(null,\x22%s\\n\x22,cause)));\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__20504,G__20505,G__20506,G__20507) : format.call(null,G__20504,G__20505,G__20506,G__20507));\n\nbreak;\ncase \x22macroexpansion\x22:\nvar G__20512 \x3d \x22Unexpected error%s macroexpanding %sat (%s).\\n%s\\n\x22;\nvar G__20513 \x3d cause_type;\nvar G__20514 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__20515 \x3d loc;\nvar G__20516 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__20512,G__20513,G__20514,G__20515,G__20516) : format.call(null,G__20512,G__20513,G__20514,G__20515,G__20516));\n\nbreak;\ncase \x22compile-syntax-check\x22:\nvar G__20517 \x3d \x22Syntax error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__20518 \x3d cause_type;\nvar G__20519 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__20520 \x3d loc;\nvar G__20521 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__20517,G__20518,G__20519,G__20520,G__20521) : format.call(null,G__20517,G__20518,G__20519,G__20520,G__20521));\n\nbreak;\ncase \x22compilation\x22:\nvar G__20522 \x3d \x22Unexpected error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__20523 \x3d cause_type;\nvar G__20524 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__20525 \x3d loc;\nvar G__20526 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__20522,G__20523,G__20524,G__20525,G__20526) : format.call(null,G__20522,G__20523,G__20524,G__20525,G__20526));\n\nbreak;\ncase \x22read-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22print-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22execution\x22:\nif(cljs.core.truth_(spec)){\nvar G__20527 \x3d \x22Execution error - invalid arguments to %s at (%s).\\n%s\x22;\nvar G__20528 \x3d symbol;\nvar G__20529 \x3d loc;\nvar G__20530 \x3d (function (){var sb__5690__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__20531_20650 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__20532_20651 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__20533_20652 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__20534_20653 \x3d (function (x__5691__auto__){\nreturn sb__5690__auto__.append(x__5691__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__20533_20652);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__20534_20653);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__20479_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__20479_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__20532_20651);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__20531_20650);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5690__auto__);\n})();\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__20527,G__20528,G__20529,G__20530) : format.call(null,G__20527,G__20528,G__20529,G__20530));\n} else {\nvar G__20537 \x3d \x22Execution error%s at %s(%s).\\n%s\\n\x22;\nvar G__20538 \x3d cause_type;\nvar G__20539 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__20540 \x3d loc;\nvar G__20541 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__20537,G__20538,G__20539,G__20540,G__20541) : format.call(null,G__20537,G__20538,G__20539,G__20540,G__20541));\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20503__$1)].join(\x27\x27)));\n\n}\n});\ncljs.repl.error__GT_str \x3d (function cljs$repl$error__GT_str(error){\nreturn cljs.repl.ex_str(cljs.repl.ex_triage(cljs.repl.Error__GT_map(error)));\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.obj_support.js", true , "goog.provide(\x27shadow.remote.runtime.obj_support\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.remote.runtime.obj_support.Reference \x3d (function (obj,__meta,__extmap,__hash){\nthis.obj \x3d obj;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k20696,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__20701 \x3d k20696;\nvar G__20701__$1 \x3d (((G__20701 instanceof cljs.core.Keyword))?G__20701.fqn:null);\nswitch (G__20701__$1) {\ncase \x22obj\x22:\nreturn self__.obj;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k20696,else__5346__auto__);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__20702){\nvar vec__20703 \x3d p__20702;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20703,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20703,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.remote.runtime.obj-support.Reference{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj],null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__20695){\nvar self__ \x3d this;\nvar G__20695__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__20695__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (1 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (1775716890 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this20697,other20698){\nvar self__ \x3d this;\nvar this20697__$1 \x3d this;\nreturn (((!((other20698 \x3d\x3d null)))) \x26\x26 ((((this20697__$1.constructor \x3d\x3d\x3d other20698.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20697__$1.obj,other20698.obj)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this20697__$1.__extmap,other20698.__extmap)))))));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k20696){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__20709 \x3d k20696;\nvar G__20709__$1 \x3d (((G__20709 instanceof cljs.core.Keyword))?G__20709.fqn:null);\nswitch (G__20709__$1) {\ncase \x22obj\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k20696);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__20695){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__20710 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__20711 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__20710.cljs$core$IFn$_invoke$arity$2 ? pred__20710.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__20711) : pred__20710.call(null,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__20711)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(G__20695,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__20695),null));\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj,null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__20695){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,G__20695,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null)], null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.remote.runtime.obj-support/Reference\x22,null,(1),null));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.remote.runtime.obj-support/Reference\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.obj-support/Reference.\n */\nshadow.remote.runtime.obj_support.__GT_Reference \x3d (function shadow$remote$runtime$obj_support$__GT_Reference(obj){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,null,null,null));\n});\n\n/**\n * Factory function for shadow.remote.runtime.obj-support/Reference, taking a map of keywords to field values.\n */\nshadow.remote.runtime.obj_support.map__GT_Reference \x3d (function shadow$remote$runtime$obj_support$map__GT_Reference(G__20699){\nvar extmap__5385__auto__ \x3d (function (){var G__20728 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__20699,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif(cljs.core.record_QMARK_(G__20699)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__20728);\n} else {\nreturn G__20728;\n}\n})();\nreturn (new shadow.remote.runtime.obj_support.Reference(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(G__20699),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nshadow.remote.runtime.obj_support.obj_ref \x3d (function shadow$remote$runtime$obj_support$obj_ref(obj){\nif((!((obj \x3d\x3d null)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,null,null,null));\n} else {\nreturn null;\n}\n});\nshadow.remote.runtime.obj_support.obj_ref_QMARK_ \x3d (function shadow$remote$runtime$obj_support$obj_ref_QMARK_(result){\nreturn (result instanceof shadow.remote.runtime.obj_support.Reference);\n});\nshadow.remote.runtime.obj_support.now \x3d (function shadow$remote$runtime$obj_support$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.obj_support.next_oid \x3d (function shadow$remote$runtime$obj_support$next_oid(){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n});\nshadow.remote.runtime.obj_support.register_STAR_ \x3d (function shadow$remote$runtime$obj_support$register_STAR_(state,oid,obj,obj_info){\nvar ts \x3d shadow.remote.runtime.obj_support.now();\nvar entry \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),obj,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),clojure.datafy.datafy(obj),new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),obj_info,new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),ts,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),ts,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null);\nreturn cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null),entry);\n});\nshadow.remote.runtime.obj_support.obj_type_string \x3d (function shadow$remote$runtime$obj_support$obj_type_string(obj){\nif((obj \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0));\n}\n});\nshadow.remote.runtime.obj_support.get_data_type \x3d (function shadow$remote$runtime$obj_support$get_data_type(summary,p__20741){\nvar map__20742 \x3d p__20741;\nvar map__20742__$1 \x3d cljs.core.__destructure_map(map__20742);\nvar entry \x3d map__20742__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20742__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\ntry{if((data \x3d\x3d null)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501));\n} else {\nif(typeof data \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),((data).length)], 0));\n} else {\nif(cljs.core.boolean_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22boolean\x22,\x22boolean\x22,-1919418404));\n} else {\nif(typeof data \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22number\x22,\x22number\x22,1570378438));\n} else {\nif((data instanceof cljs.core.Keyword)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747));\n} else {\nif((data instanceof cljs.core.Symbol)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696));\n} else {\nif(cljs.core.map_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.vector_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22vec\x22,\x22vec\x22,-657847931),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.set_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.list_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.seq_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016));\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}catch (e20743){var e \x3d e20743;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-type-fail\x22,\x22data-type-fail\x22,1917235450),true], 0));\n}});\nshadow.remote.runtime.obj_support.merge_source_info \x3d (function shadow$remote$runtime$obj_support$merge_source_info(summary,p__20746){\nvar map__20747 \x3d p__20746;\nvar map__20747__$1 \x3d cljs.core.__destructure_map(map__20747);\nvar obj_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20747__$1,new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651));\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([summary,cljs.core.select_keys(obj_info,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22label\x22,\x22label\x22,1718410804)], null))], 0));\n});\nshadow.remote.runtime.obj_support.inspect_entry_BANG_ \x3d (function shadow$remote$runtime$obj_support$inspect_entry_BANG_(p__20748,p__20749){\nvar map__20750 \x3d p__20748;\nvar map__20750__$1 \x3d cljs.core.__destructure_map(map__20750);\nvar this$ \x3d map__20750__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20750__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__20751 \x3d p__20749;\nvar map__20751__$1 \x3d cljs.core.__destructure_map(map__20751);\nvar entry \x3d map__20751__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20751__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20751__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar added_at \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20751__$1,new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434));\nvar $ \x3d shadow.remote.runtime.obj_support.merge_source_info(shadow.remote.runtime.obj_support.get_data_type(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),added_at,new cljs.core.Keyword(null,\x22datafied\x22,\x22datafied\x22,2076148104),(!((data \x3d\x3d\x3d obj))),new cljs.core.Keyword(null,\x22obj-type\x22,\x22obj-type\x22,-1658555496),shadow.remote.runtime.obj_support.obj_type_string(obj),new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.PersistentHashSet.EMPTY], null),entry),entry);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (summary,inspect_fn){\nreturn (inspect_fn.cljs$core$IFn$_invoke$arity$2 ? inspect_fn.cljs$core$IFn$_invoke$arity$2(summary,entry) : inspect_fn.call(null,summary,entry));\n}),$,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)));\n});\nshadow.remote.runtime.obj_support.obj_describe_STAR_ \x3d (function shadow$remote$runtime$obj_support$obj_describe_STAR_(p__20759,oid){\nvar map__20760 \x3d p__20759;\nvar map__20760__$1 \x3d cljs.core.__destructure_map(map__20760);\nvar this$ \x3d map__20760__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20760__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar temp__5808__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null));\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar entry \x3d temp__5808__auto__;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nreturn shadow.remote.runtime.obj_support.inspect_entry_BANG_(this$,entry);\n}\n});\nshadow.remote.runtime.obj_support.handler_with_object \x3d (function shadow$remote$runtime$obj_support$handler_with_object(handler_fn){\nreturn (function (p__20761,p__20762){\nvar map__20764 \x3d p__20761;\nvar map__20764__$1 \x3d cljs.core.__destructure_map(map__20764);\nvar this$ \x3d map__20764__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20764__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20764__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__20765 \x3d p__20762;\nvar map__20765__$1 \x3d cljs.core.__destructure_map(map__20765);\nvar msg \x3d map__20765__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20765__$1,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955));\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20765__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar entry \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null));\nif(cljs.core.not(entry)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n} else {\ntry{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nvar result \x3d (handler_fn.cljs$core$IFn$_invoke$arity$3 ? handler_fn.cljs$core$IFn$_invoke$arity$3(this$,entry,msg) : handler_fn.call(null,this$,entry,msg));\nif((!(shadow.remote.runtime.obj_support.obj_ref_QMARK_(result)))){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result\x22,\x22obj-result\x22,-486300152),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),result], null));\n} else {\nvar new_oid \x3d (function (){var G__20770 \x3d this$;\nvar G__20771 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(result);\nvar G__20772 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__20770,G__20771,G__20772) : shadow.remote.runtime.obj_support.register.call(null,G__20770,G__20771,G__20772));\n})();\nvar reply_msg \x3d (function (){var G__20773 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result-ref\x22,\x22obj-result-ref\x22,1537374891),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),new_oid], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952).cljs$core$IFn$_invoke$arity$1(msg))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__20773,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,new_oid));\n} else {\nreturn G__20773;\n}\n})();\nreturn shadow.remote.runtime.shared.reply(runtime,msg,reply_msg);\n}\n}catch (e20766){var e \x3d e20766;\nconsole.warn(\x22action-request-action failed\x22,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(entry),e);\n\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-request-failed\x22,\x22obj-request-failed\x22,-1782005406),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),(function (){var G__20767 \x3d this$;\nvar G__20768 \x3d e;\nvar G__20769 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null);\nreturn (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__20767,G__20768,G__20769) : shadow.remote.runtime.obj_support.register.call(null,G__20767,G__20768,G__20769));\n})()], null));\n}}\n});\n});\nshadow.remote.runtime.obj_support.obj_get_value \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20774,msg){\nvar map__20775 \x3d p__20774;\nvar map__20775__$1 \x3d cljs.core.__destructure_map(map__20775);\nvar entry \x3d map__20775__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20775__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nreturn obj;\n}));\nshadow.remote.runtime.obj_support.default_max_print_size \x3d (((1) * (1024)) * (1024));\nshadow.remote.runtime.obj_support.obj_edn \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20785,p__20786){\nvar map__20787 \x3d p__20785;\nvar map__20787__$1 \x3d cljs.core.__destructure_map(map__20787);\nvar entry \x3d map__20787__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20787__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__20788 \x3d p__20786;\nvar map__20788__$1 \x3d cljs.core.__destructure_map(map__20788);\nvar msg \x3d map__20788__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20788__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.core.pr_writer(data,lw,cljs.core.pr_opts());\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n}));\nshadow.remote.runtime.obj_support.obj_pprint \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20789,p__20790){\nvar map__20791 \x3d p__20789;\nvar map__20791__$1 \x3d cljs.core.__destructure_map(map__20791);\nvar entry \x3d map__20791__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20791__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__20792 \x3d p__20790;\nvar map__20792__$1 \x3d cljs.core.__destructure_map(map__20792);\nvar msg \x3d map__20792__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20792__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(data,lw);\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n}));\nshadow.remote.runtime.obj_support.obj_edn_limit \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20794,p__20795){\nvar map__20796 \x3d p__20794;\nvar map__20796__$1 \x3d cljs.core.__destructure_map(map__20796);\nvar entry \x3d map__20796__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20796__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__20797 \x3d p__20795;\nvar map__20797__$1 \x3d cljs.core.__destructure_map(map__20797);\nvar msg \x3d map__20797__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20797__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363));\nreturn shadow.remote.runtime.writer.pr_str_limit(data,limit);\n}));\nshadow.remote.runtime.obj_support.obj_str \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20799,msg){\nvar map__20800 \x3d p__20799;\nvar map__20800__$1 \x3d cljs.core.__destructure_map(map__20800);\nvar entry \x3d map__20800__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20800__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj);\n}));\nshadow.remote.runtime.obj_support.obj_ex_str \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__20801,msg){\nvar map__20802 \x3d p__20801;\nvar map__20802__$1 \x3d cljs.core.__destructure_map(map__20802);\nvar entry \x3d map__20802__$1;\nvar ex \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20802__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif((ex instanceof Error)){\nreturn cljs.repl.error__GT_str(ex);\n} else {\nreturn [\x22Execution error:\\n\x22,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.second(shadow.remote.runtime.writer.pr_str_limit(ex,(200)))),\x22\\n\x22,\x22\\n\x22].join(\x27\x27);\n}\n}));\nshadow.remote.runtime.obj_support.exception_QMARK_ \x3d (function shadow$remote$runtime$obj_support$exception_QMARK_(x){\nreturn true;\n});\nshadow.remote.runtime.obj_support.simple_value_QMARK_ \x3d (function shadow$remote$runtime$obj_support$simple_value_QMARK_(val){\nreturn (((val \x3d\x3d null)) || (((cljs.core.boolean_QMARK_(val)) || (((typeof val \x3d\x3d\x3d \x27number\x27) || ((((val instanceof cljs.core.Keyword)) || ((((((val instanceof cljs.core.Symbol)) \x26\x26 ((cljs.core.meta(val) \x3d\x3d null)))) || (((((typeof val \x3d\x3d\x3d \x27string\x27) \x26\x26 (((64) \x3e cljs.core.count(val))))) || (((cljs.core.coll_QMARK_(val)) \x26\x26 (((cljs.core.empty_QMARK_(val)) \x26\x26 ((cljs.core.meta(val) \x3d\x3d null)))))))))))))))));\n});\nshadow.remote.runtime.obj_support.rank_predicates \x3d new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.nil_QMARK_,cljs.core.boolean_QMARK_,cljs.core.number_QMARK_,cljs.core.string_QMARK_,cljs.core.keyword_QMARK_,cljs.core.symbol_QMARK_,cljs.core.vector_QMARK_,cljs.core.map_QMARK_,cljs.core.list_QMARK_], null);\nshadow.remote.runtime.obj_support.rank_val \x3d (function shadow$remote$runtime$obj_support$rank_val(val){\nreturn cljs.core.reduce_kv((function (res,idx,pred){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(val) : pred.call(null,val)))){\nreturn cljs.core.reduced(idx);\n} else {\nreturn res;\n}\n}),(-1),shadow.remote.runtime.obj_support.rank_predicates);\n});\nshadow.remote.runtime.obj_support.smart_comp \x3d (function shadow$remote$runtime$obj_support$smart_comp(a,b){\ntry{return cljs.core.compare(a,b);\n}catch (e20809){if((e20809 instanceof Error)){\nvar e \x3d e20809;\nvar ar \x3d shadow.remote.runtime.obj_support.rank_val(a);\nvar br \x3d shadow.remote.runtime.obj_support.rank_val(b);\nreturn cljs.core.compare(ar,br);\n} else {\nthrow e20809;\n\n}\n}});\nshadow.remote.runtime.obj_support.attempt_to_sort \x3d (function shadow$remote$runtime$obj_support$attempt_to_sort(coll){\nreturn cljs.core.vec((function (){try{return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(shadow.remote.runtime.obj_support.smart_comp,coll);\n}catch (e20811){var e \x3d e20811;\nreturn coll;\n}})());\n});\nshadow.remote.runtime.obj_support.cache_view_order \x3d (function shadow$remote$runtime$obj_support$cache_view_order(state_ref,p__20812,coll){\nvar map__20813 \x3d p__20812;\nvar map__20813__$1 \x3d cljs.core.__destructure_map(map__20813);\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20813__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar view_order \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20813__$1,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574));\nvar or__5045__auto__ \x3d view_order;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nvar view_order__$1 \x3d shadow.remote.runtime.obj_support.attempt_to_sort(coll);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574)], null),view_order__$1);\n\nreturn view_order__$1;\n}\n});\nshadow.remote.runtime.obj_support.obj_nav \x3d shadow.remote.runtime.obj_support.handler_with_object((function (p__20814,p__20815,p__20816){\nvar map__20818 \x3d p__20814;\nvar map__20818__$1 \x3d cljs.core.__destructure_map(map__20818);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20818__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__20819 \x3d p__20815;\nvar map__20819__$1 \x3d cljs.core.__destructure_map(map__20819);\nvar entry \x3d map__20819__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20819__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__20820 \x3d p__20816;\nvar map__20820__$1 \x3d cljs.core.__destructure_map(map__20820);\nvar msg \x3d map__20820__$1;\nvar idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20820__$1,new cljs.core.Keyword(null,\x22idx\x22,\x22idx\x22,1053688473));\nif(((cljs.core.vector_QMARK_(data)) || (cljs.core.list_QMARK_(data)))){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n} else {\nif(cljs.core.map_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data));\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nvar nav \x3d clojure.datafy.nav(data,key,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n} else {\nif(cljs.core.set_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data);\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref(nav);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22nav not supported?\x22,entry);\n\n}\n}\n}\n}));\nshadow.remote.runtime.obj_support.obj_fragment \x3d shadow.remote.runtime.obj_support.handler_with_object((function (p__20823,p__20824,p__20825){\nvar map__20826 \x3d p__20823;\nvar map__20826__$1 \x3d cljs.core.__destructure_map(map__20826);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20826__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__20827 \x3d p__20824;\nvar map__20827__$1 \x3d cljs.core.__destructure_map(map__20827);\nvar entry \x3d map__20827__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20827__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__20828 \x3d p__20825;\nvar map__20828__$1 \x3d cljs.core.__destructure_map(map__20828);\nvar msg \x3d map__20828__$1;\nvar start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20828__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20828__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673));\nvar val_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20828__$1,new cljs.core.Keyword(null,\x22val-limit\x22,\x22val-limit\x22,1428666181),(100));\nif(cljs.core.map_QMARK_(data)){\nvar map__20830 \x3d msg;\nvar map__20830__$1 \x3d cljs.core.__destructure_map(map__20830);\nvar key_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20830__$1,new cljs.core.Keyword(null,\x22key-limit\x22,\x22key-limit\x22,259239169),(100));\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data));\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(view_order);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(key,key_limit);\n}catch (e20831){var e \x3d e20831;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})(),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(val,val_limit);\n}catch (e20832){var e \x3d e20832;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})()], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.vector_QMARK_(data)){\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(data);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.list_QMARK_(data)){\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(data);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.set_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data);\nvar end \x3d (function (){var x__5133__auto__ \x3d cljs.core.count(view_order);\nvar y__5134__auto__ \x3d (start + num);\nreturn ((x__5133__auto__ \x3c y__5134__auto__) ? x__5133__auto__ : y__5134__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nreturn null;\n}\n}\n}\n}\n}));\nshadow.remote.runtime.obj_support.obj_request \x3d (function shadow$remote$runtime$obj_support$obj_request(this$,p__20834){\nvar map__20835 \x3d p__20834;\nvar map__20835__$1 \x3d cljs.core.__destructure_map(map__20835);\nvar msg \x3d map__20835__$1;\nvar request_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20835__$1,new cljs.core.Keyword(null,\x22request-op\x22,\x22request-op\x22,1472997246));\nvar real_handler \x3d (function (){var G__20836 \x3d request_op;\nvar G__20836__$1 \x3d (((G__20836 instanceof cljs.core.Keyword))?G__20836.fqn:null);\nswitch (G__20836__$1) {\ncase \x22str\x22:\nreturn shadow.remote.runtime.obj_support.obj_str;\n\nbreak;\ncase \x22ex-str\x22:\nreturn shadow.remote.runtime.obj_support.obj_ex_str;\n\nbreak;\ncase \x22edn\x22:\nreturn shadow.remote.runtime.obj_support.obj_edn;\n\nbreak;\ncase \x22edn-limit\x22:\nreturn shadow.remote.runtime.obj_support.obj_edn;\n\nbreak;\ncase \x22pprint\x22:\nreturn this$;\n\nbreak;\ncase \x22nav\x22:\nreturn this$;\n\nbreak;\ncase \x22fragment\x22:\nreturn shadow.remote.runtime.obj_support.obj_fragment;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__20836__$1)].join(\x27\x27)));\n\n}\n})();\nreturn (real_handler.cljs$core$IFn$_invoke$arity$2 ? real_handler.cljs$core$IFn$_invoke$arity$2(this$,msg) : real_handler.call(null,this$,msg));\n});\nshadow.remote.runtime.obj_support.obj_describe \x3d (function shadow$remote$runtime$obj_support$obj_describe(p__20837,p__20838){\nvar map__20839 \x3d p__20837;\nvar map__20839__$1 \x3d cljs.core.__destructure_map(map__20839);\nvar this$ \x3d map__20839__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20839__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__20840 \x3d p__20838;\nvar map__20840__$1 \x3d cljs.core.__destructure_map(map__20840);\nvar msg \x3d map__20840__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20840__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar temp__5802__auto__ \x3d shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,oid);\nif(cljs.core.truth_(temp__5802__auto__)){\nvar summary \x3d temp__5802__auto__;\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-summary\x22,\x22obj-summary\x22,-1372191064),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),summary], null));\n} else {\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n});\nshadow.remote.runtime.obj_support.obj_forget \x3d (function shadow$remote$runtime$obj_support$obj_forget(p__20847,p__20848){\nvar map__20849 \x3d p__20847;\nvar map__20849__$1 \x3d cljs.core.__destructure_map(map__20849);\nvar svc \x3d map__20849__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20849__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__20850 \x3d p__20848;\nvar map__20850__$1 \x3d cljs.core.__destructure_map(map__20850);\nvar msg \x3d map__20850__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20850__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([oid], 0));\n});\nshadow.remote.runtime.obj_support.obj_forget_all \x3d (function shadow$remote$runtime$obj_support$obj_forget_all(p__20851,msg){\nvar map__20852 \x3d p__20851;\nvar map__20852__$1 \x3d cljs.core.__destructure_map(map__20852);\nvar svc \x3d map__20852__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20852__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY);\n});\nshadow.remote.runtime.obj_support.basic_gc_BANG_ \x3d (function shadow$remote$runtime$obj_support$basic_gc_BANG_(state){\nvar objs_to_drop \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((100),cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(state))))));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (state__$1,oid){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,oid);\n}),state,objs_to_drop);\n});\nshadow.remote.runtime.obj_support.add_inspector \x3d (function shadow$remote$runtime$obj_support$add_inspector(p__20873,inspect_fn){\nvar map__20874 \x3d p__20873;\nvar map__20874__$1 \x3d cljs.core.__destructure_map(map__20874);\nvar this$ \x3d map__20874__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20874__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.fn_QMARK_(inspect_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? inspect-fn)\x22));\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([inspect_fn], 0));\n\nreturn this$;\n});\nshadow.remote.runtime.obj_support.start \x3d (function shadow$remote$runtime$obj_support$start(runtime){\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22id-seq-ref\x22,\x22id-seq-ref\x22,-98357047),(0)], null));\nvar svc \x3d shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),state_ref], null),(function (summary,p__20887){\nvar map__20888 \x3d p__20887;\nvar map__20888__$1 \x3d cljs.core.__destructure_map(map__20888);\nvar entry \x3d map__20888__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20888__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif((!(shadow.remote.runtime.obj_support.simple_value_QMARK_(obj)))){\nreturn summary;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-get-value\x22,\x22obj-get-value\x22,281897170));\n}\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-str\x22,\x22obj-str\x22,1815115325));\n})),(function (summary,p__20889){\nvar map__20890 \x3d p__20889;\nvar map__20890__$1 \x3d cljs.core.__destructure_map(map__20890);\nvar entry \x3d map__20890__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20890__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif(shadow.remote.runtime.obj_support.exception_QMARK_(obj)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-ex-str\x22,\x22obj-ex-str\x22,-639656467));\n} else {\nreturn summary;\n}\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-edn\x22,\x22obj-edn\x22,809365133));\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-edn-limit\x22,\x22obj-edn-limit\x22,-1550136004));\n})),(function (summary,p__20891){\nvar map__20892 \x3d p__20891;\nvar map__20892__$1 \x3d cljs.core.__destructure_map(map__20892);\nvar entry \x3d map__20892__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20892__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((cljs.core.coll_QMARK_(data)) || (cljs.core.seq_QMARK_(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-pprint\x22,\x22obj-pprint\x22,-1831226802));\n} else {\nreturn summary;\n}\n})),(function (summary,p__20893){\nvar map__20894 \x3d p__20893;\nvar map__20894__$1 \x3d cljs.core.__destructure_map(map__20894);\nvar entry \x3d map__20894__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20894__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) \x26\x26 (cljs.core.seq(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-nav\x22,\x22obj-nav\x22,1248750622));\n} else {\nreturn summary;\n}\n})),(function (summary,p__20900){\nvar map__20901 \x3d p__20900;\nvar map__20901__$1 \x3d cljs.core.__destructure_map(map__20901);\nvar entry \x3d map__20901__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20901__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) \x26\x26 (cljs.core.seq(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-fragment\x22,\x22obj-fragment\x22,1857463161));\n} else {\nreturn summary;\n}\n}));\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22obj-forget\x22,\x22obj-forget\x22,2003566115),new cljs.core.Keyword(null,\x22obj-describe\x22,\x22obj-describe\x22,-34922904),new cljs.core.Keyword(null,\x22obj-ex-str\x22,\x22obj-ex-str\x22,-639656467),new cljs.core.Keyword(null,\x22obj-request\x22,\x22obj-request\x22,-1709325811),new cljs.core.Keyword(null,\x22obj-edn\x22,\x22obj-edn\x22,809365133),new cljs.core.Keyword(null,\x22obj-pprint\x22,\x22obj-pprint\x22,-1831226802),new cljs.core.Keyword(null,\x22obj-get-value\x22,\x22obj-get-value\x22,281897170),new cljs.core.Keyword(null,\x22obj-forget-all\x22,\x22obj-forget-all\x22,1418682131),new cljs.core.Keyword(null,\x22obj-fragment\x22,\x22obj-fragment\x22,1857463161),new cljs.core.Keyword(null,\x22obj-edn-limit\x22,\x22obj-edn-limit\x22,-1550136004),new cljs.core.Keyword(null,\x22obj-str\x22,\x22obj-str\x22,1815115325),new cljs.core.Keyword(null,\x22obj-nav\x22,\x22obj-nav\x22,1248750622)],[(function (p1__20885_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget(svc,p1__20885_SHARP_);\n}),(function (p1__20875_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_describe(svc,p1__20875_SHARP_);\n}),(function (p1__20881_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_ex_str(svc,p1__20881_SHARP_);\n}),(function (p1__20876_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_request(svc,p1__20876_SHARP_);\n}),(function (p1__20877_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_edn(svc,p1__20877_SHARP_);\n}),(function (p1__20882_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_pprint(svc,p1__20882_SHARP_);\n}),(function (p1__20878_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_get_value(svc,p1__20878_SHARP_);\n}),(function (p1__20886_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget_all(svc,p1__20886_SHARP_);\n}),(function (p1__20884_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_fragment(svc,p1__20884_SHARP_);\n}),(function (p1__20879_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_edn_limit(svc,p1__20879_SHARP_);\n}),(function (p1__20880_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_str(svc,p1__20880_SHARP_);\n}),(function (p1__20883_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_nav(svc,p1__20883_SHARP_);\n})]),new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602),(function (){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(state_ref,shadow.remote.runtime.obj_support.basic_gc_BANG_);\n})], null));\n\nreturn svc;\n});\nshadow.remote.runtime.obj_support.get_tap_history \x3d (function shadow$remote$runtime$obj_support$get_tap_history(p__20924,num){\nvar map__20925 \x3d p__20924;\nvar map__20925__$1 \x3d cljs.core.__destructure_map(map__20925);\nvar svc \x3d map__20925__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20925__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.take.cljs$core$IFn$_invoke$arity$2(num,cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__20906_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(p1__20906_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044)], null)));\n}),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))))))));\n});\nshadow.remote.runtime.obj_support.register \x3d (function shadow$remote$runtime$obj_support$register(p__20926,obj,obj_info){\nvar map__20927 \x3d p__20926;\nvar map__20927__$1 \x3d cljs.core.__destructure_map(map__20927);\nvar svc \x3d map__20927__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20927__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar oid \x3d shadow.remote.runtime.obj_support.next_oid();\nif((!(((cljs.core.vector_QMARK_(obj)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22shadow.remote\x22,\x22wrap\x22,\x22shadow.remote/wrap\x22,996267199),cljs.core.first(obj))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(obj),(3))))))))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,obj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info], 0));\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(1)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(2))], 0))], 0));\n}\n\nreturn oid;\n});\nshadow.remote.runtime.obj_support.get_ref \x3d (function shadow$remote$runtime$obj_support$get_ref(p__20928,obj_id){\nvar map__20929 \x3d p__20928;\nvar map__20929__$1 \x3d cljs.core.__destructure_map(map__20929);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20929__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),obj_id], null));\n});\nshadow.remote.runtime.obj_support.stop \x3d (function shadow$remote$runtime$obj_support$stop(p__20930){\nvar map__20931 \x3d p__20930;\nvar map__20931__$1 \x3d cljs.core.__destructure_map(map__20931);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20931__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346));\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.tap_support.js", true , "goog.provide(\x27shadow.remote.runtime.tap_support\x27);\nshadow.remote.runtime.tap_support.tap_subscribe \x3d (function shadow$remote$runtime$tap_support$tap_subscribe(p__20938,p__20939){\nvar map__20940 \x3d p__20938;\nvar map__20940__$1 \x3d cljs.core.__destructure_map(map__20940);\nvar svc \x3d map__20940__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20940__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20940__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20940__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__20941 \x3d p__20939;\nvar map__20941__$1 \x3d cljs.core.__destructure_map(map__20941);\nvar msg \x3d map__20941__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20941__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar summary \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20941__$1,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952));\nvar history__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20941__$1,new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20941__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(subs_ref,cljs.core.assoc,from,msg);\n\nif(cljs.core.truth_(history__$1)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-subscribed\x22,\x22tap-subscribed\x22,-1882247432),new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (oid){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(obj_support,oid)], null);\n}),shadow.remote.runtime.obj_support.get_tap_history(obj_support,num)))], null));\n} else {\nreturn null;\n}\n});\nshadow.remote.runtime.tap_support.tap_unsubscribe \x3d (function shadow$remote$runtime$tap_support$tap_unsubscribe(p__20942,p__20943){\nvar map__20945 \x3d p__20942;\nvar map__20945__$1 \x3d cljs.core.__destructure_map(map__20945);\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20945__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar map__20946 \x3d p__20943;\nvar map__20946__$1 \x3d cljs.core.__destructure_map(map__20946);\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20946__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,from);\n});\nshadow.remote.runtime.tap_support.request_tap_history \x3d (function shadow$remote$runtime$tap_support$request_tap_history(p__20947,p__20948){\nvar map__20949 \x3d p__20947;\nvar map__20949__$1 \x3d cljs.core.__destructure_map(map__20949);\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20949__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20949__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__20950 \x3d p__20948;\nvar map__20950__$1 \x3d cljs.core.__destructure_map(map__20950);\nvar msg \x3d map__20950__$1;\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__20950__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\nvar tap_ids \x3d shadow.remote.runtime.obj_support.get_tap_history(obj_support,num);\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-history\x22,\x22tap-history\x22,-282803347),new cljs.core.Keyword(null,\x22oids\x22,\x22oids\x22,-1580877688),tap_ids], null));\n});\nshadow.remote.runtime.tap_support.tool_disconnect \x3d (function shadow$remote$runtime$tap_support$tool_disconnect(p__20955,tid){\nvar map__20956 \x3d p__20955;\nvar map__20956__$1 \x3d cljs.core.__destructure_map(map__20956);\nvar svc \x3d map__20956__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20956__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,tid);\n});\nshadow.remote.runtime.tap_support.start \x3d (function shadow$remote$runtime$tap_support$start(runtime,obj_support){\nvar subs_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar tap_fn \x3d (function shadow$remote$runtime$tap_support$start_$_runtime_tap(obj){\nif((!((obj \x3d\x3d null)))){\nvar oid \x3d shadow.remote.runtime.obj_support.register(obj_support,obj,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463)], null));\nvar seq__20961 \x3d cljs.core.seq(cljs.core.deref(subs_ref));\nvar chunk__20962 \x3d null;\nvar count__20963 \x3d (0);\nvar i__20964 \x3d (0);\nwhile(true){\nif((i__20964 \x3c count__20963)){\nvar vec__20971 \x3d chunk__20962.cljs$core$IIndexed$_nth$arity$2(null,i__20964);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20971,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20971,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__20993 \x3d seq__20961;\nvar G__20994 \x3d chunk__20962;\nvar G__20995 \x3d count__20963;\nvar G__20996 \x3d (i__20964 + (1));\nseq__20961 \x3d G__20993;\nchunk__20962 \x3d G__20994;\ncount__20963 \x3d G__20995;\ni__20964 \x3d G__20996;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__20961);\nif(temp__5804__auto__){\nvar seq__20961__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__20961__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__20961__$1);\nvar G__20997 \x3d cljs.core.chunk_rest(seq__20961__$1);\nvar G__20998 \x3d c__5568__auto__;\nvar G__20999 \x3d cljs.core.count(c__5568__auto__);\nvar G__21000 \x3d (0);\nseq__20961 \x3d G__20997;\nchunk__20962 \x3d G__20998;\ncount__20963 \x3d G__20999;\ni__20964 \x3d G__21000;\ncontinue;\n} else {\nvar vec__20980 \x3d cljs.core.first(seq__20961__$1);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20980,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__20980,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__21001 \x3d cljs.core.next(seq__20961__$1);\nvar G__21002 \x3d null;\nvar G__21003 \x3d (0);\nvar G__21004 \x3d (0);\nseq__20961 \x3d G__21001;\nchunk__20962 \x3d G__21002;\ncount__20963 \x3d G__21003;\ni__20964 \x3d G__21004;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461),tap_fn,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911),subs_ref], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22tap-subscribe\x22,\x22tap-subscribe\x22,411179050),(function (p1__20957_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_subscribe(svc,p1__20957_SHARP_);\n}),new cljs.core.Keyword(null,\x22tap-unsubscribe\x22,\x22tap-unsubscribe\x22,1183890755),(function (p1__20958_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_unsubscribe(svc,p1__20958_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-tap-history\x22,\x22request-tap-history\x22,-670837812),(function (p1__20959_SHARP_){\nreturn shadow.remote.runtime.tap_support.request_tap_history(svc,p1__20959_SHARP_);\n})], null),new cljs.core.Keyword(null,\x22on-tool-disconnect\x22,\x22on-tool-disconnect\x22,693464366),(function (p1__20960_SHARP_){\nreturn shadow.remote.runtime.tap_support.tool_disconnect(svc,p1__20960_SHARP_);\n})], null));\n\ncljs.core.add_tap(tap_fn);\n\nreturn svc;\n});\nshadow.remote.runtime.tap_support.stop \x3d (function shadow$remote$runtime$tap_support$stop(p__20986){\nvar map__20987 \x3d p__20986;\nvar map__20987__$1 \x3d cljs.core.__destructure_map(map__20987);\nvar svc \x3d map__20987__$1;\nvar tap_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20987__$1,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__20987__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\ncljs.core.remove_tap(tap_fn);\n\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674));\n});\n"); +SHADOW_ENV.evalLoad("shadow.remote.runtime.eval_support.js", true , "goog.provide(\x27shadow.remote.runtime.eval_support\x27);\nshadow.remote.runtime.eval_support.obj_support_inst \x3d null;\nshadow.remote.runtime.eval_support.get_ref \x3d (function shadow$remote$runtime$eval_support$get_ref(oid){\nif(cljs.core.truth_(shadow.remote.runtime.eval_support.obj_support_inst)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22obj-support not bound, can only call this from eval\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n\nreturn shadow.remote.runtime.obj_support.get_ref(shadow.remote.runtime.eval_support.obj_support_inst,oid);\n});\nshadow.remote.runtime.eval_support.cljs_eval \x3d (function shadow$remote$runtime$eval_support$cljs_eval(p__21034,p__21035){\nvar map__21036 \x3d p__21034;\nvar map__21036__$1 \x3d cljs.core.__destructure_map(map__21036);\nvar svc \x3d map__21036__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21036__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21036__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__21037 \x3d p__21035;\nvar map__21037__$1 \x3d cljs.core.__destructure_map(map__21037);\nvar msg \x3d map__21037__$1;\nvar input \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21037__$1,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d obj_support);\n\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input,(function (p__21038){\nvar map__21039 \x3d p__21038;\nvar map__21039__$1 \x3d cljs.core.__destructure_map(map__21039);\nvar info \x3d map__21039__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21039__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d null);\n\nvar G__21040 \x3d result;\nvar G__21040__$1 \x3d (((G__21040 instanceof cljs.core.Keyword))?G__21040.fqn:null);\nswitch (G__21040__$1) {\ncase \x22compile-error\x22:\nvar map__21041 \x3d info;\nvar map__21041__$1 \x3d cljs.core.__destructure_map(map__21041);\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21041__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21041__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21041__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-error\x22,\x22eval-compile-error\x22,-1765075397),new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null));\n\nbreak;\ncase \x22runtime-error\x22:\nvar map__21042 \x3d info;\nvar map__21042__$1 \x3d cljs.core.__destructure_map(map__21042);\nvar ex \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21042__$1,new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341));\nvar ex_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,ex,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-runtime-error\x22,\x22eval-runtime-error\x22,275935402),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid], null));\n\nbreak;\ncase \x22warnings\x22:\nvar map__21043 \x3d info;\nvar map__21043__$1 \x3d cljs.core.__destructure_map(map__21043);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21043__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-warnings\x22,\x22eval-compile-warnings\x22,1994859386),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ncase \x22ok\x22:\nvar map__21044 \x3d info;\nvar map__21044__$1 \x3d cljs.core.__destructure_map(map__21044);\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21044__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21044__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar time_start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21044__$1,new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745));\nvar time_finish \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21044__$1,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653));\nvar val \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(results)))?cljs.core.first(results):results);\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,val,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid,new cljs.core.Keyword(null,\x22eval-ms\x22,\x22eval-ms\x22,788821074),(time_finish - time_start),new cljs.core.Keyword(null,\x22eval-ns\x22,\x22eval-ns\x22,-915623795),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(info),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ndefault:\nreturn console.error(\x22Unhandled cljs-eval result\x22,info);\n\n}\n}));\n});\nshadow.remote.runtime.eval_support.js_eval \x3d (function shadow$remote$runtime$eval_support$js_eval(p__21051,p__21052){\nvar map__21053 \x3d p__21051;\nvar map__21053__$1 \x3d cljs.core.__destructure_map(map__21053);\nvar svc \x3d map__21053__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21053__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21053__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__21054 \x3d p__21052;\nvar map__21054__$1 \x3d cljs.core.__destructure_map(map__21054);\nvar msg \x3d map__21054__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21054__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\ntry{var res \x3d shadow.remote.runtime.api.js_eval(runtime,code);\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,res,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22js-code\x22,\x22js-code\x22,1816578331),code], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid], null));\n}catch (e21055){var e \x3d e21055;\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-error\x22,\x22eval-error\x22,466139568),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),e.message], null));\n}});\nshadow.remote.runtime.eval_support.start \x3d (function shadow$remote$runtime$eval_support$start(runtime,obj_support){\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support], null);\nshadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22js-eval\x22,\x22js-eval\x22,-137738892),(function (p1__21057_SHARP_){\nreturn shadow.remote.runtime.eval_support.js_eval(svc,p1__21057_SHARP_);\n}),new cljs.core.Keyword(null,\x22cljs-eval\x22,\x22cljs-eval\x22,1860675817),(function (p1__21058_SHARP_){\nreturn shadow.remote.runtime.eval_support.cljs_eval(svc,p1__21058_SHARP_);\n})], null)], null));\n\nreturn svc;\n});\nshadow.remote.runtime.eval_support.stop \x3d (function shadow$remote$runtime$eval_support$stop(p__21064){\nvar map__21065 \x3d p__21064;\nvar map__21065__$1 \x3d cljs.core.__destructure_map(map__21065);\nvar svc \x3d map__21065__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21065__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625));\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.shared.js", true , "goog.provide(\x27shadow.cljs.devtools.client.shared\x27);\ngoog.scope(function(){\n shadow.cljs.devtools.client.shared.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IRemote \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_21425 \x3d (function (this$,e){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5394__auto__.call(null,this$,e));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5392__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-open\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_open \x3d (function shadow$cljs$devtools$client$shared$remote_open(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_21425(this$,e);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_21426 \x3d (function (this$,msg){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5394__auto__.call(null,this$,msg));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5392__auto__.call(null,this$,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-msg\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_msg \x3d (function shadow$cljs$devtools$client$shared$remote_msg(this$,msg){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2(this$,msg);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_21426(this$,msg);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_21427 \x3d (function (this$,e,info){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5394__auto__.call(null,this$,e,info));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5392__auto__.call(null,this$,e,info));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-close\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_close \x3d (function shadow$cljs$devtools$client$shared$remote_close(this$,e,info){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3(this$,e,info);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_21427(this$,e,info);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_21429 \x3d (function (this$,e){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5394__auto__.call(null,this$,e));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5392__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-error\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_error \x3d (function shadow$cljs$devtools$client$shared$remote_error(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_21429(this$,e);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IHostSpecific \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_21431 \x3d (function (this$,action,done,error){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5394__auto__.call(null,this$,action,done,error));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5392__auto__.call(null,this$,action,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-init\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_init \x3d (function shadow$cljs$devtools$client$shared$do_repl_init(this$,action,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4(this$,action,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_21431(this$,action,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_21432 \x3d (function (this$,require_msg,done,error){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5394__auto__.call(null,this$,require_msg,done,error));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5392__auto__.call(null,this$,require_msg,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-require\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_require \x3d (function shadow$cljs$devtools$client$shared$do_repl_require(this$,require_msg,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4(this$,require_msg,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_21432(this$,require_msg,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_21433 \x3d (function (this$,ns,invoke_msg){\nvar x__5393__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5394__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[goog.typeOf(x__5393__auto__)]);\nif((!((m__5394__auto__ \x3d\x3d null)))){\nreturn (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(this$,ns,invoke_msg) : m__5394__auto__.call(null,this$,ns,invoke_msg));\n} else {\nvar m__5392__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[\x22_\x22]);\nif((!((m__5392__auto__ \x3d\x3d null)))){\nreturn (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(this$,ns,invoke_msg) : m__5392__auto__.call(null,this$,ns,invoke_msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-invoke\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_invoke \x3d (function shadow$cljs$devtools$client$shared$do_invoke(this$,ns,invoke_msg){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$3 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$3(this$,ns,invoke_msg);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_21433(this$,ns,invoke_msg);\n}\n});\n\nshadow.cljs.devtools.client.shared.load_sources \x3d (function shadow$cljs$devtools$client$shared$load_sources(runtime,sources,callback){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__21145){\nvar map__21146 \x3d p__21145;\nvar map__21146__$1 \x3d cljs.core.__destructure_map(map__21146);\nvar msg \x3d map__21146__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21146__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(sources__$1) : callback.call(null,sources__$1));\n})], null));\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.runtime_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.runtime_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.plugins_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.plugins_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_ \x3d (function shadow$cljs$devtools$client$shared$start_all_plugins_BANG_(p__21147){\nvar map__21148 \x3d p__21147;\nvar map__21148__$1 \x3d cljs.core.__destructure_map(map__21148);\nvar runtime \x3d map__21148__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21148__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar started_set \x3d cljs.core.set(cljs.core.keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar plugins \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref);\nvar plugins_set \x3d cljs.core.set(cljs.core.keys(plugins));\nvar pending_set \x3d clojure.set.difference.cljs$core$IFn$_invoke$arity$2(plugins_set,started_set);\nvar pending_set__$1 \x3d pending_set;\nwhile(true){\nif(cljs.core.empty_QMARK_(pending_set__$1)){\nreturn new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22done!\x22,\x22shadow.cljs.devtools.client.shared/done!\x22,-748632664);\n} else {\nvar G__21436 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (pending_set__$1,started_set,plugins,plugins_set,pending_set,map__21148,map__21148__$1,runtime,state_ref){\nreturn (function (pending_set__$2,plugin_id){\nvar map__21150 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(plugins,plugin_id);\nvar map__21150__$1 \x3d cljs.core.__destructure_map(map__21150);\nvar plugin \x3d map__21150__$1;\nvar depends_on \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21150__$1,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022));\nvar init_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21150__$1,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971));\nif(cljs.core.truth_(cljs.core.some(pending_set__$2,depends_on))){\nreturn pending_set__$2;\n} else {\nvar start_arg \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.select_keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)),depends_on),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime);\nvar started \x3d (init_fn.cljs$core$IFn$_invoke$arity$1 ? init_fn.cljs$core$IFn$_invoke$arity$1(start_arg) : init_fn.call(null,start_arg));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null),started);\n\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(pending_set__$2,plugin_id);\n}\n});})(pending_set__$1,started_set,plugins,plugins_set,pending_set,map__21148,map__21148__$1,runtime,state_ref))\n,pending_set__$1,pending_set__$1);\npending_set__$1 \x3d G__21436;\ncontinue;\n\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.shared.add_plugin_BANG_ \x3d (function shadow$cljs$devtools$client$shared$add_plugin_BANG_(plugin_id,depends_on,init_fn,stop_fn){\nif((plugin_id instanceof cljs.core.Keyword)){\n} else {\nthrow (new Error(\x22Assert failed: (keyword? plugin-id)\x22));\n}\n\nif(cljs.core.set_QMARK_(depends_on)){\n} else {\nthrow (new Error(\x22Assert failed: (set? depends-on)\x22));\n}\n\nif(cljs.core.fn_QMARK_(init_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? init-fn)\x22));\n}\n\nif(cljs.core.fn_QMARK_(stop_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? stop-fn)\x22));\n}\n\nvar temp__5808__auto___21439 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto___21439 \x3d\x3d null)){\n} else {\nvar runtime_21440 \x3d temp__5808__auto___21439;\nvar temp__5808__auto___21441__$1 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(runtime_21440,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null));\nif((temp__5808__auto___21441__$1 \x3d\x3d null)){\n} else {\nvar started_21442 \x3d temp__5808__auto___21441__$1;\nvar map__21151_21443 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__21151_21444__$1 \x3d cljs.core.__destructure_map(map__21151_21443);\nvar old_21445 \x3d map__21151_21444__$1;\nvar stop_fn_21446__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21151_21444__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\n(stop_fn_21446__$1.cljs$core$IFn$_invoke$arity$1 ? stop_fn_21446__$1.cljs$core$IFn$_invoke$arity$1(started_21442) : stop_fn_21446__$1.call(null,started_21442));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.cljs.devtools.client.shared.runtime_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([plugin_id], 0));\n}\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.cljs.devtools.client.shared.plugins_ref,cljs.core.assoc,plugin_id,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ext-id\x22,\x22ext-id\x22,-653860474),plugin_id,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022),depends_on,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971),init_fn,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246),stop_fn], null));\n\nvar temp__5808__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar runtime \x3d temp__5808__auto__;\nreturn shadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n}\n});\nshadow.cljs.devtools.client.shared.transit_read \x3d (function shadow$cljs$devtools$client$shared$transit_read(data){\nvar t \x3d cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570));\nreturn cognitect.transit.read(t,data);\n});\nshadow.cljs.devtools.client.shared.transit_str \x3d (function shadow$cljs$devtools$client$shared$transit_str(obj){\nvar w \x3d cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570));\nreturn cognitect.transit.write(w,obj);\n});\nshadow.cljs.devtools.client.shared.continue_BANG_ \x3d (function shadow$cljs$devtools$client$shared$continue_BANG_(state){\nreturn (shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1(state) : shadow.cljs.devtools.client.shared.interpret_actions.call(null,state));\n});\nshadow.cljs.devtools.client.shared.abort_BANG_ \x3d (function shadow$cljs$devtools$client$shared$abort_BANG_(p__21153,action,ex){\nvar map__21154 \x3d p__21153;\nvar map__21154__$1 \x3d cljs.core.__destructure_map(map__21154);\nvar state \x3d map__21154__$1;\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21154__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__21155 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime-error\x22,\x22runtime-error\x22,-2116843646),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341),ex,new cljs.core.Keyword(null,\x22ex-action\x22,\x22ex-action\x22,672251553),action], 0)),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228)], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__21155) : callback.call(null,G__21155));\n});\nshadow.cljs.devtools.client.shared.handle_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_invoke(state,runtime,action){\nvar res \x3d shadow.cljs.devtools.client.shared.do_invoke(runtime,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(state),action);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn state;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,res);\n}\n});\nshadow.cljs.devtools.client.shared.handle_repl_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_repl_invoke(state,runtime,action){\ntry{var ret \x3d shadow.cljs.devtools.client.shared.do_invoke(runtime,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(state),action);\n(cljs.core._STAR_3 \x3d cljs.core._STAR_2);\n\n(cljs.core._STAR_2 \x3d cljs.core._STAR_1);\n\n(cljs.core._STAR_1 \x3d ret);\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn state;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,ret);\n}\n}catch (e21156){var e \x3d e21156;\n(cljs.core._STAR_e \x3d e);\n\nthrow e;\n}});\nshadow.cljs.devtools.client.shared.interpret_action \x3d (function shadow$cljs$devtools$client$shared$interpret_action(p__21157,p__21158){\nvar map__21159 \x3d p__21157;\nvar map__21159__$1 \x3d cljs.core.__destructure_map(map__21159);\nvar state \x3d map__21159__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21159__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__21160 \x3d p__21158;\nvar map__21160__$1 \x3d cljs.core.__destructure_map(map__21160);\nvar action \x3d map__21160__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21160__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar G__21161 \x3d type;\nvar G__21161__$1 \x3d (((G__21161 instanceof cljs.core.Keyword))?G__21161.fqn:null);\nswitch (G__21161__$1) {\ncase \x22repl/init\x22:\nreturn shadow.cljs.devtools.client.shared.do_repl_init(runtime,action,(function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime),cljs.core.assoc,new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484),true);\n\nreturn shadow.cljs.devtools.client.shared.continue_BANG_(state);\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/set-ns\x22:\nvar map__21164 \x3d action;\nvar map__21164__$1 \x3d cljs.core.__destructure_map(map__21164);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21164__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21164__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__21165 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__21165,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__21165;\n}\n})());\n\nbreak;\ncase \x22repl/require\x22:\nvar map__21166 \x3d action;\nvar map__21166__$1 \x3d cljs.core.__destructure_map(map__21166);\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21166__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.do_repl_require(runtime,action,(function (sources){\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__21167 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),cljs.core.into,sources);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__21167,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__21167;\n}\n})());\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/invoke\x22:\ntry{var repl \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22repl\x22,\x22repl\x22,-35398667)], null));\nvar invoke_fn \x3d (cljs.core.truth_((function (){var and__5043__auto__ \x3d repl;\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action));\n} else {\nreturn and__5043__auto__;\n}\n})())?shadow.cljs.devtools.client.shared.handle_repl_invoke:shadow.cljs.devtools.client.shared.handle_invoke);\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((invoke_fn.cljs$core$IFn$_invoke$arity$3 ? invoke_fn.cljs$core$IFn$_invoke$arity$3(state,runtime,action) : invoke_fn.call(null,state,runtime,action)));\n}catch (e21168){var ex \x3d e21168;\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}\nbreak;\ndefault:\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unhandled repl action\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22state\x22,\x22state\x22,-1988618099),state,new cljs.core.Keyword(null,\x22action\x22,\x22action\x22,-811238024),action], null));\n\n}\n});\nshadow.cljs.devtools.client.shared.interpret_actions \x3d (function shadow$cljs$devtools$client$shared$interpret_actions(p__21169){\nvar map__21170 \x3d p__21169;\nvar map__21170__$1 \x3d cljs.core.__destructure_map(map__21170);\nvar state \x3d map__21170__$1;\nvar queue \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21170__$1,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21170__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.empty_QMARK_(queue)){\nvar map__21205 \x3d state;\nvar map__21205__$1 \x3d cljs.core.__destructure_map(map__21205);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21205__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__21206 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now());\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__21206) : callback.call(null,G__21206));\n} else {\nif(((cljs.core.seq(warnings)) \x26\x26 (shadow.cljs.devtools.client.env.ignore_warnings \x3d\x3d\x3d false))){\nvar map__21207 \x3d state;\nvar map__21207__$1 \x3d cljs.core.__destructure_map(map__21207);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21207__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__21208 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now()], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__21208) : callback.call(null,G__21208));\n} else {\nvar action \x3d cljs.core.first(queue);\nvar state__$1 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.core.rest);\nreturn shadow.cljs.devtools.client.shared.interpret_action(state__$1,action);\n\n}\n}\n});\nshadow.cljs.devtools.client.shared.setup_actions \x3d (function shadow$cljs$devtools$client$shared$setup_actions(runtime,input,p__21209,callback){\nvar map__21210 \x3d p__21209;\nvar map__21210__$1 \x3d cljs.core.__destructure_map(map__21210);\nvar msg \x3d map__21210__$1;\nvar actions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21210__$1,new cljs.core.Keyword(null,\x22actions\x22,\x22actions\x22,-812656882));\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745),new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113)],[actions,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(input),msg,cljs.core.PersistentVector.EMPTY,cljs.core.vec(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([actions], 0))),new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),runtime,input,callback,Date.now(),cljs.core.PersistentVector.EMPTY]);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {shadow.cljs.devtools.client.shared.IRemote}\n * @implements {shadow.remote.runtime.api.IRuntime}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {shadow.remote.runtime.api.IEvalCLJS}\n*/\nshadow.cljs.devtools.client.shared.Runtime \x3d (function (state_ref,__meta,__extmap,__hash){\nthis.state_ref \x3d state_ref;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.cljs.devtools.client.shared.Runtime.prototype.attempt_connect_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__21216 \x3d cljs.core.deref(self__.state_ref);\nvar map__21216__$1 \x3d cljs.core.__destructure_map(map__21216);\nvar state \x3d map__21216__$1;\nvar ws_connecting \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21216__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21216__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21216__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21216__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21216__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21216__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar ws_start_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21216__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682));\nif(((cljs.core.not(shutdown)) \x26\x26 (((cljs.core.not(stale)) \x26\x26 (cljs.core.not(ws_connecting)))))){\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\nvar ws_state__$1 \x3d (ws_start_fn.cljs$core$IFn$_invoke$arity$1 ? ws_start_fn.cljs$core$IFn$_invoke$arity$1(this$) : ws_start_fn.call(null,this$));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656),ws_state__$1], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.schedule_connect_BANG_ \x3d (function (after){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__21217 \x3d cljs.core.deref(self__.state_ref);\nvar map__21217__$1 \x3d cljs.core.__destructure_map(map__21217);\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21217__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21217__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21217__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif(((cljs.core.not(stale)) \x26\x26 (cljs.core.not(shutdown)))){\nshadow.remote.runtime.shared.trigger_BANG_(this$,new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043),setTimeout((function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\n\nreturn this$.attempt_connect_BANG_();\n}),after));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5343__auto__,k__5344__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn this__5343__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5344__auto__,null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5345__auto__,k21212,else__5346__auto__){\nvar self__ \x3d this;\nvar this__5345__auto____$1 \x3d this;\nvar G__21244 \x3d k21212;\nvar G__21244__$1 \x3d (((G__21244 instanceof cljs.core.Keyword))?G__21244.fqn:null);\nswitch (G__21244__$1) {\ncase \x22state-ref\x22:\nreturn self__.state_ref;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k21212,else__5346__auto__);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5363__auto__,f__5364__auto__,init__5365__auto__){\nvar self__ \x3d this;\nvar this__5363__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5366__auto__,p__21245){\nvar vec__21246 \x3d p__21245;\nvar k__5367__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21246,(0),null);\nvar v__5368__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21246,(1),null);\nreturn (f__5364__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5364__auto__.cljs$core$IFn$_invoke$arity$3(ret__5366__auto__,k__5367__auto__,v__5368__auto__) : f__5364__auto__.call(null,ret__5366__auto__,k__5367__auto__,v__5368__auto__));\n}),init__5365__auto__,this__5363__auto____$1);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5358__auto__,writer__5359__auto__,opts__5360__auto__){\nvar self__ \x3d this;\nvar this__5358__auto____$1 \x3d this;\nvar pr_pair__5361__auto__ \x3d (function (keyval__5362__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5360__auto__,keyval__5362__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5359__auto__,pr_pair__5361__auto__,\x22#shadow.cljs.devtools.client.shared.Runtime{\x22,\x22, \x22,\x22}\x22,opts__5360__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref],null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__21211){\nvar self__ \x3d this;\nvar G__21211__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__21211__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5341__auto__){\nvar self__ \x3d this;\nvar this__5341__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5338__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5347__auto__){\nvar self__ \x3d this;\nvar this__5347__auto____$1 \x3d this;\nreturn (1 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5339__auto__){\nvar self__ \x3d this;\nvar this__5339__auto____$1 \x3d this;\nvar h__5154__auto__ \x3d self__.__hash;\nif((!((h__5154__auto__ \x3d\x3d null)))){\nreturn h__5154__auto__;\n} else {\nvar h__5154__auto____$1 \x3d (function (coll__5340__auto__){\nreturn (229736719 ^ cljs.core.hash_unordered_coll(coll__5340__auto__));\n})(this__5339__auto____$1);\n(self__.__hash \x3d h__5154__auto____$1);\n\nreturn h__5154__auto____$1;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this21213,other21214){\nvar self__ \x3d this;\nvar this21213__$1 \x3d this;\nreturn (((!((other21214 \x3d\x3d null)))) \x26\x26 ((((this21213__$1.constructor \x3d\x3d\x3d other21214.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21213__$1.state_ref,other21214.state_ref)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this21213__$1.__extmap,other21214.__extmap)))))));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d (function (this$,input,callback){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(this$__$1,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-compile\x22,\x22cljs-compile\x22,-1735075279),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22include-init\x22,\x22include-init\x22,1061115199),cljs.core.not(new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22cljs-compile-result\x22,\x22cljs-compile-result\x22,-1137644713),(function (msg){\nreturn shadow.cljs.devtools.client.shared.interpret_actions(shadow.cljs.devtools.client.shared.setup_actions(this$__$1,input,msg,callback));\n}),new cljs.core.Keyword(null,\x22cljs-compile-error\x22,\x22cljs-compile-error\x22,-371665768),(function (p__21279){\nvar map__21280 \x3d p__21279;\nvar map__21280__$1 \x3d cljs.core.__destructure_map(map__21280);\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21280__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21280__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar ex_data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21280__$1,new cljs.core.Keyword(null,\x22ex-data\x22,\x22ex-data\x22,-309040259));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21280__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nvar G__21281 \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22compile-error\x22,\x22compile-error\x22,-1313154526),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22ex-data\x22,\x22ex-data\x22,-309040259),ex_data,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__21281) : callback.call(null,G__21281));\n}),new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),(function (msg){\nvar G__21282 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22worker-not-found\x22,\x22worker-not-found\x22,-1848657608)], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__21282) : callback.call(null,G__21282));\n})], null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),true,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now()], 0));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d (function (this$,text){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar msg \x3d shadow.cljs.devtools.client.shared.transit_read(text);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now());\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955).cljs$core$IFn$_invoke$arity$1(msg))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),true);\n} else {\n}\n\nreturn shadow.remote.runtime.shared.process(this$__$1,msg);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d (function (this$,e,info){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\n\nif(((3) \x3e\x3d new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))){\nreturn this$__$1.schedule_connect_BANG_((5000));\n} else {\nreturn console.warn(\x22shadow-cljs: giving up trying to connect to \x22,info);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),cljs.core.inc);\n\nshadow.remote.runtime.shared.trigger_BANG_(this$__$1,new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814));\n\nreturn console.error(\x22shadow-cljs - remote-error\x22,e);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d (function (this$,msg){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar map__21283 \x3d cljs.core.deref(self__.state_ref);\nvar map__21283__$1 \x3d cljs.core.__destructure_map(map__21283);\nvar state \x3d map__21283__$1;\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21283__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21283__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_send_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21283__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866));\nif(cljs.core.not(ws_connected)){\nreturn console.warn(\x22shadow-cljs - dropped ws message, not connected\x22,msg,state);\n} else {\nvar s \x3d (function (){try{return shadow.cljs.devtools.client.shared.transit_str(msg);\n}catch (e21329){var e \x3d e21329;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to encode relay msg\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n}})();\nreturn (ws_send_fn.cljs$core$IFn$_invoke$arity$2 ? ws_send_fn.cljs$core$IFn$_invoke$arity$2(ws_state,s) : ws_send_fn.call(null,ws_state,s));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d (function (runtime,key,spec){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.add_extension(runtime__$1,key,spec);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d (function (runtime,key){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.del_extension(runtime__$1,key);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5353__auto__,k__5354__auto__){\nvar self__ \x3d this;\nvar this__5353__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),null], null), null),k__5354__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5353__auto____$1),self__.__meta),k__5354__auto__);\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5354__auto__)),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5350__auto__,k21212){\nvar self__ \x3d this;\nvar this__5350__auto____$1 \x3d this;\nvar G__21330 \x3d k21212;\nvar G__21330__$1 \x3d (((G__21330 instanceof cljs.core.Keyword))?G__21330.fqn:null);\nswitch (G__21330__$1) {\ncase \x22state-ref\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k21212);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5351__auto__,k__5352__auto__,G__21211){\nvar self__ \x3d this;\nvar this__5351__auto____$1 \x3d this;\nvar pred__21331 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__21332 \x3d k__5352__auto__;\nif(cljs.core.truth_((pred__21331.cljs$core$IFn$_invoke$arity$2 ? pred__21331.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__21332) : pred__21331.call(null,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__21332)))){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(G__21211,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5352__auto__,G__21211),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5356__auto__){\nvar self__ \x3d this;\nvar this__5356__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref,null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5342__auto__,G__21211){\nvar self__ \x3d this;\nvar this__5342__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,G__21211,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5348__auto__,entry__5349__auto__){\nvar self__ \x3d this;\nvar this__5348__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5349__auto__)){\nreturn this__5348__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5349__auto__,(0)),cljs.core._nth(entry__5349__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5348__auto____$1,entry__5349__auto__);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state-ref\x22,\x22state-ref\x22,-526560817,null)], null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrSeq \x3d (function (this__5389__auto__){\nreturn (new cljs.core.List(null,\x22shadow.cljs.devtools.client.shared/Runtime\x22,null,(1),null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrWriter \x3d (function (this__5389__auto__,writer__5390__auto__){\nreturn cljs.core._write(writer__5390__auto__,\x22shadow.cljs.devtools.client.shared/Runtime\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.shared/Runtime.\n */\nshadow.cljs.devtools.client.shared.__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$__GT_Runtime(state_ref){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(state_ref,null,null,null));\n});\n\n/**\n * Factory function for shadow.cljs.devtools.client.shared/Runtime, taking a map of keywords to field values.\n */\nshadow.cljs.devtools.client.shared.map__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$map__GT_Runtime(G__21215){\nvar extmap__5385__auto__ \x3d (function (){var G__21376 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__21215,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.record_QMARK_(G__21215)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__21376);\n} else {\nreturn G__21376;\n}\n})();\nreturn (new shadow.cljs.devtools.client.shared.Runtime(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(G__21215),null,cljs.core.not_empty(extmap__5385__auto__),null));\n});\n\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.print_subs !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.print_subs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$stop_runtime_BANG_(p__21377){\nvar map__21378 \x3d p__21377;\nvar map__21378__$1 \x3d cljs.core.__destructure_map(map__21378);\nvar runtime \x3d map__21378__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21378__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__21379 \x3d cljs.core.deref(state_ref);\nvar map__21379__$1 \x3d cljs.core.__destructure_map(map__21379);\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21379__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21379__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar interval \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21379__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585));\nvar plugins \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21379__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855));\nclearInterval(interval);\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\ncljs.core.reduce_kv((function (_,plugin_id,started){\nvar map__21380 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__21380__$1 \x3d cljs.core.__destructure_map(map__21380);\nvar stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21380__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\nreturn (stop_fn.cljs$core$IFn$_invoke$arity$1 ? stop_fn.cljs$core$IFn$_invoke$arity$1(started) : stop_fn.call(null,started));\n}),null,plugins);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),true);\n});\nshadow.cljs.devtools.client.shared.init_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$init_runtime_BANG_(client_info,ws_start_fn,ws_send_fn,ws_stop_fn){\nvar temp__5808__auto___21471 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5808__auto___21471 \x3d\x3d null)){\n} else {\nvar runtime_21472 \x3d temp__5808__auto___21471;\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_(runtime_21472);\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,null);\n}\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),cljs.core.PersistentHashSet.EMPTY,(function (p1__21381_SHARP_){\nreturn shadow.remote.runtime.obj_support.start(new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996).cljs$core$IFn$_invoke$arity$1(p1__21381_SHARP_));\n}),shadow.remote.runtime.obj_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22tap-support\x22,\x22tap-support\x22,80346439),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__21394){\nvar map__21395 \x3d p__21394;\nvar map__21395__$1 \x3d cljs.core.__destructure_map(map__21395);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21395__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21395__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.tap_support.start(runtime,obj_support);\n}),shadow.remote.runtime.tap_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22eval-support\x22,\x22eval-support\x22,-1581799533),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__21396){\nvar map__21397 \x3d p__21396;\nvar map__21397__$1 \x3d cljs.core.__destructure_map(map__21397);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21397__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21397__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.eval_support.start(runtime,obj_support);\n}),shadow.remote.runtime.eval_support.stop);\n\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(shadow.remote.runtime.shared.init_state(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(client_info,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lang\x22,\x22lang\x22,-1819677104),new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),new cljs.core.Keyword(null,\x22build-id\x22,\x22build-id\x22,1642831089),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id),new cljs.core.Keyword(null,\x22worker-id\x22,\x22worker-id\x22,644510040),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22proc-id\x22,\x22proc-id\x22,-1856109278),shadow.cljs.devtools.client.env.proc_id], 0))),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),false,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682),ws_start_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866),ws_send_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255),ws_stop_fn], 0)));\nvar runtime \x3d (function (){var G__21398 \x3d shadow.cljs.devtools.client.shared.__GT_Runtime(state_ref);\nshadow.remote.runtime.shared.add_defaults(G__21398);\n\nreturn G__21398;\n})();\nvar idle_fn \x3d (function (){\nvar map__21399 \x3d cljs.core.deref(state_ref);\nvar map__21399__$1 \x3d cljs.core.__destructure_map(map__21399);\nvar state \x3d map__21399__$1;\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21399__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21399__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_last_msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21399__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21399__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nif(cljs.core.truth_((function (){var and__5043__auto__ \x3d cljs.core.not(ws_connect_timeout);\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core.not(shutdown);\nif(and__5043__auto____$1){\nvar and__5043__auto____$2 \x3d ws_connected;\nif(cljs.core.truth_(and__5043__auto____$2)){\nreturn (shadow.remote.runtime.shared.now() \x3e (ws_last_msg + (20000)));\n} else {\nreturn and__5043__auto____$2;\n}\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n})())){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\n\nruntime.schedule_connect_BANG_((2000));\n} else {\n}\n\nreturn shadow.remote.runtime.shared.run_on_idle(state_ref);\n});\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585),setInterval(idle_fn,(1000)));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,runtime);\n\n(goog.global.cljs_eval \x3d (function (input,opts){\nvar input__$1 \x3d ((cljs.core.map_QMARK_(input))?input:((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.not(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Symbol(null,\x22cljs.user\x22,\x22cljs.user\x22,877795071,null)], null):((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.object_QMARK_(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.shared.goog$module$goog$object.get(opts,\x22ns\x22))], null):(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid arguments, call cljs_eval(string, opts-obj) or cljs_eval(map)\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts], null))})()\n)));\nreturn (new Promise((function (resolve,reject){\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input__$1,(function (p__21414){\nvar map__21415 \x3d p__21414;\nvar map__21415__$1 \x3d cljs.core.__destructure_map(map__21415);\nvar info \x3d map__21415__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21415__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21415__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),result)){\nvar G__21416 \x3d cljs.core.last(results);\nreturn (resolve.cljs$core$IFn$_invoke$arity$1 ? resolve.cljs$core$IFn$_invoke$arity$1(G__21416) : resolve.call(null,G__21416));\n} else {\nreturn (reject.cljs$core$IFn$_invoke$arity$1 ? reject.cljs$core$IFn$_invoke$arity$1(info) : reject.call(null,info));\n}\n}));\n})));\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22print-support\x22,\x22shadow.cljs.devtools.client.shared/print-support\x22,-1090548637),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22runtime-print-sub\x22,\x22runtime-print-sub\x22,1832904759),(function (p__21417){\nvar map__21418 \x3d p__21417;\nvar map__21418__$1 \x3d cljs.core.__destructure_map(map__21418);\nvar msg \x3d map__21418__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21418__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.conj,from);\n\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-notify\x22,\x22request-notify\x22,351029173),new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),from], null)], null));\n}),new cljs.core.Keyword(null,\x22runtime-print-unsub\x22,\x22runtime-print-unsub\x22,2055442536),(function (p__21419){\nvar map__21420 \x3d p__21419;\nvar map__21420__$1 \x3d cljs.core.__destructure_map(map__21420);\nvar msg \x3d map__21420__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21420__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,from);\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),(function (p__21421){\nvar map__21422 \x3d p__21421;\nvar map__21422__$1 \x3d cljs.core.__destructure_map(map__21422);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21422__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21422__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n} else {\nreturn null;\n}\n})], null),new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),(function (p__21423){\nvar map__21424 \x3d p__21423;\nvar map__21424__$1 \x3d cljs.core.__destructure_map(map__21424);\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21424__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n})], null));\n\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_();\n\nshadow.cljs.devtools.client.env.set_print_fns_BANG_((function (stream,text){\nvar subs \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.print_subs);\nif(cljs.core.seq(subs)){\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22runtime-print\x22,\x22runtime-print\x22,-1950604603),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),subs,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),stream,new cljs.core.Keyword(null,\x22text\x22,\x22text\x22,-1790561697),text], null));\n} else {\nreturn null;\n}\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shared\x22,\x22shadow.cljs.devtools.client.shared/shared\x22,85374117),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-notify\x22,\x22request-notify\x22,351029173),new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(\x22shadow.cljs.model\x22,\x22worker-for\x22,\x22shadow.cljs.model/worker-for\x22,-228262107),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id)], null)], null));\n})], null));\n\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n\nreturn runtime.attempt_connect_BANG_();\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.hud.js", true , "goog.provide(\x27shadow.cljs.devtools.client.hud\x27);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_progress \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_progress\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_warnings\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_errors \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_errors\x22,true);\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud.dom_available_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.hud.dom_available_QMARK_ \x3d (!((goog.global.document \x3d\x3d null)));\n}\nshadow.cljs.devtools.client.hud.open_file \x3d (function shadow$cljs$devtools$client$hud$open_file(file,line,column){\nconsole.log(\x22opening file\x22,file,line,column);\n\nreturn fetch([shadow.cljs.devtools.client.env.get_url_base(),\x22/api/open-file\x22].join(\x27\x27),({\x22method\x22: \x22POST\x22, \x22cache\x22: \x22no-cache\x22, \x22mode\x22: \x22cors\x22, \x22body\x22: shadow.cljs.devtools.client.shared.transit_str(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null))})).then((function (p1__21435_SHARP_){\nreturn p1__21435_SHARP_.text();\n})).then((function (result_text){\nvar data \x3d shadow.cljs.devtools.client.shared.transit_read(result_text);\nreturn console.log(\x22open file result\x22,data);\n}));\n});\nshadow.cljs.devtools.client.hud.dom_insert \x3d (function shadow$cljs$devtools$client$hud$dom_insert(var_args){\nvar G__21438 \x3d arguments.length;\nswitch (G__21438) {\ncase 1:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2(document.body,node);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2 \x3d (function (where,node){\nvar el \x3d shadow.dom.dom_node(node);\nvar id \x3d el.id;\nif(cljs.core.seq(id)){\n} else {\nthrow (new Error(\x22Assert failed: (seq id)\x22));\n}\n\nvar temp__5808__auto___21511 \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(id);\nif((temp__5808__auto___21511 \x3d\x3d null)){\n} else {\nvar x_21512 \x3d temp__5808__auto___21511;\nshadow.dom.remove(x_21512);\n}\n\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(where,el);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.hud_id \x3d \x22shadow-hud-container\x22;\nshadow.cljs.devtools.client.hud.load_id \x3d \x22shadow-hud-loading-container\x22;\nshadow.cljs.devtools.client.hud.logo_svg \x3d (new cljs.core.Delay((function (){\nvar s_path \x3d \x22M247.183941,141.416413 C247.183941,74.7839971 148.383423,78.9723529 148.383423,141.416413 C148.383423,203.860473 265.090698,171.864644 265.090698,248.900057 C265.090698,325.93547 135,325.851749 135,251.708304\x22;\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),\x22shadow-cljs-logo\x22,new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698),\x221.1\x22,new cljs.core.Keyword(null,\x22viewBox\x22,\x22viewBox\x22,-469489477),\x220 0 400 400\x22,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),\x22block\x22], null),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),\x2260px\x22,new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x2260px\x22], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22title\x22,\x22title\x22,636505583),\x22shadow-cljs\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22defs\x22,\x22defs\x22,1398449717),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mask#shadow-cljs-logo-mask\x22,\x22mask#shadow-cljs-logo-mask\x22,1690487509),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#fff\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22], null)], null)], null)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22fill-rule\x22,\x22fill-rule\x22,-1824841598),\x22evenodd\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22none\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x220\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22none\x22,new cljs.core.Keyword(null,\x22mask\x22,\x22mask\x22,-585748447),\x22url(#shadow-cljs-logo-mask)\x22], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g.circles\x22,\x22g.circles\x22,374463200),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.blue\x22,\x22circle.blue\x22,1902916291),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#4F80DF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-blue\x22,\x22circle.light-blue\x22,438137342),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x2271.5\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22370\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#89B4FF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.dark-green\x22,\x22circle.dark-green\x22,608465767),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22180\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22360\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x2260\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#40B400\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-green\x22,\x22circle.light-green\x22,-1663041285),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22129\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22320\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22280\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#76E013\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22animateTransform\x22,\x22animateTransform\x22,759329815),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22attributeType\x22,\x22attributeType\x22,1055561918),\x22xml\x22,new cljs.core.Keyword(null,\x22attributeName\x22,\x22attributeName\x22,-400177890),\x22transform\x22,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),\x22rotate\x22,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),\x220 200 200\x22,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),\x22360 200 200\x22,new cljs.core.Keyword(null,\x22dur\x22,\x22dur\x22,1464522452),\x223s\x22,new cljs.core.Keyword(null,\x22repeatCount\x22,\x22repeatCount\x22,1447663848),\x22indefinite\x22], null)], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),\x22translate(10,10)\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#aaa\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#FFFFFF\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null)], 0));\n}),null));\nshadow.cljs.devtools.client.hud.load_start \x3d (function shadow$cljs$devtools$client$hud$load_start(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.load_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),\x2240px\x22,new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),\x2240px\x22,new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),\x222px 2px 10px #aaa\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22], null)], null),cljs.core.deref(shadow.cljs.devtools.client.hud.logo_svg)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end_success \x3d (function shadow$cljs$devtools$client$hud$load_end_success(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar container_el \x3d temp__5808__auto__;\nvar el \x3d container_el.firstChild;\nshadow.animate.start((500),cljs.core.PersistentArrayMap.createAsIfByAssoc([el,shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,\x22#40B400\x22,\x22ease-out\x22)]));\n\nvar c__14406__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__14407__auto__ \x3d (function (){var switch__14360__auto__ \x3d (function (state_21460){\nvar state_val_21461 \x3d (state_21460[(1)]);\nif((state_val_21461 \x3d\x3d\x3d (1))){\nvar inst_21448 \x3d cljs.core.async.timeout((250));\nvar state_21460__$1 \x3d state_21460;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_21460__$1,(2),inst_21448);\n} else {\nif((state_val_21461 \x3d\x3d\x3d (2))){\nvar inst_21450 \x3d (state_21460[(2)]);\nvar inst_21451 \x3d [el];\nvar inst_21452 \x3d shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,\x22ease-in\x22);\nvar inst_21453 \x3d [inst_21452];\nvar inst_21454 \x3d cljs.core.PersistentHashMap.fromArrays(inst_21451,inst_21453);\nvar inst_21455 \x3d shadow.animate.start((250),inst_21454);\nvar state_21460__$1 \x3d (function (){var statearr_21462 \x3d state_21460;\n(statearr_21462[(7)] \x3d inst_21450);\n\nreturn statearr_21462;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_21460__$1,(3),inst_21455);\n} else {\nif((state_val_21461 \x3d\x3d\x3d (3))){\nvar inst_21457 \x3d (state_21460[(2)]);\nvar inst_21458 \x3d shadow.dom.remove(container_el);\nvar state_21460__$1 \x3d (function (){var statearr_21464 \x3d state_21460;\n(statearr_21464[(8)] \x3d inst_21457);\n\nreturn statearr_21464;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_21460__$1,inst_21458);\n} else {\nreturn null;\n}\n}\n}\n});\nreturn (function() {\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto__ \x3d null;\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto____0 \x3d (function (){\nvar statearr_21465 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_21465[(0)] \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto__);\n\n(statearr_21465[(1)] \x3d (1));\n\nreturn statearr_21465;\n});\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto____1 \x3d (function (state_21460){\nwhile(true){\nvar ret_value__14362__auto__ \x3d (function (){try{while(true){\nvar result__14363__auto__ \x3d switch__14360__auto__(state_21460);\nif(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__14363__auto__;\n}\nbreak;\n}\n}catch (e21466){var ex__14364__auto__ \x3d e21466;\nvar statearr_21467_21520 \x3d state_21460;\n(statearr_21467_21520[(2)] \x3d ex__14364__auto__);\n\n\nif(cljs.core.seq((state_21460[(4)]))){\nvar statearr_21468_21521 \x3d state_21460;\n(statearr_21468_21521[(1)] \x3d cljs.core.first((state_21460[(4)])));\n\n} else {\nthrow ex__14364__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__21522 \x3d state_21460;\nstate_21460 \x3d G__21522;\ncontinue;\n} else {\nreturn ret_value__14362__auto__;\n}\nbreak;\n}\n});\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto__ \x3d function(state_21460){\nswitch(arguments.length){\ncase 0:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto____0.call(this);\ncase 1:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto____1.call(this,state_21460);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto____0;\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto____1;\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__14361__auto__;\n})()\n})();\nvar state__14408__auto__ \x3d (function (){var statearr_21469 \x3d f__14407__auto__();\n(statearr_21469[(6)] \x3d c__14406__auto__);\n\nreturn statearr_21469;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);\n}));\n\nreturn c__14406__auto__;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end \x3d (function shadow$cljs$devtools$client$hud$load_end(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar el \x3d temp__5808__auto__;\nreturn shadow.dom.remove(el);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_hide \x3d (function shadow$cljs$devtools$client$hud$hud_hide(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.hud_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar d \x3d temp__5808__auto__;\nreturn shadow.dom.remove(d);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.source_line_styles \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x220\x22,new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),\x220\x22], null);\nshadow.cljs.devtools.client.hud.source_highlight_styles \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.hud.source_line_styles,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22);\nshadow.cljs.devtools.client.hud.source_line_html \x3d (function shadow$cljs$devtools$client$hud$source_line_html(start_idx,lines,styles){\nvar iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$hud$source_line_html_$_iter__21473(s__21474){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__21474__$1 \x3d s__21474;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__21474__$1);\nif(temp__5804__auto__){\nvar s__21474__$2 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__21474__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__21474__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__21476 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__21475 \x3d (0);\nwhile(true){\nif((i__21475 \x3c size__5522__auto__)){\nvar vec__21477 \x3d cljs.core._nth(c__5521__auto__,i__21475);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21477,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21477,(1),null);\ncljs.core.chunk_append(b__21476,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null));\n\nvar G__21523 \x3d (i__21475 + (1));\ni__21475 \x3d G__21523;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__21476),shadow$cljs$devtools$client$hud$source_line_html_$_iter__21473(cljs.core.chunk_rest(s__21474__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__21476),null);\n}\n} else {\nvar vec__21480 \x3d cljs.core.first(s__21474__$2);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21480,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__21480,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null),shadow$cljs$devtools$client$hud$source_line_html_$_iter__21473(cljs.core.rest(s__21474__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,lines));\n});\nshadow.cljs.devtools.client.hud.sep_length \x3d (80);\nshadow.cljs.devtools.client.hud.sep_line \x3d (function shadow$cljs$devtools$client$hud$sep_line(var_args){\nvar G__21484 \x3d arguments.length;\nswitch (G__21484) {\ncase 0:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22\x22,(0));\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2 \x3d (function (label,offset){\nvar sep_len \x3d Math.max(shadow.cljs.devtools.client.hud.sep_length,offset);\nvar len \x3d cljs.core.count(label);\nvar sep \x3d (function (c){\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(c,\x22-\x22));\n});\nreturn [sep(offset),cljs.core.str.cljs$core$IFn$_invoke$arity$1(label),sep((sep_len - (offset + len)))].join(\x27\x27);\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.file_link \x3d (function shadow$cljs$devtools$client$hud$file_link(p__21485){\nvar map__21486 \x3d p__21485;\nvar map__21486__$1 \x3d cljs.core.__destructure_map(map__21486);\nvar warning \x3d map__21486__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21486__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21486__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21486__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21486__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nif(cljs.core.not(file)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),resource_name], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22text-decoration\x22,\x22text-decoration\x22,1836813207),\x22underline\x22,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22blue\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),(function (e){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn shadow.cljs.devtools.client.hud.open_file(file,line,column);\n})], null)], null),resource_name], null);\n}\n});\nshadow.cljs.devtools.client.hud.html_for_warning \x3d (function shadow$cljs$devtools$client$hud$html_for_warning(p__21487){\nvar map__21488 \x3d p__21487;\nvar map__21488__$1 \x3d cljs.core.__destructure_map(map__21488);\nvar warning \x3d map__21488__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21488__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21488__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21488__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21488__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21488__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar source_excerpt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21488__$1,new cljs.core.Keyword(null,\x22source-excerpt\x22,\x22source-excerpt\x22,5665576));\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x2210px\x22], null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22line-height\x22,\x22line-height\x22,1870784992),\x2216px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fadb64\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22WARNING in \x22], null),shadow.cljs.devtools.client.hud.file_link(warning)], null),(cljs.core.truth_(source_excerpt)?(function (){var map__21489 \x3d source_excerpt;\nvar map__21489__$1 \x3d cljs.core.__destructure_map(map__21489);\nvar start_idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21489__$1,new cljs.core.Keyword(null,\x22start-idx\x22,\x22start-idx\x22,-1600773745));\nvar before \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21489__$1,new cljs.core.Keyword(null,\x22before\x22,\x22before\x22,-1633692388));\nvar line__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21489__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar after \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21489__$1,new cljs.core.Keyword(null,\x22after\x22,\x22after\x22,594996914));\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22], null)], null),shadow.cljs.devtools.client.hud.source_line_html(start_idx,before,shadow.cljs.devtools.client.hud.source_line_styles),shadow.cljs.devtools.client.hud.source_line_html((start_idx + cljs.core.count(before)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [line__$1], null),shadow.cljs.devtools.client.hud.source_highlight_styles),(function (){var arrow_idx \x3d ((6) + (function (){var or__5045__auto__ \x3d column;\nif(cljs.core.truth_(or__5045__auto__)){\nreturn or__5045__auto__;\n} else {\nreturn (1);\n}\n})());\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22^\x22,arrow_idx)], null);\n})(),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 0\x22], null)], null),msg], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0()], null),shadow.cljs.devtools.client.hud.source_line_html(((start_idx + cljs.core.count(before)) + (1)),after,shadow.cljs.devtools.client.hud.source_line_styles)], null);\n})():null)], null);\n});\nshadow.cljs.devtools.client.hud.hud_warnings \x3d (function shadow$cljs$devtools$client$hud$hud_warnings(p__21491){\nvar map__21492 \x3d p__21491;\nvar map__21492__$1 \x3d cljs.core.__destructure_map(map__21492);\nvar msg \x3d map__21492__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21492__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21492__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar map__21493 \x3d info;\nvar map__21493__$1 \x3d cljs.core.__destructure_map(map__21493);\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21493__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar sources_with_warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__21490_SHARP_){\nreturn cljs.core.seq(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651).cljs$core$IFn$_invoke$arity$1(p1__21490_SHARP_));\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827),sources)));\nif(cljs.core.seq(sources_with_warnings)){\nshadow.cljs.devtools.client.hud.load_end();\n\nif(shadow.cljs.devtools.client.hud.show_warnings){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22flex-direction\x22,\x22flex-direction\x22,364609438),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x2210000\x22,\x220px\x22,\x22flex\x22,\x22fixed\x22,\x22monospace\x22,\x22column\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22align-self\x22,\x22align-self\x22,1475936794),\x22flex-end\x22,new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22border-bottom\x22,\x22border-bottom\x22,2110948415),\x220px\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x226px\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x22-2px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),shadow.cljs.devtools.client.hud.hud_hide], null)], null),\x22Close\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22flex\x22,\x22flex\x22,-1425124628),\x221\x22,new cljs.core.Keyword(null,\x22max-height\x22,\x22max-height\x22,-612563804),\x22300px\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px 0\x22,new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),\x22auto\x22], null)], null),(function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__21494(s__21495){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__21495__$1 \x3d s__21495;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__21495__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__21500 \x3d cljs.core.first(xs__6360__auto__);\nvar map__21500__$1 \x3d cljs.core.__destructure_map(map__21500);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21500__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar iterys__5519__auto__ \x3d ((function (s__21495__$1,map__21500,map__21500__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__21493,map__21493__$1,sources,sources_with_warnings,map__21492,map__21492__$1,msg,type,info){\nreturn (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__21494_$_iter__21496(s__21497){\nreturn (new cljs.core.LazySeq(null,((function (s__21495__$1,map__21500,map__21500__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__21493,map__21493__$1,sources,sources_with_warnings,map__21492,map__21492__$1,msg,type,info){\nreturn (function (){\nvar s__21497__$1 \x3d s__21497;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__21497__$1);\nif(temp__5804__auto____$1){\nvar s__21497__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__21497__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__21497__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__21499 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__21498 \x3d (0);\nwhile(true){\nif((i__21498 \x3c size__5522__auto__)){\nvar warning \x3d cljs.core._nth(c__5521__auto__,i__21498);\ncljs.core.chunk_append(b__21499,shadow.cljs.devtools.client.hud.html_for_warning(warning));\n\nvar G__21529 \x3d (i__21498 + (1));\ni__21498 \x3d G__21529;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__21499),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__21494_$_iter__21496(cljs.core.chunk_rest(s__21497__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__21499),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__21497__$2);\nreturn cljs.core.cons(shadow.cljs.devtools.client.hud.html_for_warning(warning),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__21494_$_iter__21496(cljs.core.rest(s__21497__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__21495__$1,map__21500,map__21500__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__21493,map__21493__$1,sources,sources_with_warnings,map__21492,map__21492__$1,msg,type,info))\n,null,null));\n});})(s__21495__$1,map__21500,map__21500__$1,warnings,xs__6360__auto__,temp__5804__auto__,map__21493,map__21493__$1,sources,sources_with_warnings,map__21492,map__21492__$1,msg,type,info))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(warnings));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,shadow$cljs$devtools$client$hud$hud_warnings_$_iter__21494(cljs.core.rest(s__21495__$1)));\n} else {\nvar G__21531 \x3d cljs.core.rest(s__21495__$1);\ns__21495__$1 \x3d G__21531;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(sources_with_warnings);\n})()], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_error \x3d (function shadow$cljs$devtools$client$hud$hud_error(p__21501){\nvar map__21502 \x3d p__21501;\nvar map__21502__$1 \x3d cljs.core.__destructure_map(map__21502);\nvar msg \x3d map__21502__$1;\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21502__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22top\x22,\x22top\x22,-1856271961),new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x220px\x22,\x22auto\x22,\x22#fff\x22,\x2210000\x22,\x2220px\x22,\x220px\x22,\x22fixed\x22,\x225px solid red\x22,\x22monospace\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),\x22color: red; margin-bottom: 10px; font-size: 2em;\x22], null),\x22Compilation failed!\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),report], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error_id \x3d \x22shadow-connection-error\x22;\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_ \x3d (function shadow$cljs$devtools$client$hud$connection_error_clear_BANG_(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5808__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.connection_error_id);\nif((temp__5808__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar x \x3d temp__5808__auto__;\nreturn shadow.dom.remove(x);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error \x3d (function shadow$cljs$devtools$client$hud$connection_error(msg){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.connection_error_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874)],[\x222px 2px 10px #aaa\x22,\x22#fff\x22,\x2214px\x22,\x22bold\x22,\x2240px\x22,\x22#c00\x22,\x2210px\x22,\x2240px\x22,\x22monospace\x22])], null),[\x22shadow-cljs - \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_failure \x3d (function shadow$cljs$devtools$client$hud$load_failure(error,task,remaining){\nshadow.cljs.devtools.client.hud.load_end();\n\nconsole.error(\x22reload-failed\x22,error);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22[reload failed] \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(error.message)].join(\x27\x27));\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.websocket.js", true , "goog.provide(\x27shadow.cljs.devtools.client.websocket\x27);\nshadow.cljs.devtools.client.websocket.start \x3d (function shadow$cljs$devtools$client$websocket$start(var_args){\nvar G__21430 \x3d arguments.length;\nswitch (G__21430) {\ncase 1:\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$1 \x3d (function (runtime){\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2(WebSocket,runtime);\n}));\n\n(shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2 \x3d (function (ws_impl,runtime){\nvar ws_url \x3d shadow.cljs.devtools.client.env.get_ws_relay_url();\nvar socket \x3d (new ws_impl(ws_url));\n(socket.onmessage \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_msg(runtime,e.data);\n}));\n\n(socket.onopen \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_open(runtime,e);\n}));\n\n(socket.onclose \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_close(runtime,e,ws_url);\n}));\n\n(socket.onerror \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_error(runtime,e);\n}));\n\nreturn socket;\n}));\n\n(shadow.cljs.devtools.client.websocket.start.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.websocket.send \x3d (function shadow$cljs$devtools$client$websocket$send(socket,msg){\nreturn socket.send(msg);\n});\nshadow.cljs.devtools.client.websocket.stop \x3d (function shadow$cljs$devtools$client$websocket$stop(socket){\n(socket.onopen \x3d null);\n\n(socket.onclose \x3d null);\n\n(socket.onmessage \x3d null);\n\n(socket.onerror \x3d null);\n\nreturn socket.close();\n});\n"); +SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.browser.js", true , "goog.provide(\x27shadow.cljs.devtools.client.browser\x27);\nshadow.cljs.devtools.client.browser.devtools_msg \x3d (function shadow$cljs$devtools$client$browser$devtools_msg(var_args){\nvar args__5775__auto__ \x3d [];\nvar len__5769__auto___21791 \x3d arguments.length;\nvar i__5770__auto___21792 \x3d (0);\nwhile(true){\nif((i__5770__auto___21792 \x3c len__5769__auto___21791)){\nargs__5775__auto__.push((arguments[i__5770__auto___21792]));\n\nvar G__21793 \x3d (i__5770__auto___21792 + (1));\ni__5770__auto___21792 \x3d G__21793;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5776__auto__ \x3d ((((1) \x3c args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);\nreturn shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);\n});\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (msg,args){\nif(shadow.cljs.devtools.client.env.log){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.log_style)){\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22%cshadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27),shadow.cljs.devtools.client.env.log_style], null),args)));\n} else {\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22shadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null),args)));\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$applyTo \x3d (function (seq21503){\nvar G__21504 \x3d cljs.core.first(seq21503);\nvar seq21503__$1 \x3d cljs.core.next(seq21503);\nvar self__5754__auto__ \x3d this;\nreturn self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__21504,seq21503__$1);\n}));\n\nshadow.cljs.devtools.client.browser.script_eval \x3d (function shadow$cljs$devtools$client$browser$script_eval(code){\nreturn goog.globalEval(code);\n});\nshadow.cljs.devtools.client.browser.do_js_load \x3d (function shadow$cljs$devtools$client$browser$do_js_load(sources){\nvar seq__21505 \x3d cljs.core.seq(sources);\nvar chunk__21506 \x3d null;\nvar count__21507 \x3d (0);\nvar i__21508 \x3d (0);\nwhile(true){\nif((i__21508 \x3c count__21507)){\nvar map__21516 \x3d chunk__21506.cljs$core$IIndexed$_nth$arity$2(null,i__21508);\nvar map__21516__$1 \x3d cljs.core.__destructure_map(map__21516);\nvar src \x3d map__21516__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21516__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21516__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21516__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21516__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e21517){var e_21794 \x3d e21517;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_21794);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_21794.message)].join(\x27\x27)));\n}\n\nvar G__21795 \x3d seq__21505;\nvar G__21796 \x3d chunk__21506;\nvar G__21797 \x3d count__21507;\nvar G__21798 \x3d (i__21508 + (1));\nseq__21505 \x3d G__21795;\nchunk__21506 \x3d G__21796;\ncount__21507 \x3d G__21797;\ni__21508 \x3d G__21798;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__21505);\nif(temp__5804__auto__){\nvar seq__21505__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__21505__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__21505__$1);\nvar G__21799 \x3d cljs.core.chunk_rest(seq__21505__$1);\nvar G__21800 \x3d c__5568__auto__;\nvar G__21801 \x3d cljs.core.count(c__5568__auto__);\nvar G__21802 \x3d (0);\nseq__21505 \x3d G__21799;\nchunk__21506 \x3d G__21800;\ncount__21507 \x3d G__21801;\ni__21508 \x3d G__21802;\ncontinue;\n} else {\nvar map__21518 \x3d cljs.core.first(seq__21505__$1);\nvar map__21518__$1 \x3d cljs.core.__destructure_map(map__21518);\nvar src \x3d map__21518__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21518__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21518__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21518__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21518__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e21519){var e_21803 \x3d e21519;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_21803);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_21803.message)].join(\x27\x27)));\n}\n\nvar G__21804 \x3d cljs.core.next(seq__21505__$1);\nvar G__21805 \x3d null;\nvar G__21806 \x3d (0);\nvar G__21807 \x3d (0);\nseq__21505 \x3d G__21804;\nchunk__21506 \x3d G__21805;\ncount__21507 \x3d G__21806;\ni__21508 \x3d G__21807;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.do_js_reload \x3d (function shadow$cljs$devtools$client$browser$do_js_reload(msg,sources,complete_fn,failure_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(msg,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765),(function (fn_sym){\nreturn null;\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call async \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n})], 0)),(function (){\nreturn shadow.cljs.devtools.client.browser.do_js_load(sources);\n}),complete_fn,failure_fn);\n});\n/**\n * when (require \x27[\x22some-str\x22 :as x]) is done at the REPL we need to manually call the shadow.js.require for it\n * since the file only adds the shadow$provide. only need to do this for shadow-js.\n */\nshadow.cljs.devtools.client.browser.do_js_requires \x3d (function shadow$cljs$devtools$client$browser$do_js_requires(js_requires){\nvar seq__21525 \x3d cljs.core.seq(js_requires);\nvar chunk__21526 \x3d null;\nvar count__21527 \x3d (0);\nvar i__21528 \x3d (0);\nwhile(true){\nif((i__21528 \x3c count__21527)){\nvar js_ns \x3d chunk__21526.cljs$core$IIndexed$_nth$arity$2(null,i__21528);\nvar require_str_21808 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_21808);\n\n\nvar G__21809 \x3d seq__21525;\nvar G__21810 \x3d chunk__21526;\nvar G__21811 \x3d count__21527;\nvar G__21812 \x3d (i__21528 + (1));\nseq__21525 \x3d G__21809;\nchunk__21526 \x3d G__21810;\ncount__21527 \x3d G__21811;\ni__21528 \x3d G__21812;\ncontinue;\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__21525);\nif(temp__5804__auto__){\nvar seq__21525__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__21525__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__21525__$1);\nvar G__21813 \x3d cljs.core.chunk_rest(seq__21525__$1);\nvar G__21814 \x3d c__5568__auto__;\nvar G__21815 \x3d cljs.core.count(c__5568__auto__);\nvar G__21816 \x3d (0);\nseq__21525 \x3d G__21813;\nchunk__21526 \x3d G__21814;\ncount__21527 \x3d G__21815;\ni__21528 \x3d G__21816;\ncontinue;\n} else {\nvar js_ns \x3d cljs.core.first(seq__21525__$1);\nvar require_str_21817 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_21817);\n\n\nvar G__21818 \x3d cljs.core.next(seq__21525__$1);\nvar G__21819 \x3d null;\nvar G__21820 \x3d (0);\nvar G__21821 \x3d (0);\nseq__21525 \x3d G__21818;\nchunk__21526 \x3d G__21819;\ncount__21527 \x3d G__21820;\ni__21528 \x3d G__21821;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.handle_build_complete \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete(runtime,p__21532){\nvar map__21533 \x3d p__21532;\nvar map__21533__$1 \x3d cljs.core.__destructure_map(map__21533);\nvar msg \x3d map__21533__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21533__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21533__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5523__auto__ \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__21534(s__21535){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__21535__$1 \x3d s__21535;\nwhile(true){\nvar temp__5804__auto__ \x3d cljs.core.seq(s__21535__$1);\nif(temp__5804__auto__){\nvar xs__6360__auto__ \x3d temp__5804__auto__;\nvar map__21540 \x3d cljs.core.first(xs__6360__auto__);\nvar map__21540__$1 \x3d cljs.core.__destructure_map(map__21540);\nvar src \x3d map__21540__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21540__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21540__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5519__auto__ \x3d ((function (s__21535__$1,map__21540,map__21540__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__21533,map__21533__$1,msg,info,reload_info){\nreturn (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__21534_$_iter__21536(s__21537){\nreturn (new cljs.core.LazySeq(null,((function (s__21535__$1,map__21540,map__21540__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__21533,map__21533__$1,msg,info,reload_info){\nreturn (function (){\nvar s__21537__$1 \x3d s__21537;\nwhile(true){\nvar temp__5804__auto____$1 \x3d cljs.core.seq(s__21537__$1);\nif(temp__5804__auto____$1){\nvar s__21537__$2 \x3d temp__5804__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__21537__$2)){\nvar c__5521__auto__ \x3d cljs.core.chunk_first(s__21537__$2);\nvar size__5522__auto__ \x3d cljs.core.count(c__5521__auto__);\nvar b__21539 \x3d cljs.core.chunk_buffer(size__5522__auto__);\nif((function (){var i__21538 \x3d (0);\nwhile(true){\nif((i__21538 \x3c size__5522__auto__)){\nvar warning \x3d cljs.core._nth(c__5521__auto__,i__21538);\ncljs.core.chunk_append(b__21539,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__21822 \x3d (i__21538 + (1));\ni__21538 \x3d G__21822;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__21539),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__21534_$_iter__21536(cljs.core.chunk_rest(s__21537__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__21539),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__21537__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__21534_$_iter__21536(cljs.core.rest(s__21537__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__21535__$1,map__21540,map__21540__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__21533,map__21533__$1,msg,info,reload_info))\n,null,null));\n});})(s__21535__$1,map__21540,map__21540__$1,src,resource_name,warnings,xs__6360__auto__,temp__5804__auto__,map__21533,map__21533__$1,msg,info,reload_info))\n;\nvar fs__5520__auto__ \x3d cljs.core.seq(iterys__5519__auto__(warnings));\nif(fs__5520__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5520__auto__,shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__21534(cljs.core.rest(s__21535__$1)));\n} else {\nvar G__21823 \x3d cljs.core.rest(s__21535__$1);\ns__21535__$1 \x3d G__21823;\ncontinue;\n}\n} else {\nvar G__21824 \x3d cljs.core.rest(s__21535__$1);\ns__21535__$1 \x3d G__21824;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5523__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nif(shadow.cljs.devtools.client.env.log){\nvar seq__21541_21825 \x3d cljs.core.seq(warnings);\nvar chunk__21542_21826 \x3d null;\nvar count__21543_21827 \x3d (0);\nvar i__21544_21828 \x3d (0);\nwhile(true){\nif((i__21544_21828 \x3c count__21543_21827)){\nvar map__21547_21829 \x3d chunk__21542_21826.cljs$core$IIndexed$_nth$arity$2(null,i__21544_21828);\nvar map__21547_21830__$1 \x3d cljs.core.__destructure_map(map__21547_21829);\nvar w_21831 \x3d map__21547_21830__$1;\nvar msg_21832__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21547_21830__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_21833 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21547_21830__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_21834 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21547_21830__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_21835 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21547_21830__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_21835),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_21833),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_21834),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_21832__$1)].join(\x27\x27));\n\n\nvar G__21836 \x3d seq__21541_21825;\nvar G__21837 \x3d chunk__21542_21826;\nvar G__21838 \x3d count__21543_21827;\nvar G__21839 \x3d (i__21544_21828 + (1));\nseq__21541_21825 \x3d G__21836;\nchunk__21542_21826 \x3d G__21837;\ncount__21543_21827 \x3d G__21838;\ni__21544_21828 \x3d G__21839;\ncontinue;\n} else {\nvar temp__5804__auto___21840 \x3d cljs.core.seq(seq__21541_21825);\nif(temp__5804__auto___21840){\nvar seq__21541_21841__$1 \x3d temp__5804__auto___21840;\nif(cljs.core.chunked_seq_QMARK_(seq__21541_21841__$1)){\nvar c__5568__auto___21842 \x3d cljs.core.chunk_first(seq__21541_21841__$1);\nvar G__21843 \x3d cljs.core.chunk_rest(seq__21541_21841__$1);\nvar G__21844 \x3d c__5568__auto___21842;\nvar G__21845 \x3d cljs.core.count(c__5568__auto___21842);\nvar G__21846 \x3d (0);\nseq__21541_21825 \x3d G__21843;\nchunk__21542_21826 \x3d G__21844;\ncount__21543_21827 \x3d G__21845;\ni__21544_21828 \x3d G__21846;\ncontinue;\n} else {\nvar map__21548_21847 \x3d cljs.core.first(seq__21541_21841__$1);\nvar map__21548_21848__$1 \x3d cljs.core.__destructure_map(map__21548_21847);\nvar w_21849 \x3d map__21548_21848__$1;\nvar msg_21850__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21548_21848__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_21851 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21548_21848__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_21852 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21548_21848__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_21853 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21548_21848__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_21853),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_21851),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_21852),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_21850__$1)].join(\x27\x27));\n\n\nvar G__21854 \x3d cljs.core.next(seq__21541_21841__$1);\nvar G__21855 \x3d null;\nvar G__21856 \x3d (0);\nvar G__21857 \x3d (0);\nseq__21541_21825 \x3d G__21854;\nchunk__21542_21826 \x3d G__21855;\ncount__21543_21827 \x3d G__21856;\ni__21544_21828 \x3d G__21857;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif((!(shadow.cljs.devtools.client.env.autoload))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(((cljs.core.empty_QMARK_(warnings)) || (shadow.cljs.devtools.client.env.ignore_warnings))){\nvar sources_to_get \x3d shadow.cljs.devtools.client.env.filter_reload_sources(info,reload_info);\nif(cljs.core.not(cljs.core.seq(sources_to_get))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285)], null)))){\n} else {\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22reloading code but no :after-load hooks are configured!\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22https://shadow-cljs.github.io/docs/UsersGuide.html#_lifecycle_hooks\x22], 0));\n}\n\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime,sources_to_get,(function (p1__21530_SHARP_){\nreturn shadow.cljs.devtools.client.browser.do_js_reload(msg,p1__21530_SHARP_,shadow.cljs.devtools.client.hud.load_end_success,shadow.cljs.devtools.client.hud.load_failure);\n}));\n}\n} else {\nreturn null;\n}\n}\n});\nshadow.cljs.devtools.client.browser.page_load_uri \x3d (cljs.core.truth_(goog.global.document)?goog.Uri.parse(document.location.href):null);\nshadow.cljs.devtools.client.browser.match_paths \x3d (function shadow$cljs$devtools$client$browser$match_paths(old,new$){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22file\x22,shadow.cljs.devtools.client.browser.page_load_uri.getScheme())){\nvar rel_new \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(new$,(1));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(old,rel_new)) || (clojure.string.starts_with_QMARK_(old,[rel_new,\x22?\x22].join(\x27\x27))))){\nreturn rel_new;\n} else {\nreturn null;\n}\n} else {\nvar node_uri \x3d goog.Uri.parse(old);\nvar node_uri_resolved \x3d shadow.cljs.devtools.client.browser.page_load_uri.resolve(node_uri);\nvar node_abs \x3d node_uri_resolved.getPath();\nvar and__5043__auto__ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.browser.page_load_uri.hasSameDomainAs(node_uri))) || (cljs.core.not(node_uri.hasDomain())));\nif(and__5043__auto__){\nvar and__5043__auto____$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(node_abs,new$);\nif(and__5043__auto____$1){\nreturn new$;\n} else {\nreturn and__5043__auto____$1;\n}\n} else {\nreturn and__5043__auto__;\n}\n}\n});\nshadow.cljs.devtools.client.browser.handle_asset_update \x3d (function shadow$cljs$devtools$client$browser$handle_asset_update(p__21549){\nvar map__21550 \x3d p__21549;\nvar map__21550__$1 \x3d cljs.core.__destructure_map(map__21550);\nvar msg \x3d map__21550__$1;\nvar updates \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21550__$1,new cljs.core.Keyword(null,\x22updates\x22,\x22updates\x22,2013983452));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21550__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar seq__21551 \x3d cljs.core.seq(updates);\nvar chunk__21553 \x3d null;\nvar count__21554 \x3d (0);\nvar i__21555 \x3d (0);\nwhile(true){\nif((i__21555 \x3c count__21554)){\nvar path \x3d chunk__21553.cljs$core$IIndexed$_nth$arity$2(null,i__21555);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__21665_21858 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__21669_21859 \x3d null;\nvar count__21670_21860 \x3d (0);\nvar i__21671_21861 \x3d (0);\nwhile(true){\nif((i__21671_21861 \x3c count__21670_21860)){\nvar node_21862 \x3d chunk__21669_21859.cljs$core$IIndexed$_nth$arity$2(null,i__21671_21861);\nif(cljs.core.not(node_21862.shadow$old)){\nvar path_match_21863 \x3d shadow.cljs.devtools.client.browser.match_paths(node_21862.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_21863)){\nvar new_link_21864 \x3d (function (){var G__21697 \x3d node_21862.cloneNode(true);\nG__21697.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_21863),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__21697;\n})();\n(node_21862.shadow$old \x3d true);\n\n(new_link_21864.onload \x3d ((function (seq__21665_21858,chunk__21669_21859,count__21670_21860,i__21671_21861,seq__21551,chunk__21553,count__21554,i__21555,new_link_21864,path_match_21863,node_21862,path,map__21550,map__21550__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__21698_21865 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__21700_21866 \x3d null;\nvar count__21701_21867 \x3d (0);\nvar i__21702_21868 \x3d (0);\nwhile(true){\nif((i__21702_21868 \x3c count__21701_21867)){\nvar map__21706_21869 \x3d chunk__21700_21866.cljs$core$IIndexed$_nth$arity$2(null,i__21702_21868);\nvar map__21706_21870__$1 \x3d cljs.core.__destructure_map(map__21706_21869);\nvar task_21871 \x3d map__21706_21870__$1;\nvar fn_str_21872 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21706_21870__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_21873 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21706_21870__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_21874 \x3d goog.getObjectByName(fn_str_21872,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_21873)].join(\x27\x27));\n\n(fn_obj_21874.cljs$core$IFn$_invoke$arity$2 ? fn_obj_21874.cljs$core$IFn$_invoke$arity$2(path,new_link_21864) : fn_obj_21874.call(null,path,new_link_21864));\n\n\nvar G__21875 \x3d seq__21698_21865;\nvar G__21876 \x3d chunk__21700_21866;\nvar G__21877 \x3d count__21701_21867;\nvar G__21878 \x3d (i__21702_21868 + (1));\nseq__21698_21865 \x3d G__21875;\nchunk__21700_21866 \x3d G__21876;\ncount__21701_21867 \x3d G__21877;\ni__21702_21868 \x3d G__21878;\ncontinue;\n} else {\nvar temp__5804__auto___21879 \x3d cljs.core.seq(seq__21698_21865);\nif(temp__5804__auto___21879){\nvar seq__21698_21880__$1 \x3d temp__5804__auto___21879;\nif(cljs.core.chunked_seq_QMARK_(seq__21698_21880__$1)){\nvar c__5568__auto___21881 \x3d cljs.core.chunk_first(seq__21698_21880__$1);\nvar G__21882 \x3d cljs.core.chunk_rest(seq__21698_21880__$1);\nvar G__21883 \x3d c__5568__auto___21881;\nvar G__21884 \x3d cljs.core.count(c__5568__auto___21881);\nvar G__21885 \x3d (0);\nseq__21698_21865 \x3d G__21882;\nchunk__21700_21866 \x3d G__21883;\ncount__21701_21867 \x3d G__21884;\ni__21702_21868 \x3d G__21885;\ncontinue;\n} else {\nvar map__21707_21886 \x3d cljs.core.first(seq__21698_21880__$1);\nvar map__21707_21887__$1 \x3d cljs.core.__destructure_map(map__21707_21886);\nvar task_21888 \x3d map__21707_21887__$1;\nvar fn_str_21889 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21707_21887__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_21890 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21707_21887__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_21891 \x3d goog.getObjectByName(fn_str_21889,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_21890)].join(\x27\x27));\n\n(fn_obj_21891.cljs$core$IFn$_invoke$arity$2 ? fn_obj_21891.cljs$core$IFn$_invoke$arity$2(path,new_link_21864) : fn_obj_21891.call(null,path,new_link_21864));\n\n\nvar G__21892 \x3d cljs.core.next(seq__21698_21880__$1);\nvar G__21893 \x3d null;\nvar G__21894 \x3d (0);\nvar G__21895 \x3d (0);\nseq__21698_21865 \x3d G__21892;\nchunk__21700_21866 \x3d G__21893;\ncount__21701_21867 \x3d G__21894;\ni__21702_21868 \x3d G__21895;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_21862);\n});})(seq__21665_21858,chunk__21669_21859,count__21670_21860,i__21671_21861,seq__21551,chunk__21553,count__21554,i__21555,new_link_21864,path_match_21863,node_21862,path,map__21550,map__21550__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_21863], 0));\n\ngoog.dom.insertSiblingAfter(new_link_21864,node_21862);\n\n\nvar G__21896 \x3d seq__21665_21858;\nvar G__21897 \x3d chunk__21669_21859;\nvar G__21898 \x3d count__21670_21860;\nvar G__21899 \x3d (i__21671_21861 + (1));\nseq__21665_21858 \x3d G__21896;\nchunk__21669_21859 \x3d G__21897;\ncount__21670_21860 \x3d G__21898;\ni__21671_21861 \x3d G__21899;\ncontinue;\n} else {\nvar G__21900 \x3d seq__21665_21858;\nvar G__21901 \x3d chunk__21669_21859;\nvar G__21902 \x3d count__21670_21860;\nvar G__21903 \x3d (i__21671_21861 + (1));\nseq__21665_21858 \x3d G__21900;\nchunk__21669_21859 \x3d G__21901;\ncount__21670_21860 \x3d G__21902;\ni__21671_21861 \x3d G__21903;\ncontinue;\n}\n} else {\nvar G__21904 \x3d seq__21665_21858;\nvar G__21905 \x3d chunk__21669_21859;\nvar G__21906 \x3d count__21670_21860;\nvar G__21907 \x3d (i__21671_21861 + (1));\nseq__21665_21858 \x3d G__21904;\nchunk__21669_21859 \x3d G__21905;\ncount__21670_21860 \x3d G__21906;\ni__21671_21861 \x3d G__21907;\ncontinue;\n}\n} else {\nvar temp__5804__auto___21908 \x3d cljs.core.seq(seq__21665_21858);\nif(temp__5804__auto___21908){\nvar seq__21665_21909__$1 \x3d temp__5804__auto___21908;\nif(cljs.core.chunked_seq_QMARK_(seq__21665_21909__$1)){\nvar c__5568__auto___21910 \x3d cljs.core.chunk_first(seq__21665_21909__$1);\nvar G__21911 \x3d cljs.core.chunk_rest(seq__21665_21909__$1);\nvar G__21912 \x3d c__5568__auto___21910;\nvar G__21913 \x3d cljs.core.count(c__5568__auto___21910);\nvar G__21914 \x3d (0);\nseq__21665_21858 \x3d G__21911;\nchunk__21669_21859 \x3d G__21912;\ncount__21670_21860 \x3d G__21913;\ni__21671_21861 \x3d G__21914;\ncontinue;\n} else {\nvar node_21915 \x3d cljs.core.first(seq__21665_21909__$1);\nif(cljs.core.not(node_21915.shadow$old)){\nvar path_match_21916 \x3d shadow.cljs.devtools.client.browser.match_paths(node_21915.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_21916)){\nvar new_link_21917 \x3d (function (){var G__21708 \x3d node_21915.cloneNode(true);\nG__21708.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_21916),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__21708;\n})();\n(node_21915.shadow$old \x3d true);\n\n(new_link_21917.onload \x3d ((function (seq__21665_21858,chunk__21669_21859,count__21670_21860,i__21671_21861,seq__21551,chunk__21553,count__21554,i__21555,new_link_21917,path_match_21916,node_21915,seq__21665_21909__$1,temp__5804__auto___21908,path,map__21550,map__21550__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__21709_21918 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__21711_21919 \x3d null;\nvar count__21712_21920 \x3d (0);\nvar i__21713_21921 \x3d (0);\nwhile(true){\nif((i__21713_21921 \x3c count__21712_21920)){\nvar map__21717_21922 \x3d chunk__21711_21919.cljs$core$IIndexed$_nth$arity$2(null,i__21713_21921);\nvar map__21717_21923__$1 \x3d cljs.core.__destructure_map(map__21717_21922);\nvar task_21924 \x3d map__21717_21923__$1;\nvar fn_str_21925 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21717_21923__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_21926 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21717_21923__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_21927 \x3d goog.getObjectByName(fn_str_21925,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_21926)].join(\x27\x27));\n\n(fn_obj_21927.cljs$core$IFn$_invoke$arity$2 ? fn_obj_21927.cljs$core$IFn$_invoke$arity$2(path,new_link_21917) : fn_obj_21927.call(null,path,new_link_21917));\n\n\nvar G__21928 \x3d seq__21709_21918;\nvar G__21929 \x3d chunk__21711_21919;\nvar G__21930 \x3d count__21712_21920;\nvar G__21931 \x3d (i__21713_21921 + (1));\nseq__21709_21918 \x3d G__21928;\nchunk__21711_21919 \x3d G__21929;\ncount__21712_21920 \x3d G__21930;\ni__21713_21921 \x3d G__21931;\ncontinue;\n} else {\nvar temp__5804__auto___21932__$1 \x3d cljs.core.seq(seq__21709_21918);\nif(temp__5804__auto___21932__$1){\nvar seq__21709_21933__$1 \x3d temp__5804__auto___21932__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__21709_21933__$1)){\nvar c__5568__auto___21934 \x3d cljs.core.chunk_first(seq__21709_21933__$1);\nvar G__21935 \x3d cljs.core.chunk_rest(seq__21709_21933__$1);\nvar G__21936 \x3d c__5568__auto___21934;\nvar G__21937 \x3d cljs.core.count(c__5568__auto___21934);\nvar G__21938 \x3d (0);\nseq__21709_21918 \x3d G__21935;\nchunk__21711_21919 \x3d G__21936;\ncount__21712_21920 \x3d G__21937;\ni__21713_21921 \x3d G__21938;\ncontinue;\n} else {\nvar map__21718_21939 \x3d cljs.core.first(seq__21709_21933__$1);\nvar map__21718_21940__$1 \x3d cljs.core.__destructure_map(map__21718_21939);\nvar task_21941 \x3d map__21718_21940__$1;\nvar fn_str_21942 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21718_21940__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_21943 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21718_21940__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_21944 \x3d goog.getObjectByName(fn_str_21942,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_21943)].join(\x27\x27));\n\n(fn_obj_21944.cljs$core$IFn$_invoke$arity$2 ? fn_obj_21944.cljs$core$IFn$_invoke$arity$2(path,new_link_21917) : fn_obj_21944.call(null,path,new_link_21917));\n\n\nvar G__21945 \x3d cljs.core.next(seq__21709_21933__$1);\nvar G__21946 \x3d null;\nvar G__21947 \x3d (0);\nvar G__21948 \x3d (0);\nseq__21709_21918 \x3d G__21945;\nchunk__21711_21919 \x3d G__21946;\ncount__21712_21920 \x3d G__21947;\ni__21713_21921 \x3d G__21948;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_21915);\n});})(seq__21665_21858,chunk__21669_21859,count__21670_21860,i__21671_21861,seq__21551,chunk__21553,count__21554,i__21555,new_link_21917,path_match_21916,node_21915,seq__21665_21909__$1,temp__5804__auto___21908,path,map__21550,map__21550__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_21916], 0));\n\ngoog.dom.insertSiblingAfter(new_link_21917,node_21915);\n\n\nvar G__21949 \x3d cljs.core.next(seq__21665_21909__$1);\nvar G__21950 \x3d null;\nvar G__21951 \x3d (0);\nvar G__21952 \x3d (0);\nseq__21665_21858 \x3d G__21949;\nchunk__21669_21859 \x3d G__21950;\ncount__21670_21860 \x3d G__21951;\ni__21671_21861 \x3d G__21952;\ncontinue;\n} else {\nvar G__21953 \x3d cljs.core.next(seq__21665_21909__$1);\nvar G__21954 \x3d null;\nvar G__21955 \x3d (0);\nvar G__21956 \x3d (0);\nseq__21665_21858 \x3d G__21953;\nchunk__21669_21859 \x3d G__21954;\ncount__21670_21860 \x3d G__21955;\ni__21671_21861 \x3d G__21956;\ncontinue;\n}\n} else {\nvar G__21957 \x3d cljs.core.next(seq__21665_21909__$1);\nvar G__21958 \x3d null;\nvar G__21959 \x3d (0);\nvar G__21960 \x3d (0);\nseq__21665_21858 \x3d G__21957;\nchunk__21669_21859 \x3d G__21958;\ncount__21670_21860 \x3d G__21959;\ni__21671_21861 \x3d G__21960;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__21961 \x3d seq__21551;\nvar G__21962 \x3d chunk__21553;\nvar G__21963 \x3d count__21554;\nvar G__21964 \x3d (i__21555 + (1));\nseq__21551 \x3d G__21961;\nchunk__21553 \x3d G__21962;\ncount__21554 \x3d G__21963;\ni__21555 \x3d G__21964;\ncontinue;\n} else {\nvar G__21965 \x3d seq__21551;\nvar G__21966 \x3d chunk__21553;\nvar G__21967 \x3d count__21554;\nvar G__21968 \x3d (i__21555 + (1));\nseq__21551 \x3d G__21965;\nchunk__21553 \x3d G__21966;\ncount__21554 \x3d G__21967;\ni__21555 \x3d G__21968;\ncontinue;\n}\n} else {\nvar temp__5804__auto__ \x3d cljs.core.seq(seq__21551);\nif(temp__5804__auto__){\nvar seq__21551__$1 \x3d temp__5804__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__21551__$1)){\nvar c__5568__auto__ \x3d cljs.core.chunk_first(seq__21551__$1);\nvar G__21969 \x3d cljs.core.chunk_rest(seq__21551__$1);\nvar G__21970 \x3d c__5568__auto__;\nvar G__21971 \x3d cljs.core.count(c__5568__auto__);\nvar G__21972 \x3d (0);\nseq__21551 \x3d G__21969;\nchunk__21553 \x3d G__21970;\ncount__21554 \x3d G__21971;\ni__21555 \x3d G__21972;\ncontinue;\n} else {\nvar path \x3d cljs.core.first(seq__21551__$1);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__21719_21973 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__21723_21974 \x3d null;\nvar count__21724_21975 \x3d (0);\nvar i__21725_21976 \x3d (0);\nwhile(true){\nif((i__21725_21976 \x3c count__21724_21975)){\nvar node_21977 \x3d chunk__21723_21974.cljs$core$IIndexed$_nth$arity$2(null,i__21725_21976);\nif(cljs.core.not(node_21977.shadow$old)){\nvar path_match_21978 \x3d shadow.cljs.devtools.client.browser.match_paths(node_21977.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_21978)){\nvar new_link_21979 \x3d (function (){var G__21751 \x3d node_21977.cloneNode(true);\nG__21751.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_21978),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__21751;\n})();\n(node_21977.shadow$old \x3d true);\n\n(new_link_21979.onload \x3d ((function (seq__21719_21973,chunk__21723_21974,count__21724_21975,i__21725_21976,seq__21551,chunk__21553,count__21554,i__21555,new_link_21979,path_match_21978,node_21977,path,seq__21551__$1,temp__5804__auto__,map__21550,map__21550__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__21752_21980 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__21754_21981 \x3d null;\nvar count__21755_21982 \x3d (0);\nvar i__21756_21983 \x3d (0);\nwhile(true){\nif((i__21756_21983 \x3c count__21755_21982)){\nvar map__21760_21984 \x3d chunk__21754_21981.cljs$core$IIndexed$_nth$arity$2(null,i__21756_21983);\nvar map__21760_21985__$1 \x3d cljs.core.__destructure_map(map__21760_21984);\nvar task_21986 \x3d map__21760_21985__$1;\nvar fn_str_21987 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21760_21985__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_21988 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21760_21985__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_21989 \x3d goog.getObjectByName(fn_str_21987,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_21988)].join(\x27\x27));\n\n(fn_obj_21989.cljs$core$IFn$_invoke$arity$2 ? fn_obj_21989.cljs$core$IFn$_invoke$arity$2(path,new_link_21979) : fn_obj_21989.call(null,path,new_link_21979));\n\n\nvar G__21990 \x3d seq__21752_21980;\nvar G__21991 \x3d chunk__21754_21981;\nvar G__21992 \x3d count__21755_21982;\nvar G__21993 \x3d (i__21756_21983 + (1));\nseq__21752_21980 \x3d G__21990;\nchunk__21754_21981 \x3d G__21991;\ncount__21755_21982 \x3d G__21992;\ni__21756_21983 \x3d G__21993;\ncontinue;\n} else {\nvar temp__5804__auto___21994__$1 \x3d cljs.core.seq(seq__21752_21980);\nif(temp__5804__auto___21994__$1){\nvar seq__21752_21995__$1 \x3d temp__5804__auto___21994__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__21752_21995__$1)){\nvar c__5568__auto___21996 \x3d cljs.core.chunk_first(seq__21752_21995__$1);\nvar G__21997 \x3d cljs.core.chunk_rest(seq__21752_21995__$1);\nvar G__21998 \x3d c__5568__auto___21996;\nvar G__21999 \x3d cljs.core.count(c__5568__auto___21996);\nvar G__22000 \x3d (0);\nseq__21752_21980 \x3d G__21997;\nchunk__21754_21981 \x3d G__21998;\ncount__21755_21982 \x3d G__21999;\ni__21756_21983 \x3d G__22000;\ncontinue;\n} else {\nvar map__21761_22001 \x3d cljs.core.first(seq__21752_21995__$1);\nvar map__21761_22002__$1 \x3d cljs.core.__destructure_map(map__21761_22001);\nvar task_22003 \x3d map__21761_22002__$1;\nvar fn_str_22004 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21761_22002__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_22005 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21761_22002__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_22006 \x3d goog.getObjectByName(fn_str_22004,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_22005)].join(\x27\x27));\n\n(fn_obj_22006.cljs$core$IFn$_invoke$arity$2 ? fn_obj_22006.cljs$core$IFn$_invoke$arity$2(path,new_link_21979) : fn_obj_22006.call(null,path,new_link_21979));\n\n\nvar G__22007 \x3d cljs.core.next(seq__21752_21995__$1);\nvar G__22008 \x3d null;\nvar G__22009 \x3d (0);\nvar G__22010 \x3d (0);\nseq__21752_21980 \x3d G__22007;\nchunk__21754_21981 \x3d G__22008;\ncount__21755_21982 \x3d G__22009;\ni__21756_21983 \x3d G__22010;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_21977);\n});})(seq__21719_21973,chunk__21723_21974,count__21724_21975,i__21725_21976,seq__21551,chunk__21553,count__21554,i__21555,new_link_21979,path_match_21978,node_21977,path,seq__21551__$1,temp__5804__auto__,map__21550,map__21550__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_21978], 0));\n\ngoog.dom.insertSiblingAfter(new_link_21979,node_21977);\n\n\nvar G__22011 \x3d seq__21719_21973;\nvar G__22012 \x3d chunk__21723_21974;\nvar G__22013 \x3d count__21724_21975;\nvar G__22014 \x3d (i__21725_21976 + (1));\nseq__21719_21973 \x3d G__22011;\nchunk__21723_21974 \x3d G__22012;\ncount__21724_21975 \x3d G__22013;\ni__21725_21976 \x3d G__22014;\ncontinue;\n} else {\nvar G__22015 \x3d seq__21719_21973;\nvar G__22016 \x3d chunk__21723_21974;\nvar G__22017 \x3d count__21724_21975;\nvar G__22018 \x3d (i__21725_21976 + (1));\nseq__21719_21973 \x3d G__22015;\nchunk__21723_21974 \x3d G__22016;\ncount__21724_21975 \x3d G__22017;\ni__21725_21976 \x3d G__22018;\ncontinue;\n}\n} else {\nvar G__22019 \x3d seq__21719_21973;\nvar G__22020 \x3d chunk__21723_21974;\nvar G__22021 \x3d count__21724_21975;\nvar G__22022 \x3d (i__21725_21976 + (1));\nseq__21719_21973 \x3d G__22019;\nchunk__21723_21974 \x3d G__22020;\ncount__21724_21975 \x3d G__22021;\ni__21725_21976 \x3d G__22022;\ncontinue;\n}\n} else {\nvar temp__5804__auto___22023__$1 \x3d cljs.core.seq(seq__21719_21973);\nif(temp__5804__auto___22023__$1){\nvar seq__21719_22024__$1 \x3d temp__5804__auto___22023__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__21719_22024__$1)){\nvar c__5568__auto___22025 \x3d cljs.core.chunk_first(seq__21719_22024__$1);\nvar G__22026 \x3d cljs.core.chunk_rest(seq__21719_22024__$1);\nvar G__22027 \x3d c__5568__auto___22025;\nvar G__22028 \x3d cljs.core.count(c__5568__auto___22025);\nvar G__22029 \x3d (0);\nseq__21719_21973 \x3d G__22026;\nchunk__21723_21974 \x3d G__22027;\ncount__21724_21975 \x3d G__22028;\ni__21725_21976 \x3d G__22029;\ncontinue;\n} else {\nvar node_22030 \x3d cljs.core.first(seq__21719_22024__$1);\nif(cljs.core.not(node_22030.shadow$old)){\nvar path_match_22031 \x3d shadow.cljs.devtools.client.browser.match_paths(node_22030.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_22031)){\nvar new_link_22032 \x3d (function (){var G__21762 \x3d node_22030.cloneNode(true);\nG__21762.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_22031),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__21762;\n})();\n(node_22030.shadow$old \x3d true);\n\n(new_link_22032.onload \x3d ((function (seq__21719_21973,chunk__21723_21974,count__21724_21975,i__21725_21976,seq__21551,chunk__21553,count__21554,i__21555,new_link_22032,path_match_22031,node_22030,seq__21719_22024__$1,temp__5804__auto___22023__$1,path,seq__21551__$1,temp__5804__auto__,map__21550,map__21550__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__21763_22033 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__21765_22034 \x3d null;\nvar count__21766_22035 \x3d (0);\nvar i__21767_22036 \x3d (0);\nwhile(true){\nif((i__21767_22036 \x3c count__21766_22035)){\nvar map__21771_22037 \x3d chunk__21765_22034.cljs$core$IIndexed$_nth$arity$2(null,i__21767_22036);\nvar map__21771_22038__$1 \x3d cljs.core.__destructure_map(map__21771_22037);\nvar task_22039 \x3d map__21771_22038__$1;\nvar fn_str_22040 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21771_22038__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_22041 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21771_22038__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_22042 \x3d goog.getObjectByName(fn_str_22040,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_22041)].join(\x27\x27));\n\n(fn_obj_22042.cljs$core$IFn$_invoke$arity$2 ? fn_obj_22042.cljs$core$IFn$_invoke$arity$2(path,new_link_22032) : fn_obj_22042.call(null,path,new_link_22032));\n\n\nvar G__22043 \x3d seq__21763_22033;\nvar G__22044 \x3d chunk__21765_22034;\nvar G__22045 \x3d count__21766_22035;\nvar G__22046 \x3d (i__21767_22036 + (1));\nseq__21763_22033 \x3d G__22043;\nchunk__21765_22034 \x3d G__22044;\ncount__21766_22035 \x3d G__22045;\ni__21767_22036 \x3d G__22046;\ncontinue;\n} else {\nvar temp__5804__auto___22047__$2 \x3d cljs.core.seq(seq__21763_22033);\nif(temp__5804__auto___22047__$2){\nvar seq__21763_22048__$1 \x3d temp__5804__auto___22047__$2;\nif(cljs.core.chunked_seq_QMARK_(seq__21763_22048__$1)){\nvar c__5568__auto___22049 \x3d cljs.core.chunk_first(seq__21763_22048__$1);\nvar G__22050 \x3d cljs.core.chunk_rest(seq__21763_22048__$1);\nvar G__22051 \x3d c__5568__auto___22049;\nvar G__22052 \x3d cljs.core.count(c__5568__auto___22049);\nvar G__22053 \x3d (0);\nseq__21763_22033 \x3d G__22050;\nchunk__21765_22034 \x3d G__22051;\ncount__21766_22035 \x3d G__22052;\ni__21767_22036 \x3d G__22053;\ncontinue;\n} else {\nvar map__21772_22054 \x3d cljs.core.first(seq__21763_22048__$1);\nvar map__21772_22055__$1 \x3d cljs.core.__destructure_map(map__21772_22054);\nvar task_22056 \x3d map__21772_22055__$1;\nvar fn_str_22057 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21772_22055__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_22058 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21772_22055__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_22059 \x3d goog.getObjectByName(fn_str_22057,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_22058)].join(\x27\x27));\n\n(fn_obj_22059.cljs$core$IFn$_invoke$arity$2 ? fn_obj_22059.cljs$core$IFn$_invoke$arity$2(path,new_link_22032) : fn_obj_22059.call(null,path,new_link_22032));\n\n\nvar G__22060 \x3d cljs.core.next(seq__21763_22048__$1);\nvar G__22061 \x3d null;\nvar G__22062 \x3d (0);\nvar G__22063 \x3d (0);\nseq__21763_22033 \x3d G__22060;\nchunk__21765_22034 \x3d G__22061;\ncount__21766_22035 \x3d G__22062;\ni__21767_22036 \x3d G__22063;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_22030);\n});})(seq__21719_21973,chunk__21723_21974,count__21724_21975,i__21725_21976,seq__21551,chunk__21553,count__21554,i__21555,new_link_22032,path_match_22031,node_22030,seq__21719_22024__$1,temp__5804__auto___22023__$1,path,seq__21551__$1,temp__5804__auto__,map__21550,map__21550__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_22031], 0));\n\ngoog.dom.insertSiblingAfter(new_link_22032,node_22030);\n\n\nvar G__22064 \x3d cljs.core.next(seq__21719_22024__$1);\nvar G__22065 \x3d null;\nvar G__22066 \x3d (0);\nvar G__22067 \x3d (0);\nseq__21719_21973 \x3d G__22064;\nchunk__21723_21974 \x3d G__22065;\ncount__21724_21975 \x3d G__22066;\ni__21725_21976 \x3d G__22067;\ncontinue;\n} else {\nvar G__22068 \x3d cljs.core.next(seq__21719_22024__$1);\nvar G__22069 \x3d null;\nvar G__22070 \x3d (0);\nvar G__22071 \x3d (0);\nseq__21719_21973 \x3d G__22068;\nchunk__21723_21974 \x3d G__22069;\ncount__21724_21975 \x3d G__22070;\ni__21725_21976 \x3d G__22071;\ncontinue;\n}\n} else {\nvar G__22072 \x3d cljs.core.next(seq__21719_22024__$1);\nvar G__22073 \x3d null;\nvar G__22074 \x3d (0);\nvar G__22075 \x3d (0);\nseq__21719_21973 \x3d G__22072;\nchunk__21723_21974 \x3d G__22073;\ncount__21724_21975 \x3d G__22074;\ni__21725_21976 \x3d G__22075;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__22076 \x3d cljs.core.next(seq__21551__$1);\nvar G__22077 \x3d null;\nvar G__22078 \x3d (0);\nvar G__22079 \x3d (0);\nseq__21551 \x3d G__22076;\nchunk__21553 \x3d G__22077;\ncount__21554 \x3d G__22078;\ni__21555 \x3d G__22079;\ncontinue;\n} else {\nvar G__22080 \x3d cljs.core.next(seq__21551__$1);\nvar G__22081 \x3d null;\nvar G__22082 \x3d (0);\nvar G__22083 \x3d (0);\nseq__21551 \x3d G__22080;\nchunk__21553 \x3d G__22081;\ncount__21554 \x3d G__22082;\ni__21555 \x3d G__22083;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.global_eval \x3d (function shadow$cljs$devtools$client$browser$global_eval(js){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(\x22undefined\x22,typeof(module))){\nreturn eval(js);\n} else {\nreturn (0,eval)(js);;\n}\n});\nshadow.cljs.devtools.client.browser.runtime_info \x3d (((typeof SHADOW_CONFIG !\x3d\x3d \x27undefined\x27))?shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1(SHADOW_CONFIG):null);\nshadow.cljs.devtools.client.browser.client_info \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.cljs.devtools.client.browser.runtime_info,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),(cljs.core.truth_(goog.global.document)?new cljs.core.Keyword(null,\x22browser\x22,\x22browser\x22,828191719):new cljs.core.Keyword(null,\x22browser-worker\x22,\x22browser-worker\x22,1638998282)),new cljs.core.Keyword(null,\x22user-agent\x22,\x22user-agent\x22,1220426212),[(cljs.core.truth_(goog.userAgent.OPERA)?\x22Opera\x22:(cljs.core.truth_(goog.userAgent.product.CHROME)?\x22Chrome\x22:(cljs.core.truth_(goog.userAgent.IE)?\x22MSIE\x22:(cljs.core.truth_(goog.userAgent.EDGE)?\x22Edge\x22:(cljs.core.truth_(goog.userAgent.GECKO)?\x22Firefox\x22:(cljs.core.truth_(goog.userAgent.SAFARI)?\x22Safari\x22:(cljs.core.truth_(goog.userAgent.WEBKIT)?\x22Webkit\x22:null))))))),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.VERSION),\x22 [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.PLATFORM),\x22]\x22].join(\x27\x27),new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),(!((goog.global.document \x3d\x3d null)))], null)], 0));\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser.ws_was_welcome_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.browser.ws_was_welcome_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\n}\nif(((shadow.cljs.devtools.client.env.enabled) \x26\x26 ((shadow.cljs.devtools.client.env.worker_client_id \x3e (0))))){\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$2 \x3d (function (this$,code){\nvar this$__$1 \x3d this;\nreturn shadow.cljs.devtools.client.browser.global_eval(code);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$3 \x3d (function (this$,ns,p__21773){\nvar map__21774 \x3d p__21773;\nvar map__21774__$1 \x3d cljs.core.__destructure_map(map__21774);\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21774__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\nvar this$__$1 \x3d this;\nreturn shadow.cljs.devtools.client.browser.global_eval(js);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d (function (runtime,p__21775,done,error){\nvar map__21776 \x3d p__21775;\nvar map__21776__$1 \x3d cljs.core.__destructure_map(map__21776);\nvar repl_sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21776__$1,new cljs.core.Keyword(null,\x22repl-sources\x22,\x22repl-sources\x22,723867535));\nvar runtime__$1 \x3d this;\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime__$1,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_,repl_sources)),(function (sources){\nshadow.cljs.devtools.client.browser.do_js_load(sources);\n\nreturn (done.cljs$core$IFn$_invoke$arity$0 ? done.cljs$core$IFn$_invoke$arity$0() : done.call(null));\n}));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d (function (runtime,p__21777,done,error){\nvar map__21778 \x3d p__21777;\nvar map__21778__$1 \x3d cljs.core.__destructure_map(map__21778);\nvar msg \x3d map__21778__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21778__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar reload_namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21778__$1,new cljs.core.Keyword(null,\x22reload-namespaces\x22,\x22reload-namespaces\x22,250210134));\nvar js_requires \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21778__$1,new cljs.core.Keyword(null,\x22js-requires\x22,\x22js-requires\x22,-1311472051));\nvar runtime__$1 \x3d this;\nvar sources_to_load \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__21779){\nvar map__21780 \x3d p__21779;\nvar map__21780__$1 \x3d cljs.core.__destructure_map(map__21780);\nvar src \x3d map__21780__$1;\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21780__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar and__5043__auto__ \x3d shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src);\nif(cljs.core.truth_(and__5043__auto__)){\nreturn cljs.core.not(cljs.core.some(reload_namespaces,provides));\n} else {\nreturn and__5043__auto__;\n}\n}),sources));\nif(cljs.core.not(cljs.core.seq(sources_to_load))){\nvar G__21781 \x3d cljs.core.PersistentVector.EMPTY;\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(G__21781) : done.call(null,G__21781));\n} else {\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime__$1,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources_to_load)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__21782){\nvar map__21783 \x3d p__21782;\nvar map__21783__$1 \x3d cljs.core.__destructure_map(map__21783);\nvar msg__$1 \x3d map__21783__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21783__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\ntry{shadow.cljs.devtools.client.browser.do_js_load(sources__$1);\n\nif(cljs.core.seq(js_requires)){\nshadow.cljs.devtools.client.browser.do_js_requires(js_requires);\n} else {\n}\n\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(sources_to_load) : done.call(null,sources_to_load));\n}catch (e21784){var ex \x3d e21784;\nreturn (error.cljs$core$IFn$_invoke$arity$1 ? error.cljs$core$IFn$_invoke$arity$1(ex) : error.call(null,ex));\n}})], null));\n}\n}));\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),cljs.core.PersistentHashSet.EMPTY,(function (p__21785){\nvar map__21786 \x3d p__21785;\nvar map__21786__$1 \x3d cljs.core.__destructure_map(map__21786);\nvar env \x3d map__21786__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21786__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,true);\n\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.env.patch_goog_BANG_();\n\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime)))),\x22 ready!\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814),(function (e){\nif(cljs.core.truth_(cljs.core.deref(shadow.cljs.devtools.client.browser.ws_was_welcome_ref))){\nshadow.cljs.devtools.client.hud.connection_error(\x22The Websocket connection was closed!\x22);\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n} else {\nreturn null;\n}\n}),new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702),(function (e){\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22Reconnecting ...\x22);\n}),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),(function (msg){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22Stale Output! Your loaded JS was not produced by the running shadow-cljs instance.\x22,\x22 Is the watch for this build running?\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22cljs-asset-update\x22,\x22cljs-asset-update\x22,1224093028),(function (msg){\nreturn shadow.cljs.devtools.client.browser.handle_asset_update(msg);\n}),new cljs.core.Keyword(null,\x22cljs-build-configure\x22,\x22cljs-build-configure\x22,-2089891268),(function (msg){\nreturn null;\n}),new cljs.core.Keyword(null,\x22cljs-build-start\x22,\x22cljs-build-start\x22,-725781241),(function (msg){\nshadow.cljs.devtools.client.hud.hud_hide();\n\nshadow.cljs.devtools.client.hud.load_start();\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480)));\n}),new cljs.core.Keyword(null,\x22cljs-build-complete\x22,\x22cljs-build-complete\x22,273626153),(function (msg){\nvar msg__$1 \x3d shadow.cljs.devtools.client.env.add_warnings_to_info(msg);\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.hud.hud_warnings(msg__$1);\n\nshadow.cljs.devtools.client.browser.handle_build_complete(runtime,msg__$1);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472)));\n}),new cljs.core.Keyword(null,\x22cljs-build-failure\x22,\x22cljs-build-failure\x22,1718154990),(function (msg){\nshadow.cljs.devtools.client.hud.load_end();\n\nshadow.cljs.devtools.client.hud.hud_error(msg);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466)));\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),(function (p__21787){\nvar map__21788 \x3d p__21787;\nvar map__21788__$1 \x3d cljs.core.__destructure_map(map__21788);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21788__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21788__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(client_id,shadow.cljs.devtools.client.env.worker_client_id)))){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was stopped!\x22);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-connect\x22,\x22client-connect\x22,-1113973888),event_op)){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was restarted. Reload required!\x22);\n} else {\nreturn null;\n}\n}\n})], null)], null));\n\nreturn svc;\n}),(function (p__21789){\nvar map__21790 \x3d p__21789;\nvar map__21790__$1 \x3d cljs.core.__destructure_map(map__21790);\nvar svc \x3d map__21790__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__21790__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282));\n}));\n\nshadow.cljs.devtools.client.shared.init_runtime_BANG_(shadow.cljs.devtools.client.browser.client_info,shadow.cljs.devtools.client.websocket.start,shadow.cljs.devtools.client.websocket.send,shadow.cljs.devtools.client.websocket.stop);\n} else {\n}\n"); +SHADOW_ENV.evalLoad("forms.js", true , "goog.provide(\x27forms\x27);\n/**\n * logs everything to the javascript console\n */\nforms.log \x3d console.log;\nforms.startup \x3d (function forms$startup(){\nforms.form \x3d document.getElementById(\x22form\x22);\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(forms.form) : forms.log.call(null,forms.form));\n\nforms.data \x3d (new FormData(forms.form));\n\nreturn (forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(forms.data) : forms.log.call(null,forms.data));\n});\nforms.calc_age \x3d (function forms$calc_age(dob){\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(\x22HELLO CHICKENS!\x22) : forms.log.call(null,\x22HELLO CHICKENS!\x22));\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(dob) : forms.log.call(null,dob));\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(\x22HELLO CHICKENS!\x22) : forms.log.call(null,\x22HELLO CHICKENS!\x22));\n\nvar diff_ms \x3d (Date - dob.getTime);\nvar age_dt \x3d (new Date(diff_ms));\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(diff_ms) : forms.log.call(null,diff_ms));\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(age_dt) : forms.log.call(null,age_dt));\n\nreturn Math.abs((age_dt.getUTCFullyYear - (1970)));\n});\nforms.submitform \x3d (function forms$submitform(e){\nvar form \x3d document.getElementById(\x22form\x22);\nvar data \x3d (new FormData(form));\nvar birthdate \x3d (new Date(cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,\x22birthdate\x22)));\nvar age \x3d forms.calc_age(birthdate);\n(data.age \x3d age);\n\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(\x22HERE IS BIRTHDATE\x22) : forms.log.call(null,\x22HERE IS BIRTHDATE\x22));\n\nvar G__18144_18147 \x3d \x22birthdate\x22;\nvar G__18145_18148 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,\x22birtdate\x22);\n(forms.log.cljs$core$IFn$_invoke$arity$2 ? forms.log.cljs$core$IFn$_invoke$arity$2(G__18144_18147,G__18145_18148) : forms.log.call(null,G__18144_18147,G__18145_18148));\n\nvar G__18146_18149 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,\x22tetanus-shot\x22);\n(forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(G__18146_18149) : forms.log.call(null,G__18146_18149));\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,\x22tetanus-shot\x22),\x22\x22)){\n(data._tetanus_shot \x3d \x221111-11-11\x22);\n} else {\n}\n\nreturn (forms.log.cljs$core$IFn$_invoke$arity$1 ? forms.log.cljs$core$IFn$_invoke$arity$1(data) : forms.log.call(null,data));\n});\ngoog.exportSymbol(\x27forms.submitform\x27, forms.submitform);\ndocument.addEventListener(\x22DOMContentLoaded\x22,forms.startup);\n"); SHADOW_ENV.evalLoad("shadow.module.forms.append.js", false , "\nshadow.cljs.devtools.client.env.module_loaded(\x27forms\x27);\n"); \ No newline at end of file diff --git a/static/js/health-form.js b/static/js/health-form.js index 5b09241..c851c8f 100644 --- a/static/js/health-form.js +++ b/static/js/health-form.js @@ -1,10 +1,10 @@ defpackage(tfcconnection, 'use'(ps)); function submitForm() { console.log('hello world'); - var form13 = document.getElementById('form'); + var form5 = document.getElementById('form'); var data = new FormData(form); __PS_MV_REG = []; - return console.log(form13); + return console.log(form5); }; function validate(data) { console.log('validating');