["^ ","~:output",["^ ","~:js","goog.provide('cljs.analyzer.api');\n/**\n * Creates an empty compilation state Atom<Map>. The optional opts arg is a map\n * representing the compiler configuration. See the documentation\n * for details: https://clojurescript.org/reference/compiler-options\n */\ncljs.analyzer.api.empty_state = (function cljs$analyzer$api$empty_state(var_args){\nvar G__54292 = arguments.length;\nswitch (G__54292) {\ncase 0:\nreturn cljs.analyzer.api.empty_state.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.analyzer.api.empty_state.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.analyzer.api.empty_state.cljs$core$IFn$_invoke$arity$0 = (function (){\nif((!((cljs.env._STAR_compiler_STAR_ == null)))){\nreturn cljs.env._STAR_compiler_STAR_;\n} else {\nreturn cljs.env.default_compiler_env.cljs$core$IFn$_invoke$arity$0();\n}\n}));\n\n(cljs.analyzer.api.empty_state.cljs$core$IFn$_invoke$arity$1 = (function (opts){\nreturn cljs.env.default_compiler_env.cljs$core$IFn$_invoke$arity$1(opts);\n}));\n\n(cljs.analyzer.api.empty_state.cljs$lang$maxFixedArity = 1);\n\n/**\n * Return the current compiler state atom.\n */\ncljs.analyzer.api.current_state = (function cljs$analyzer$api$current_state(){\nreturn cljs.env._STAR_compiler_STAR_;\n});\n/**\n * Return the current file under analysis or compilation.\n */\ncljs.analyzer.api.current_file = (function cljs$analyzer$api$current_file(){\nreturn cljs.analyzer._STAR_cljs_file_STAR_;\n});\n/**\n * Return the current ns under analysis or compilation.\n */\ncljs.analyzer.api.current_ns = (function cljs$analyzer$api$current_ns(){\nreturn cljs.analyzer._STAR_cljs_ns_STAR_;\n});\n/**\n * Creates an empty analysis environment.\n */\ncljs.analyzer.api.empty_env = (function cljs$analyzer$api$empty_env(){\nreturn cljs.analyzer.empty_env();\n});\n/**\n * Test if the given warning-type is enabled.\n */\ncljs.analyzer.api.warning_enabled_QMARK_ = (function cljs$analyzer$api$warning_enabled_QMARK_(warning_type){\nreturn cljs.analyzer._STAR_cljs_warnings_STAR_.call(null,warning_type);\n});\n/**\n * The default warning handler.\n * \n * Outputs the warning messages to *err*.\n */\ncljs.analyzer.api.default_warning_handler = (function cljs$analyzer$api$default_warning_handler(warning_type,env,extra){\nreturn cljs.analyzer.default_warning_handler(warning_type,env,extra);\n});\n/**\n * Helper for generating the standard analyzer messages for warnings. Should be\n *   passed warn-type and warn-info. See with-warning-handlers.\n */\ncljs.analyzer.api.warning_message = (function cljs$analyzer$api$warning_message(warn_type,warn_info){\nreturn cljs.analyzer.error_message.cljs$core$IFn$_invoke$arity$2(warn_type,warn_info);\n});\n/**\n * Get the enabled warning types.\n */\ncljs.analyzer.api.enabled_warnings = (function cljs$analyzer$api$enabled_warnings(){\nreturn cljs.analyzer._STAR_cljs_warnings_STAR_;\n});\n/**\n * Return the compiler options from compiler state.\n */\ncljs.analyzer.api.get_options = (function cljs$analyzer$api$get_options(var_args){\nvar G__54295 = arguments.length;\nswitch (G__54295) {\ncase 0:\nreturn cljs.analyzer.api.get_options.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.analyzer.api.get_options.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.analyzer.api.get_options.cljs$core$IFn$_invoke$arity$0 = (function (){\nreturn cljs.analyzer.api.get_options.cljs$core$IFn$_invoke$arity$1(cljs.analyzer.api.current_state());\n}));\n\n(cljs.analyzer.api.get_options.cljs$core$IFn$_invoke$arity$1 = (function (state){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state),new cljs.core.Keyword(null,\"options\",\"options\",99638489));\n}));\n\n(cljs.analyzer.api.get_options.cljs$lang$maxFixedArity = 1);\n\n/**\n * Return the currently computed Google Closure js dependency index from the\n *   compiler state.\n */\ncljs.analyzer.api.get_js_index = (function cljs$analyzer$api$get_js_index(var_args){\nvar G__54298 = arguments.length;\nswitch (G__54298) {\ncase 0:\nreturn cljs.analyzer.api.get_js_index.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.analyzer.api.get_js_index.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.analyzer.api.get_js_index.cljs$core$IFn$_invoke$arity$0 = (function (){\nreturn cljs.analyzer.api.get_js_index.cljs$core$IFn$_invoke$arity$1(cljs.analyzer.api.current_state());\n}));\n\n(cljs.analyzer.api.get_js_index.cljs$core$IFn$_invoke$arity$1 = (function (state){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state),new cljs.core.Keyword(null,\"js-dependency-index\",\"js-dependency-index\",-1887042131));\n}));\n\n(cljs.analyzer.api.get_js_index.cljs$lang$maxFixedArity = 1);\n\n/**\n * ClojureScript's default analysis passes.\n */\ncljs.analyzer.api.default_passes = cljs.analyzer.default_passes;\n/**\n * Given an analysis environment resolve a var. Analogous to\n * clojure.core/resolve\n */\ncljs.analyzer.api.resolve = (function cljs$analyzer$api$resolve(env,sym){\nif(cljs.core.map_QMARK_(env)){\n} else {\nthrow (new Error(\"Assert failed: (map? env)\"));\n}\n\nif((sym instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\"Assert failed: (symbol? sym)\"));\n}\n\ntry{var _STAR_private_var_access_nowarn_STAR__orig_val__54305 = cljs.analyzer._STAR_private_var_access_nowarn_STAR_;\nvar _STAR_private_var_access_nowarn_STAR__temp_val__54306 = true;\n(cljs.analyzer._STAR_private_var_access_nowarn_STAR_ = _STAR_private_var_access_nowarn_STAR__temp_val__54306);\n\ntry{return cljs.analyzer.resolve_var.cljs$core$IFn$_invoke$arity$3(env,sym,cljs.analyzer.confirm_var_exists_throw());\n}finally {(cljs.analyzer._STAR_private_var_access_nowarn_STAR_ = _STAR_private_var_access_nowarn_STAR__orig_val__54305);\n}}catch (e54303){var e = e54303;\nreturn cljs.analyzer.resolve_macro_var(env,sym);\n}});\n/**\n * Return all namespaces. Analagous to clojure.core/all-ns but\n *   returns symbols identifying namespaces not Namespace instances.\n */\ncljs.analyzer.api.all_ns = (function cljs$analyzer$api$all_ns(var_args){\nvar G__54308 = arguments.length;\nswitch (G__54308) {\ncase 0:\nreturn cljs.analyzer.api.all_ns.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.analyzer.api.all_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.analyzer.api.all_ns.cljs$core$IFn$_invoke$arity$0 = (function (){\nreturn cljs.analyzer.api.all_ns.cljs$core$IFn$_invoke$arity$1(cljs.env._STAR_compiler_STAR_);\n}));\n\n(cljs.analyzer.api.all_ns.cljs$core$IFn$_invoke$arity$1 = (function (state){\nreturn cljs.core.keys(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state),new cljs.core.Keyword(\"cljs.analyzer\",\"namespaces\",\"cljs.analyzer/namespaces\",-260788927)));\n}));\n\n(cljs.analyzer.api.all_ns.cljs$lang$maxFixedArity = 1);\n\n/**\n * Given a namespace return the corresponding namespace analysis map. Analagous\n *   to clojure.core/find-ns.\n */\ncljs.analyzer.api.find_ns = (function cljs$analyzer$api$find_ns(var_args){\nvar G__54322 = arguments.length;\nswitch (G__54322) {\ncase 1:\nreturn cljs.analyzer.api.find_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.analyzer.api.find_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.analyzer.api.find_ns.cljs$core$IFn$_invoke$arity$1 = (function (sym){\nreturn cljs.analyzer.api.find_ns.cljs$core$IFn$_invoke$arity$2(cljs.env._STAR_compiler_STAR_,sym);\n}));\n\n(cljs.analyzer.api.find_ns.cljs$core$IFn$_invoke$arity$2 = (function (state,sym){\nif((sym instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\"Assert failed: (symbol? sym)\"));\n}\n\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\"cljs.analyzer\",\"namespaces\",\"cljs.analyzer/namespaces\",-260788927),sym], null));\n}));\n\n(cljs.analyzer.api.find_ns.cljs$lang$maxFixedArity = 2);\n\n/**\n * Given a namespace return all the var analysis maps. Analagous to\n *   clojure.core/ns-interns but returns var analysis maps not vars.\n */\ncljs.analyzer.api.ns_interns = (function cljs$analyzer$api$ns_interns(var_args){\nvar G__54329 = arguments.length;\nswitch (G__54329) {\ncase 1:\nreturn cljs.analyzer.api.ns_interns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.analyzer.api.ns_interns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.analyzer.api.ns_interns.cljs$core$IFn$_invoke$arity$1 = (function (ns){\nreturn cljs.analyzer.api.ns_interns.cljs$core$IFn$_invoke$arity$2(cljs.env._STAR_compiler_STAR_,ns);\n}));\n\n(cljs.analyzer.api.ns_interns.cljs$core$IFn$_invoke$arity$2 = (function (state,ns){\nif((ns instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\"Assert failed: (symbol? ns)\"));\n}\n\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\"cljs.analyzer\",\"namespaces\",\"cljs.analyzer/namespaces\",-260788927),ns,new cljs.core.Keyword(null,\"macros\",\"macros\",811339431)], null)),cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\"cljs.analyzer\",\"namespaces\",\"cljs.analyzer/namespaces\",-260788927),ns,new cljs.core.Keyword(null,\"defs\",\"defs\",1398449717)], null))], 0));\n}));\n\n(cljs.analyzer.api.ns_interns.cljs$lang$maxFixedArity = 2);\n\n/**\n * Given a namespace return all the public var analysis maps. Analagous to\n *   clojure.core/ns-publics but returns var analysis maps not vars.\n */\ncljs.analyzer.api.ns_publics = (function cljs$analyzer$api$ns_publics(var_args){\nvar G__54341 = arguments.length;\nswitch (G__54341) {\ncase 1:\nreturn cljs.analyzer.api.ns_publics.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.analyzer.api.ns_publics.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.analyzer.api.ns_publics.cljs$core$IFn$_invoke$arity$1 = (function (ns){\nreturn cljs.analyzer.api.ns_publics.cljs$core$IFn$_invoke$arity$2(cljs.env._STAR_compiler_STAR_,ns);\n}));\n\n(cljs.analyzer.api.ns_publics.cljs$core$IFn$_invoke$arity$2 = (function (state,ns){\nif((ns instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\"Assert failed: (symbol? ns)\"));\n}\n\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__54351){\nvar vec__54355 = p__54351;\nvar k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__54355,(0),null);\nvar v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__54355,(1),null);\nreturn new cljs.core.Keyword(null,\"private\",\"private\",-558947994).cljs$core$IFn$_invoke$arity$1(v);\n}),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\"cljs.analyzer\",\"namespaces\",\"cljs.analyzer/namespaces\",-260788927),ns,new cljs.core.Keyword(null,\"macros\",\"macros\",811339431)], null)),cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\"cljs.analyzer\",\"namespaces\",\"cljs.analyzer/namespaces\",-260788927),ns,new cljs.core.Keyword(null,\"defs\",\"defs\",1398449717)], null))], 0))));\n}));\n\n(cljs.analyzer.api.ns_publics.cljs$lang$maxFixedArity = 2);\n\n/**\n * Given a namespace and a symbol return the corresponding var analysis map.\n *   Analagous to clojure.core/ns-resolve but returns var analysis map not Var.\n */\ncljs.analyzer.api.ns_resolve = (function cljs$analyzer$api$ns_resolve(var_args){\nvar G__54373 = arguments.length;\nswitch (G__54373) {\ncase 2:\nreturn cljs.analyzer.api.ns_resolve.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.analyzer.api.ns_resolve.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.analyzer.api.ns_resolve.cljs$core$IFn$_invoke$arity$2 = (function (ns,sym){\nreturn cljs.analyzer.api.ns_resolve.cljs$core$IFn$_invoke$arity$3(cljs.env._STAR_compiler_STAR_,ns,sym);\n}));\n\n(cljs.analyzer.api.ns_resolve.cljs$core$IFn$_invoke$arity$3 = (function (state,ns,sym){\nif((ns instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\"Assert failed: (symbol? ns)\"));\n}\n\nif((sym instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\"Assert failed: (symbol? sym)\"));\n}\n\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\"cljs.analyzer\",\"namespaces\",\"cljs.analyzer/namespaces\",-260788927),ns,new cljs.core.Keyword(null,\"defs\",\"defs\",1398449717),sym], null));\n}));\n\n(cljs.analyzer.api.ns_resolve.cljs$lang$maxFixedArity = 3);\n\n/**\n * Removes the namespace named by the symbol.\n */\ncljs.analyzer.api.remove_ns = (function cljs$analyzer$api$remove_ns(var_args){\nvar G__54379 = arguments.length;\nswitch (G__54379) {\ncase 1:\nreturn cljs.analyzer.api.remove_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.analyzer.api.remove_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.analyzer.api.remove_ns.cljs$core$IFn$_invoke$arity$1 = (function (ns){\nreturn cljs.analyzer.api.remove_ns.cljs$core$IFn$_invoke$arity$2(cljs.env._STAR_compiler_STAR_,ns);\n}));\n\n(cljs.analyzer.api.remove_ns.cljs$core$IFn$_invoke$arity$2 = (function (state,ns){\nif((ns instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\"Assert failed: (symbol? ns)\"));\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\"cljs.analyzer\",\"namespaces\",\"cljs.analyzer/namespaces\",-260788927)], null),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ns], 0));\n}));\n\n(cljs.analyzer.api.remove_ns.cljs$lang$maxFixedArity = 2);\n\n","~:ns-info",["^ ","~:rename-macros",null,"~:renames",["^ "],"~:meta",["^ ","~:doc","This is intended to be a stable api for those who need programmatic access\n  to the analyzer.","~:file","cljs/analyzer/api.cljc","~:line",9,"~:column",5,"~:end-line",9,"~:end-column",22],"~:ns-aliases",["^ ","~$cljs.loader","~$shadow.loader","~$clojure.pprint","~$cljs.pprint","~$react","~$shadow.js.shim.module$react","~$clojure.spec.alpha","~$cljs.spec.alpha"],"~:use-macros",null,"~:excludes",["~#set",["~$find-ns","~$remove-ns","~$ns-publics","~$ns-resolve","~$ns-interns","~$all-ns","~$resolve"]],"~:name","~$cljs.analyzer.api","~:op","~:ns","~:imports",null,"~:requires",["^ ","~$cljs.analyzer","^U","~$ana","^U","~$cljs.env","^W","~$env","^W","~$cljs.core","^Y","~$goog","^Z"],"~:seen",["^G",["~:require"]],"~:uses",null,"~:require-macros",["^ ","^Y","^Y"],"~:form",["~#list",["~$ns","^P","This is intended to be a stable api for those who need programmatic access\n  to the analyzer.",["^14",["~:refer-clojure","~:exclude",["^M","^L","^K","^N","^H","^J","^I"]]],["^14",["^10",["^U","~:as","^V"],["^W","^18","^X"]]]]],"~:flags",["^ ","^10",["^G",[]]],"~:js-deps",["^ "],"~:deps",["^Z","^Y","^U","^W"]],"^R","^P","~:resource-id",["~:shadow.build.classpath/resource","cljs/analyzer/api.cljc"],"~:compiled-at",1613924124276,"~:resource-name","cljs/analyzer/api.cljc","~:warnings",[],"~:source",";   Copyright (c) Rich Hickey. All rights reserved.\n;   The use and distribution terms for this software are covered by the\n;   Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)\n;   which can be found in the file epl-v10.html at the root of this distribution.\n;   By using this software in any fashion, you are agreeing to be bound by\n;   the terms of this license.\n;   You must not remove this notice, or any other, from this software.\n\n(ns cljs.analyzer.api\n  \"This is intended to be a stable api for those who need programmatic access\n  to the analyzer.\"\n  (:refer-clojure :exclude [all-ns ns-interns ns-resolve resolve find-ns\n                            ns-publics remove-ns])\n  #?(:clj  (:require [cljs.analyzer :as ana]\n                     [cljs.env :as env]\n                     [cljs.util :as util]\n                     [clojure.edn :as edn]\n                     [clojure.java.io :as io])\n     :cljs (:require [cljs.analyzer :as ana]\n                     [cljs.env :as env])))\n\n;; =============================================================================\n;; Useful Utilities\n\n(defn empty-state\n  \"Creates an empty compilation state Atom<Map>. The optional opts arg is a map\n   representing the compiler configuration. See the documentation\n   for details: https://clojurescript.org/reference/compiler-options\"\n  ([]\n   (if-not (nil? env/*compiler*)\n     env/*compiler*\n     (env/default-compiler-env)))\n  ([opts]\n   (env/default-compiler-env opts)))\n\n(defn current-state\n  \"Return the current compiler state atom.\"\n  []\n  env/*compiler*)\n\n(defn current-file\n  \"Return the current file under analysis or compilation.\"\n  []\n  ana/*cljs-file*)\n\n(defn current-ns\n  \"Return the current ns under analysis or compilation.\"\n  []\n  ana/*cljs-ns*)\n\n(defmacro with-state\n  \"Run the body with the given compilation state Atom<Map>.\"\n  [state & body]\n  `(env/with-compiler-env ~state\n     ~@body))\n\n(defn empty-env\n  \"Creates an empty analysis environment.\"\n  []\n  (ana/empty-env))\n\n(defmacro no-warn\n  \"Disable analyzer warnings for any analysis executed in body.\"\n  [& body]\n  (let [no-warnings (zipmap (keys ana/*cljs-warnings*) (repeat false))]\n    `(binding [ana/*cljs-warnings* ~no-warnings]\n       ~@body)))\n\n(defn warning-enabled?\n  \"Test if the given warning-type is enabled.\"\n  [warning-type]\n  (ana/*cljs-warnings* warning-type))\n\n(defn default-warning-handler\n  \"The default warning handler.\n\n   Outputs the warning messages to *err*.\"\n  [warning-type env extra]\n  (ana/default-warning-handler warning-type env extra))\n\n(defmacro with-warning-handlers\n  \"Helper macro for custom handling of emitted warnings. Handlers should be\n   a vector of functions. The signature of these functions is\n   [warn-type env warn-info]. warn-type is a keyword describing the warning,\n   env is the analysis environment, and warn-info is a map of extra useful\n   information for a particular warning type.\"\n  [handlers & body]\n  `(ana/with-warning-handlers ~handlers\n     ~@body))\n\n(defn warning-message\n  \"Helper for generating the standard analyzer messages for warnings. Should be\n  passed warn-type and warn-info. See with-warning-handlers.\"\n  [warn-type warn-info]\n  (ana/error-message warn-type warn-info))\n\n(defn enabled-warnings\n  \"Get the enabled warning types.\"\n  []\n  ana/*cljs-warnings*)\n\n(defn get-options\n  \"Return the compiler options from compiler state.\"\n  ([] (get-options (current-state)))\n  ([state]\n   (get @state :options)))\n\n(defn get-js-index\n  \"Return the currently computed Google Closure js dependency index from the\n  compiler state.\"\n  ([] (get-js-index (current-state)))\n  ([state]\n   (get @state :js-dependency-index)))\n\n(def\n  ^{:doc \"ClojureScript's default analysis passes.\"}\n  default-passes ana/default-passes)\n\n(defmacro with-passes\n  \"Evaluate the body with the provided sequence of compiler passes.\"\n  [passes & body]\n  `(binding [ana/*passes* ~passes]\n     ~@body))\n\n#?(:clj\n   (defn analyze\n     \"Given an environment, a map containing {:locals (mapping of names to bindings), :context\n     (one of :statement, :expr, :return), :ns (a symbol naming the\n     compilation ns)}, and form, returns an expression object (a map\n     containing at least :form, :op and :env keys). If expr has any (immediately)\n     nested exprs, must have :children entry. This must be a vector of keywords naming\n     the immediately nested fields mapped to an expr or vector of exprs. This will\n     facilitate code walking without knowing the details of the op set.\"\n     ([env form] (analyze env form nil))\n     ([env form name] (analyze env form name nil))\n     ([env form name opts]\n      (analyze (empty-state opts) env form name opts))\n     ([state env form name opts]\n      (env/with-compiler-env state\n        (binding [ana/*cljs-warning-handlers* (:warning-handlers opts ana/*cljs-warning-handlers*)]\n          (ana/analyze env form name opts))))))\n\n#?(:clj\n   (defn forms-seq\n     \"Seq of Clojure/ClojureScript forms from rdr, a java.io.Reader. Optionally\n     accepts a filename argument which will be used in any emitted errors.\"\n     ([rdr] (ana/forms-seq* rdr nil))\n     ([rdr filename] (ana/forms-seq* rdr filename))))\n\n#?(:clj\n   (defn parse-ns\n     \"Helper for parsing only the essential namespace information from a\n      ClojureScript source file and returning a cljs.closure/IJavaScript compatible\n      map _not_ a namespace AST node.\n\n      By default does not load macros or perform any analysis of dependencies. If\n      opts parameter provided :analyze-deps and :load-macros keys their values will\n      be used for *analyze-deps* and *load-macros* bindings respectively. This\n      function does _not_ side-effect the ambient compilation environment unless\n      requested via opts where :restore is false.\"\n     ([src] (parse-ns src nil nil))\n     ([src opts] (parse-ns src nil opts))\n     ([src dest opts]\n      (parse-ns (empty-state opts) src dest opts))\n     ([state src dest opts]\n      (env/with-compiler-env state\n        (binding [ana/*cljs-warning-handlers* (:warning-handlers opts ana/*cljs-warning-handlers*)]\n          (ana/parse-ns src dest opts))))))\n#?(:clj\n   (defn analyze-file\n     \"Given a java.io.File, java.net.URL or a string identifying a resource on the\n      classpath attempt to analyze it.\n\n      This function side-effects the ambient compilation environment\n      `cljs.env/*compiler*` to aggregate analysis information. opts argument is\n      compiler options, if :cache-analysis true will cache analysis to\n      \\\":output-dir/some/ns/foo.cljs.cache.edn\\\". This function does not return a\n      meaningful value.\"\n     ([f] (analyze-file f nil))\n     ([f opts]\n      (analyze-file (empty-state opts) f opts))\n     ([state f opts]\n      (env/with-compiler-env state\n        (binding [ana/*cljs-warning-handlers* (:warning-handlers opts ana/*cljs-warning-handlers*)]\n          (ana/analyze-file f opts))))))\n\n#?(:clj\n   (defn read-analysis-cache\n     \"Read an analysis cache.\"\n     [cache-file]\n     (case (util/ext cache-file)\n       \"edn\" (edn/read-string (slurp cache-file))\n       \"json\" (let [{:keys [reader read]} @ana/transit]\n                (with-open [is (io/input-stream cache-file)]\n                  (read (reader is :json ana/transit-read-opts)))))))\n\n;; =============================================================================\n;; Main API\n\n(defn resolve\n  \"Given an analysis environment resolve a var. Analogous to\n   clojure.core/resolve\"\n  [env sym]\n  {:pre [(map? env) (symbol? sym)]}\n  (try\n    (binding [ana/*private-var-access-nowarn* true]\n      (ana/resolve-var env sym\n        (ana/confirm-var-exists-throw)))\n    (catch #?(:clj Exception :cljs :default) e\n      (ana/resolve-macro-var env sym))))\n\n(defn all-ns\n  \"Return all namespaces. Analagous to clojure.core/all-ns but\n  returns symbols identifying namespaces not Namespace instances.\"\n  ([]\n   (all-ns env/*compiler*))\n  ([state]\n   (keys (get @state ::ana/namespaces))))\n\n(defn find-ns\n  \"Given a namespace return the corresponding namespace analysis map. Analagous\n  to clojure.core/find-ns.\"\n  ([sym]\n   (find-ns env/*compiler* sym))\n  ([state sym]\n   {:pre [(symbol? sym)]}\n   (get-in @state [::ana/namespaces sym])))\n\n(defn ns-interns\n  \"Given a namespace return all the var analysis maps. Analagous to\n  clojure.core/ns-interns but returns var analysis maps not vars.\"\n  ([ns]\n   (ns-interns env/*compiler* ns))\n  ([state ns]\n   {:pre [(symbol? ns)]}\n   (merge\n     (get-in @state [::ana/namespaces ns :macros])\n     (get-in @state [::ana/namespaces ns :defs]))))\n\n(defn ns-publics\n  \"Given a namespace return all the public var analysis maps. Analagous to\n  clojure.core/ns-publics but returns var analysis maps not vars.\"\n  ([ns]\n   (ns-publics env/*compiler* ns))\n  ([state ns]\n   {:pre [(symbol? ns)]}\n   (->> (merge\n          (get-in @state [::ana/namespaces ns :macros])\n          (get-in @state [::ana/namespaces ns :defs]))\n        (remove (fn [[k v]] (:private v)))\n        (into {}))))\n\n(defn ns-resolve\n  \"Given a namespace and a symbol return the corresponding var analysis map.\n  Analagous to clojure.core/ns-resolve but returns var analysis map not Var.\"\n  ([ns sym]\n   (ns-resolve env/*compiler* ns sym))\n  ([state ns sym]\n   {:pre [(symbol? ns) (symbol? sym)]}\n   (get-in @state [::ana/namespaces ns :defs sym])))\n\n(defn remove-ns\n  \"Removes the namespace named by the symbol.\"\n  ([ns]\n   (remove-ns env/*compiler* ns))\n  ([state ns]\n   {:pre [(symbol? ns)]}\n   (swap! state update-in [::ana/namespaces] dissoc ns)))\n\n(defmacro in-cljs-user\n  \"Binds cljs.analyzer/*cljs-ns* to 'cljs.user and uses the given compilation\n  environment atom and runs body.\"\n  [env & body]\n  `(binding [cljs.analyzer/*cljs-ns* 'cljs.user]\n     (cljs.env/with-compiler-env ~env\n       ~@body)))\n","~:reader-features",["^G",["~:cljs"]],"~:cljc",true,"~:source-map-compact",["^ ","mappings",";AAwBA,AAAA;;;;;AAAA,AAAAA,AAAME;AAAN,AAAA,AAAAD,AAAA,AAAA;AAAA,AAAA,AAAAA;AAAA;AAAA,AAAAC;;;AAAA;AAAA,AAAAA,AAAA,AAAA,AAAA;;;;AAAA,AAAA,AAAAC,AAAA,AAAA,AAAA,AAAA;;;;;AAAA,AAAA,AAAA,AAAMD;AAAN,AAKG,AAAA,AAAQ,AAAA,AAAME;AACZA;;AACA,AAACC;;;;AAPN,AAAA,AAAA,AAAMH,AAQFI;AARJ,AASG,AAACD,AAAyBC;;;AAT7B,AAAA,AAAA,AAAMJ;;AAAN,AAWA;;;AAAA,AAAMK;AAAN,AAGEH;;AAEF;;;AAAA,AAAMI;AAAN,AAGEC;;AAEF;;;AAAA,AAAMC;AAAN,AAGEC;;AAQF;;;AAAA,AAAMC;AAAN,AAGE,AAACC;;AASH;;;AAAA,AAAMC,AAEHC;AAFH,AAGE,AAACC,AAAoBD;;AAEvB;;;;;AAAA,AAAME,AAIHF,AAAaG,AAAIC;AAJpB,AAKE,AAACC,AAA4BL,AAAaG,AAAIC;;AAYhD;;;;AAAA,AAAME,AAGHC,AAAUC;AAHb,AAIE,AAACC,AAAkBF,AAAUC;;AAE/B;;;AAAA,AAAME;AAAN,AAGET;;AAEF,AAAA;;;AAAA,AAAAhB,AAAM2B;AAAN,AAAA,AAAAD,AAAA,AAAA;AAAA,AAAA,AAAAA;AAAA;AAAA,AAAAC;;;AAAA;AAAA,AAAAA,AAAA,AAAA,AAAA;;;;AAAA,AAAA,AAAAxB,AAAA,AAAA,AAAA,AAAA;;;;;AAAA,AAAA,AAAA,AAAMwB;AAAN,AAEM,AAACC,AAAY,AAACrB;;;AAFpB,AAAA,AAAA,AAAMoB,AAGFE;AAHJ,AAIG,AAAA,AAAAC,AAAA,AAACC,AAAKF;;;AAJT,AAAA,AAAA,AAAMF;;AAAN,AAMA,AAAA;;;;AAAA,AAAA3B,AAAMiC;AAAN,AAAA,AAAAD,AAAA,AAAA;AAAA,AAAA,AAAAA;AAAA;AAAA,AAAAC;;;AAAA;AAAA,AAAAA,AAAA,AAAA,AAAA;;;;AAAA,AAAA,AAAA9B,AAAA,AAAA,AAAA,AAAA;;;;;AAAA,AAAA,AAAA,AAAM8B;AAAN,AAGM,AAACC,AAAa,AAAC3B;;;AAHrB,AAAA,AAAA,AAAM0B,AAIFJ;AAJJ,AAKG,AAAA,AAAAC,AAAA,AAACC,AAAKF;;;AALT,AAAA,AAAA,AAAMI;;AAAN,AAOA;;;AAEEE,AAAeC;AAmFjB;;;;AAAA,AAAMC,AAGHnB,AAAIoB;AAHP,AAAA,AAIS,AAACC,AAAKrB;AAJf;AAAA,AAAA,AAAA,AAAAf,AAAA;;;AAAA,AAIoB,AAAAqC,AAASF;AAJ7B;AAAA,AAAA,AAAA,AAAAnC,AAAA;;;AAKE,AAAA,AACE,AAAAuC,AAAUE;AAAVD,AAAA;AAAA,AAAA,AAAAA,AAAUC;;AAAV,AAAA,AACE,AAACC,AAAgB3B,AAAIoB,AACnB,AAACQ;AAFL,AAAA,AAAAJ,AAAUE;AADZ,AAAAH,AAI2CM;AAJ3C,AAKI,AAACC,AAAsB9B,AAAIoB;;AAEjC,AAAA;;;;AAAA,AAAAtC,AAAMkD;AAAN,AAAA,AAAAD,AAAA,AAAA;AAAA,AAAA,AAAAA;AAAA;AAAA,AAAAC;;;AAAA;AAAA,AAAAA,AAAA,AAAA,AAAA;;;;AAAA,AAAA,AAAA/C,AAAA,AAAA,AAAA,AAAA;;;;;AAAA,AAAA,AAAA,AAAM+C;AAAN,AAIG,AAACC,AAAO/C;;;AAJX,AAAA,AAAA,AAAM8C,AAKFrB;AALJ,AAMG,AAACuB,AAAK,AAAA,AAAAtB,AAAA,AAACC,AAAKF;;;AANf,AAAA,AAAA,AAAMqB;;AAAN,AAQA,AAAA;;;;AAAA,AAAAlD,AAAMsD;AAAN,AAAA,AAAAD,AAAA,AAAA;AAAA,AAAA,AAAAA;AAAA;AAAA,AAAAC,AAAA,AAAA,AAAA;;;AAAA;AAAA,AAAAA,AAAA,AAAA,AAAA,AAAA,AAAA,AAAA;;;;AAAA,AAAA,AAAAnD,AAAA,AAAA,AAAA,AAAA;;;;;AAAA,AAAA,AAAA,AAAMmD,AAGFhB;AAHJ,AAIG,AAACiB,AAAQnD,AAAekC;;;AAJ3B,AAAA,AAAA,AAAMgB,AAKFzB,AAAMS;AALV,AAAA,AAMU,AAAAE,AAASF;AANnB;AAAA,AAAA,AAAA,AAAAnC,AAAA;;;AAOG,AAAA,AAAA2B,AAAA,AAAA,AAAC0B,AAAQ3B,AAAwBS;;;AAPpC,AAAA,AAAA,AAAMgB;;AAAN,AASA,AAAA;;;;AAAA,AAAAtD,AAAM0D;AAAN,AAAA,AAAAD,AAAA,AAAA;AAAA,AAAA,AAAAA;AAAA;AAAA,AAAAC,AAAA,AAAA,AAAA;;;AAAA;AAAA,AAAAA,AAAA,AAAA,AAAA,AAAA,AAAA,AAAA;;;;AAAA,AAAA,AAAAvD,AAAA,AAAA,AAAA,AAAA;;;;;AAAA,AAAA,AAAA,AAAMuD,AAGFC;AAHJ,AAIG,AAACC,AAAWxD,AAAeuD;;;AAJ9B,AAAA,AAAA,AAAMD,AAKF7B,AAAM8B;AALV,AAAA,AAMU,AAAAnB,AAASmB;AANnB;AAAA,AAAA,AAAA,AAAAxD,AAAA;;;AAOG,AAAC0D,AACC,AAAA,AAAA/B,AAAA,AAAA,AAAA,AAAC0B,AAAQ3B,AAAwB8B,AACjC,AAAA,AAAA7B,AAAA,AAAA,AAAA,AAAC0B,AAAQ3B,AAAwB8B;;;AATtC,AAAA,AAAA,AAAMD;;AAAN,AAWA,AAAA;;;;AAAA,AAAA1D,AAAM+D;AAAN,AAAA,AAAAD,AAAA,AAAA;AAAA,AAAA,AAAAA;AAAA;AAAA,AAAAC,AAAA,AAAA,AAAA;;;AAAA;AAAA,AAAAA,AAAA,AAAA,AAAA,AAAA,AAAA,AAAA;;;;AAAA,AAAA,AAAA5D,AAAA,AAAA,AAAA,AAAA;;;;;AAAA,AAAA,AAAA,AAAM4D,AAGFJ;AAHJ,AAIG,AAACK,AAAW5D,AAAeuD;;;AAJ9B,AAAA,AAAA,AAAMI,AAKFlC,AAAM8B;AALV,AAAA,AAMU,AAAAnB,AAASmB;AANnB;AAAA,AAAA,AAAA,AAAAxD,AAAA;;;AAUQ,AAAC8D,AAAO,AAAAC,AACR,AAAA,AAACK;AADO,AAAA,AAAAJ,AAAAD;AAAA,AAAAE,AAAAD,AAAA,AAAA,AAAME;AAAN,AAAAD,AAAAD,AAAA,AAAA,AAAQG;AAAR,AAAY,AAAA,AAAUA;AAH9B,AAACT,AACC,AAAA,AAAA/B,AAAA,AAAA,AAAA,AAAC0B,AAAQ3B,AAAwB8B,AACjC,AAAA,AAAA7B,AAAA,AAAA,AAAA,AAAC0B,AAAQ3B,AAAwB8B;;;AAT3C,AAAA,AAAA,AAAMI;;AAAN,AAaA,AAAA;;;;AAAA,AAAA/D,AAAMyE;AAAN,AAAA,AAAAD,AAAA,AAAA;AAAA,AAAA,AAAAA;AAAA;AAAA,AAAAC,AAAA,AAAA,AAAA,AAAA,AAAA,AAAA;;;AAAA;AAAA,AAAAA,AAAA,AAAA,AAAA,AAAA,AAAA,AAAA,AAAA,AAAA,AAAA;;;;AAAA,AAAA,AAAAtE,AAAA,AAAA,AAAA,AAAA;;;;;AAAA,AAAA,AAAA,AAAMsE,AAGFd,AAAGrB;AAHP,AAIG,AAACoC,AAAWtE,AAAeuD,AAAGrB;;;AAJjC,AAAA,AAAA,AAAMmC,AAKF5C,AAAM8B,AAAGrB;AALb,AAAA,AAMU,AAAAE,AAASmB;AANnB;AAAA,AAAA,AAAA,AAAAxD,AAAA;;;AAAA,AAMuB,AAAAqC,AAASF;AANhC;AAAA,AAAA,AAAA,AAAAnC,AAAA;;;AAOG,AAAA,AAAA2B,AAAA,AAAA,AAAA,AAAC0B,AAAQ3B,AAAwB8B,AAASrB;;;AAP7C,AAAA,AAAA,AAAMmC;;AAAN,AASA,AAAA;;;AAAA,AAAAzE,AAAM4E;AAAN,AAAA,AAAAD,AAAA,AAAA;AAAA,AAAA,AAAAA;AAAA;AAAA,AAAAC,AAAA,AAAA,AAAA;;;AAAA;AAAA,AAAAA,AAAA,AAAA,AAAA,AAAA,AAAA,AAAA;;;;AAAA,AAAA,AAAAzE,AAAA,AAAA,AAAA,AAAA;;;;;AAAA,AAAA,AAAA,AAAMyE,AAEFjB;AAFJ,AAGG,AAACkB,AAAUzE,AAAeuD;;;AAH7B,AAAA,AAAA,AAAMiB,AAIF/C,AAAM8B;AAJV,AAAA,AAKU,AAAAnB,AAASmB;AALnB;AAAA,AAAA,AAAA,AAAAxD,AAAA;;;AAMG,AAAA,AAAA,AAAC2E,AAAMjD,AAAMkD,AAA6BC,AAAOrB;;;AANpD,AAAA,AAAA,AAAMiB;;AAAN","names",["var_args","G__54292","cljs.analyzer.api/empty-state","js/Error","cljs.env/*compiler*","cljs.env.default_compiler_env","opts","cljs.analyzer.api/current-state","cljs.analyzer.api/current-file","cljs.analyzer/*cljs-file*","cljs.analyzer.api/current-ns","cljs.analyzer/*cljs-ns*","cljs.analyzer.api/empty-env","cljs.analyzer/empty-env","cljs.analyzer.api/warning-enabled?","warning-type","cljs.analyzer/*cljs-warnings*","cljs.analyzer.api/default-warning-handler","env","extra","cljs.analyzer/default-warning-handler","cljs.analyzer.api/warning-message","warn-type","warn-info","cljs.analyzer/error-message","cljs.analyzer.api/enabled-warnings","G__54295","cljs.analyzer.api/get-options","cljs.analyzer.api.get_options","state","cljs.core/deref","cljs.core.get","G__54298","cljs.analyzer.api/get-js-index","cljs.analyzer.api.get_js_index","cljs.analyzer.api/default-passes","cljs.analyzer/default-passes","cljs.analyzer.api/resolve","sym","cljs.core/map?","cljs.core/Symbol","e54303","*private-var-access-nowarn*-orig-val__54305","*private-var-access-nowarn*-temp-val__54306","cljs.analyzer/*private-var-access-nowarn*","cljs.analyzer.resolve_var","cljs.analyzer/confirm-var-exists-throw","e","cljs.analyzer/resolve-macro-var","G__54308","cljs.analyzer.api/all-ns","cljs.analyzer.api.all_ns","cljs.core/keys","G__54322","cljs.analyzer.api/find-ns","cljs.analyzer.api.find_ns","cljs.core.get_in","G__54329","cljs.analyzer.api/ns-interns","ns","cljs.analyzer.api.ns_interns","cljs.core.merge","G__54341","cljs.analyzer.api/ns-publics","cljs.analyzer.api.ns_publics","cljs.core.remove","p__54351","vec__54355","cljs.core.nth","k","v","cljs.core.into","G__54373","cljs.analyzer.api/ns-resolve","cljs.analyzer.api.ns_resolve","G__54379","cljs.analyzer.api/remove-ns","cljs.analyzer.api.remove_ns","cljs.core.swap_BANG_","cljs.core/update-in","cljs.core/dissoc"]],"~:used-vars",["^G",["~$cljs.analyzer.api/empty-state","~$cljs.analyzer/resolve-var","~$cljs.analyzer.api/default-passes","~$cljs.analyzer.api/default-warning-handler","~$cljs.core/keys","~$cljs.env/default-compiler-env","~$cljs.core/deref","~$cljs.analyzer.api/current-file","~$cljs.analyzer.api/empty-env","~$cljs.analyzer.api/current-ns","~$cljs.core/dissoc","~$cljs.analyzer.api/ns-interns","~$cljs.analyzer.api/all-ns","~$cljs.env/*compiler*","~$cljs.analyzer.api/get-js-index","~$cljs.core/into","~$cljs.core/map?","~$cljs.analyzer/*cljs-warnings*","~$cljs.analyzer/error-message","~$cljs.analyzer/default-warning-handler","~$cljs.core/get-in","~$cljs.core/swap!","~$cljs.core/get","~$cljs.analyzer.api/find-ns","~$cljs.core/remove","~$cljs.analyzer.api/resolve","~$cljs.analyzer/empty-env","~$cljs.analyzer.api/warning-message","~$cljs.analyzer/default-passes","~$cljs.analyzer.api/current-state","~$cljs.analyzer.api/remove-ns","~$cljs.analyzer.api/get-options","~$cljs.analyzer.api/ns-publics","~$cljs.analyzer/resolve-macro-var","~$cljs.analyzer/confirm-var-exists-throw","~$cljs.core/not","~$cljs.core/Symbol","~$cljs.analyzer.api/warning-enabled?","~$cljs.analyzer/*private-var-access-nowarn*","~$cljs.analyzer/*cljs-file*","~$cljs.analyzer.api/enabled-warnings","~$cljs.core/merge","~$cljs.analyzer/*cljs-ns*","~$cljs.core/update-in","~$cljs.analyzer.api/ns-resolve","~$js/Error"]]],"~:cache-keys",["~#cmap",[["^1=","goog/dom/tagname.js"],["6025affb7181cd40418600864f58eed1ea80055d","~:shadow.build.compiler/resolve",["^ ","~:require-id",null,"~:deps-ids",["^G",[]],"~:deps-syms",["^Z","~$goog.dom.HtmlElement"]]],["^1=","cljs/tools/reader/impl/utils.cljs"],["d87b8bf9f6ce87b207d5ac625236d72923b7d71f","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","~$clojure.string","~$goog.string"]]],["^1=","goog/math/math.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","~$goog.array","~$goog.asserts"]]],["^1=","goog/html/trustedtypes.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","cljs/env.cljc"],["9f9729dbbf9b814c83dc189977b447d2ae92b6cd","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y"]]],["^1=","goog/labs/useragent/browser.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2T","~$goog.labs.userAgent.util","~$goog.object","~$goog.string.internal"]]],["^1=","goog/html/safeurl.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2U","~$goog.fs.url","~$goog.html.TrustedResourceUrl","~$goog.i18n.bidi.Dir","~$goog.i18n.bidi.DirectionalString","~$goog.string.Const","~$goog.string.TypedString","^2X"]]],["^1=","goog/array/array.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2U"]]],["^1=","goog/debug/error.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","cljs/tools/reader/edn.cljs"],["d87b8bf9f6ce87b207d5ac625236d72923b7d71f","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","~$cljs.tools.reader.impl.errors","~$cljs.tools.reader.reader-types","~$cljs.tools.reader.impl.utils","~$cljs.tools.reader.impl.commons","~$cljs.tools.reader","^2S","~$goog.string.StringBuffer"]]],["^1=","goog/dom/nodetype.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","cljs/tools/reader/impl/inspect.cljs"],["d87b8bf9f6ce87b207d5ac625236d72923b7d71f","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y"]]],["^1=","cljs/tools/reader.cljs"],["d87b8bf9f6ce87b207d5ac625236d72923b7d71f","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","^34","^35","^36","^33","^2T","^2S","^38"]]],["^1=","goog/string/typedstring.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","goog/object/object.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","goog/dom/asserts.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2U"]]],"~:SHADOW-TIMESTAMP",[1598798247000,1598798247000,1592608845000],["^1=","goog/math/long.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2U","~$goog.reflect"]]],["^1=","goog/html/trustedresourceurl.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2U","~$goog.html.trustedtypes","^2[","^30","^31","^32"]]],["^1=","goog/string/internal.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","goog/functions/functions.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","goog/html/safestyle.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2T","^2U","~$goog.html.SafeUrl","^31","^32","^2X"]]],["^1=","goog/dom/safe.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2U","~$goog.dom.asserts","~$goog.functions","~$goog.html.SafeHtml","~$goog.html.SafeScript","~$goog.html.SafeStyle","^3<","^2Z","~$goog.html.uncheckedconversions","^31","^2X"]]],["^1=","goog/structs/map.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","~$goog.iter.Iterator","~$goog.iter.StopIteration"]]],["^1=","goog/html/safehtml.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2T","^2U","~$goog.dom.TagName","~$goog.dom.tags","^3@","^3A","~$goog.html.SafeStyleSheet","^3<","^2Z","^3;","^2[","^30","~$goog.labs.userAgent.browser","^2W","^31","^32","^2X"]]],["^1=","goog/dom/tags.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2W"]]],["^1=","cljs/reader.cljs"],["9f9729dbbf9b814c83dc189977b447d2ae92b6cd","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","^2W","^37","~$cljs.tools.reader.edn","^38"]]],["^1=","goog/asserts/asserts.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","~$goog.debug.Error","~$goog.dom.NodeType"]]],["^1=","cljs/tagged_literals.cljc"],["9f9729dbbf9b814c83dc189977b447d2ae92b6cd","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","~$cljs.reader"]]],["^1=","goog/uri/uri.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2T","^2U","^2S","~$goog.structs","~$goog.structs.Map","~$goog.uri.utils","~$goog.uri.utils.ComponentIndex","~$goog.uri.utils.StandardQueryParam"]]],["^1=","goog/i18n/bidi.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","goog/fs/url.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","goog/base.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",[]]],["^1=","goog/structs/structs.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2T","^2W"]]],["^1=","cljs/tools/reader/impl/errors.cljs"],["d87b8bf9f6ce87b207d5ac625236d72923b7d71f","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","^34","^2R","~$cljs.tools.reader.impl.inspect"]]],["^1=","clojure/string.cljs"],["9f9729dbbf9b814c83dc189977b447d2ae92b6cd","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","^2S","^38"]]],["^1=","goog/string/string.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","~$goog.dom.safe","^3B","^31","^2X"]]],["^1=","goog/reflect/reflect.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","goog/labs/useragent/util.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2X"]]],["^1=","goog/string/stringbuffer.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","cljs/tools/reader/reader_types.cljs"],["d87b8bf9f6ce87b207d5ac625236d72923b7d71f","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","^35","^2S","^38"]]],["^1=","goog/iter/iter.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2T","^2U","^3>","~$goog.math"]]],["^1=","goog/html/uncheckedconversions.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2U","^3?","^3@","^3A","^3G","^3<","^2Z","^31","^2X"]]],["^1=","cljs/tools/reader/impl/commons.cljs"],["d87b8bf9f6ce87b207d5ac625236d72923b7d71f","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","^33","^34","^35"]]],["^1=","goog/dom/htmlelement.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z"]]],["^1=","cljs/core.cljs"],["9f9729dbbf9b814c83dc189977b447d2ae92b6cd","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","~$goog.math.Long","~$goog.math.Integer","^2S","^2W","^2T","~$goog.Uri","^38"]]],["^1=","goog/html/safescript.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2U","^3;","^31","^32"]]],["^1=","goog/html/safestylesheet.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2T","^2U","^3A","^2W","^31","^32","^2X"]]],["^1=","cljs/analyzer/api.cljc"],["9f9729dbbf9b814c83dc189977b447d2ae92b6cd","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","^U","^W"]]],["^1=","goog/math/integer.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^3:"]]],["^1=","clojure/set.cljs"],["9f9729dbbf9b814c83dc189977b447d2ae92b6cd","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y"]]],["^1=","goog/uri/utils.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2T","^2U","^2S"]]],["^1=","goog/string/const.js"],["6025affb7181cd40418600864f58eed1ea80055d","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^2U","^32"]]],["^1=","cljs/analyzer.cljc"],["9f9729dbbf9b814c83dc189977b447d2ae92b6cd","^2M",["^ ","^2N",null,"^2O",["^G",[]],"^2P",["^Z","^Y","^2S","^2R","~$clojure.set","^W","~$cljs.tagged-literals","^37","^34","^3L"]]]]],"~:clj-info",["^ ","jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/env.cljc",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/analyzer.cljc",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/tools.reader/1.3.3/tools.reader-1.3.3.jar!/clojure/tools/reader/default_data_readers.clj",1598798245000,"jar:file:/home/justin/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/string.clj",1592060007000,"jar:file:/home/justin/.m2/repository/org/clojure/tools.reader/1.3.3/tools.reader-1.3.3.jar!/clojure/tools/reader/impl/errors.clj",1598798245000,"jar:file:/home/justin/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/pprint.clj",1592060007000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/externs.clj",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/core.cljc",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/instant.clj",1592060007000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/reader.clj",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/set.clj",1592060007000,"jar:file:/home/justin/.m2/repository/org/clojure/tools.reader/1.3.3/tools.reader-1.3.3.jar!/clojure/tools/reader/reader_types.clj",1598798245000,"jar:file:/home/justin/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/edn.clj",1592060007000,"jar:file:/home/justin/.m2/repository/org/clojure/tools.reader/1.3.3/tools.reader-1.3.3.jar!/clojure/tools/reader.clj",1598798245000,"jar:file:/home/justin/.m2/repository/org/clojure/tools.reader/1.3.3/tools.reader-1.3.3.jar!/clojure/tools/reader/impl/inspect.clj",1598798245000,"jar:file:/home/justin/.m2/repository/org/clojure/tools.reader/1.3.3/tools.reader-1.3.3.jar!/cljs/tools/reader/reader_types.clj",1598798245000,"jar:file:/home/justin/.m2/repository/org/clojure/data.json/1.0.0/data.json-1.0.0.jar!/clojure/data/json.clj",1592063582000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/util.cljc",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/source_map/base64_vlq.clj",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/js_deps.cljc",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/java/io.clj",1592060007000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/env/macros.clj",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/analyzer/macros.clj",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/compiler.cljc",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/tagged_literals.cljc",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar!/clojure/core.clj",1592060007000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/source_map.clj",1592608845000,"jar:file:/home/justin/.m2/repository/org/clojure/clojurescript/1.10.773/clojurescript-1.10.773.jar!/cljs/source_map/base64.clj",1592608845000],"~:analyzer",["^ ","^3",null,"^4",["^ "],"^5",["^ ","^6","This is intended to be a stable api for those who need programmatic access\n  to the analyzer.","^7","cljs/analyzer/api.cljc","^8",9,"^9",5,"^:",9,"^;",22],"^<",["^ ","^=","^>","^?","^@","^A","^B","^C","^D"],"^E",null,"^F",["^G",["^H","^I","^J","^K","^L","^M","^N"]],"^O","^P","^S",null,"^T",["^ ","^U","^U","^V","^U","^W","^W","^X","^W","^Y","^Y","^Z","^Z"],"^[",["^G",["^10"]],"~:shadow/js-access-global",["^G",["Error"]],"^11",null,"~:defs",["^ ","^H",["^ ","~:protocol-inline",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",220,"^9",7,"^:",220,"^;",14,"~:arglists",["^14",["~$quote",["^14",[["~$sym"],["~$state","^4Q"]]]]],"^6","Given a namespace return the corresponding namespace analysis map. Analagous\n  to clojure.core/find-ns.","~:top-fn",["^ ","~:variadic?",false,"~:fixed-arity",2,"~:max-fixed-arity",2,"~:method-params",[["^4Q"],["^4R","^4Q"]],"^4O",["^14",[["^4Q"],["^4R","^4Q"]]],"~:arglists-meta",["^14",[null,null]]]],"^O","^24","^7","cljs/analyzer/api.cljc","^;",14,"^4S",["^ ","^4T",false,"^4U",2,"^4V",2,"^4W",[["^4Q"],["^4R","^4Q"]],"^4O",["^14",[["^4Q"],["^4R","^4Q"]]],"^4X",["^14",[null,null]]],"^4W",[["^4Q"],["^4R","^4Q"]],"~:protocol-impl",null,"^4U",2,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"~:methods",[["^ ","^4U",1,"^4T",false,"~:tag","~$any"],["^ ","^4U",2,"^4T",false,"^4[",["^G",[null,"^50"]]]],"^8",220,"^:",220,"^4V",2,"~:fn-var",true,"^4O",["^14",[["^4Q"],["^4R","^4Q"]]],"^6","Given a namespace return the corresponding namespace analysis map. Analagous\n  to clojure.core/find-ns."],"^I",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",262,"^9",7,"^:",262,"^;",16,"^4O",["^14",["^4P",["^14",[["^15"],["^4R","^15"]]]]],"^6","Removes the namespace named by the symbol.","^4S",["^ ","^4T",false,"^4U",2,"^4V",2,"^4W",[["^15"],["^4R","^15"]],"^4O",["^14",[["^15"],["^4R","^15"]]],"^4X",["^14",[null,null]]]],"^O","^2;","^7","cljs/analyzer/api.cljc","^;",16,"^4S",["^ ","^4T",false,"^4U",2,"^4V",2,"^4W",[["^15"],["^4R","^15"]],"^4O",["^14",[["^15"],["^4R","^15"]]],"^4X",["^14",[null,null]]],"^4W",[["^15"],["^4R","^15"]],"^4Y",null,"^4U",2,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^4Z",[["^ ","^4U",1,"^4T",false,"^4[","^50"],["^ ","^4U",2,"^4T",false,"^4[",["^G",[null,"^50"]]]],"^8",262,"^:",262,"^4V",2,"^51",true,"^4O",["^14",[["^15"],["^4R","^15"]]],"^6","Removes the namespace named by the symbol."],"^J",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",240,"^9",7,"^:",240,"^;",17,"^4O",["^14",["^4P",["^14",[["^15"],["^4R","^15"]]]]],"^6","Given a namespace return all the public var analysis maps. Analagous to\n  clojure.core/ns-publics but returns var analysis maps not vars.","^4S",["^ ","^4T",false,"^4U",2,"^4V",2,"^4W",[["^15"],["^4R","^15"]],"^4O",["^14",[["^15"],["^4R","^15"]]],"^4X",["^14",[null,null]]]],"^O","^2=","^7","cljs/analyzer/api.cljc","^;",17,"^4S",["^ ","^4T",false,"^4U",2,"^4V",2,"^4W",[["^15"],["^4R","^15"]],"^4O",["^14",[["^15"],["^4R","^15"]]],"^4X",["^14",[null,null]]],"^4W",[["^15"],["^4R","^15"]],"^4Y",null,"^4U",2,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^4Z",[["^ ","^4U",1,"^4T",false,"^4[","^50"],["^ ","^4U",2,"^4T",false,"^4[",["^G",[null,"~$clj","^50"]]]],"^8",240,"^:",240,"^4V",2,"^51",true,"^4O",["^14",[["^15"],["^4R","^15"]]],"^6","Given a namespace return all the public var analysis maps. Analagous to\n  clojure.core/ns-publics but returns var analysis maps not vars."],"~$get-options",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",102,"^9",7,"^:",102,"^;",18,"^4O",["^14",["^4P",["^14",[[],["^4R"]]]]],"^6","Return the compiler options from compiler state.","^4S",["^ ","^4T",false,"^4U",1,"^4V",1,"^4W",[[],["^4R"]],"^4O",["^14",[[],["^4R"]]],"^4X",["^14",[null,null]]]],"^O","^2<","^7","cljs/analyzer/api.cljc","^;",18,"^4S",["^ ","^4T",false,"^4U",1,"^4V",1,"^4W",[[],["^4R"]],"^4O",["^14",[[],["^4R"]]],"^4X",["^14",[null,null]]],"^4W",[[],["^4R"]],"^4Y",null,"^4U",1,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^4Z",[["^ ","^4U",0,"^4T",false,"^4[","^50"],["^ ","^4U",1,"^4T",false,"^4[",["^G",["^50","~$clj-nil"]]]],"^8",102,"^:",102,"^4V",1,"^51",true,"^4O",["^14",[[],["^4R"]]],"^6","Return the compiler options from compiler state."],"~$warning-message",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",91,"^9",7,"^:",91,"^;",22,"^4O",["^14",["^4P",["^14",[["~$warn-type","~$warn-info"]]]]],"^6","Helper for generating the standard analyzer messages for warnings. Should be\n  passed warn-type and warn-info. See with-warning-handlers."],"^O","^28","^7","cljs/analyzer/api.cljc","^;",22,"^4W",["^14",[["^56","^57"]]],"^4Y",null,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^8",91,"~:ret-tag","^50","^:",91,"^4V",2,"^51",true,"^4O",["^14",["^4P",["^14",[["^56","^57"]]]]],"^6","Helper for generating the standard analyzer messages for warnings. Should be\n  passed warn-type and warn-info. See with-warning-handlers."],"~$warning-enabled?",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",69,"^9",7,"^:",69,"^;",23,"^4O",["^14",["^4P",["^14",[["~$warning-type"]]]]],"^6","Test if the given warning-type is enabled."],"^O","^2B","^7","cljs/analyzer/api.cljc","^;",23,"^4W",["^14",[["^5:"]]],"^4Y",null,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^8",69,"^58","^50","^:",69,"^4V",1,"^51",true,"^4O",["^14",["^4P",["^14",[["^5:"]]]]],"^6","Test if the given warning-type is enabled."],"~$current-state",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",36,"^9",7,"^:",36,"^;",20,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Return the current compiler state atom."],"^O","^2:","^7","cljs/analyzer/api.cljc","^;",20,"^4W",["^14",[[]]],"^4Y",null,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^8",36,"^58","^50","^:",36,"^4V",0,"^51",true,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Return the current compiler state atom."],"^K",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",253,"^9",7,"^:",253,"^;",17,"^4O",["^14",["^4P",["^14",[["^15","^4Q"],["^4R","^15","^4Q"]]]]],"^6","Given a namespace and a symbol return the corresponding var analysis map.\n  Analagous to clojure.core/ns-resolve but returns var analysis map not Var.","^4S",["^ ","^4T",false,"^4U",3,"^4V",3,"^4W",[["^15","^4Q"],["^4R","^15","^4Q"]],"^4O",["^14",[["^15","^4Q"],["^4R","^15","^4Q"]]],"^4X",["^14",[null,null]]]],"^O","^2I","^7","cljs/analyzer/api.cljc","^;",17,"^4S",["^ ","^4T",false,"^4U",3,"^4V",3,"^4W",[["^15","^4Q"],["^4R","^15","^4Q"]],"^4O",["^14",[["^15","^4Q"],["^4R","^15","^4Q"]]],"^4X",["^14",[null,null]]],"^4W",[["^15","^4Q"],["^4R","^15","^4Q"]],"^4Y",null,"^4U",3,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^4Z",[["^ ","^4U",2,"^4T",false,"^4[","^50"],["^ ","^4U",3,"^4T",false,"^4[",["^G",[null,"^50"]]]],"^8",253,"^:",253,"^4V",3,"^51",true,"^4O",["^14",[["^15","^4Q"],["^4R","^15","^4Q"]]],"^6","Given a namespace and a symbol return the corresponding var analysis map.\n  Analagous to clojure.core/ns-resolve but returns var analysis map not Var."],"~$enabled-warnings",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",97,"^9",7,"^:",97,"^;",23,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Get the enabled warning types."],"^O","^2E","^7","cljs/analyzer/api.cljc","^;",23,"^4W",["^14",[[]]],"^4Y",null,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^8",97,"^58","^50","^:",97,"^4V",0,"^51",true,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Get the enabled warning types."],"~$empty-state",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",25,"^9",7,"^:",25,"^;",18,"^4O",["^14",["^4P",["^14",[[],["~$opts"]]]]],"^6","Creates an empty compilation state Atom<Map>. The optional opts arg is a map\n   representing the compiler configuration. See the documentation\n   for details: https://clojurescript.org/reference/compiler-options","^4S",["^ ","^4T",false,"^4U",1,"^4V",1,"^4W",[[],["^5>"]],"^4O",["^14",[[],["^5>"]]],"^4X",["^14",[null,null]]]],"^O","^1I","^7","cljs/analyzer/api.cljc","^;",18,"^4S",["^ ","^4T",false,"^4U",1,"^4V",1,"^4W",[[],["^5>"]],"^4O",["^14",[[],["^5>"]]],"^4X",["^14",[null,null]]],"^4W",[[],["^5>"]],"^4Y",null,"^4U",1,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^4Z",[["^ ","^4U",0,"^4T",false,"^4[","^50"],["^ ","^4U",1,"^4T",false,"^4[","~$cljs.core/Atom"]],"^8",25,"^:",25,"^4V",1,"^51",true,"^4O",["^14",[[],["^5>"]]],"^6","Creates an empty compilation state Atom<Map>. The optional opts arg is a map\n   representing the compiler configuration. See the documentation\n   for details: https://clojurescript.org/reference/compiler-options"],"~$default-passes",["^ ","^5",["^ ","^7","cljs/analyzer/api.cljc","^8",117,"^9",3,"^:",117,"^;",17,"^6","ClojureScript's default analysis passes."],"^O","^1K","^7","cljs/analyzer/api.cljc","^;",17,"^9",1,"^8",115,"^:",117,"^4[","~$cljs.core/IVector","^6","ClojureScript's default analysis passes."],"~$empty-env",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",57,"^9",7,"^:",57,"^;",16,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Creates an empty analysis environment."],"^O","^1Q","^7","cljs/analyzer/api.cljc","^;",16,"^4W",["^14",[[]]],"^4Y",null,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^8",57,"^58","^50","^:",57,"^4V",0,"^51",true,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Creates an empty analysis environment."],"~$default-warning-handler",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",74,"^9",7,"^:",74,"^;",30,"^4O",["^14",["^4P",["^14",[["^5:","^X","~$extra"]]]]],"^6","The default warning handler.\n\n   Outputs the warning messages to *err*."],"^O","^1L","^7","cljs/analyzer/api.cljc","^;",30,"^4W",["^14",[["^5:","^X","^5D"]]],"^4Y",null,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^8",74,"^58",["^G",[null,"^54"]],"^:",74,"^4V",3,"^51",true,"^4O",["^14",["^4P",["^14",[["^5:","^X","^5D"]]]]],"^6","The default warning handler.\n\n   Outputs the warning messages to *err*."],"^L",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",229,"^9",7,"^:",229,"^;",17,"^4O",["^14",["^4P",["^14",[["^15"],["^4R","^15"]]]]],"^6","Given a namespace return all the var analysis maps. Analagous to\n  clojure.core/ns-interns but returns var analysis maps not vars.","^4S",["^ ","^4T",false,"^4U",2,"^4V",2,"^4W",[["^15"],["^4R","^15"]],"^4O",["^14",[["^15"],["^4R","^15"]]],"^4X",["^14",[null,null]]]],"^O","^1T","^7","cljs/analyzer/api.cljc","^;",17,"^4S",["^ ","^4T",false,"^4U",2,"^4V",2,"^4W",[["^15"],["^4R","^15"]],"^4O",["^14",[["^15"],["^4R","^15"]]],"^4X",["^14",[null,null]]],"^4W",[["^15"],["^4R","^15"]],"^4Y",null,"^4U",2,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^4Z",[["^ ","^4U",1,"^4T",false,"^4[","^50"],["^ ","^4U",2,"^4T",false,"^4[",["^G",["^50","^54"]]]],"^8",229,"^:",229,"^4V",2,"^51",true,"^4O",["^14",[["^15"],["^4R","^15"]]],"^6","Given a namespace return all the var analysis maps. Analagous to\n  clojure.core/ns-interns but returns var analysis maps not vars."],"^M",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",212,"^9",7,"^:",212,"^;",13,"^4O",["^14",["^4P",["^14",[[],["^4R"]]]]],"^6","Return all namespaces. Analagous to clojure.core/all-ns but\n  returns symbols identifying namespaces not Namespace instances.","^4S",["^ ","^4T",false,"^4U",1,"^4V",1,"^4W",[[],["^4R"]],"^4O",["^14",[[],["^4R"]]],"^4X",["^14",[null,null]]]],"^O","^1U","^7","cljs/analyzer/api.cljc","^;",13,"^4S",["^ ","^4T",false,"^4U",1,"^4V",1,"^4W",[[],["^4R"]],"^4O",["^14",[[],["^4R"]]],"^4X",["^14",[null,null]]],"^4W",[[],["^4R"]],"^4Y",null,"^4U",1,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^4Z",[["^ ","^4U",0,"^4T",false,"^4[","^50"],["^ ","^4U",1,"^4T",false,"^4[",["^G",["~$cljs.core/KeySeq","^54"]]]],"^8",212,"^:",212,"^4V",1,"^51",true,"^4O",["^14",[[],["^4R"]]],"^6","Return all namespaces. Analagous to clojure.core/all-ns but\n  returns symbols identifying namespaces not Namespace instances."],"~$current-file",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",41,"^9",7,"^:",41,"^;",19,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Return the current file under analysis or compilation."],"^O","^1P","^7","cljs/analyzer/api.cljc","^;",19,"^4W",["^14",[[]]],"^4Y",null,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^8",41,"^58","^50","^:",41,"^4V",0,"^51",true,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Return the current file under analysis or compilation."],"~$current-ns",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",46,"^9",7,"^:",46,"^;",17,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Return the current ns under analysis or compilation."],"^O","^1R","^7","cljs/analyzer/api.cljc","^;",17,"^4W",["^14",[[]]],"^4Y",null,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^8",46,"^58","^50","^:",46,"^4V",0,"^51",true,"^4O",["^14",["^4P",["^14",[[]]]]],"^6","Return the current ns under analysis or compilation."],"^N",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",200,"^9",7,"^:",200,"^;",14,"^4O",["^14",["^4P",["^14",[["^X","^4Q"]]]]],"^6","Given an analysis environment resolve a var. Analogous to\n   clojure.core/resolve"],"^O","^26","^7","cljs/analyzer/api.cljc","^;",14,"^4W",["^14",[["^X","^4Q"]]],"^4Y",null,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^8",200,"^:",200,"^4V",2,"^51",true,"^4O",["^14",["^4P",["^14",[["^X","^4Q"]]]]],"^6","Given an analysis environment resolve a var. Analogous to\n   clojure.core/resolve"],"~$get-js-index",["^ ","^4N",null,"^5",["^ ","^7","cljs/analyzer/api.cljc","^8",108,"^9",7,"^:",108,"^;",19,"^4O",["^14",["^4P",["^14",[[],["^4R"]]]]],"^6","Return the currently computed Google Closure js dependency index from the\n  compiler state.","^4S",["^ ","^4T",false,"^4U",1,"^4V",1,"^4W",[[],["^4R"]],"^4O",["^14",[[],["^4R"]]],"^4X",["^14",[null,null]]]],"^O","^1W","^7","cljs/analyzer/api.cljc","^;",19,"^4S",["^ ","^4T",false,"^4U",1,"^4V",1,"^4W",[[],["^4R"]],"^4O",["^14",[[],["^4R"]]],"^4X",["^14",[null,null]]],"^4W",[[],["^4R"]],"^4Y",null,"^4U",1,"^4X",["^14",[null,null]],"^9",1,"^4T",false,"^4Z",[["^ ","^4U",0,"^4T",false,"^4[","^50"],["^ ","^4U",1,"^4T",false,"^4[",["^G",["^50","^54"]]]],"^8",108,"^:",108,"^4V",1,"^51",true,"^4O",["^14",[[],["^4R"]]],"^6","Return the currently computed Google Closure js dependency index from the\n  compiler state."]],"^12",["^ ","^Y","^Y"],"~:cljs.analyzer/constants",["^ ","^[",["^G",["~:cljs.analyzer/namespaces","~:private","~:macros","~:js-dependency-index","^4M","~:options"]],"~:order",["^5N","^5M","^5J","^5L","^4M","^5K"]],"^19",["^ ","^10",["^G",[]]],"^1:",["^ "],"^1;",["^Z","^Y","^U","^W"]],"^R","^P","~:ns-specs",["^ "],"~:ns-spec-vars",["^G",[]],"~:compiler-options",["^2L",[["^5R","~:static-fns"],true,["^5R","~:shadow-tweaks"],null,["^5R","~:source-map-inline"],null,["^5R","~:elide-asserts"],false,["^5R","~:optimize-constants"],null,["^5R","^1@"],null,["^5R","~:external-config"],null,["^5R","~:tooling-config"],null,["^5R","~:emit-constants"],null,["^5R","~:load-tests"],null,["^5R","~:form-size-threshold"],null,["^5R","~:data-readers"],null,["^5R","~:infer-externs"],"~:auto",["^5R","^1B"],null,["~:js-options","~:js-provider"],"^10",["~:mode"],"~:dev",["^5R","~:fn-invoke-direct"],null,["^5R","~:source-map"],"/dev/null"]]]