Files
df-research/dataframe/examples/notebooks/feature_overviews/0.15/new_features.ipynb
2026-02-08 11:20:43 -10:00

13034 lines
1.4 MiB
Vendored
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": [
"## 0.15: New Features\n",
"\n",
"- Experimental new CSV parser based on [Deephaven-CSV](https://github.com/deephaven/deephaven-csv)\n",
"- Experimental new `GeoDataFrame` class for working with geographical data (from GeoJson/Shapefile) and plotting it with [Kandy](https://github.com/Kotlin/kandy)\n",
"- Custom SQL Database support by passing the `dbType` parameter to read functions\n",
"- Full `BigInteger` support\n",
"- Improved parsing"
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:14:52.870403Z",
"start_time": "2024-12-06T13:14:51.110838Z"
}
},
"cell_type": "code",
"source": [
"// loading dependencies for the SQL examples\n",
"// this needs to be called before importing dataframe itself\n",
"USE {\n",
" dependencies {\n",
" implementation(\"com.h2database:h2:2.3.232\")\n",
" implementation(\"com.mysql:mysql-connector-j:9.1.0\")\n",
" }\n",
"}"
],
"outputs": [],
"execution_count": 1
},
{
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2024-12-06T13:15:04.824210Z",
"start_time": "2024-12-06T13:14:52.895019Z"
}
},
"cell_type": "code",
"source": [
"%useLatestDescriptors\n",
"\n",
"// you can enable the new experimental modules (in notebooks) in the following way:\n",
"%use dataframe(v=0.15.0, enableExperimentalCsv=true, enableExperimentalGeo=true)"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Enabling experimental CSV module: dataframe-csv\n",
"Enabling experimental Geo module: dataframe-geo\n"
]
}
],
"execution_count": 2
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"### Experimental new CSV parser based on Deephaven-CSV\n",
"\n",
"DataFrame's CSV parsing has been based on [Apache Commons CSV](https://commons.apache.org/proper/commons-csv/) from the beginning. While this has been sufficient for most applications, it had some issues like running out of memory, performance, and our API lacking in clarity, documentation, and completeness.\n",
"([Related issue #827](https://github.com/Kotlin/dataframe/issues/827))\n",
"\n",
"For DataFrame 0.15, we introduce a new separate package [`org.jetbrains.kotlinx:dataframe-csv`](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/dataframe-csv) which tries to solve all these issues at once. It's based on [Deephaven-CSV](https://github.com/deephaven/deephaven-csv) which makes it faster and more memory efficient. And since we built it from the ground up, we made sure the API was complete, predictable, and documented carefully.\n",
"\n",
"To try it yourself, explicitly add the dependency [`org.jetbrains.kotlinx:dataframe-csv`](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/dataframe-csv) to your project. In notebooks you can add `enableExperimentalCsv=true` to the %use-magic, as seen above."
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Given a large CSV file, such as below, the chances of running out of memory are now (still possible, but) lower:"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-02T12:48:59.669795Z",
"start_time": "2024-12-02T12:47:40.785374Z"
},
"tags": []
},
"cell_type": "code",
"source": [
"// Old csv function:\n",
"DataFrame.readCSV(\n",
" \"../../../../dataframe-csv/src/test/resources/largeCsv.csv.gz\",\n",
")"
],
"outputs": [
{
"ename": "java.lang.OutOfMemoryError",
"evalue": "Ran out of memory reading this CSV-like file. You can try our new experimental CSV reader by adding the dependency \"org.jetbrains.kotlinx:dataframe-csv:{VERSION}\" and using `DataFrame.readCsv()` instead of `DataFrame.readCSV()`.",
"output_type": "error",
"traceback": [
"java.lang.OutOfMemoryError: Ran out of memory reading this CSV-like file. You can try our new experimental CSV reader by adding the dependency \"org.jetbrains.kotlinx:dataframe-csv:{VERSION}\" and using `DataFrame.readCsv()` instead of `DataFrame.readCSV()`.",
"\tat org.jetbrains.kotlinx.dataframe.io.CsvKt.readDelim(csv.kt:367)",
"\tat org.jetbrains.kotlinx.dataframe.io.CsvKt.readDelim(csv.kt:285)",
"\tat org.jetbrains.kotlinx.dataframe.io.CsvKt.readCSV$lambda$2(csv.kt:152)",
"\tat org.jetbrains.kotlinx.dataframe.io.CommonKt.catchHttpResponse(common.kt:27)",
"\tat org.jetbrains.kotlinx.dataframe.io.CsvKt.readCSV(csv.kt:151)",
"\tat org.jetbrains.kotlinx.dataframe.io.CsvKt.readCSV$default(csv.kt:138)",
"\tat Line_11_jupyter.<init>(Line_11.jupyter.kts:2) at Cell In[6], line 2",
"\tat java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)",
"\tat java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)",
"\tat java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)",
"\tat java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)",
"\tat kotlin.script.experimental.jvm.BasicJvmScriptEvaluator.evalWithConfigAndOtherScriptsResults(BasicJvmScriptEvaluator.kt:122)",
"\tat kotlin.script.experimental.jvm.BasicJvmScriptEvaluator.invoke$suspendImpl(BasicJvmScriptEvaluator.kt:48)",
"\tat kotlin.script.experimental.jvm.BasicJvmScriptEvaluator.invoke(BasicJvmScriptEvaluator.kt)",
"\tat kotlin.script.experimental.jvm.BasicJvmReplEvaluator.eval(BasicJvmReplEvaluator.kt:49)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.InternalEvaluatorImpl$eval$resultWithDiagnostics$1.invokeSuspend(InternalEvaluatorImpl.kt:137)",
"\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)",
"\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)",
"\tat kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277)",
"\tat kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95)",
"\tat kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69)",
"\tat kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)",
"\tat kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)",
"\tat kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.InternalEvaluatorImpl.eval(InternalEvaluatorImpl.kt:137)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.CellExecutorImpl$execute$1$result$1.invoke(CellExecutorImpl.kt:80)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.CellExecutorImpl$execute$1$result$1.invoke(CellExecutorImpl.kt:78)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.ReplForJupyterImpl.withHost(ReplForJupyterImpl.kt:774)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.CellExecutorImpl.execute-L4Nmkdk(CellExecutorImpl.kt:78)",
"\tat org.jetbrains.kotlinx.jupyter.repl.execution.CellExecutor$DefaultImpls.execute-L4Nmkdk$default(CellExecutor.kt:13)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.ReplForJupyterImpl.evaluateUserCode-wNURfNM(ReplForJupyterImpl.kt:596)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.ReplForJupyterImpl.evalExImpl(ReplForJupyterImpl.kt:454)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.ReplForJupyterImpl.access$evalExImpl(ReplForJupyterImpl.kt:141)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.ReplForJupyterImpl$evalEx$1.invoke(ReplForJupyterImpl.kt:447)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.ReplForJupyterImpl$evalEx$1.invoke(ReplForJupyterImpl.kt:446)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.ReplForJupyterImpl.withEvalContext(ReplForJupyterImpl.kt:427)",
"\tat org.jetbrains.kotlinx.jupyter.repl.impl.ReplForJupyterImpl.evalEx(ReplForJupyterImpl.kt:446)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor$processExecuteRequest$1$response$1$1.invoke(IdeCompatibleMessageRequestProcessor.kt:171)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor$processExecuteRequest$1$response$1$1.invoke(IdeCompatibleMessageRequestProcessor.kt:170)",
"\tat org.jetbrains.kotlinx.jupyter.streams.BlockingSubstitutionEngine.withDataSubstitution(SubstitutionEngine.kt:70)",
"\tat org.jetbrains.kotlinx.jupyter.streams.StreamSubstitutionManager.withSubstitutedStreams(StreamSubstitutionManager.kt:118)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor.withForkedIn(IdeCompatibleMessageRequestProcessor.kt:347)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor.access$withForkedIn(IdeCompatibleMessageRequestProcessor.kt:67)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor$evalWithIO$1$1.invoke(IdeCompatibleMessageRequestProcessor.kt:361)",
"\tat org.jetbrains.kotlinx.jupyter.streams.BlockingSubstitutionEngine.withDataSubstitution(SubstitutionEngine.kt:70)",
"\tat org.jetbrains.kotlinx.jupyter.streams.StreamSubstitutionManager.withSubstitutedStreams(StreamSubstitutionManager.kt:118)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor.withForkedErr(IdeCompatibleMessageRequestProcessor.kt:336)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor.access$withForkedErr(IdeCompatibleMessageRequestProcessor.kt:67)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor$evalWithIO$1.invoke(IdeCompatibleMessageRequestProcessor.kt:360)",
"\tat org.jetbrains.kotlinx.jupyter.streams.BlockingSubstitutionEngine.withDataSubstitution(SubstitutionEngine.kt:70)",
"\tat org.jetbrains.kotlinx.jupyter.streams.StreamSubstitutionManager.withSubstitutedStreams(StreamSubstitutionManager.kt:118)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor.withForkedOut(IdeCompatibleMessageRequestProcessor.kt:328)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor.evalWithIO(IdeCompatibleMessageRequestProcessor.kt:359)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor$processExecuteRequest$1$response$1.invoke(IdeCompatibleMessageRequestProcessor.kt:170)",
"\tat org.jetbrains.kotlinx.jupyter.messaging.IdeCompatibleMessageRequestProcessor$processExecuteRequest$1$response$1.invoke(IdeCompatibleMessageRequestProcessor.kt:169)",
"\tat org.jetbrains.kotlinx.jupyter.execution.JupyterExecutorImpl$Task.execute(JupyterExecutorImpl.kt:41)",
"\tat org.jetbrains.kotlinx.jupyter.execution.JupyterExecutorImpl$executorThread$1.invoke(JupyterExecutorImpl.kt:81)",
"\tat org.jetbrains.kotlinx.jupyter.execution.JupyterExecutorImpl$executorThread$1.invoke(JupyterExecutorImpl.kt:79)",
"\tat kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)",
"",
"java.lang.OutOfMemoryError: Ran out of memory reading this CSV-like file. You can try our new experimental CSV reader by adding the dependency \"org.jetbrains.kotlinx:dataframe-csv:{VERSION}\" and using `DataFrame.readCsv()` instead of `DataFrame.readCSV()`.",
"at Cell In[6], line 2",
""
]
}
],
"execution_count": 6
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-02T12:53:41.064469Z",
"start_time": "2024-12-02T12:53:08.127522Z"
}
},
"cell_type": "code",
"source": [
"// New csv function:\n",
"DataFrame.readCsv(\n",
" \"../../../../dataframe-csv/src/test/resources/largeCsv.csv.gz\",\n",
")"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_1()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_1\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_1845493760&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;... showing only top 20 of 31999999 rows&lt;&sol;p&gt;&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 31999999, columnsCount = 6&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;Year: Int&bsol;&quot;&gt;Year&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2018&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;Age: Int&bsol;&quot;&gt;Age&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;Ethnic: Int&bsol;&quot;&gt;Ethnic&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;Sex: Int&bsol;&quot;&gt;Sex&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;Area: String&bsol;&quot;&gt;Area&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;01&quot;,&quot;02&quot;,&quot;03&quot;,&quot;04&quot;,&quot;05&quot;,&quot;06&quot;,&quot;07&quot;,&quot;08&quot;,&quot;09&quot;,&quot;12&quot;,&quot;13&quot;,&quot;14&quot;,&quot;15&quot;,&quot;16&quot;,&quot;17&quot;,&quot;18&quot;,&quot;99&quot;,&quot;9999&quot;,&quot;77&quot;,&quot;01&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;count: String&bsol;&quot;&gt;count&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;795&quot;,&quot;5067&quot;,&quot;2229&quot;,&quot;1356&quot;,&quot;180&quot;,&quot;738&quot;,&quot;630&quot;,&quot;1188&quot;,&quot;2157&quot;,&quot;177&quot;,&quot;2823&quot;,&quot;1020&quot;,&quot;516&quot;,&quot;222&quot;,&quot;219&quot;,&quot;234&quot;,&quot;..C&quot;,&quot;19563&quot;,&quot;19557&quot;,&quot;768&quot;] }, \n",
"], id: 1845493760, rootId: 1845493760, totalRows: 31999999 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(1845493760) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_1() {\n",
" let elem = document.getElementById(\"iframe_out_1\");\n",
" resize_iframe_out_1(elem);\n",
" setInterval(resize_iframe_out_1, 5000, elem);\n",
" }\n",
" function resize_iframe_out_1(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_1845493761\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">Year</th><th class=\"bottomBorder\" style=\"text-align:left\">Age</th><th class=\"bottomBorder\" style=\"text-align:left\">Ethnic</th><th class=\"bottomBorder\" style=\"text-align:left\">Sex</th><th class=\"bottomBorder\" style=\"text-align:left\">Area</th><th class=\"bottomBorder\" style=\"text-align:left\">count</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">01</td><td style=\"vertical-align:top\">795</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">02</td><td style=\"vertical-align:top\">5067</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">03</td><td style=\"vertical-align:top\">2229</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">04</td><td style=\"vertical-align:top\">1356</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">05</td><td style=\"vertical-align:top\">180</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">06</td><td style=\"vertical-align:top\">738</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">07</td><td style=\"vertical-align:top\">630</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">08</td><td style=\"vertical-align:top\">1188</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">09</td><td style=\"vertical-align:top\">2157</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">12</td><td style=\"vertical-align:top\">177</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">13</td><td style=\"vertical-align:top\">2823</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">14</td><td style=\"vertical-align:top\">1020</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">15</td><td style=\"vertical-align:top\">516</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">16</td><td style=\"vertical-align:top\">222</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">17</td><td style=\"vertical-align:top\">219</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">18</td><td style=\"vertical-align:top\">234</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">99</td><td style=\"vertical-align:top\">..C</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">9999</td><td style=\"vertical-align:top\">19563</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">77</td><td style=\"vertical-align:top\">19557</td></tr><tr><td style=\"vertical-align:top\">2018</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">2</td><td style=\"vertical-align:top\">01</td><td style=\"vertical-align:top\">768</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_1845493761\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"Year\",\"Age\",\"Ethnic\",\"Sex\",\"Area\",\"count\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":31999999,\"ncol\":6},\"kotlin_dataframe\":[{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"01\",\"count\":\"795\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"02\",\"count\":\"5067\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"03\",\"count\":\"2229\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"04\",\"count\":\"1356\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"05\",\"count\":\"180\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"06\",\"count\":\"738\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"07\",\"count\":\"630\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"08\",\"count\":\"1188\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"09\",\"count\":\"2157\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"12\",\"count\":\"177\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"13\",\"count\":\"2823\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"14\",\"count\":\"1020\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"15\",\"count\":\"516\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"16\",\"count\":\"222\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"17\",\"count\":\"219\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"18\",\"count\":\"234\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"99\",\"count\":\"..C\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"9999\",\"count\":\"19563\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":1,\"Area\":\"77\",\"count\":\"19557\"},{\"Year\":2018,\"Age\":0,\"Ethnic\":1,\"Sex\":2,\"Area\":\"01\",\"count\":\"768\"}]}"
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 3
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"40 million rows! Not bad, right?\n",
"\n",
"The fact we can now read this file is due to Deephaven CSV's ability to parse columns directly to the target type, like `Int`, or `Double`, instead of reading and storing everything as a `String` first and then parsing it. This saves both memory and running time. Deephaven made a [blogpost](https://deephaven.io/blog/2022/02/23/csv-reader/) if you're curious about the specifics.\n",
"\n",
"DataFrame still reads everything into (boxed) memory, so there are limits to the size of the file you can read, but now the CSV reader is not a limiting factor anymore.\n",
"(Check the \"Max heap size\" setting if you're running this notebook in IntelliJ, and you're still running out of memory for large files).\n",
"\n",
"Switching to the new API, in most cases, is as easy as swapping `readCSV` with `readCsv` (and `readTSV` with `readTsv`, etc.). However, there are a few differences in the API, so be sure to check the KDocs of the new functions.\n",
"\n",
"Here's a small demonstration of the new API:"
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:21:46.445799Z",
"start_time": "2024-12-06T13:21:45.263111Z"
}
},
"cell_type": "code",
"source": [
"import java.util.Locale\n",
"\n",
"DataFrame.readCsv(\n",
" \"../../../../dataframe-csv/src/test/resources/irisDataset.csv\",\n",
" delimiter = ',',\n",
"\n",
" // overwriting the given header\n",
" header = listOf(\"sepalLength\", \"sepalWidth\", \"petalLength\", \"petalWidth\", \"species\"),\n",
"\n",
" // skipping the first line in the file with old header\n",
" skipLines = 1,\n",
"\n",
" // reading only 50 lines\n",
" readLines = 50,\n",
"\n",
" // manually specifying the types of the columns, will be inferred otherwise\n",
" colTypes = mapOf(\n",
" \"species\" to ColType.String, // setting the type of the species column to String\n",
" ColType.DEFAULT to ColType.Double, // setting type of all other columns to Double\n",
" ),\n",
"\n",
" // manually specifying some parser options\n",
" // Will be read from the global parser options `DataFrame.parser` otherwise\n",
" parserOptions = ParserOptions(\n",
" // setting the locale to US, uses `DataFrame.parser.locale` or `Locale.getDefault()` otherwise\n",
" locale = Locale.US,\n",
" // overriding null strings\n",
" nullStrings = DEFAULT_DELIM_NULL_STRINGS + \"nothing\",\n",
" // using the new faster double parser, true by default for readCsv\n",
" useFastDoubleParser = true,\n",
" ),\n",
"\n",
" // new! specifying the quote character\n",
" quote = '\\\"',\n",
"\n",
" // specifying whether to ignore empty lines in between rows in the file, and plenty more options...\n",
" ignoreEmptyLines = false,\n",
" allowMissingColumns = true,\n",
" ignoreSurroundingSpaces = true,\n",
" trimInsideQuoted = false,\n",
" parseParallel = true,\n",
")"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_1()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_1\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202560&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;... showing only top 20 of 50 rows&lt;&sol;p&gt;&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 50, columnsCount = 5&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;sepalLength: Double&bsol;&quot;&gt;sepalLength&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;sepalWidth: Double&bsol;&quot;&gt;sepalWidth&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;petalLength: Double&bsol;&quot;&gt;petalLength&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;petalWidth: Double&bsol;&quot;&gt;petalWidth&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;species: String&bsol;&quot;&gt;species&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;] }, \n",
"], id: 587202560, rootId: 587202560, totalRows: 50 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202560) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_1() {\n",
" let elem = document.getElementById(\"iframe_out_1\");\n",
" resize_iframe_out_1(elem);\n",
" setInterval(resize_iframe_out_1, 5000, elem);\n",
" }\n",
" function resize_iframe_out_1(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202561\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">sepalLength</th><th class=\"bottomBorder\" style=\"text-align:left\">sepalWidth</th><th class=\"bottomBorder\" style=\"text-align:left\">petalLength</th><th class=\"bottomBorder\" style=\"text-align:left\">petalWidth</th><th class=\"bottomBorder\" style=\"text-align:left\">species</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">5.100000</td><td style=\"vertical-align:top\">3.500000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.900000</td><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.700000</td><td style=\"vertical-align:top\">3.200000</td><td style=\"vertical-align:top\">1.300000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.600000</td><td style=\"vertical-align:top\">3.100000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.000000</td><td style=\"vertical-align:top\">3.600000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.400000</td><td style=\"vertical-align:top\">3.900000</td><td style=\"vertical-align:top\">1.700000</td><td style=\"vertical-align:top\">0.400000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.600000</td><td style=\"vertical-align:top\">3.400000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.000000</td><td style=\"vertical-align:top\">3.400000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.400000</td><td style=\"vertical-align:top\">2.900000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.900000</td><td style=\"vertical-align:top\">3.100000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.100000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.400000</td><td style=\"vertical-align:top\">3.700000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.800000</td><td style=\"vertical-align:top\">3.400000</td><td style=\"vertical-align:top\">1.600000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.800000</td><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.100000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.300000</td><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">1.100000</td><td style=\"vertical-align:top\">0.100000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.800000</td><td style=\"vertical-align:top\">4.000000</td><td style=\"vertical-align:top\">1.200000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.700000</td><td style=\"vertical-align:top\">4.400000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.400000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.400000</td><td style=\"vertical-align:top\">3.900000</td><td style=\"vertical-align:top\">1.300000</td><td style=\"vertical-align:top\">0.400000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.100000</td><td style=\"vertical-align:top\">3.500000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.700000</td><td style=\"vertical-align:top\">3.800000</td><td style=\"vertical-align:top\">1.700000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.100000</td><td style=\"vertical-align:top\">3.800000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202561\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"sepalLength\",\"sepalWidth\",\"petalLength\",\"petalWidth\",\"species\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":50,\"ncol\":5},\"kotlin_dataframe\":[{\"sepalLength\":5.1,\"sepalWidth\":3.5,\"petalLength\":1.4,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":4.9,\"sepalWidth\":3.0,\"petalLength\":1.4,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":4.7,\"sepalWidth\":3.2,\"petalLength\":1.3,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":4.6,\"sepalWidth\":3.1,\"petalLength\":1.5,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":5.0,\"sepalWidth\":3.6,\"petalLength\":1.4,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":5.4,\"sepalWidth\":3.9,\"petalLength\":1.7,\"petalWidth\":0.4,\"species\":\"Setosa\"},{\"sepalLength\":4.6,\"sepalWidth\":3.4,\"petalLength\":1.4,\"petalWidth\":0.3,\"species\":\"Setosa\"},{\"sepalLength\":5.0,\"sepalWidth\":3.4,\"petalLength\":1.5,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":4.4,\"sepalWidth\":2.9,\"petalLength\":1.4,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":4.9,\"sepalWidth\":3.1,\"petalLength\":1.5,\"petalWidth\":0.1,\"species\":\"Setosa\"},{\"sepalLength\":5.4,\"sepalWidth\":3.7,\"petalLength\":1.5,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":4.8,\"sepalWidth\":3.4,\"petalLength\":1.6,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":4.8,\"sepalWidth\":3.0,\"petalLength\":1.4,\"petalWidth\":0.1,\"species\":\"Setosa\"},{\"sepalLength\":4.3,\"sepalWidth\":3.0,\"petalLength\":1.1,\"petalWidth\":0.1,\"species\":\"Setosa\"},{\"sepalLength\":5.8,\"sepalWidth\":4.0,\"petalLength\":1.2,\"petalWidth\":0.2,\"species\":\"Setosa\"},{\"sepalLength\":5.7,\"sepalWidth\":4.4,\"petalLength\":1.5,\"petalWidth\":0.4,\"species\":\"Setosa\"},{\"sepalLength\":5.4,\"sepalWidth\":3.9,\"petalLength\":1.3,\"petalWidth\":0.4,\"species\":\"Setosa\"},{\"sepalLength\":5.1,\"sepalWidth\":3.5,\"petalLength\":1.4,\"petalWidth\":0.3,\"species\":\"Setosa\"},{\"sepalLength\":5.7,\"sepalWidth\":3.8,\"petalLength\":1.7,\"petalWidth\":0.3,\"species\":\"Setosa\"},{\"sepalLength\":5.1,\"sepalWidth\":3.8,\"petalLength\":1.5,\"petalWidth\":0.3,\"species\":\"Setosa\"}]}"
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 3
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Since deephaven supports it, we can now also read multi-space separated files, like logs ([Relevant issue #746](https://github.com/Kotlin/dataframe/issues/746)):"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:21:51.445969Z",
"start_time": "2024-12-06T13:21:51.285692Z"
}
},
"cell_type": "code",
"source": [
"DataFrame.readDelimStr(\n",
" \"\"\"\n",
" NAME STATUS AGE LABELS\n",
" argo-events Active 2y77d app.kubernetes.io/instance=argo-events,kubernetes.io/metadata.name=argo-events\n",
" argo-workflows Active 2y77d app.kubernetes.io/instance=argo-workflows,kubernetes.io/metadata.name=argo-workflows\n",
" argocd Active 5y18d kubernetes.io/metadata.name=argocd\n",
" beta Active 4y235d kubernetes.io/metadata.name=beta\n",
" \"\"\".trimIndent(),\n",
" hasFixedWidthColumns = true,\n",
")"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_3()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_3\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202564&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 3, columnsCount = 4&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;NAME: String&bsol;&quot;&gt;NAME&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;argo-events&quot;,&quot;argo-workflows&quot;,&quot;argocd&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;STATUS: String&bsol;&quot;&gt;STATUS&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;Active&quot;,&quot;Active&quot;,&quot;Active&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;AGE: String&bsol;&quot;&gt;AGE&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;2y77d&quot;,&quot;2y77d&quot;,&quot;5y18d&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;LABELS: String&bsol;&quot;&gt;LABELS&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;app.kubernetes.io&sol;instance=argo-events,kubernetes.io&sol;metadata.name=argo-events&bsol;&quot;&gt;app.kubernetes.io&sol;instance=argo-event&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;app.kubernetes.io&sol;instance=argo-workflows,kubernetes.io&sol;metadata.name=argo-workflows&bsol;&quot;&gt;app.kubernetes.io&sol;instance=argo-workf&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;kubernetes.io&sol;metadata.name=argocd&quot;] }, \n",
"], id: 587202564, rootId: 587202564, totalRows: 3 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202564) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_3() {\n",
" let elem = document.getElementById(\"iframe_out_3\");\n",
" resize_iframe_out_3(elem);\n",
" setInterval(resize_iframe_out_3, 5000, elem);\n",
" }\n",
" function resize_iframe_out_3(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202565\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">NAME</th><th class=\"bottomBorder\" style=\"text-align:left\">STATUS</th><th class=\"bottomBorder\" style=\"text-align:left\">AGE</th><th class=\"bottomBorder\" style=\"text-align:left\">LABELS</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">argo-events</td><td style=\"vertical-align:top\">Active</td><td style=\"vertical-align:top\">2y77d</td><td style=\"vertical-align:top\">app.kubernetes.io/instance=argo-event<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">argo-workflows</td><td style=\"vertical-align:top\">Active</td><td style=\"vertical-align:top\">2y77d</td><td style=\"vertical-align:top\">app.kubernetes.io/instance=argo-workf<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">argocd</td><td style=\"vertical-align:top\">Active</td><td style=\"vertical-align:top\">5y18d</td><td style=\"vertical-align:top\">kubernetes.io/metadata.name=argocd</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202565\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"NAME\",\"STATUS\",\"AGE\",\"LABELS\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":3,\"ncol\":4},\"kotlin_dataframe\":[{\"NAME\":\"argo-events\",\"STATUS\":\"Active\",\"AGE\":\"2y77d\",\"LABELS\":\"app.kubernetes.io/instance=argo-events,kubernetes.io/metadata.name=argo-events\"},{\"NAME\":\"argo-workflows\",\"STATUS\":\"Active\",\"AGE\":\"2y77d\",\"LABELS\":\"app.kubernetes.io/instance=argo-workflows,kubernetes.io/metadata.name=argo-workflows\"},{\"NAME\":\"argocd\",\"STATUS\":\"Active\",\"AGE\":\"5y18d\",\"LABELS\":\"kubernetes.io/metadata.name=argocd\"}]}"
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 4
},
{
"metadata": {},
"cell_type": "markdown",
"source": "We provide single overload (with `InputStream`) which exposes the underlying implementation for when ours is not sufficient for your needs ([Relevant issue #787](https://github.com/Kotlin/dataframe/issues/787))."
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:21:59.773321Z",
"start_time": "2024-12-06T13:21:59.216960Z"
}
},
"cell_type": "code",
"source": [
"import io.deephaven.csv.containers.ByteSlice\n",
"import io.deephaven.csv.tokenization.Tokenizer\n",
"import java.io.InputStream\n",
"\n",
"DataFrame.readCsv(\n",
" inputStream = File(\"../../../../dataframe-csv/src/test/resources/irisDataset.csv\").inputStream(),\n",
" adjustCsvSpecs = {\n",
" this\n",
" .headerLegalizer {\n",
" it.map { it.lowercase().replace('.', '_') }.toTypedArray()\n",
" }\n",
" .customDoubleParser(object : Tokenizer.CustomDoubleParser {\n",
" override fun parse(bs: ByteSlice?): Double = TODO(\"Not yet implemented\")\n",
" override fun parse(cs: CharSequence?): Double = TODO(\"Not yet implemented\")\n",
" })\n",
" // etc..\n",
" },\n",
")"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_5()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_5\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202568&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;... showing only top 20 of 150 rows&lt;&sol;p&gt;&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 150, columnsCount = 5&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;sepal_length: Double&bsol;&quot;&gt;sepal_length&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;sepal_width: Double&bsol;&quot;&gt;sepal_width&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;petal_length: Double&bsol;&quot;&gt;petal_length&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;petal_width: Double&bsol;&quot;&gt;petal_width&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;variety: String&bsol;&quot;&gt;variety&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;] }, \n",
"], id: 587202568, rootId: 587202568, totalRows: 150 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202568) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_5() {\n",
" let elem = document.getElementById(\"iframe_out_5\");\n",
" resize_iframe_out_5(elem);\n",
" setInterval(resize_iframe_out_5, 5000, elem);\n",
" }\n",
" function resize_iframe_out_5(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202569\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">sepal_length</th><th class=\"bottomBorder\" style=\"text-align:left\">sepal_width</th><th class=\"bottomBorder\" style=\"text-align:left\">petal_length</th><th class=\"bottomBorder\" style=\"text-align:left\">petal_width</th><th class=\"bottomBorder\" style=\"text-align:left\">variety</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">5.100000</td><td style=\"vertical-align:top\">3.500000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.900000</td><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.700000</td><td style=\"vertical-align:top\">3.200000</td><td style=\"vertical-align:top\">1.300000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.600000</td><td style=\"vertical-align:top\">3.100000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.000000</td><td style=\"vertical-align:top\">3.600000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.400000</td><td style=\"vertical-align:top\">3.900000</td><td style=\"vertical-align:top\">1.700000</td><td style=\"vertical-align:top\">0.400000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.600000</td><td style=\"vertical-align:top\">3.400000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.000000</td><td style=\"vertical-align:top\">3.400000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.400000</td><td style=\"vertical-align:top\">2.900000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.900000</td><td style=\"vertical-align:top\">3.100000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.100000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.400000</td><td style=\"vertical-align:top\">3.700000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.800000</td><td style=\"vertical-align:top\">3.400000</td><td style=\"vertical-align:top\">1.600000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.800000</td><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.100000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.300000</td><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">1.100000</td><td style=\"vertical-align:top\">0.100000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.800000</td><td style=\"vertical-align:top\">4.000000</td><td style=\"vertical-align:top\">1.200000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.700000</td><td style=\"vertical-align:top\">4.400000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.400000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.400000</td><td style=\"vertical-align:top\">3.900000</td><td style=\"vertical-align:top\">1.300000</td><td style=\"vertical-align:top\">0.400000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.100000</td><td style=\"vertical-align:top\">3.500000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.700000</td><td style=\"vertical-align:top\">3.800000</td><td style=\"vertical-align:top\">1.700000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.100000</td><td style=\"vertical-align:top\">3.800000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202569\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"sepal_length\",\"sepal_width\",\"petal_length\",\"petal_width\",\"variety\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":150,\"ncol\":5},\"kotlin_dataframe\":[{\"sepal_length\":5.1,\"sepal_width\":3.5,\"petal_length\":1.4,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":4.9,\"sepal_width\":3.0,\"petal_length\":1.4,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":4.7,\"sepal_width\":3.2,\"petal_length\":1.3,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":4.6,\"sepal_width\":3.1,\"petal_length\":1.5,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":5.0,\"sepal_width\":3.6,\"petal_length\":1.4,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":5.4,\"sepal_width\":3.9,\"petal_length\":1.7,\"petal_width\":0.4,\"variety\":\"Setosa\"},{\"sepal_length\":4.6,\"sepal_width\":3.4,\"petal_length\":1.4,\"petal_width\":0.3,\"variety\":\"Setosa\"},{\"sepal_length\":5.0,\"sepal_width\":3.4,\"petal_length\":1.5,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":4.4,\"sepal_width\":2.9,\"petal_length\":1.4,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":4.9,\"sepal_width\":3.1,\"petal_length\":1.5,\"petal_width\":0.1,\"variety\":\"Setosa\"},{\"sepal_length\":5.4,\"sepal_width\":3.7,\"petal_length\":1.5,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":4.8,\"sepal_width\":3.4,\"petal_length\":1.6,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":4.8,\"sepal_width\":3.0,\"petal_length\":1.4,\"petal_width\":0.1,\"variety\":\"Setosa\"},{\"sepal_length\":4.3,\"sepal_width\":3.0,\"petal_length\":1.1,\"petal_width\":0.1,\"variety\":\"Setosa\"},{\"sepal_length\":5.8,\"sepal_width\":4.0,\"petal_length\":1.2,\"petal_width\":0.2,\"variety\":\"Setosa\"},{\"sepal_length\":5.7,\"sepal_width\":4.4,\"petal_length\":1.5,\"petal_width\":0.4,\"variety\":\"Setosa\"},{\"sepal_length\":5.4,\"sepal_width\":3.9,\"petal_length\":1.3,\"petal_width\":0.4,\"variety\":\"Setosa\"},{\"sepal_length\":5.1,\"sepal_width\":3.5,\"petal_length\":1.4,\"petal_width\":0.3,\"variety\":\"Setosa\"},{\"sepal_length\":5.7,\"sepal_width\":3.8,\"petal_length\":1.7,\"petal_width\":0.3,\"variety\":\"Setosa\"},{\"sepal_length\":5.1,\"sepal_width\":3.8,\"petal_length\":1.5,\"petal_width\":0.3,\"variety\":\"Setosa\"}]}"
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 5
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Finally, we now support reading from ZIP files directly, along with GZIP (already demonstrated above) and custom compression formats ([Relevant issue #469](https://github.com/Kotlin/dataframe/issues/469)):"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:06.763690Z",
"start_time": "2024-12-06T13:22:06.524446Z"
}
},
"cell_type": "code",
"source": [
"DataFrame.readCsv(\n",
" \"../../../../dataframe-csv/src/test/resources/testCSV.zip\",\n",
" // this can be manually specified, but is inferred automatically from the file extension\n",
" // compression = Compression.Zip,\n",
")"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_7()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_7\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202572&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 5, columnsCount = 11&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;untitled: Int&bsol;&quot;&gt;untitled&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;user_id: Int&bsol;&quot;&gt;user_id&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;12&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;name: String&bsol;&quot;&gt;name&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;George&quot;,&quot;Paul&quot;,&quot;Johnny&quot;,&quot;Jack&quot;,&quot;Samuel&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;duplicate: String?&bsol;&quot;&gt;duplicate&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;username: String&bsol;&quot;&gt;username&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;abc&quot;,&quot;paul&quot;,&quot;qwerty&quot;,&quot;buk&quot;,&quot;qwerty&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;duplicate1: Char?&bsol;&quot;&gt;duplicate1&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;a&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;b&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;duplicate11: String?&bsol;&quot;&gt;duplicate11&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;double: Double?&bsol;&quot;&gt;double&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1203.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;20.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2414.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;Infinity&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;number: Double&bsol;&quot;&gt;number&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;599.213&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;214.211&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;412.214&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.010&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.000&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;time: kotlinx.datetime.LocalDateTime&bsol;&quot;&gt;time&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;2021-01-07T15:12:32&quot;,&quot;2021-01-14T14:36:19&quot;,&quot;2021-02-23T19:47&quot;,&quot;2021-03-08T23:38:52&quot;,&quot;2021-04-01T02:30:22&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;empty: String?&bsol;&quot;&gt;empty&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202572, rootId: 587202572, totalRows: 5 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202572) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_7() {\n",
" let elem = document.getElementById(\"iframe_out_7\");\n",
" resize_iframe_out_7(elem);\n",
" setInterval(resize_iframe_out_7, 5000, elem);\n",
" }\n",
" function resize_iframe_out_7(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202573\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">untitled</th><th class=\"bottomBorder\" style=\"text-align:left\">user_id</th><th class=\"bottomBorder\" style=\"text-align:left\">name</th><th class=\"bottomBorder\" style=\"text-align:left\">duplicate</th><th class=\"bottomBorder\" style=\"text-align:left\">username</th><th class=\"bottomBorder\" style=\"text-align:left\">duplicate1</th><th class=\"bottomBorder\" style=\"text-align:left\">duplicate11</th><th class=\"bottomBorder\" style=\"text-align:left\">double</th><th class=\"bottomBorder\" style=\"text-align:left\">number</th><th class=\"bottomBorder\" style=\"text-align:left\">time</th><th class=\"bottomBorder\" style=\"text-align:left\">empty</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">4</td><td style=\"vertical-align:top\">George</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">abc</td><td style=\"vertical-align:top\">a</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">1203.000000</td><td style=\"vertical-align:top\">599.213000</td><td style=\"vertical-align:top\">2021-01-07T15:12:32</td><td style=\"vertical-align:top\">null</td></tr><tr><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">5</td><td style=\"vertical-align:top\">Paul</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">paul</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">214.211000</td><td style=\"vertical-align:top\">2021-01-14T14:36:19</td><td style=\"vertical-align:top\">null</td></tr><tr><td style=\"vertical-align:top\">2</td><td style=\"vertical-align:top\">8</td><td style=\"vertical-align:top\">Johnny</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">qwerty</td><td style=\"vertical-align:top\">b</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">20.000000</td><td style=\"vertical-align:top\">412.214000</td><td style=\"vertical-align:top\">2021-02-23T19:47</td><td style=\"vertical-align:top\">null</td></tr><tr><td style=\"vertical-align:top\">3</td><td style=\"vertical-align:top\">10</td><td style=\"vertical-align:top\">Jack</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">buk</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">2414.000000</td><td style=\"vertical-align:top\">1.010000</td><td style=\"vertical-align:top\">2021-03-08T23:38:52</td><td style=\"vertical-align:top\">null</td></tr><tr><td style=\"vertical-align:top\">4</td><td style=\"vertical-align:top\">12</td><td style=\"vertical-align:top\">Samuel</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">qwerty</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">Infinity</td><td style=\"vertical-align:top\">0.000000</td><td style=\"vertical-align:top\">2021-04-01T02:30:22</td><td style=\"vertical-align:top\">null</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202573\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"untitled\",\"user_id\",\"name\",\"duplicate\",\"username\",\"duplicate1\",\"duplicate11\",\"double\",\"number\",\"time\",\"empty\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Char?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlinx.datetime.LocalDateTime\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"}],\"nrow\":5,\"ncol\":11},\"kotlin_dataframe\":[{\"untitled\":0,\"user_id\":4,\"name\":\"George\",\"duplicate\":null,\"username\":\"abc\",\"duplicate1\":\"a\",\"duplicate11\":null,\"double\":1203.0,\"number\":599.213,\"time\":\"2021-01-07T15:12:32\",\"empty\":null},{\"untitled\":1,\"user_id\":5,\"name\":\"Paul\",\"duplicate\":null,\"username\":\"paul\",\"duplicate1\":null,\"duplicate11\":null,\"double\":null,\"number\":214.211,\"time\":\"2021-01-14T14:36:19\",\"empty\":null},{\"untitled\":2,\"user_id\":8,\"name\":\"Johnny\",\"duplicate\":null,\"username\":\"qwerty\",\"duplicate1\":\"b\",\"duplicate11\":null,\"double\":20.0,\"number\":412.214,\"time\":\"2021-02-23T19:47\",\"empty\":null},{\"untitled\":3,\"user_id\":10,\"name\":\"Jack\",\"duplicate\":null,\"username\":\"buk\",\"duplicate1\":null,\"duplicate11\":null,\"double\":2414.0,\"number\":1.01,\"time\":\"2021-03-08T23:38:52\",\"empty\":null},{\"untitled\":4,\"user_id\":12,\"name\":\"Samuel\",\"duplicate\":null,\"username\":\"qwerty\",\"duplicate1\":null,\"duplicate11\":null,\"double\":Infinity,\"number\":0.0,\"time\":\"2021-04-01T02:30:22\",\"empty\":null}]}"
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 6
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:10.963588Z",
"start_time": "2024-12-06T13:22:09.273678Z"
}
},
"cell_type": "code",
"source": "USE { dependencies(\"org.tukaani:xz:1.10\", \"org.apache.commons:commons-compress:1.27.1\") }",
"outputs": [],
"execution_count": 7
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:11.841585Z",
"start_time": "2024-12-06T13:22:11.256663Z"
}
},
"cell_type": "code",
"source": [
"import org.apache.commons.compress.archivers.tar.TarFile\n",
"import org.apache.commons.io.IOUtils\n",
"import org.apache.commons.compress.utils.SeekableInMemoryByteChannel\n",
"\n",
"// custom compression format by specifying how to convert a compressed InputStream to a normal one\n",
"val tarCompression = Compression.Custom({ tarInputStream ->\n",
" val tar = TarFile(SeekableInMemoryByteChannel(IOUtils.toByteArray(tarInputStream)))\n",
" tar.getInputStream(tar.entries.first())\n",
"})\n",
"\n",
"DataFrame.readCsv(\"irisDataset.tar\", compression = tarCompression)"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_9()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_9\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202576&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;... showing only top 20 of 150 rows&lt;&sol;p&gt;&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 150, columnsCount = 5&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;sepal.length: Double&bsol;&quot;&gt;sepal.length&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;sepal.width: Double&bsol;&quot;&gt;sepal.width&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.9&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.8&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;petal.length: Double&bsol;&quot;&gt;petal.length&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.6&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.7&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.5&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;petal.width: Double&bsol;&quot;&gt;petal.width&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;variety: String&bsol;&quot;&gt;variety&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;,&quot;Setosa&quot;] }, \n",
"], id: 587202576, rootId: 587202576, totalRows: 150 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202576) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_9() {\n",
" let elem = document.getElementById(\"iframe_out_9\");\n",
" resize_iframe_out_9(elem);\n",
" setInterval(resize_iframe_out_9, 5000, elem);\n",
" }\n",
" function resize_iframe_out_9(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202577\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">sepal.length</th><th class=\"bottomBorder\" style=\"text-align:left\">sepal.width</th><th class=\"bottomBorder\" style=\"text-align:left\">petal.length</th><th class=\"bottomBorder\" style=\"text-align:left\">petal.width</th><th class=\"bottomBorder\" style=\"text-align:left\">variety</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">5.100000</td><td style=\"vertical-align:top\">3.500000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.900000</td><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.700000</td><td style=\"vertical-align:top\">3.200000</td><td style=\"vertical-align:top\">1.300000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.600000</td><td style=\"vertical-align:top\">3.100000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.000000</td><td style=\"vertical-align:top\">3.600000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.400000</td><td style=\"vertical-align:top\">3.900000</td><td style=\"vertical-align:top\">1.700000</td><td style=\"vertical-align:top\">0.400000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.600000</td><td style=\"vertical-align:top\">3.400000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.000000</td><td style=\"vertical-align:top\">3.400000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.400000</td><td style=\"vertical-align:top\">2.900000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.900000</td><td style=\"vertical-align:top\">3.100000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.100000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.400000</td><td style=\"vertical-align:top\">3.700000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.800000</td><td style=\"vertical-align:top\">3.400000</td><td style=\"vertical-align:top\">1.600000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.800000</td><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.100000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">4.300000</td><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">1.100000</td><td style=\"vertical-align:top\">0.100000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.800000</td><td style=\"vertical-align:top\">4.000000</td><td style=\"vertical-align:top\">1.200000</td><td style=\"vertical-align:top\">0.200000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.700000</td><td style=\"vertical-align:top\">4.400000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.400000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.400000</td><td style=\"vertical-align:top\">3.900000</td><td style=\"vertical-align:top\">1.300000</td><td style=\"vertical-align:top\">0.400000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.100000</td><td style=\"vertical-align:top\">3.500000</td><td style=\"vertical-align:top\">1.400000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.700000</td><td style=\"vertical-align:top\">3.800000</td><td style=\"vertical-align:top\">1.700000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr><tr><td style=\"vertical-align:top\">5.100000</td><td style=\"vertical-align:top\">3.800000</td><td style=\"vertical-align:top\">1.500000</td><td style=\"vertical-align:top\">0.300000</td><td style=\"vertical-align:top\">Setosa</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202577\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"sepal.length\",\"sepal.width\",\"petal.length\",\"petal.width\",\"variety\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":150,\"ncol\":5},\"kotlin_dataframe\":[{\"sepal.length\":5.1,\"sepal.width\":3.5,\"petal.length\":1.4,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":4.9,\"sepal.width\":3.0,\"petal.length\":1.4,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":4.7,\"sepal.width\":3.2,\"petal.length\":1.3,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":4.6,\"sepal.width\":3.1,\"petal.length\":1.5,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":5.0,\"sepal.width\":3.6,\"petal.length\":1.4,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":5.4,\"sepal.width\":3.9,\"petal.length\":1.7,\"petal.width\":0.4,\"variety\":\"Setosa\"},{\"sepal.length\":4.6,\"sepal.width\":3.4,\"petal.length\":1.4,\"petal.width\":0.3,\"variety\":\"Setosa\"},{\"sepal.length\":5.0,\"sepal.width\":3.4,\"petal.length\":1.5,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":4.4,\"sepal.width\":2.9,\"petal.length\":1.4,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":4.9,\"sepal.width\":3.1,\"petal.length\":1.5,\"petal.width\":0.1,\"variety\":\"Setosa\"},{\"sepal.length\":5.4,\"sepal.width\":3.7,\"petal.length\":1.5,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":4.8,\"sepal.width\":3.4,\"petal.length\":1.6,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":4.8,\"sepal.width\":3.0,\"petal.length\":1.4,\"petal.width\":0.1,\"variety\":\"Setosa\"},{\"sepal.length\":4.3,\"sepal.width\":3.0,\"petal.length\":1.1,\"petal.width\":0.1,\"variety\":\"Setosa\"},{\"sepal.length\":5.8,\"sepal.width\":4.0,\"petal.length\":1.2,\"petal.width\":0.2,\"variety\":\"Setosa\"},{\"sepal.length\":5.7,\"sepal.width\":4.4,\"petal.length\":1.5,\"petal.width\":0.4,\"variety\":\"Setosa\"},{\"sepal.length\":5.4,\"sepal.width\":3.9,\"petal.length\":1.3,\"petal.width\":0.4,\"variety\":\"Setosa\"},{\"sepal.length\":5.1,\"sepal.width\":3.5,\"petal.length\":1.4,\"petal.width\":0.3,\"variety\":\"Setosa\"},{\"sepal.length\":5.7,\"sepal.width\":3.8,\"petal.length\":1.7,\"petal.width\":0.3,\"variety\":\"Setosa\"},{\"sepal.length\":5.1,\"sepal.width\":3.8,\"petal.length\":1.5,\"petal.width\":0.3,\"variety\":\"Setosa\"}]}"
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 8
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"Writing is also supported; it still uses Apache Commons CSV under the hood.\n",
"The API is similar to the reading API:"
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:16.631206Z",
"start_time": "2024-12-06T13:22:15.902813Z"
}
},
"cell_type": "code",
"source": [
"val irisDf = DataFrame.readCsv(\"../../../../dataframe-csv/src/test/resources/irisDataset.csv\")\n",
"\n",
"irisDf.writeCsv(\"irisDataset.csv\")"
],
"outputs": [],
"execution_count": 9
},
{
"metadata": {},
"cell_type": "markdown",
"source": "some options can be specified:"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:18.602183Z",
"start_time": "2024-12-06T13:22:18.504388Z"
}
},
"cell_type": "code",
"source": [
"irisDf.writeDelim(\n",
" path = \"irisDataset.csv\",\n",
" delimiter = ';',\n",
" includeHeader = false,\n",
" quoteMode = QuoteMode.ALL,\n",
" escapeChar = '\\\\',\n",
" commentChar = '#',\n",
" headerComments = listOf(\"This is a comment\", \"This is another comment\"),\n",
" recordSeparator = \"\\n\",\n",
")"
],
"outputs": [],
"execution_count": 10
},
{
"metadata": {},
"cell_type": "markdown",
"source": "and similarly we have a single overload which exposes the underlying implementation:"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:22.013636Z",
"start_time": "2024-12-06T13:22:21.751085Z"
}
},
"cell_type": "code",
"source": [
"irisDf.writeCsv(\n",
" writer = File(\"irisDataset.csv\").writer(),\n",
" adjustCsvFormat = {\n",
" this\n",
" .setSkipHeaderRecord(true)\n",
" .setHeader(\"sepalLength\", \"sepalWidth\", \"petalLength\", \"petalWidth\", \"species\")\n",
" .setTrailingData(true)\n",
" .setNullString(\"null\")\n",
" // etc..\n",
" },\n",
")"
],
"outputs": [],
"execution_count": 11
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"### Experimental new GeoDataFrame with Kandy\n",
"\n",
"[Kandy](https://github.com/Kotlin/kandy) v0.8 introduces geo-plotting which allows you to visualize geospatial/geographical data using the awesome Kandy DSL. To make working with this geographical data (from GeoJson/Shapefile) easier, we happily accepted the [GeoDataFrame PR](https://github.com/Kotlin/dataframe/pull/909) from the Kandy team ([Relevant issue #875](https://github.com/Kotlin/dataframe/issues/875))\n",
"\n",
"To try it yourself, explicitly add the dependency [`org.jetbrains.kotlinx:dataframe-geo`](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/dataframe-geo) to your project (with the repository `maven(\"https://repo.osgeo.org/repository/release\")`) or add `enableExperimentalGeo=true` to the %use-magic, as seen at the start of the notebook.\n",
"\n",
"Then use `GeoDataFrame.readGeoJson()` or `GeoDataFrame.readShapeFile()` to get started!"
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:29.984700Z",
"start_time": "2024-12-06T13:22:25.732250Z"
}
},
"cell_type": "code",
"source": [
"USE {\n",
" repositories(\"https://repo.osgeo.org/repository/release\")\n",
" dependencies(\"org.jetbrains.kotlinx:kandy-geo:0.8.0-dev-57\")\n",
"}"
],
"outputs": [],
"execution_count": 12
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Here's a small demonstration of the new API, reading and plotting a GeoJson file:"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:35.873834Z",
"start_time": "2024-12-06T13:22:33.595757Z"
}
},
"cell_type": "code",
"source": [
"val usaGeo = GeoDataFrame.readGeoJson(\"https://echarts.apache.org/examples/data/asset/geo/USA.json\")\n",
"usaGeo.df"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2024-12-06T13:22:34.883693Z Execution of code 'val usaGeo = GeoData...' ERROR Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...\n"
]
},
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_11()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_11\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202580&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;... showing only top 20 of 52 rows&lt;&sol;p&gt;&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 52, columnsCount = 2&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;name: String&bsol;&quot;&gt;name&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;Alabama&quot;,&quot;Alaska&quot;,&quot;Arizona&quot;,&quot;Arkansas&quot;,&quot;California&quot;,&quot;Colorado&quot;,&quot;Connecticut&quot;,&quot;Delaware&quot;,&quot;District of Columbia&quot;,&quot;Florida&quot;,&quot;Georgia&quot;,&quot;Hawaii&quot;,&quot;Idaho&quot;,&quot;Illinois&quot;,&quot;Indiana&quot;,&quot;Iowa&quot;,&quot;Kansas&quot;,&quot;Kentucky&quot;,&quot;Louisiana&quot;,&quot;Maine&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;geometry: org.locationtech.jts.geom.Geometry&bsol;&quot;&gt;geometry&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-87.359296 35.00118, -85.606675 34.984749, -85.431413 34.124869, -85.184951 32.859696, -85.069935 32.580372, -84.960397 32.421541, -85.004212 32.322956, -84.889196 32.262709, -85.058981 32.13674, -85.053504 32.01077, -85.141136 31.840985, -85.042551 31.539753, -85.113751 31.27686, -85.004212 31.003013, -85.497137 30.997536, -87.600282 30.997536, -87.633143 30.86609, -87.408589 30.674397, -87.446927 30.510088, -87.37025 30.427934, -87.518128 30.280057, -87.655051 30.247195, -87.90699 30.411504, -87.934375 30.657966, -88.011052 30.685351, -88.10416 30.499135, -88.137022 30.318396, -88.394438 30.367688, -88.471115 31.895754, -88.241084 33.796253, -88.098683 34.891641, -88.202745 34.995703, -87.359296 35.00118))&bsol;&quot;&gt;POLYGON ((-87.359296 35.00118, -85.60&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;MULTIPOLYGON (((-131.602021 55.117982, -131.569159 55.28229, -131.355558 55.183705, -131.38842 55.01392, -131.645836 55.035827, -131.602021 55.117982)), ((-131.832052 55.42469, -131.645836 55.304197, -131.749898 55.128935, -131.832052 55.189182, -131.832052 55.42469)), ((-132.976733 56.437924, -132.735747 56.459832, -132.631685 56.421493, -132.664547 56.273616, -132.878148 56.240754, -133.069841 56.333862, -132.976733 56.437924)), ((-133.595627 56.350293, -133.162949 56.317431, -133.05341 56.125739, -132.620732 55.912138, -132.472854 55.780691, -132.4619 55.671152, -132.357838 55.649245, -132.341408 55.506844, -132.166146 55.364444, -132.144238 55.238474, -132.029222 55.276813, -131.97993 55.178228, -131.958022 54.789365, -132.029222 54.701734, -132.308546 54.718165, -132.385223 54.915335, -132.483808 54.898904, -132.686455 55.046781, -132.746701 54.997489, -132.916486 55.046781, -132.889102 54.898904, -132.73027 54.937242, -132.626209 54.882473, -132.675501 54.679826, -132.867194 54.701734, -133.157472 54.95915, -133.239626 55.090597, -133.223195 55.22752, -133.453227 55.216566, -133.453227 55.320628, -133.277964 55.331582, -133.102702 55.42469, -133.17938 55.588998, -133.387503 55.62186, -133.420365 55.884753, -133.497042 56.0162, -133.639442 55.923092, -133.694212 56.070969, -133.546335 56.142169, -133.666827 56.311955, -133.595627 56.350293)), ((-133.738027 55.556137, -133.546335 55.490413, -133.414888 55.572568, -133.283441 55.534229, -133.420365 55.386352, -133.633966 55.430167, -133.738027 55.556137)), ((-133.907813 56.930849, -134.050213 57.029434, -133.885905 57.095157, -133.343688 57.002049, -133.102702 57.007526, -132.932917 56.82131, -132.620732 56.667956, -132.653593 56.55294, -132.817901 56.492694, -133.042456 56.520078, -133.201287 56.448878, -133.420365 56.492694, -133.66135 56.448878, -133.710643 56.684386, -133.688735 56.837741, -133.869474 56.843218, -133.907813 56.930849)), ((-134.115936 56.48174, -134.25286 56.558417, -134.400737 56.722725, -134.417168 56.848695, -134.296675 56.908941, -134.170706 56.848695, -134.143321 56.952757, -133.748981 56.772017, -133.710643 56.596755, -133.847566 56.574848, -133.935197 56.377678, -133.836612 56.322908, -133.957105 56.092877, -134.110459 56.142169, -134.132367 55.999769, -134.230952 56.070969, -134.291198 56.350293, -134.115936 56.48174)), ((-134.636246 56.28457, -134.669107 56.169554, -134.806031 56.235277, -135.178463 56.67891, -135.413971 56.810356, -135.331817 56.914418, -135.424925 57.166357, -135.687818 57.369004, -135.419448 57.566174, -135.298955 57.48402, -135.063447 57.418296, -134.849846 57.407343, -134.844369 57.248511, -134.636246 56.728202, -134.636246 56.28457)), ((-134.712923 58.223407, -134.373353 58.14673, -134.176183 58.157683, -134.187137 58.081006, -133.902336 57.807159, -134.099505 57.850975, -134.148798 57.757867, -133.935197 57.615466, -133.869474 57.363527, -134.083075 57.297804, -134.154275 57.210173, -134.499322 57.029434, -134.603384 57.034911, -134.6472 57.226604, -134.575999 57.341619, -134.608861 57.511404, -134.729354 57.719528, -134.707446 57.829067, -134.784123 58.097437, -134.91557 58.212453, -134.953908 58.409623, -134.712923 58.223407)), ((-135.857603 57.330665, -135.715203 57.330665, -135.567326 57.149926, -135.633049 57.023957, -135.857603 56.996572, -135.824742 57.193742, -135.857603 57.330665)), ((-136.279328 58.206976, -135.978096 58.201499, -135.780926 58.28913, -135.496125 58.168637, -135.64948 58.037191, -135.59471 57.987898, -135.45231 58.135776, -135.107263 58.086483, -134.91557 57.976944, -135.025108 57.779775, -134.937477 57.763344, -134.822462 57.500451, -135.085355 57.462112, -135.572802 57.675713, -135.556372 57.456635, -135.709726 57.369004, -135.890465 57.407343, -136.000004 57.544266, -136.208128 57.637374, -136.366959 57.829067, -136.569606 57.916698, -136.558652 58.075529, -136.421728 58.130299, -136.377913 58.267222, -136.279328 58.206976)), ((-147.079854 60.200582, -147.501579 59.948643, -147.53444 59.850058, -147.874011 59.784335, -147.80281 59.937689, -147.435855 60.09652, -147.205824 60.271782, -147.079854 60.200582)), ((-147.561825 60.578491, -147.616594 60.370367, -147.758995 60.156767, -147.956165 60.227967, -147.791856 60.474429, -147.561825 60.578491)), ((-147.786379 70.245291, -147.682318 70.201475, -147.162008 70.15766, -146.888161 70.185044, -146.510252 70.185044, -146.099482 70.146706, -145.858496 70.168614, -145.622988 70.08646, -145.195787 69.993352, -144.620708 69.971444, -144.461877 70.026213, -144.078491 70.059075, -143.914183 70.130275, -143.497935 70.141229, -143.503412 70.091936, -143.25695 70.119321, -142.747594 70.042644, -142.402547 69.916674, -142.079408 69.856428, -142.008207 69.801659, -141.712453 69.790705, -141.433129 69.697597, -141.378359 69.63735, -141.208574 69.686643, -141.00045 69.648304, -141.00045 60.304644, -140.53491 60.22249, -140.474664 60.310121, -139.987216 60.184151, -139.696939 60.342983, -139.088998 60.359413, -139.198537 60.091043, -139.045183 59.997935, -138.700135 59.910304, -138.623458 59.767904, -137.604747 59.242118, -137.445916 58.908024, -137.265177 59.001132, -136.827022 59.159963, -136.580559 59.16544, -136.465544 59.285933, -136.476498 59.466672, -136.301236 59.466672, -136.25742 59.625503, -135.945234 59.663842, -135.479694 59.800766, -135.025108 59.565257, -135.068924 59.422857, -134.959385 59.280456, -134.701969 59.247595, -134.378829 59.033994, -134.400737 58.973748, -134.25286 58.858732, -133.842089 58.727285, -133.173903 58.152206, -133.075318 57.998852, -132.867194 57.845498, -132.560485 57.505928, -132.253777 57.21565, -132.368792 57.095157, -132.05113 57.051341, -132.127807 56.876079, -131.870391 56.804879, -131.837529 56.602232, -131.580113 56.613186, -131.087188 56.405062, -130.78048 56.366724, -130.621648 56.268139, -130.468294 56.240754, -130.424478 56.142169, -130.101339 56.114785, -130.002754 55.994292, -130.150631 55.769737, -130.128724 55.583521, -129.986323 55.276813, -130.095862 55.200136, -130.336847 54.920812, -130.687372 54.718165, -130.785957 54.822227, -130.917403 54.789365, -131.010511 54.997489, -130.983126 55.08512, -131.092665 55.189182, -130.862634 55.298721, -130.928357 55.337059, -131.158389 55.200136, -131.284358 55.287767, -131.426759 55.238474, -131.843006 55.457552, -131.700606 55.698537, -131.963499 55.616383, -131.974453 55.49589, -132.182576 55.588998, -132.226392 55.704014, -132.083991 55.829984, -132.127807 55.955953, -132.324977 55.851892, -132.522147 56.076446, -132.642639 56.032631, -132.719317 56.218847, -132.527624 56.339339, -132.341408 56.339339, -132.396177 56.487217, -132.297592 56.67891, -132.450946 56.673433, -132.768609 56.837741, -132.993164 57.034911, -133.51895 57.177311, -133.507996 57.577128, -133.677781 57.62642, -133.639442 57.790728, -133.814705 57.834544, -134.072121 58.053622, -134.143321 58.168637, -134.586953 58.206976, -135.074401 58.502731, -135.282525 59.192825, -135.38111 59.033994, -135.337294 58.891593, -135.140124 58.617746, -135.189417 58.573931, -135.05797 58.349376, -135.085355 58.201499, -135.277048 58.234361, -135.430402 58.398669, -135.633049 58.426053, -135.91785 58.382238, -135.912373 58.617746, -136.087635 58.814916, -136.246466 58.75467, -136.876314 58.962794, -136.931084 58.902547, -136.586036 58.836824, -136.317666 58.672516, -136.213604 58.667039, -136.180743 58.535592, -136.043819 58.382238, -136.388867 58.294607, -136.591513 58.349376, -136.59699 58.212453, -136.859883 58.316515, -136.947514 58.393192, -137.111823 58.393192, -137.566409 58.590362, -137.900502 58.765624, -137.933364 58.869686, -138.11958 59.02304, -138.634412 59.132579, -138.919213 59.247595, -139.417615 59.379041, -139.746231 59.505011, -139.718846 59.641934, -139.625738 59.598119, -139.5162 59.68575, -139.625738 59.88292, -139.488815 59.992458, -139.554538 60.041751, -139.801 59.833627, -140.315833 59.696704, -140.92925 59.745996, -141.444083 59.871966, -141.46599 59.970551, -141.706976 59.948643, -141.964392 60.019843, -142.539471 60.085566, -142.873564 60.091043, -143.623905 60.036274, -143.892275 59.997935, -144.231845 60.140336, -144.65357 60.206059, -144.785016 60.29369, -144.834309 60.441568, -145.124586 60.430614, -145.223171 60.299167, -145.738004 60.474429, -145.820158 60.551106, -146.351421 60.408706, -146.608837 60.238921, -146.718376 60.397752, -146.608837 60.485383, -146.455483 60.463475, -145.951604 60.578491, -146.017328 60.666122, -146.252836 60.622307, -146.345944 60.737322, -146.565022 60.753753, -146.784099 61.044031, -146.866253 60.972831, -147.172962 60.934492, -147.271547 60.972831, -147.375609 60.879723, -147.758995 60.912584, -147.775426 60.808523, -148.032842 60.781138, -148.153334 60.819476, -148.065703 61.005692, -148.175242 61.000215, -148.350504 60.803046, -148.109519 60.737322, -148.087611 60.594922, -147.939734 60.441568, -148.027365 60.277259, -148.219058 60.332029, -148.273827 60.249875, -148.087611 60.217013, -147.983549 59.997935, -148.251919 59.95412, -148.399797 59.997935, -148.635305 59.937689, -148.755798 59.986981, -149.067984 59.981505, -149.05703 60.063659, -149.204907 60.008889, -149.287061 59.904827, -149.418508 59.997935, -149.582816 59.866489, -149.511616 59.806242, -149.741647 59.729565, -149.949771 59.718611, -150.031925 59.61455, -150.25648 59.521442, -150.409834 59.554303, -150.579619 59.444764, -150.716543 59.450241, -151.001343 59.225687, -151.308052 59.209256, -151.406637 59.280456, -151.592853 59.159963, -151.976239 59.253071, -151.888608 59.422857, -151.636669 59.483103, -151.47236 59.472149, -151.423068 59.537872, -151.127313 59.669319, -151.116359 59.778858, -151.505222 59.63098, -151.828361 59.718611, -151.8667 59.778858, -151.702392 60.030797, -151.423068 60.211536, -151.379252 60.359413, -151.297098 60.386798, -151.264237 60.545629, -151.406637 60.720892, -151.06159 60.786615, -150.404357 61.038554, -150.245526 60.939969, -150.042879 60.912584, -149.741647 61.016646, -150.075741 61.15357, -150.207187 61.257632, -150.47008 61.246678, -150.656296 61.29597, -150.711066 61.252155, -151.023251 61.180954, -151.165652 61.044031, -151.477837 61.011169, -151.800977 60.852338, -151.833838 60.748276, -152.080301 60.693507, -152.13507 60.578491, -152.310332 60.507291, -152.392486 60.304644, -152.732057 60.173197, -152.567748 60.069136, -152.704672 59.915781, -153.022334 59.888397, -153.049719 59.691227, -153.345474 59.620026, -153.438582 59.702181, -153.586459 59.548826, -153.761721 59.543349, -153.72886 59.433811, -154.117723 59.368087, -154.1944 59.066856, -153.750768 59.050425, -153.400243 58.968271, -153.301658 58.869686, -153.444059 58.710854, -153.679567 58.612269, -153.898645 58.606793, -153.920553 58.519161, -154.062953 58.4863, -153.99723 58.376761, -154.145107 58.212453, -154.46277 58.059098, -154.643509 58.059098, -154.818771 58.004329, -154.988556 58.015283, -155.120003 57.955037, -155.081664 57.872883, -155.328126 57.829067, -155.377419 57.708574, -155.547204 57.785251, -155.73342 57.549743, -156.045606 57.566174, -156.023698 57.440204, -156.209914 57.473066, -156.34136 57.418296, -156.34136 57.248511, -156.549484 56.985618, -156.883577 56.952757, -157.157424 56.832264, -157.20124 56.766541, -157.376502 56.859649, -157.672257 56.607709, -157.754411 56.67891, -157.918719 56.657002, -157.957058 56.514601, -158.126843 56.459832, -158.32949 56.48174, -158.488321 56.339339, -158.208997 56.295524, -158.510229 55.977861, -159.375585 55.873799, -159.616571 55.594475, -159.676817 55.654722, -159.643955 55.829984, -159.813741 55.857368, -160.027341 55.791645, -160.060203 55.720445, -160.394296 55.605429, -160.536697 55.473983, -160.580512 55.567091, -160.668143 55.457552, -160.865313 55.528752, -161.232268 55.358967, -161.506115 55.364444, -161.467776 55.49589, -161.588269 55.62186, -161.697808 55.517798, -161.686854 55.408259, -162.053809 55.074166, -162.179779 55.15632, -162.218117 55.03035, -162.470057 55.052258, -162.508395 55.249428, -162.661749 55.293244, -162.716519 55.222043, -162.579595 55.134412, -162.645319 54.997489, -162.847965 54.926289, -163.00132 55.079643, -163.187536 55.090597, -163.220397 55.03035, -163.034181 54.942719, -163.373752 54.800319, -163.14372 54.76198, -163.138243 54.696257, -163.329936 54.74555, -163.587352 54.614103, -164.085754 54.61958, -164.332216 54.531949, -164.354124 54.466226, -164.638925 54.389548, -164.847049 54.416933, -164.918249 54.603149, -164.710125 54.663395, -164.551294 54.88795, -164.34317 54.893427, -163.894061 55.041304, -163.532583 55.046781, -163.39566 54.904381, -163.291598 55.008443, -163.313505 55.128935, -163.105382 55.183705, -162.880827 55.183705, -162.579595 55.446598, -162.245502 55.682106, -161.807347 55.89023, -161.292514 55.983338, -161.078914 55.939523, -160.87079 55.999769, -160.816021 55.912138, -160.931036 55.813553, -160.805067 55.736876, -160.766728 55.857368, -160.509312 55.868322, -160.438112 55.791645, -160.27928 55.76426, -160.273803 55.857368, -160.536697 55.939523, -160.558604 55.994292, -160.383342 56.251708, -160.147834 56.399586, -159.830171 56.541986, -159.326293 56.667956, -158.959338 56.848695, -158.784076 56.782971, -158.641675 56.810356, -158.701922 56.925372, -158.658106 57.034911, -158.378782 57.264942, -157.995396 57.41282, -157.688688 57.609989, -157.705118 57.719528, -157.458656 58.497254, -157.07527 58.705377, -157.119086 58.869686, -158.039212 58.634177, -158.32949 58.661562, -158.40069 58.760147, -158.564998 58.803962, -158.619768 58.913501, -158.767645 58.864209, -158.860753 58.694424, -158.701922 58.480823, -158.893615 58.387715, -159.0634 58.420577, -159.392016 58.760147, -159.616571 58.929932, -159.731586 58.929932, -159.808264 58.803962, -159.906848 58.782055, -160.054726 58.886116, -160.235465 58.902547, -160.317619 59.072332, -160.854359 58.88064, -161.33633 58.743716, -161.374669 58.667039, -161.752577 58.552023, -161.938793 58.656085, -161.769008 58.776578, -161.829255 59.061379, -161.955224 59.36261, -161.703285 59.48858, -161.911409 59.740519, -162.092148 59.88292, -162.234548 60.091043, -162.448149 60.178674, -162.502918 59.997935, -162.760334 59.959597, -163.171105 59.844581, -163.66403 59.795289, -163.9324 59.806242, -164.162431 59.866489, -164.189816 60.02532, -164.386986 60.074613, -164.699171 60.29369, -164.962064 60.337506, -165.268773 60.578491, -165.060649 60.68803, -165.016834 60.890677, -165.175665 60.846861, -165.197573 60.972831, -165.120896 61.076893, -165.323543 61.170001, -165.34545 61.071416, -165.591913 61.109754, -165.624774 61.279539, -165.816467 61.301447, -165.920529 61.416463, -165.915052 61.558863, -166.106745 61.49314, -166.139607 61.630064, -165.904098 61.662925, -166.095791 61.81628, -165.756221 61.827233, -165.756221 62.013449, -165.674067 62.139419, -165.044219 62.539236, -164.912772 62.659728, -164.819664 62.637821, -164.874433 62.807606, -164.633448 63.097884, -164.425324 63.212899, -164.036462 63.262192, -163.73523 63.212899, -163.313505 63.037637, -163.039658 63.059545, -162.661749 63.22933, -162.272887 63.486746, -162.075717 63.514131, -162.026424 63.448408, -161.555408 63.448408, -161.13916 63.503177, -160.766728 63.771547, -160.766728 63.837271, -160.952944 64.08921, -160.974852 64.237087, -161.26513 64.395918, -161.374669 64.532842, -161.078914 64.494503, -160.79959 64.609519, -160.783159 64.719058, -161.144637 64.921705, -161.413007 64.762873, -161.664946 64.790258, -161.900455 64.702627, -162.168825 64.680719, -162.234548 64.620473, -162.541257 64.532842, -162.634365 64.384965, -162.787719 64.324718, -162.858919 64.49998, -163.045135 64.538319, -163.176582 64.401395, -163.253259 64.467119, -163.598306 64.565704, -164.304832 64.560227, -164.80871 64.450688, -165.000403 64.434257, -165.411174 64.49998, -166.188899 64.576658, -166.391546 64.636904, -166.484654 64.735489, -166.413454 64.872412, -166.692778 64.987428, -166.638008 65.113398, -166.462746 65.179121, -166.517516 65.337952, -166.796839 65.337952, -167.026871 65.381768, -167.47598 65.414629, -167.711489 65.496784, -168.072967 65.578938, -168.105828 65.682999, -167.541703 65.819923, -166.829701 66.049954, -166.3313 66.186878, -166.046499 66.110201, -165.756221 66.09377, -165.690498 66.203309, -165.86576 66.21974, -165.88219 66.312848, -165.186619 66.466202, -164.403417 66.581218, -163.981692 66.592172, -163.751661 66.553833, -163.872153 66.389525, -163.828338 66.274509, -163.915969 66.192355, -163.768091 66.060908, -163.494244 66.082816, -163.149197 66.060908, -162.749381 66.088293, -162.634365 66.039001, -162.371472 66.028047, -162.14144 66.077339, -161.840208 66.02257, -161.549931 66.241647, -161.341807 66.252601, -161.199406 66.208786, -161.128206 66.334755, -161.528023 66.395002, -161.911409 66.345709, -161.87307 66.510017, -162.174302 66.68528, -162.502918 66.740049, -162.601503 66.89888, -162.344087 66.937219, -162.015471 66.778388, -162.075717 66.652418, -161.916886 66.553833, -161.571838 66.438817, -161.489684 66.55931, -161.884024 66.718141, -161.714239 67.002942, -161.851162 67.052235, -162.240025 66.991988, -162.639842 67.008419, -162.700088 67.057712, -162.902735 67.008419, -163.740707 67.128912, -163.757138 67.254881, -164.009077 67.534205, -164.211724 67.638267, -164.534863 67.725898, -165.192096 67.966884, -165.493328 68.059992, -165.794559 68.081899, -166.243668 68.246208, -166.681824 68.339316, -166.703731 68.372177, -166.375115 68.42147, -166.227238 68.574824, -166.216284 68.881533, -165.329019 68.859625, -164.255539 68.930825, -163.976215 68.985595, -163.532583 69.138949, -163.110859 69.374457, -163.023228 69.609966, -162.842489 69.812613, -162.470057 69.982398, -162.311225 70.108367, -161.851162 70.311014, -161.779962 70.256245, -161.396576 70.239814, -160.837928 70.343876, -160.487404 70.453415, -159.649432 70.792985, -159.33177 70.809416, -159.298908 70.760123, -158.975769 70.798462, -158.658106 70.787508, -158.033735 70.831323, -157.420318 70.979201, -156.812377 71.285909, -156.565915 71.351633, -156.522099 71.296863, -155.585543 71.170894, -155.508865 71.083263, -155.832005 70.968247, -155.979882 70.96277, -155.974405 70.809416, -155.503388 70.858708, -155.476004 70.940862, -155.262403 71.017539, -155.191203 70.973724, -155.032372 71.148986, -154.566832 70.990155, -154.643509 70.869662, -154.353231 70.8368, -154.183446 70.7656, -153.931507 70.880616, -153.487874 70.886093, -153.235935 70.924431, -152.589656 70.886093, -152.26104 70.842277, -152.419871 70.606769, -151.817408 70.546523, -151.773592 70.486276, -151.187559 70.382214, -151.182082 70.431507, -150.760358 70.49723, -150.355064 70.491753, -150.349588 70.436984, -150.114079 70.431507, -149.867617 70.508184, -149.462323 70.519138, -149.177522 70.486276, -148.78866 70.404122, -148.607921 70.420553, -148.350504 70.305537, -148.202627 70.349353, -147.961642 70.316491, -147.786379 70.245291)), ((-152.94018 58.026237, -152.945657 57.982421, -153.290705 58.048145, -153.044242 58.305561, -152.819688 58.327469, -152.666333 58.562977, -152.496548 58.354853, -152.354148 58.426053, -152.080301 58.311038, -152.080301 58.152206, -152.480117 58.130299, -152.655379 58.059098, -152.94018 58.026237)), ((-153.958891 57.538789, -153.67409 57.670236, -153.931507 57.69762, -153.936983 57.812636, -153.723383 57.889313, -153.570028 57.834544, -153.548121 57.719528, -153.46049 57.796205, -153.455013 57.96599, -153.268797 57.889313, -153.235935 57.998852, -153.071627 57.933129, -152.874457 57.933129, -152.721103 57.993375, -152.469163 57.889313, -152.469163 57.599035, -152.151501 57.620943, -152.359625 57.42925, -152.74301 57.505928, -152.60061 57.379958, -152.710149 57.275896, -152.907319 57.325188, -152.912796 57.128019, -153.214027 57.073249, -153.312612 56.991095, -153.498828 57.067772, -153.695998 56.859649, -153.849352 56.837741, -154.013661 56.744633, -154.073907 56.969187, -154.303938 56.848695, -154.314892 56.919895, -154.523016 56.991095, -154.539447 57.193742, -154.742094 57.275896, -154.627078 57.511404, -154.227261 57.659282, -153.980799 57.648328, -153.958891 57.538789)), ((-154.53397 56.602232, -154.742094 56.399586, -154.807817 56.432447, -154.53397 56.602232)), ((-155.634835 55.923092, -155.476004 55.912138, -155.530773 55.704014, -155.793666 55.731399, -155.837482 55.802599, -155.634835 55.923092)), ((-159.890418 55.28229, -159.950664 55.068689, -160.257373 54.893427, -160.109495 55.161797, -160.005433 55.134412, -159.890418 55.28229)), ((-160.520266 55.358967, -160.33405 55.358967, -160.339527 55.249428, -160.525743 55.128935, -160.690051 55.211089, -160.794113 55.134412, -160.854359 55.320628, -160.79959 55.380875, -160.520266 55.358967)), ((-162.256456 54.981058, -162.234548 54.893427, -162.349564 54.838658, -162.437195 54.931766, -162.256456 54.981058)), ((-162.415287 63.634624, -162.563165 63.536039, -162.612457 63.62367, -162.415287 63.634624)), ((-162.80415 54.488133, -162.590549 54.449795, -162.612457 54.367641, -162.782242 54.373118, -162.80415 54.488133)), ((-165.548097 54.29644, -165.476897 54.181425, -165.630251 54.132132, -165.685021 54.252625, -165.548097 54.29644)), ((-165.73979 54.15404, -166.046499 54.044501, -166.112222 54.121178, -165.980775 54.219763, -165.73979 54.15404)), ((-166.364161 60.359413, -166.13413 60.397752, -166.084837 60.326552, -165.88219 60.342983, -165.685021 60.277259, -165.646682 59.992458, -165.750744 59.89935, -166.00816 59.844581, -166.062929 59.745996, -166.440838 59.855535, -166.6161 59.850058, -166.994009 59.992458, -167.125456 59.992458, -167.344534 60.074613, -167.421211 60.206059, -167.311672 60.238921, -166.93924 60.206059, -166.763978 60.310121, -166.577762 60.321075, -166.495608 60.392275, -166.364161 60.359413)), ((-166.375115 54.01164, -166.210807 53.934962, -166.5449 53.748746, -166.539423 53.715885, -166.117699 53.852808, -166.112222 53.776131, -166.282007 53.683023, -166.555854 53.622777, -166.583239 53.529669, -166.878994 53.431084, -167.13641 53.425607, -167.306195 53.332499, -167.623857 53.250345, -167.793643 53.337976, -167.459549 53.442038, -167.355487 53.425607, -167.103548 53.513238, -167.163794 53.611823, -167.021394 53.715885, -166.807793 53.666592, -166.785886 53.732316, -167.015917 53.754223, -167.141887 53.825424, -167.032348 53.945916, -166.643485 54.017116, -166.561331 53.880193, -166.375115 54.01164)), ((-168.790446 53.157237, -168.40706 53.34893, -168.385152 53.431084, -168.237275 53.524192, -168.007243 53.568007, -167.886751 53.518715, -167.842935 53.387268, -168.270136 53.244868, -168.500168 53.036744, -168.686384 52.965544, -168.790446 53.157237)), ((-169.74891 52.894344, -169.705095 52.795759, -169.962511 52.790282, -169.989896 52.856005, -169.74891 52.894344)), ((-170.148727 57.221127, -170.28565 57.128019, -170.313035 57.221127, -170.148727 57.221127)), ((-170.669036 52.697174, -170.603313 52.604066, -170.789529 52.538343, -170.816914 52.636928, -170.669036 52.697174)), ((-171.742517 63.716778, -170.94836 63.5689, -170.488297 63.69487, -170.280174 63.683916, -170.093958 63.612716, -170.044665 63.492223, -169.644848 63.4265, -169.518879 63.366254, -168.99857 63.338869, -168.686384 63.295053, -168.856169 63.147176, -169.108108 63.180038, -169.376478 63.152653, -169.513402 63.08693, -169.639372 62.939052, -169.831064 63.075976, -170.055619 63.169084, -170.263743 63.180038, -170.362328 63.2841, -170.866206 63.415546, -171.101715 63.421023, -171.463193 63.306007, -171.73704 63.366254, -171.852055 63.486746, -171.742517 63.716778)), ((-172.432611 52.390465, -172.41618 52.275449, -172.607873 52.253542, -172.569535 52.352127, -172.432611 52.390465)), ((-173.626584 52.14948, -173.495138 52.105664, -173.122706 52.111141, -173.106275 52.07828, -173.549907 52.028987, -173.626584 52.14948)), ((-174.322156 52.280926, -174.327632 52.379511, -174.185232 52.41785, -173.982585 52.319265, -174.059262 52.226157, -174.179755 52.231634, -174.141417 52.127572, -174.333109 52.116618, -174.738403 52.007079, -174.968435 52.039941, -174.902711 52.116618, -174.656249 52.105664, -174.322156 52.280926)), ((-176.469116 51.853725, -176.288377 51.870156, -176.288377 51.744186, -176.518409 51.760617, -176.80321 51.61274, -176.912748 51.80991, -176.792256 51.815386, -176.775825 51.963264, -176.627947 51.968741, -176.627947 51.859202, -176.469116 51.853725)), ((-177.153734 51.946833, -177.044195 51.897541, -177.120872 51.727755, -177.274226 51.678463, -177.279703 51.782525, -177.153734 51.946833)), ((-178.123152 51.919448, -177.953367 51.913971, -177.800013 51.793479, -177.964321 51.651078, -178.123152 51.919448)), ((-186.892443 52.992929, -186.706227 52.927205, -186.695274 52.823143, -187.09509 52.762897, -187.357983 52.927205, -187.357983 53.003883, -186.892443 52.992929)))&bsol;&quot;&gt;MULTIPOLYGON (((-131.602021 55.117982&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-109.042503 37.000263, -109.04798 31.331629, -111.074448 31.331629, -112.246513 31.704061, -114.815198 32.492741, -114.72209 32.717295, -114.524921 32.755634, -114.470151 32.843265, -114.524921 33.029481, -114.661844 33.034958, -114.727567 33.40739, -114.524921 33.54979, -114.497536 33.697668, -114.535874 33.933176, -114.415382 34.108438, -114.256551 34.174162, -114.136058 34.305608, -114.333228 34.448009, -114.470151 34.710902, -114.634459 34.87521, -114.634459 35.00118, -114.574213 35.138103, -114.596121 35.324319, -114.678275 35.516012, -114.738521 36.102045, -114.371566 36.140383, -114.251074 36.01989, -114.152489 36.025367, -114.048427 36.195153, -114.048427 37.000263, -110.499369 37.00574, -109.042503 37.000263))&bsol;&quot;&gt;POLYGON ((-109.042503 37.000263, -109&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-94.473842 36.501861, -90.152536 36.496384, -90.064905 36.304691, -90.218259 36.184199, -90.377091 35.997983, -89.730812 35.997983, -89.763673 35.811767, -89.911551 35.756997, -89.944412 35.603643, -90.130628 35.439335, -90.114197 35.198349, -90.212782 35.023087, -90.311367 34.995703, -90.251121 34.908072, -90.409952 34.831394, -90.481152 34.661609, -90.585214 34.617794, -90.568783 34.420624, -90.749522 34.365854, -90.744046 34.300131, -90.952169 34.135823, -90.891923 34.026284, -91.072662 33.867453, -91.231493 33.560744, -91.056231 33.429298, -91.143862 33.347144, -91.089093 33.13902, -91.16577 33.002096, -93.608485 33.018527, -94.041164 33.018527, -94.041164 33.54979, -94.183564 33.593606, -94.380734 33.544313, -94.484796 33.637421, -94.430026 35.395519, -94.616242 36.501861, -94.473842 36.501861))&bsol;&quot;&gt;POLYGON ((-94.473842 36.501861, -90.1&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-123.233256 42.006186, -122.378853 42.011663, -121.037003 41.995232, -120.001861 41.995232, -119.996384 40.264519, -120.001861 38.999346, -118.71478 38.101128, -117.498899 37.21934, -116.540435 36.501861, -115.85034 35.970598, -114.634459 35.00118, -114.634459 34.87521, -114.470151 34.710902, -114.333228 34.448009, -114.136058 34.305608, -114.256551 34.174162, -114.415382 34.108438, -114.535874 33.933176, -114.497536 33.697668, -114.524921 33.54979, -114.727567 33.40739, -114.661844 33.034958, -114.524921 33.029481, -114.470151 32.843265, -114.524921 32.755634, -114.72209 32.717295, -116.04751 32.624187, -117.126467 32.536556, -117.24696 32.668003, -117.252437 32.876127, -117.329114 33.122589, -117.471515 33.297851, -117.7837 33.538836, -118.183517 33.763391, -118.260194 33.703145, -118.413548 33.741483, -118.391641 33.840068, -118.566903 34.042715, -118.802411 33.998899, -119.218659 34.146777, -119.278905 34.26727, -119.558229 34.415147, -119.875891 34.40967, -120.138784 34.475393, -120.472878 34.448009, -120.64814 34.579455, -120.609801 34.858779, -120.670048 34.902595, -120.631709 35.099764, -120.894602 35.247642, -120.905556 35.450289, -121.004141 35.461243, -121.168449 35.636505, -121.283465 35.674843, -121.332757 35.784382, -121.716143 36.195153, -121.896882 36.315645, -121.935221 36.638785, -121.858544 36.6114, -121.787344 36.803093, -121.929744 36.978355, -122.105006 36.956447, -122.335038 37.115279, -122.417192 37.241248, -122.400761 37.361741, -122.515777 37.520572, -122.515777 37.783465, -122.329561 37.783465, -122.406238 38.15042, -122.488392 38.112082, -122.504823 37.931343, -122.701993 37.893004, -122.937501 38.029928, -122.97584 38.265436, -123.129194 38.451652, -123.331841 38.566668, -123.44138 38.698114, -123.737134 38.95553, -123.687842 39.032208, -123.824765 39.366301, -123.764519 39.552517, -123.85215 39.831841, -124.109566 40.105688, -124.361506 40.259042, -124.410798 40.439781, -124.158859 40.877937, -124.109566 41.025814, -124.158859 41.14083, -124.065751 41.442061, -124.147905 41.715908, -124.257444 41.781632, -124.213628 42.000709, -123.233256 42.006186))&bsol;&quot;&gt;POLYGON ((-123.233256 42.006186, -122&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-107.919731 41.003906, -105.728954 40.998429, -104.053011 41.003906, -102.053927 41.003906, -102.053927 40.001626, -102.042974 36.994786, -103.001438 37.000263, -104.337812 36.994786, -106.868158 36.994786, -107.421329 37.000263, -109.042503 37.000263, -109.042503 38.166851, -109.058934 38.27639, -109.053457 39.125316, -109.04798 40.998429, -107.919731 41.003906))&bsol;&quot;&gt;POLYGON ((-107.919731 41.003906, -105&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-73.053528 42.039048, -71.799309 42.022617, -71.799309 42.006186, -71.799309 41.414677, -71.859555 41.321569, -71.947186 41.338, -72.385341 41.261322, -72.905651 41.28323, -73.130205 41.146307, -73.371191 41.102491, -73.655992 40.987475, -73.727192 41.102491, -73.48073 41.21203, -73.55193 41.294184, -73.486206 42.050002, -73.053528 42.039048))&bsol;&quot;&gt;POLYGON ((-73.053528 42.039048, -71.7&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-75.414089 39.804456, -75.507197 39.683964, -75.611259 39.61824, -75.589352 39.459409, -75.441474 39.311532, -75.403136 39.065069, -75.189535 38.807653, -75.09095 38.796699, -75.047134 38.451652, -75.693413 38.462606, -75.786521 39.722302, -75.616736 39.831841, -75.414089 39.804456))&bsol;&quot;&gt;POLYGON ((-75.414089 39.804456, -75.5&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-77.035264 38.993869, -76.909294 38.895284, -77.040741 38.791222, -77.117418 38.933623, -77.035264 38.993869))&bsol;&quot;&gt;POLYGON ((-77.035264 38.993869, -76.9&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-85.497137 30.997536, -85.004212 31.003013, -84.867289 30.712735, -83.498053 30.647012, -82.216449 30.570335, -82.167157 30.356734, -82.046664 30.362211, -82.002849 30.564858, -82.041187 30.751074, -81.948079 30.827751, -81.718048 30.745597, -81.444201 30.707258, -81.383954 30.27458, -81.257985 29.787132, -80.967707 29.14633, -80.524075 28.461713, -80.589798 28.41242, -80.56789 28.094758, -80.381674 27.738757, -80.091397 27.021277, -80.03115 26.796723, -80.036627 26.566691, -80.146166 25.739673, -80.239274 25.723243, -80.337859 25.465826, -80.304997 25.383672, -80.49669 25.197456, -80.573367 25.241272, -80.759583 25.164595, -81.077246 25.120779, -81.170354 25.224841, -81.126538 25.378195, -81.351093 25.821827, -81.526355 25.903982, -81.679709 25.843735, -81.800202 26.090198, -81.833064 26.292844, -82.041187 26.517399, -82.09048 26.665276, -82.057618 26.878877, -82.172634 26.917216, -82.145249 26.791246, -82.249311 26.758384, -82.566974 27.300601, -82.692943 27.437525, -82.391711 27.837342, -82.588881 27.815434, -82.720328 27.689464, -82.851774 27.886634, -82.676512 28.434328, -82.643651 28.888914, -82.764143 28.998453, -82.802482 29.14633, -82.994175 29.179192, -83.218729 29.420177, -83.399469 29.518762, -83.410422 29.66664, -83.536392 29.721409, -83.640454 29.885717, -84.02384 30.104795, -84.357933 30.055502, -84.341502 29.902148, -84.451041 29.929533, -84.867289 29.743317, -85.310921 29.699501, -85.299967 29.80904, -85.404029 29.940487, -85.924338 30.236241, -86.29677 30.362211, -86.630863 30.395073, -86.910187 30.373165, -87.518128 30.280057, -87.37025 30.427934, -87.446927 30.510088, -87.408589 30.674397, -87.633143 30.86609, -87.600282 30.997536, -85.497137 30.997536))&bsol;&quot;&gt;POLYGON ((-85.497137 30.997536, -85.0&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-83.109191 35.00118, -83.322791 34.787579, -83.339222 34.683517, -83.005129 34.469916, -82.901067 34.486347, -82.747713 34.26727, -82.714851 34.152254, -82.55602 33.94413, -82.325988 33.81816, -82.194542 33.631944, -81.926172 33.462159, -81.937125 33.347144, -81.761863 33.160928, -81.493493 33.007573, -81.42777 32.843265, -81.416816 32.629664, -81.279893 32.558464, -81.121061 32.290094, -81.115584 32.120309, -80.885553 32.032678, -81.132015 31.693108, -81.175831 31.517845, -81.279893 31.364491, -81.290846 31.20566, -81.400385 31.13446, -81.444201 30.707258, -81.718048 30.745597, -81.948079 30.827751, -82.041187 30.751074, -82.002849 30.564858, -82.046664 30.362211, -82.167157 30.356734, -82.216449 30.570335, -83.498053 30.647012, -84.867289 30.712735, -85.004212 31.003013, -85.113751 31.27686, -85.042551 31.539753, -85.141136 31.840985, -85.053504 32.01077, -85.058981 32.13674, -84.889196 32.262709, -85.004212 32.322956, -84.960397 32.421541, -85.069935 32.580372, -85.184951 32.859696, -85.431413 34.124869, -85.606675 34.984749, -84.319594 34.990226, -83.618546 34.984749, -83.109191 35.00118))&bsol;&quot;&gt;POLYGON ((-83.109191 35.00118, -83.32&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;MULTIPOLYGON (((-155.634835 18.948267, -155.881297 19.035898, -155.919636 19.123529, -155.886774 19.348084, -156.062036 19.73147, -155.925113 19.857439, -155.826528 20.032702, -155.897728 20.147717, -155.87582 20.26821, -155.596496 20.12581, -155.284311 20.021748, -155.092618 19.868393, -155.092618 19.736947, -154.807817 19.523346, -154.983079 19.348084, -155.295265 19.26593, -155.514342 19.134483, -155.634835 18.948267)), ((-156.587823 21.029505, -156.472807 20.892581, -156.324929 20.952827, -156.00179 20.793996, -156.051082 20.651596, -156.379699 20.580396, -156.445422 20.60778, -156.461853 20.783042, -156.631638 20.821381, -156.697361 20.919966, -156.587823 21.029505)), ((-156.982162 21.210244, -157.080747 21.106182, -157.310779 21.106182, -157.239579 21.221198, -156.982162 21.210244)), ((-157.951581 21.697691, -157.842042 21.462183, -157.896811 21.325259, -158.110412 21.303352, -158.252813 21.582676, -158.126843 21.588153, -157.951581 21.697691)), ((-159.468693 22.228955, -159.353678 22.218001, -159.298908 22.113939, -159.33177 21.966061, -159.446786 21.872953, -159.764448 21.987969, -159.726109 22.152277, -159.468693 22.228955)))&bsol;&quot;&gt;MULTIPOLYGON (((-155.634835 18.948267&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-116.04751 49.000239, -116.04751 47.976051, -115.724371 47.696727, -115.718894 47.42288, -115.527201 47.302388, -115.324554 47.258572, -115.302646 47.187372, -114.930214 46.919002, -114.886399 46.809463, -114.623506 46.705401, -114.612552 46.639678, -114.322274 46.645155, -114.464674 46.272723, -114.492059 46.037214, -114.387997 45.88386, -114.568736 45.774321, -114.497536 45.670259, -114.546828 45.560721, -114.333228 45.456659, -114.086765 45.593582, -113.98818 45.703121, -113.807441 45.604536, -113.834826 45.522382, -113.736241 45.330689, -113.571933 45.128042, -113.45144 45.056842, -113.456917 44.865149, -113.341901 44.782995, -113.133778 44.772041, -113.002331 44.448902, -112.887315 44.394132, -112.783254 44.48724, -112.471068 44.481763, -112.241036 44.569394, -112.104113 44.520102, -111.868605 44.563917, -111.819312 44.509148, -111.616665 44.547487, -111.386634 44.75561, -111.227803 44.580348, -111.047063 44.476286, -111.047063 42.000709, -112.164359 41.995232, -114.04295 41.995232, -117.027882 42.000709, -117.027882 43.830007, -116.896436 44.158624, -116.97859 44.240778, -117.170283 44.257209, -117.241483 44.394132, -117.038836 44.750133, -116.934774 44.782995, -116.830713 44.930872, -116.847143 45.02398, -116.732128 45.144473, -116.671881 45.319735, -116.463758 45.61549, -116.545912 45.752413, -116.78142 45.823614, -116.918344 45.993399, -116.92382 46.168661, -117.055267 46.343923, -117.038836 46.426077, -117.044313 47.762451, -117.033359 49.000239, -116.04751 49.000239))&bsol;&quot;&gt;POLYGON ((-116.04751 49.000239, -116.&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-90.639984 42.510065, -88.788778 42.493634, -87.802929 42.493634, -87.83579 42.301941, -87.682436 42.077386, -87.523605 41.710431, -87.529082 39.34987, -87.63862 39.169131, -87.512651 38.95553, -87.49622 38.780268, -87.62219 38.637868, -87.655051 38.506421, -87.83579 38.292821, -87.950806 38.27639, -87.923421 38.15042, -88.000098 38.101128, -88.060345 37.865619, -88.027483 37.799896, -88.15893 37.657496, -88.065822 37.482234, -88.476592 37.389126, -88.514931 37.285064, -88.421823 37.153617, -88.547792 37.071463, -88.914747 37.224817, -89.029763 37.213863, -89.183118 37.038601, -89.133825 36.983832, -89.292656 36.994786, -89.517211 37.279587, -89.435057 37.34531, -89.517211 37.537003, -89.517211 37.690357, -89.84035 37.903958, -89.949889 37.88205, -90.059428 38.013497, -90.355183 38.216144, -90.349706 38.374975, -90.179921 38.632391, -90.207305 38.725499, -90.10872 38.845992, -90.251121 38.917192, -90.470199 38.961007, -90.585214 38.867899, -90.661891 38.928146, -90.727615 39.256762, -91.061708 39.470363, -91.368417 39.727779, -91.494386 40.034488, -91.50534 40.237135, -91.417709 40.379535, -91.401278 40.560274, -91.121954 40.669813, -91.09457 40.823167, -90.963123 40.921752, -90.946692 41.097014, -91.111001 41.239415, -91.045277 41.414677, -90.656414 41.463969, -90.344229 41.589939, -90.311367 41.743293, -90.179921 41.809016, -90.141582 42.000709, -90.168967 42.126679, -90.393521 42.225264, -90.420906 42.329326, -90.639984 42.510065))&bsol;&quot;&gt;POLYGON ((-90.639984 42.510065, -88.7&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-85.990061 41.759724, -84.807042 41.759724, -84.807042 41.694001, -84.801565 40.500028, -84.817996 39.103408, -84.894673 39.059592, -84.812519 38.785745, -84.987781 38.780268, -85.173997 38.68716, -85.431413 38.730976, -85.42046 38.533806, -85.590245 38.451652, -85.655968 38.325682, -85.83123 38.27639, -85.924338 38.024451, -86.039354 37.958727, -86.263908 38.051835, -86.302247 38.166851, -86.521325 38.040881, -86.504894 37.931343, -86.729448 37.893004, -86.795172 37.991589, -87.047111 37.893004, -87.129265 37.788942, -87.381204 37.93682, -87.512651 37.903958, -87.600282 37.975158, -87.682436 37.903958, -87.934375 37.893004, -88.027483 37.799896, -88.060345 37.865619, -88.000098 38.101128, -87.923421 38.15042, -87.950806 38.27639, -87.83579 38.292821, -87.655051 38.506421, -87.62219 38.637868, -87.49622 38.780268, -87.512651 38.95553, -87.63862 39.169131, -87.529082 39.34987, -87.523605 41.710431, -87.42502 41.644708, -87.118311 41.644708, -86.822556 41.759724, -85.990061 41.759724))&bsol;&quot;&gt;POLYGON ((-85.990061 41.759724, -84.8&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-91.368417 43.501391, -91.215062 43.501391, -91.204109 43.353514, -91.056231 43.254929, -91.176724 43.134436, -91.143862 42.909881, -91.067185 42.75105, -90.711184 42.636034, -90.639984 42.510065, -90.420906 42.329326, -90.393521 42.225264, -90.168967 42.126679, -90.141582 42.000709, -90.179921 41.809016, -90.311367 41.743293, -90.344229 41.589939, -90.656414 41.463969, -91.045277 41.414677, -91.111001 41.239415, -90.946692 41.097014, -90.963123 40.921752, -91.09457 40.823167, -91.121954 40.669813, -91.401278 40.560274, -91.417709 40.379535, -91.527248 40.412397, -91.729895 40.615043, -91.833957 40.609566, -93.257961 40.582182, -94.632673 40.571228, -95.7664 40.587659, -95.881416 40.719105, -95.826646 40.976521, -95.925231 41.201076, -95.919754 41.453015, -96.095016 41.540646, -96.122401 41.67757, -96.062155 41.798063, -96.127878 41.973325, -96.264801 42.039048, -96.44554 42.488157, -96.631756 42.707235, -96.544125 42.855112, -96.511264 43.052282, -96.434587 43.123482, -96.560556 43.222067, -96.527695 43.397329, -96.582464 43.479483, -96.451017 43.501391, -91.368417 43.501391))&bsol;&quot;&gt;POLYGON ((-91.368417 43.501391, -91.2&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-101.90605 40.001626, -95.306337 40.001626, -95.207752 39.908518, -94.884612 39.831841, -95.109167 39.541563, -94.983197 39.442978, -94.824366 39.20747, -94.610765 39.158177, -94.616242 37.000263, -100.087706 37.000263, -102.042974 36.994786, -102.053927 40.001626, -101.90605 40.001626))&bsol;&quot;&gt;POLYGON ((-101.90605 40.001626, -95.3&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-83.903347 38.769315, -83.678792 38.632391, -83.519961 38.703591, -83.142052 38.626914, -83.032514 38.725499, -82.890113 38.758361, -82.846298 38.588575, -82.731282 38.561191, -82.594358 38.424267, -82.621743 38.123036, -82.50125 37.931343, -82.342419 37.783465, -82.293127 37.668449, -82.101434 37.553434, -81.969987 37.537003, -82.353373 37.268633, -82.720328 37.120755, -82.720328 37.044078, -82.868205 36.978355, -82.879159 36.890724, -83.070852 36.852385, -83.136575 36.742847, -83.673316 36.600446, -83.689746 36.584015, -84.544149 36.594969, -85.289013 36.627831, -85.486183 36.616877, -86.592525 36.655216, -87.852221 36.633308, -88.071299 36.677123, -88.054868 36.496384, -89.298133 36.507338, -89.418626 36.496384, -89.363857 36.622354, -89.215979 36.578538, -89.133825 36.983832, -89.183118 37.038601, -89.029763 37.213863, -88.914747 37.224817, -88.547792 37.071463, -88.421823 37.153617, -88.514931 37.285064, -88.476592 37.389126, -88.065822 37.482234, -88.15893 37.657496, -88.027483 37.799896, -87.934375 37.893004, -87.682436 37.903958, -87.600282 37.975158, -87.512651 37.903958, -87.381204 37.93682, -87.129265 37.788942, -87.047111 37.893004, -86.795172 37.991589, -86.729448 37.893004, -86.504894 37.931343, -86.521325 38.040881, -86.302247 38.166851, -86.263908 38.051835, -86.039354 37.958727, -85.924338 38.024451, -85.83123 38.27639, -85.655968 38.325682, -85.590245 38.451652, -85.42046 38.533806, -85.431413 38.730976, -85.173997 38.68716, -84.987781 38.780268, -84.812519 38.785745, -84.894673 39.059592, -84.817996 39.103408, -84.43461 39.103408, -84.231963 38.895284, -84.215533 38.807653, -83.903347 38.769315))&bsol;&quot;&gt;POLYGON ((-83.903347 38.769315, -83.6&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-93.608485 33.018527, -91.16577 33.002096, -91.072662 32.887081, -91.143862 32.843265, -91.154816 32.640618, -91.006939 32.514649, -90.985031 32.218894, -91.105524 31.988862, -91.341032 31.846462, -91.401278 31.621907, -91.499863 31.643815, -91.516294 31.27686, -91.636787 31.265906, -91.565587 31.068736, -91.636787 30.997536, -89.747242 30.997536, -89.845827 30.66892, -89.681519 30.449842, -89.643181 30.285534, -89.522688 30.181472, -89.818443 30.044549, -89.84035 29.945964, -89.599365 29.88024, -89.495303 30.039072, -89.287179 29.88024, -89.30361 29.754271, -89.424103 29.699501, -89.648657 29.748794, -89.621273 29.655686, -89.69795 29.513285, -89.506257 29.387316, -89.199548 29.348977, -89.09001 29.2011, -89.002379 29.179192, -89.16121 29.009407, -89.336472 29.042268, -89.484349 29.217531, -89.851304 29.310638, -89.851304 29.480424, -90.032043 29.425654, -90.021089 29.283254, -90.103244 29.151807, -90.23469 29.129899, -90.333275 29.277777, -90.563307 29.283254, -90.645461 29.129899, -90.798815 29.086084, -90.963123 29.179192, -91.09457 29.190146, -91.220539 29.436608, -91.445094 29.546147, -91.532725 29.529716, -91.620356 29.73784, -91.883249 29.710455, -91.888726 29.836425, -92.146142 29.715932, -92.113281 29.622824, -92.31045 29.535193, -92.617159 29.579009, -92.97316 29.715932, -93.2251 29.776178, -93.767317 29.726886, -93.838517 29.688547, -93.926148 29.787132, -93.690639 30.143133, -93.767317 30.334826, -93.696116 30.438888, -93.728978 30.575812, -93.630393 30.679874, -93.526331 30.93729, -93.542762 31.15089, -93.816609 31.556184, -93.822086 31.775262, -94.041164 31.994339, -94.041164 33.018527, -93.608485 33.018527))&bsol;&quot;&gt;POLYGON ((-93.608485 33.018527, -91.1&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-70.703921 43.057759, -70.824413 43.128959, -70.807983 43.227544, -70.966814 43.34256, -71.032537 44.657025, -71.08183 45.303304, -70.649151 45.440228, -70.720352 45.511428, -70.556043 45.664782, -70.386258 45.735983, -70.41912 45.796229, -70.260289 45.889337, -70.309581 46.064599, -70.210996 46.327492, -70.057642 46.415123, -69.997395 46.694447, -69.225147 47.461219, -69.044408 47.428357, -69.033454 47.242141, -68.902007 47.176418, -68.578868 47.285957, -68.376221 47.285957, -68.233821 47.357157, -67.954497 47.198326, -67.790188 47.066879, -67.779235 45.944106, -67.801142 45.675736, -67.456095 45.604536, -67.505388 45.48952, -67.417757 45.379982, -67.488957 45.281397, -67.346556 45.128042, -67.16034 45.160904, -66.979601 44.804903, -67.187725 44.646072, -67.308218 44.706318, -67.406803 44.596779, -67.549203 44.624164, -67.565634 44.531056, -67.75185 44.54201, -68.047605 44.328409, -68.118805 44.476286, -68.222867 44.48724, -68.173574 44.328409, -68.403606 44.251732, -68.458375 44.377701, -68.567914 44.311978, -68.82533 44.311978, -68.830807 44.459856, -68.984161 44.426994, -68.956777 44.322932, -69.099177 44.103854, -69.071793 44.043608, -69.258008 43.923115, -69.444224 43.966931, -69.553763 43.840961, -69.707118 43.82453, -69.833087 43.720469, -69.986442 43.742376, -70.030257 43.851915, -70.254812 43.676653, -70.194565 43.567114, -70.358873 43.528776, -70.369827 43.435668, -70.556043 43.320652, -70.703921 43.057759))&bsol;&quot;&gt;POLYGON ((-70.703921 43.057759, -70.8&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202580, rootId: 587202580, totalRows: 52 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202580) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_11() {\n",
" let elem = document.getElementById(\"iframe_out_11\");\n",
" resize_iframe_out_11(elem);\n",
" setInterval(resize_iframe_out_11, 5000, elem);\n",
" }\n",
" function resize_iframe_out_11(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202581\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">name</th><th class=\"bottomBorder\" style=\"text-align:left\">geometry</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">Alabama</td><td style=\"vertical-align:top\">POLYGON ((-87.359296 35.00118, -85.60<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Alaska</td><td style=\"vertical-align:top\">MULTIPOLYGON (((-131.602021 55.117982<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Arizona</td><td style=\"vertical-align:top\">POLYGON ((-109.042503 37.000263, -109<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Arkansas</td><td style=\"vertical-align:top\">POLYGON ((-94.473842 36.501861, -90.1<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">California</td><td style=\"vertical-align:top\">POLYGON ((-123.233256 42.006186, -122<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Colorado</td><td style=\"vertical-align:top\">POLYGON ((-107.919731 41.003906, -105<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Connecticut</td><td style=\"vertical-align:top\">POLYGON ((-73.053528 42.039048, -71.7<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Delaware</td><td style=\"vertical-align:top\">POLYGON ((-75.414089 39.804456, -75.5<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">District of Columbia</td><td style=\"vertical-align:top\">POLYGON ((-77.035264 38.993869, -76.9<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Florida</td><td style=\"vertical-align:top\">POLYGON ((-85.497137 30.997536, -85.0<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Georgia</td><td style=\"vertical-align:top\">POLYGON ((-83.109191 35.00118, -83.32<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Hawaii</td><td style=\"vertical-align:top\">MULTIPOLYGON (((-155.634835 18.948267<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Idaho</td><td style=\"vertical-align:top\">POLYGON ((-116.04751 49.000239, -116.<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Illinois</td><td style=\"vertical-align:top\">POLYGON ((-90.639984 42.510065, -88.7<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Indiana</td><td style=\"vertical-align:top\">POLYGON ((-85.990061 41.759724, -84.8<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Iowa</td><td style=\"vertical-align:top\">POLYGON ((-91.368417 43.501391, -91.2<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Kansas</td><td style=\"vertical-align:top\">POLYGON ((-101.90605 40.001626, -95.3<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Kentucky</td><td style=\"vertical-align:top\">POLYGON ((-83.903347 38.769315, -83.6<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Louisiana</td><td style=\"vertical-align:top\">POLYGON ((-93.608485 33.018527, -91.1<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">Maine</td><td style=\"vertical-align:top\">POLYGON ((-70.703921 43.057759, -70.8<span class=\"structural\">...</span></td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202581\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"name\",\"geometry\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"org.locationtech.jts.geom.Geometry\"}],\"nrow\":52,\"ncol\":2},\"kotlin_dataframe\":[{\"name\":\"Alabama\",\"geometry\":\"POLYGON ((-87.359296 35.00118, -85.606675 34.984749, -85.431413 34.124869, -85.184951 32.859696, -85.069935 32.580372, -84.960397 32.421541, -85.004212 32.322956, -84.889196 32.262709, -85.058981 32.13674, -85.053504 32.01077, -85.141136 31.840985, -85.042551 31.539753, -85.113751 31.27686, -85.004212 31.003013, -85.497137 30.997536, -87.600282 30.997536, -87.633143 30.86609, -87.408589 30.674397, -87.446927 30.510088, -87.37025 30.427934, -87.518128 30.280057, -87.655051 30.247195, -87.90699 30.411504, -87.934375 30.657966, -88.011052 30.685351, -88.10416 30.499135, -88.137022 30.318396, -88.394438 30.367688, -88.471115 31.895754, -88.241084 33.796253, -88.098683 34.891641, -88.202745 34.995703, -87.359296 35.00118))\"},{\"name\":\"Alaska\",\"geometry\":\"MULTIPOLYGON (((-131.602021 55.117982, -131.569159 55.28229, -131.355558 55.183705, -131.38842 55.01392, -131.645836 55.035827, -131.602021 55.117982)), ((-131.832052 55.42469, -131.645836 55.304197, -131.749898 55.128935, -131.832052 55.189182, -131.832052 55.42469)), ((-132.976733 56.437924, -132.735747 56.459832, -132.631685 56.421493, -132.664547 56.273616, -132.878148 56.240754, -133.069841 56.333862, -132.976733 56.437924)), ((-133.595627 56.350293, -133.162949 56.317431, -133.05341 56.125739, -132.620732 55.912138, -132.472854 55.780691, -132.4619 55.671152, -132.357838 55.649245, -132.341408 55.506844, -132.166146 55.364444, -132.144238 55.238474, -132.029222 55.276813, -131.97993 55.178228, -131.958022 54.789365, -132.029222 54.701734, -132.308546 54.718165, -132.385223 54.915335, -132.483808 54.898904, -132.686455 55.046781, -132.746701 54.997489, -132.916486 55.046781, -132.889102 54.898904, -132.73027 54.937242, -132.626209 54.882473, -132.675501 54.679826, -132.867194 54.701734, -133.157472 54.95915, -133.239626 55.090597, -133.223195 55.22752, -133.453227 55.216566, -133.453227 55.320628, -133.277964 55.331582, -133.102702 55.42469, -133.17938 55.588998, -133.387503 55.62186, -133.420365 55.884753, -133.497042 56.0162, -133.639442 55.923092, -133.694212 56.070969, -133.546335 56.142169, -133.666827 56.311955, -133.595627 56.350293)), ((-133.738027 55.556137, -133.546335 55.490413, -133.414888 55.572568, -133.283441 55.534229, -133.420365 55.386352, -133.633966 55.430167, -133.738027 55.556137)), ((-133.907813 56.930849, -134.050213 57.029434, -133.885905 57.095157, -133.343688 57.002049, -133.102702 57.007526, -132.932917 56.82131, -132.620732 56.667956, -132.653593 56.55294, -132.817901 56.492694, -133.042456 56.520078, -133.201287 56.448878, -133.420365 56.492694, -133.66135 56.448878, -133.710643 56.684386, -133.688735 56.837741, -133.869474 56.843218, -133.907813 56.930849)), ((-134.115936 56.48174, -134.25286 56.558417, -134.400737 56.722725, -134.417168 56.848695, -134.296675 56.908941, -134.170706 56.848695, -134.143321 56.952757, -133.748981 56.772017, -133.710643 56.596755, -133.847566 56.574848, -133.935197 56.377678, -133.836612 56.322908, -133.957105 56.092877, -134.110459 56.142169, -134.132367 55.999769, -134.230952 56.070969, -134.291198 56.350293, -134.115936 56.48174)), ((-134.636246 56.28457, -134.669107 56.169554, -134.806031 56.235277, -135.178463 56.67891, -135.413971 56.810356, -135.331817 56.914418, -135.424925 57.166357, -135.687818 57.369004, -135.419448 57.566174, -135.298955 57.48402, -135.063447 57.418296, -134.849846 57.407343, -134.844369 57.248511, -134.636246 56.728202, -134.636246 56.28457)), ((-134.712923 58.223407, -134.373353 58.14673, -134.176183 58.157683, -134.187137 58.081006, -133.902336 57.807159, -134.099505 57.850975, -134.148798 57.757867, -133.935197 57.615466, -133.869474 57.363527, -134.083075 57.297804, -134.154275 57.210173, -134.499322 57.029434, -134.603384 57.034911, -134.6472 57.226604, -134.575999 57.341619, -134.608861 57.511404, -134.729354 57.719528, -134.707446 57.829067, -134.784123 58.097437, -134.91557 58.212453, -134.953908 58.409623, -134.712923 58.223407)), ((-135.857603 57.330665, -135.715203 57.330665, -135.567326 57.149926, -135.633049 57.023957, -135.857603 56.996572, -135.824742 57.193742, -135.857603 57.330665)), ((-136.279328 58.206976, -135.978096 58.201499, -135.780926 58.28913, -135.496125 58.168637, -135.64948 58.037191, -135.59471 57.987898, -135.45231 58.135776, -135.107263 58.086483, -134.91557 57.976944, -135.025108 57.779775, -134.937477 57.763344, -134.822462 57.500451, -135.085355 57.462112, -135.572802 57.675713, -135.556372 57.456635, -135.709726 57.369004, -135.890465 57.407343, -136.000004 57.544266, -136.208128 57.637374, -136.366959 57.829067, -136.569606 57.916698, -136.558652 58.075529, -136.421728 58.130299, -136.377913 58.267222, -136.279328 58.206976)), ((-147.079854 60.200582, -147.501579 59.948643, -147.53444 59.850058, -147.874011 59.784335, -147.80281 59.937689, -147.435855 60.09652, -147.205824 60.271782, -147.079854 60.200582)), ((-147.561825 60.578491, -147.616594 60.370367, -147.758995 60.156767, -147.956165 60.227967, -147.791856 60.474429, -147.561825 60.578491)), ((-147.786379 70.245291, -147.682318 70.201475, -147.162008 70.15766, -146.888161 70.185044, -146.510252 70.185044, -146.099482 70.146706, -145.858496 70.168614, -145.622988 70.08646, -145.195787 69.993352, -144.620708 69.971444, -144.461877 70.026213, -144.078491 70.059075, -143.914183 70.130275, -143.497935 70.141229, -143.503412 70.091936, -143.25695 70.119321, -142.747594 70.042644, -142.402547 69.916674, -142.079408 69.856428, -142.008207 69.801659, -141.712453 69.790705, -141.433129 69.697597, -141.378359 69.63735, -141.208574 69.686643, -141.00045 69.648304, -141.00045 60.304644, -140.53491 60.22249, -140.474664 60.310121, -139.987216 60.184151, -139.696939 60.342983, -139.088998 60.359413, -139.198537 60.091043, -139.045183 59.997935, -138.700135 59.910304, -138.623458 59.767904, -137.604747 59.242118, -137.445916 58.908024, -137.265177 59.001132, -136.827022 59.159963, -136.580559 59.16544, -136.465544 59.285933, -136.476498 59.466672, -136.301236 59.466672, -136.25742 59.625503, -135.945234 59.663842, -135.479694 59.800766, -135.025108 59.565257, -135.068924 59.422857, -134.959385 59.280456, -134.701969 59.247595, -134.378829 59.033994, -134.400737 58.973748, -134.25286 58.858732, -133.842089 58.727285, -133.173903 58.152206, -133.075318 57.998852, -132.867194 57.845498, -132.560485 57.505928, -132.253777 57.21565, -132.368792 57.095157, -132.05113 57.051341, -132.127807 56.876079, -131.870391 56.804879, -131.837529 56.602232, -131.580113 56.613186, -131.087188 56.405062, -130.78048 56.366724, -130.621648 56.268139, -130.468294 56.240754, -130.424478 56.142169, -130.101339 56.114785, -130.002754 55.994292, -130.150631 55.769737, -130.128724 55.583521, -129.986323 55.276813, -130.095862 55.200136, -130.336847 54.920812, -130.687372 54.718165, -130.785957 54.822227, -130.917403 54.789365, -131.010511 54.997489, -130.983126 55.08512, -131.092665 55.189182, -130.862634 55.298721, -130.928357 55.337059, -131.158389 55.200136, -131.284358 55.287767, -131.426759 55.238474, -131.843006 55.457552, -131.700606 55.698537, -131.963499 55.616383, -131.974453 55.49589, -132.182576 55.588998, -132.226392 55.704014, -132.083991 55.829984, -132.127807 55.955953, -132.324977 55.851892, -132.522147 56.076446, -132.642639 56.032631, -132.719317 56.218847, -132.527624 56.339339, -132.341408 56.339339, -132.396177 56.487217, -132.297592 56.67891, -132.450946 56.673433, -132.768609 56.837741, -132.993164 57.034911, -133.51895 57.177311, -133.507996 57.577128, -133.677781 57.62642, -133.639442 57.790728, -133.814705 57.834544, -134.072121 58.053622, -134.143321 58.168637, -134.586953 58.206976, -135.074401 58.502731, -135.282525 59.192825, -135.38111 59.033994, -135.337294 58.891593, -135.140124 58.617746, -135.189417 58.573931, -135.05797 58.349376, -135.085355 58.201499, -135.277048 58.234361, -135.430402 58.398669, -135.633049 58.426053, -135.91785 58.382238, -135.912373 58.617746, -136.087635 58.814916, -136.246466 58.75467, -136.876314 58.962794, -136.931084 58.902547, -136.586036 58.836824, -136.317666 58.672516, -136.213604 58.667039, -136.180743 58.535592, -136.043819 58.382238, -136.388867 58.294607, -136.591513 58.349376, -136.59699 58.212453, -136.859883 58.316515, -136.947514 58.393192, -137.111823 58.393192, -137.566409 58.590362, -137.900502 58.765624, -137.933364 58.869686, -138.11958 59.02304, -138.634412 59.132579, -138.919213 59.247595, -139.417615 59.379041, -139.746231 59.505011, -139.718846 59.641934, -139.625738 59.598119, -139.5162 59.68575, -139.625738 59.88292, -139.488815 59.992458, -139.554538 60.041751, -139.801 59.833627, -140.315833 59.696704, -140.92925 59.745996, -141.444083 59.871966, -141.46599 59.970551, -141.706976 59.948643, -141.964392 60.019843, -142.539471 60.085566, -142.873564 60.091043, -143.623905 60.036274, -143.892275 59.997935, -144.231845 60.140336, -144.65357 60.206059, -144.785016 60.29369, -144.834309 60.441568, -145.124586 60.430614, -145.223171 60.299167, -145.738004 60.474429, -145.820158 60.551106, -146.351421 60.408706, -146.608837 60.238921, -146.718376 60.397752, -146.608837 60.485383, -146.455483 60.463475, -145.951604 60.578491, -146.017328 60.666122, -146.252836 60.622307, -146.345944 60.737322, -146.565022 60.753753, -146.784099 61.044031, -146.866253 60.972831, -147.172962 60.934492, -147.271547 60.972831, -147.375609 60.879723, -147.758995 60.912584, -147.775426 60.808523, -148.032842 60.781138, -148.153334 60.819476, -148.065703 61.005692, -148.175242 61.000215, -148.350504 60.803046, -148.109519 60.737322, -148.087611 60.594922, -147.939734 60.441568, -148.027365 60.277259, -148.219058 60.332029, -148.273827 60.249875, -148.087611 60.217013, -147.983549 59.997935, -148.251919 59.95412, -148.399797 59.997935, -148.635305 59.937689, -148.755798 59.986981, -149.067984 59.981505, -149.05703 60.063659, -149.204907 60.008889, -149.287061 59.904827, -149.418508 59.997935, -149.582816 59.866489, -149.511616 59.806242, -149.741647 59.729565, -149.949771 59.718611, -150.031925 59.61455, -150.25648 59.521442, -150.409834 59.554303, -150.579619 59.444764, -150.716543 59.450241, -151.001343 59.225687, -151.308052 59.209256, -151.406637 59.280456, -151.592853 59.159963, -151.976239 59.253071, -151.888608 59.422857, -151.636669 59.483103, -151.47236 59.472149, -151.423068 59.537872, -151.127313 59.669319, -151.116359 59.778858, -151.505222 59.63098, -151.828361 59.718611, -151.8667 59.778858, -151.702392 60.030797, -151.423068 60.211536, -151.379252 60.359413, -151.297098 60.386798, -151.264237 60.545629, -151.406637 60.720892, -151.06159 60.786615, -150.404357 61.038554, -150.245526 60.939969, -150.042879 60.912584, -149.741647 61.016646, -150.075741 61.15357, -150.207187 61.257632, -150.47008 61.246678, -150.656296 61.29597, -150.711066 61.252155, -151.023251 61.180954, -151.165652 61.044031, -151.477837 61.011169, -151.800977 60.852338, -151.833838 60.748276, -152.080301 60.693507, -152.13507 60.578491, -152.310332 60.507291, -152.392486 60.304644, -152.732057 60.173197, -152.567748 60.069136, -152.704672 59.915781, -153.022334 59.888397, -153.049719 59.691227, -153.345474 59.620026, -153.438582 59.702181, -153.586459 59.548826, -153.761721 59.543349, -153.72886 59.433811, -154.117723 59.368087, -154.1944 59.066856, -153.750768 59.050425, -153.400243 58.968271, -153.301658 58.869686, -153.444059 58.710854, -153.679567 58.612269, -153.898645 58.606793, -153.920553 58.519161, -154.062953 58.4863, -153.99723 58.376761, -154.145107 58.212453, -154.46277 58.059098, -154.643509 58.059098, -154.818771 58.004329, -154.988556 58.015283, -155.120003 57.955037, -155.081664 57.872883, -155.328126 57.829067, -155.377419 57.708574, -155.547204 57.785251, -155.73342 57.549743, -156.045606 57.566174, -156.023698 57.440204, -156.209914 57.473066, -156.34136 57.418296, -156.34136 57.248511, -156.549484 56.985618, -156.883577 56.952757, -157.157424 56.832264, -157.20124 56.766541, -157.376502 56.859649, -157.672257 56.607709, -157.754411 56.67891, -157.918719 56.657002, -157.957058 56.514601, -158.126843 56.459832, -158.32949 56.48174, -158.488321 56.339339, -158.208997 56.295524, -158.510229 55.977861, -159.375585 55.873799, -159.616571 55.594475, -159.676817 55.654722, -159.643955 55.829984, -159.813741 55.857368, -160.027341 55.791645, -160.060203 55.720445, -160.394296 55.605429, -160.536697 55.473983, -160.580512 55.567091, -160.668143 55.457552, -160.865313 55.528752, -161.232268 55.358967, -161.506115 55.364444, -161.467776 55.49589, -161.588269 55.62186, -161.697808 55.517798, -161.686854 55.408259, -162.053809 55.074166, -162.179779 55.15632, -162.218117 55.03035, -162.470057 55.052258, -162.508395 55.249428, -162.661749 55.293244, -162.716519 55.222043, -162.579595 55.134412, -162.645319 54.997489, -162.847965 54.926289, -163.00132 55.079643, -163.187536 55.090597, -163.220397 55.03035, -163.034181 54.942719, -163.373752 54.800319, -163.14372 54.76198, -163.138243 54.696257, -163.329936 54.74555, -163.587352 54.614103, -164.085754 54.61958, -164.332216 54.531949, -164.354124 54.466226, -164.638925 54.389548, -164.847049 54.416933, -164.918249 54.603149, -164.710125 54.663395, -164.551294 54.88795, -164.34317 54.893427, -163.894061 55.041304, -163.532583 55.046781, -163.39566 54.904381, -163.291598 55.008443, -163.313505 55.128935, -163.105382 55.183705, -162.880827 55.183705, -162.579595 55.446598, -162.245502 55.682106, -161.807347 55.89023, -161.292514 55.983338, -161.078914 55.939523, -160.87079 55.999769, -160.816021 55.912138, -160.931036 55.813553, -160.805067 55.736876, -160.766728 55.857368, -160.509312 55.868322, -160.438112 55.791645, -160.27928 55.76426, -160.273803 55.857368, -160.536697 55.939523, -160.558604 55.994292, -160.383342 56.251708, -160.147834 56.399586, -159.830171 56.541986, -159.326293 56.667956, -158.959338 56.848695, -158.784076 56.782971, -158.641675 56.810356, -158.701922 56.925372, -158.658106 57.034911, -158.378782 57.264942, -157.995396 57.41282, -157.688688 57.609989, -157.705118 57.719528, -157.458656 58.497254, -157.07527 58.705377, -157.119086 58.869686, -158.039212 58.634177, -158.32949 58.661562, -158.40069 58.760147, -158.564998 58.803962, -158.619768 58.913501, -158.767645 58.864209, -158.860753 58.694424, -158.701922 58.480823, -158.893615 58.387715, -159.0634 58.420577, -159.392016 58.760147, -159.616571 58.929932, -159.731586 58.929932, -159.808264 58.803962, -159.906848 58.782055, -160.054726 58.886116, -160.235465 58.902547, -160.317619 59.072332, -160.854359 58.88064, -161.33633 58.743716, -161.374669 58.667039, -161.752577 58.552023, -161.938793 58.656085, -161.769008 58.776578, -161.829255 59.061379, -161.955224 59.36261, -161.703285 59.48858, -161.911409 59.740519, -162.092148 59.88292, -162.234548 60.091043, -162.448149 60.178674, -162.502918 59.997935, -162.760334 59.959597, -163.171105 59.844581, -163.66403 59.795289, -163.9324 59.806242, -164.162431 59.866489, -164.189816 60.02532, -164.386986 60.074613, -164.699171 60.29369, -164.962064 60.337506, -165.268773 60.578491, -165.060649 60.68803, -165.016834 60.890677, -165.175665 60.846861, -165.197573 60.972831, -165.120896 61.076893, -165.323543 61.170001, -165.34545 61.071416, -165.591913 61.109754, -165.624774 61.279539, -165.816467 61.301447, -165.920529 61.416463, -165.915052 61.558863, -166.106745 61.49314, -166.139607 61.630064, -165.904098 61.662925, -166.095791 61.81628, -165.756221 61.827233, -165.756221 62.013449, -165.674067 62.139419, -165.044219 62.539236, -164.912772 62.659728, -164.819664 62.637821, -164.874433 62.807606, -164.633448 63.097884, -164.425324 63.212899, -164.036462 63.262192, -163.73523 63.212899, -163.313505 63.037637, -163.039658 63.059545, -162.661749 63.22933, -162.272887 63.486746, -162.075717 63.514131, -162.026424 63.448408, -161.555408 63.448408, -161.13916 63.503177, -160.766728 63.771547, -160.766728 63.837271, -160.952944 64.08921, -160.974852 64.237087, -161.26513 64.395918, -161.374669 64.532842, -161.078914 64.494503, -160.79959 64.609519, -160.783159 64.719058, -161.144637 64.921705, -161.413007 64.762873, -161.664946 64.790258, -161.900455 64.702627, -162.168825 64.680719, -162.234548 64.620473, -162.541257 64.532842, -162.634365 64.384965, -162.787719 64.324718, -162.858919 64.49998, -163.045135 64.538319, -163.176582 64.401395, -163.253259 64.467119, -163.598306 64.565704, -164.304832 64.560227, -164.80871 64.450688, -165.000403 64.434257, -165.411174 64.49998, -166.188899 64.576658, -166.391546 64.636904, -166.484654 64.735489, -166.413454 64.872412, -166.692778 64.987428, -166.638008 65.113398, -166.462746 65.179121, -166.517516 65.337952, -166.796839 65.337952, -167.026871 65.381768, -167.47598 65.414629, -167.711489 65.496784, -168.072967 65.578938, -168.105828 65.682999, -167.541703 65.819923, -166.829701 66.049954, -166.3313 66.186878, -166.046499 66.110201, -165.756221 66.09377, -165.690498 66.203309, -165.86576 66.21974, -165.88219 66.312848, -165.186619 66.466202, -164.403417 66.581218, -163.981692 66.592172, -163.751661 66.553833, -163.872153 66.389525, -163.828338 66.274509, -163.915969 66.192355, -163.768091 66.060908, -163.494244 66.082816, -163.149197 66.060908, -162.749381 66.088293, -162.634365 66.039001, -162.371472 66.028047, -162.14144 66.077339, -161.840208 66.02257, -161.549931 66.241647, -161.341807 66.252601, -161.199406 66.208786, -161.128206 66.334755, -161.528023 66.395002, -161.911409 66.345709, -161.87307 66.510017, -162.174302 66.68528, -162.502918 66.740049, -162.601503 66.89888, -162.344087 66.937219, -162.015471 66.778388, -162.075717 66.652418, -161.916886 66.553833, -161.571838 66.438817, -161.489684 66.55931, -161.884024 66.718141, -161.714239 67.002942, -161.851162 67.052235, -162.240025 66.991988, -162.639842 67.008419, -162.700088 67.057712, -162.902735 67.008419, -163.740707 67.128912, -163.757138 67.254881, -164.009077 67.534205, -164.211724 67.638267, -164.534863 67.725898, -165.192096 67.966884, -165.493328 68.059992, -165.794559 68.081899, -166.243668 68.246208, -166.681824 68.339316, -166.703731 68.372177, -166.375115 68.42147, -166.227238 68.574824, -166.216284 68.881533, -165.329019 68.859625, -164.255539 68.930825, -163.976215 68.985595, -163.532583 69.138949, -163.110859 69.374457, -163.023228 69.609966, -162.842489 69.812613, -162.470057 69.982398, -162.311225 70.108367, -161.851162 70.311014, -161.779962 70.256245, -161.396576 70.239814, -160.837928 70.343876, -160.487404 70.453415, -159.649432 70.792985, -159.33177 70.809416, -159.298908 70.760123, -158.975769 70.798462, -158.658106 70.787508, -158.033735 70.831323, -157.420318 70.979201, -156.812377 71.285909, -156.565915 71.351633, -156.522099 71.296863, -155.585543 71.170894, -155.508865 71.083263, -155.832005 70.968247, -155.979882 70.96277, -155.974405 70.809416, -155.503388 70.858708, -155.476004 70.940862, -155.262403 71.017539, -155.191203 70.973724, -155.032372 71.148986, -154.566832 70.990155, -154.643509 70.869662, -154.353231 70.8368, -154.183446 70.7656, -153.931507 70.880616, -153.487874 70.886093, -153.235935 70.924431, -152.589656 70.886093, -152.26104 70.842277, -152.419871 70.606769, -151.817408 70.546523, -151.773592 70.486276, -151.187559 70.382214, -151.182082 70.431507, -150.760358 70.49723, -150.355064 70.491753, -150.349588 70.436984, -150.114079 70.431507, -149.867617 70.508184, -149.462323 70.519138, -149.177522 70.486276, -148.78866 70.404122, -148.607921 70.420553, -148.350504 70.305537, -148.202627 70.349353, -147.961642 70.316491, -147.786379 70.245291)), ((-152.94018 58.026237, -152.945657 57.982421, -153.290705 58.048145, -153.044242 58.305561, -152.819688 58.327469, -152.666333 58.562977, -152.496548 58.354853, -152.354148 58.426053, -152.080301 58.311038, -152.080301 58.152206, -152.480117 58.130299, -152.655379 58.059098, -152.94018 58.026237)), ((-153.958891 57.538789, -153.67409 57.670236, -153.931507 57.69762, -153.936983 57.812636, -153.723383 57.889313, -153.570028 57.834544, -153.548121 57.719528, -153.46049 57.796205, -153.455013 57.96599, -153.268797 57.889313, -153.235935 57.998852, -153.071627 57.933129, -152.874457 57.933129, -152.721103 57.993375, -152.469163 57.889313, -152.469163 57.599035, -152.151501 57.620943, -152.359625 57.42925, -152.74301 57.505928, -152.60061 57.379958, -152.710149 57.275896, -152.907319 57.325188, -152.912796 57.128019, -153.214027 57.073249, -153.312612 56.991095, -153.498828 57.067772, -153.695998 56.859649, -153.849352 56.837741, -154.013661 56.744633, -154.073907 56.969187, -154.303938 56.848695, -154.314892 56.919895, -154.523016 56.991095, -154.539447 57.193742, -154.742094 57.275896, -154.627078 57.511404, -154.227261 57.659282, -153.980799 57.648328, -153.958891 57.538789)), ((-154.53397 56.602232, -154.742094 56.399586, -154.807817 56.432447, -154.53397 56.602232)), ((-155.634835 55.923092, -155.476004 55.912138, -155.530773 55.704014, -155.793666 55.731399, -155.837482 55.802599, -155.634835 55.923092)), ((-159.890418 55.28229, -159.950664 55.068689, -160.257373 54.893427, -160.109495 55.161797, -160.005433 55.134412, -159.890418 55.28229)), ((-160.520266 55.358967, -160.33405 55.358967, -160.339527 55.249428, -160.525743 55.128935, -160.690051 55.211089, -160.794113 55.134412, -160.854359 55.320628, -160.79959 55.380875, -160.520266 55.358967)), ((-162.256456 54.981058, -162.234548 54.893427, -162.349564 54.838658, -162.437195 54.931766, -162.256456 54.981058)), ((-162.415287 63.634624, -162.563165 63.536039, -162.612457 63.62367, -162.415287 63.634624)), ((-162.80415 54.488133, -162.590549 54.449795, -162.612457 54.367641, -162.782242 54.373118, -162.80415 54.488133)), ((-165.548097 54.29644, -165.476897 54.181425, -165.630251 54.132132, -165.685021 54.252625, -165.548097 54.29644)), ((-165.73979 54.15404, -166.046499 54.044501, -166.112222 54.121178, -165.980775 54.219763, -165.73979 54.15404)), ((-166.364161 60.359413, -166.13413 60.397752, -166.084837 60.326552, -165.88219 60.342983, -165.685021 60.277259, -165.646682 59.992458, -165.750744 59.89935, -166.00816 59.844581, -166.062929 59.745996, -166.440838 59.855535, -166.6161 59.850058, -166.994009 59.992458, -167.125456 59.992458, -167.344534 60.074613, -167.421211 60.206059, -167.311672 60.238921, -166.93924 60.206059, -166.763978 60.310121, -166.577762 60.321075, -166.495608 60.392275, -166.364161 60.359413)), ((-166.375115 54.01164, -166.210807 53.934962, -166.5449 53.748746, -166.539423 53.715885, -166.117699 53.852808, -166.112222 53.776131, -166.282007 53.683023, -166.555854 53.622777, -166.583239 53.529669, -166.878994 53.431084, -167.13641 53.425607, -167.306195 53.332499, -167.623857 53.250345, -167.793643 53.337976, -167.459549 53.442038, -167.355487 53.425607, -167.103548 53.513238, -167.163794 53.611823, -167.021394 53.715885, -166.807793 53.666592, -166.785886 53.732316, -167.015917 53.754223, -167.141887 53.825424, -167.032348 53.945916, -166.643485 54.017116, -166.561331 53.880193, -166.375115 54.01164)), ((-168.790446 53.157237, -168.40706 53.34893, -168.385152 53.431084, -168.237275 53.524192, -168.007243 53.568007, -167.886751 53.518715, -167.842935 53.387268, -168.270136 53.244868, -168.500168 53.036744, -168.686384 52.965544, -168.790446 53.157237)), ((-169.74891 52.894344, -169.705095 52.795759, -169.962511 52.790282, -169.989896 52.856005, -169.74891 52.894344)), ((-170.148727 57.221127, -170.28565 57.128019, -170.313035 57.221127, -170.148727 57.221127)), ((-170.669036 52.697174, -170.603313 52.604066, -170.789529 52.538343, -170.816914 52.636928, -170.669036 52.697174)), ((-171.742517 63.716778, -170.94836 63.5689, -170.488297 63.69487, -170.280174 63.683916, -170.093958 63.612716, -170.044665 63.492223, -169.644848 63.4265, -169.518879 63.366254, -168.99857 63.338869, -168.686384 63.295053, -168.856169 63.147176, -169.108108 63.180038, -169.376478 63.152653, -169.513402 63.08693, -169.639372 62.939052, -169.831064 63.075976, -170.055619 63.169084, -170.263743 63.180038, -170.362328 63.2841, -170.866206 63.415546, -171.101715 63.421023, -171.463193 63.306007, -171.73704 63.366254, -171.852055 63.486746, -171.742517 63.716778)), ((-172.432611 52.390465, -172.41618 52.275449, -172.607873 52.253542, -172.569535 52.352127, -172.432611 52.390465)), ((-173.626584 52.14948, -173.495138 52.105664, -173.122706 52.111141, -173.106275 52.07828, -173.549907 52.028987, -173.626584 52.14948)), ((-174.322156 52.280926, -174.327632 52.379511, -174.185232 52.41785, -173.982585 52.319265, -174.059262 52.226157, -174.179755 52.231634, -174.141417 52.127572, -174.333109 52.116618, -174.738403 52.007079, -174.968435 52.039941, -174.902711 52.116618, -174.656249 52.105664, -174.322156 52.280926)), ((-176.469116 51.853725, -176.288377 51.870156, -176.288377 51.744186, -176.518409 51.760617, -176.80321 51.61274, -176.912748 51.80991, -176.792256 51.815386, -176.775825 51.963264, -176.627947 51.968741, -176.627947 51.859202, -176.469116 51.853725)), ((-177.153734 51.946833, -177.044195 51.897541, -177.120872 51.727755, -177.274226 51.678463, -177.279703 51.782525, -177.153734 51.946833)), ((-178.123152 51.919448, -177.953367 51.913971, -177.800013 51.793479, -177.964321 51.651078, -178.123152 51.919448)), ((-186.892443 52.992929, -186.706227 52.927205, -186.695274 52.823143, -187.09509 52.762897, -187.357983 52.927205, -187.357983 53.003883, -186.892443 52.992929)))\"},{\"name\":\"Arizona\",\"geometry\":\"POLYGON ((-109.042503 37.000263, -109.04798 31.331629, -111.074448 31.331629, -112.246513 31.704061, -114.815198 32.492741, -114.72209 32.717295, -114.524921 32.755634, -114.470151 32.843265, -114.524921 33.029481, -114.661844 33.034958, -114.727567 33.40739, -114.524921 33.54979, -114.497536 33.697668, -114.535874 33.933176, -114.415382 34.108438, -114.256551 34.174162, -114.136058 34.305608, -114.333228 34.448009, -114.470151 34.710902, -114.634459 34.87521, -114.634459 35.00118, -114.574213 35.138103, -114.596121 35.324319, -114.678275 35.516012, -114.738521 36.102045, -114.371566 36.140383, -114.251074 36.01989, -114.152489 36.025367, -114.048427 36.195153, -114.048427 37.000263, -110.499369 37.00574, -109.042503 37.000263))\"},{\"name\":\"Arkansas\",\"geometry\":\"POLYGON ((-94.473842 36.501861, -90.152536 36.496384, -90.064905 36.304691, -90.218259 36.184199, -90.377091 35.997983, -89.730812 35.997983, -89.763673 35.811767, -89.911551 35.756997, -89.944412 35.603643, -90.130628 35.439335, -90.114197 35.198349, -90.212782 35.023087, -90.311367 34.995703, -90.251121 34.908072, -90.409952 34.831394, -90.481152 34.661609, -90.585214 34.617794, -90.568783 34.420624, -90.749522 34.365854, -90.744046 34.300131, -90.952169 34.135823, -90.891923 34.026284, -91.072662 33.867453, -91.231493 33.560744, -91.056231 33.429298, -91.143862 33.347144, -91.089093 33.13902, -91.16577 33.002096, -93.608485 33.018527, -94.041164 33.018527, -94.041164 33.54979, -94.183564 33.593606, -94.380734 33.544313, -94.484796 33.637421, -94.430026 35.395519, -94.616242 36.501861, -94.473842 36.501861))\"},{\"name\":\"California\",\"geometry\":\"POLYGON ((-123.233256 42.006186, -122.378853 42.011663, -121.037003 41.995232, -120.001861 41.995232, -119.996384 40.264519, -120.001861 38.999346, -118.71478 38.101128, -117.498899 37.21934, -116.540435 36.501861, -115.85034 35.970598, -114.634459 35.00118, -114.634459 34.87521, -114.470151 34.710902, -114.333228 34.448009, -114.136058 34.305608, -114.256551 34.174162, -114.415382 34.108438, -114.535874 33.933176, -114.497536 33.697668, -114.524921 33.54979, -114.727567 33.40739, -114.661844 33.034958, -114.524921 33.029481, -114.470151 32.843265, -114.524921 32.755634, -114.72209 32.717295, -116.04751 32.624187, -117.126467 32.536556, -117.24696 32.668003, -117.252437 32.876127, -117.329114 33.122589, -117.471515 33.297851, -117.7837 33.538836, -118.183517 33.763391, -118.260194 33.703145, -118.413548 33.741483, -118.391641 33.840068, -118.566903 34.042715, -118.802411 33.998899, -119.218659 34.146777, -119.278905 34.26727, -119.558229 34.415147, -119.875891 34.40967, -120.138784 34.475393, -120.472878 34.448009, -120.64814 34.579455, -120.609801 34.858779, -120.670048 34.902595, -120.631709 35.099764, -120.894602 35.247642, -120.905556 35.450289, -121.004141 35.461243, -121.168449 35.636505, -121.283465 35.674843, -121.332757 35.784382, -121.716143 36.195153, -121.896882 36.315645, -121.935221 36.638785, -121.858544 36.6114, -121.787344 36.803093, -121.929744 36.978355, -122.105006 36.956447, -122.335038 37.115279, -122.417192 37.241248, -122.400761 37.361741, -122.515777 37.520572, -122.515777 37.783465, -122.329561 37.783465, -122.406238 38.15042, -122.488392 38.112082, -122.504823 37.931343, -122.701993 37.893004, -122.937501 38.029928, -122.97584 38.265436, -123.129194 38.451652, -123.331841 38.566668, -123.44138 38.698114, -123.737134 38.95553, -123.687842 39.032208, -123.824765 39.366301, -123.764519 39.552517, -123.85215 39.831841, -124.109566 40.105688, -124.361506 40.259042, -124.410798 40.439781, -124.158859 40.877937, -124.109566 41.025814, -124.158859 41.14083, -124.065751 41.442061, -124.147905 41.715908, -124.257444 41.781632, -124.213628 42.000709, -123.233256 42.006186))\"},{\"name\":\"Colorado\",\"geometry\":\"POLYGON ((-107.919731 41.003906, -105.728954 40.998429, -104.053011 41.003906, -102.053927 41.003906, -102.053927 40.001626, -102.042974 36.994786, -103.001438 37.000263, -104.337812 36.994786, -106.868158 36.994786, -107.421329 37.000263, -109.042503 37.000263, -109.042503 38.166851, -109.058934 38.27639, -109.053457 39.125316, -109.04798 40.998429, -107.919731 41.003906))\"},{\"name\":\"Connecticut\",\"geometry\":\"POLYGON ((-73.053528 42.039048, -71.799309 42.022617, -71.799309 42.006186, -71.799309 41.414677, -71.859555 41.321569, -71.947186 41.338, -72.385341 41.261322, -72.905651 41.28323, -73.130205 41.146307, -73.371191 41.102491, -73.655992 40.987475, -73.727192 41.102491, -73.48073 41.21203, -73.55193 41.294184, -73.486206 42.050002, -73.053528 42.039048))\"},{\"name\":\"Delaware\",\"geometry\":\"POLYGON ((-75.414089 39.804456, -75.507197 39.683964, -75.611259 39.61824, -75.589352 39.459409, -75.441474 39.311532, -75.403136 39.065069, -75.189535 38.807653, -75.09095 38.796699, -75.047134 38.451652, -75.693413 38.462606, -75.786521 39.722302, -75.616736 39.831841, -75.414089 39.804456))\"},{\"name\":\"District of Columbia\",\"geometry\":\"POLYGON ((-77.035264 38.993869, -76.909294 38.895284, -77.040741 38.791222, -77.117418 38.933623, -77.035264 38.993869))\"},{\"name\":\"Florida\",\"geometry\":\"POLYGON ((-85.497137 30.997536, -85.004212 31.003013, -84.867289 30.712735, -83.498053 30.647012, -82.216449 30.570335, -82.167157 30.356734, -82.046664 30.362211, -82.002849 30.564858, -82.041187 30.751074, -81.948079 30.827751, -81.718048 30.745597, -81.444201 30.707258, -81.383954 30.27458, -81.257985 29.787132, -80.967707 29.14633, -80.524075 28.461713, -80.589798 28.41242, -80.56789 28.094758, -80.381674 27.738757, -80.091397 27.021277, -80.03115 26.796723, -80.036627 26.566691, -80.146166 25.739673, -80.239274 25.723243, -80.337859 25.465826, -80.304997 25.383672, -80.49669 25.197456, -80.573367 25.241272, -80.759583 25.164595, -81.077246 25.120779, -81.170354 25.224841, -81.126538 25.378195, -81.351093 25.821827, -81.526355 25.903982, -81.679709 25.843735, -81.800202 26.090198, -81.833064 26.292844, -82.041187 26.517399, -82.09048 26.665276, -82.057618 26.878877, -82.172634 26.917216, -82.145249 26.791246, -82.249311 26.758384, -82.566974 27.300601, -82.692943 27.437525, -82.391711 27.837342, -82.588881 27.815434, -82.720328 27.689464, -82.851774 27.886634, -82.676512 28.434328, -82.643651 28.888914, -82.764143 28.998453, -82.802482 29.14633, -82.994175 29.179192, -83.218729 29.420177, -83.399469 29.518762, -83.410422 29.66664, -83.536392 29.721409, -83.640454 29.885717, -84.02384 30.104795, -84.357933 30.055502, -84.341502 29.902148, -84.451041 29.929533, -84.867289 29.743317, -85.310921 29.699501, -85.299967 29.80904, -85.404029 29.940487, -85.924338 30.236241, -86.29677 30.362211, -86.630863 30.395073, -86.910187 30.373165, -87.518128 30.280057, -87.37025 30.427934, -87.446927 30.510088, -87.408589 30.674397, -87.633143 30.86609, -87.600282 30.997536, -85.497137 30.997536))\"},{\"name\":\"Georgia\",\"geometry\":\"POLYGON ((-83.109191 35.00118, -83.322791 34.787579, -83.339222 34.683517, -83.005129 34.469916, -82.901067 34.486347, -82.747713 34.26727, -82.714851 34.152254, -82.55602 33.94413, -82.325988 33.81816, -82.194542 33.631944, -81.926172 33.462159, -81.937125 33.347144, -81.761863 33.160928, -81.493493 33.007573, -81.42777 32.843265, -81.416816 32.629664, -81.279893 32.558464, -81.121061 32.290094, -81.115584 32.120309, -80.885553 32.032678, -81.132015 31.693108, -81.175831 31.517845, -81.279893 31.364491, -81.290846 31.20566, -81.400385 31.13446, -81.444201 30.707258, -81.718048 30.745597, -81.948079 30.827751, -82.041187 30.751074, -82.002849 30.564858, -82.046664 30.362211, -82.167157 30.356734, -82.216449 30.570335, -83.498053 30.647012, -84.867289 30.712735, -85.004212 31.003013, -85.113751 31.27686, -85.042551 31.539753, -85.141136 31.840985, -85.053504 32.01077, -85.058981 32.13674, -84.889196 32.262709, -85.004212 32.322956, -84.960397 32.421541, -85.069935 32.580372, -85.184951 32.859696, -85.431413 34.124869, -85.606675 34.984749, -84.319594 34.990226, -83.618546 34.984749, -83.109191 35.00118))\"},{\"name\":\"Hawaii\",\"geometry\":\"MULTIPOLYGON (((-155.634835 18.948267, -155.881297 19.035898, -155.919636 19.123529, -155.886774 19.348084, -156.062036 19.73147, -155.925113 19.857439, -155.826528 20.032702, -155.897728 20.147717, -155.87582 20.26821, -155.596496 20.12581, -155.284311 20.021748, -155.092618 19.868393, -155.092618 19.736947, -154.807817 19.523346, -154.983079 19.348084, -155.295265 19.26593, -155.514342 19.134483, -155.634835 18.948267)), ((-156.587823 21.029505, -156.472807 20.892581, -156.324929 20.952827, -156.00179 20.793996, -156.051082 20.651596, -156.379699 20.580396, -156.445422 20.60778, -156.461853 20.783042, -156.631638 20.821381, -156.697361 20.919966, -156.587823 21.029505)), ((-156.982162 21.210244, -157.080747 21.106182, -157.310779 21.106182, -157.239579 21.221198, -156.982162 21.210244)), ((-157.951581 21.697691, -157.842042 21.462183, -157.896811 21.325259, -158.110412 21.303352, -158.252813 21.582676, -158.126843 21.588153, -157.951581 21.697691)), ((-159.468693 22.228955, -159.353678 22.218001, -159.298908 22.113939, -159.33177 21.966061, -159.446786 21.872953, -159.764448 21.987969, -159.726109 22.152277, -159.468693 22.228955)))\"},{\"name\":\"Idaho\",\"geometry\":\"POLYGON ((-116.04751 49.000239, -116.04751 47.976051, -115.724371 47.696727, -115.718894 47.42288, -115.527201 47.302388, -115.324554 47.258572, -115.302646 47.187372, -114.930214 46.919002, -114.886399 46.809463, -114.623506 46.705401, -114.612552 46.639678, -114.322274 46.645155, -114.464674 46.272723, -114.492059 46.037214, -114.387997 45.88386, -114.568736 45.774321, -114.497536 45.670259, -114.546828 45.560721, -114.333228 45.456659, -114.086765 45.593582, -113.98818 45.703121, -113.807441 45.604536, -113.834826 45.522382, -113.736241 45.330689, -113.571933 45.128042, -113.45144 45.056842, -113.456917 44.865149, -113.341901 44.782995, -113.133778 44.772041, -113.002331 44.448902, -112.887315 44.394132, -112.783254 44.48724, -112.471068 44.481763, -112.241036 44.569394, -112.104113 44.520102, -111.868605 44.563917, -111.819312 44.509148, -111.616665 44.547487, -111.386634 44.75561, -111.227803 44.580348, -111.047063 44.476286, -111.047063 42.000709, -112.164359 41.995232, -114.04295 41.995232, -117.027882 42.000709, -117.027882 43.830007, -116.896436 44.158624, -116.97859 44.240778, -117.170283 44.257209, -117.241483 44.394132, -117.038836 44.750133, -116.934774 44.782995, -116.830713 44.930872, -116.847143 45.02398, -116.732128 45.144473, -116.671881 45.319735, -116.463758 45.61549, -116.545912 45.752413, -116.78142 45.823614, -116.918344 45.993399, -116.92382 46.168661, -117.055267 46.343923, -117.038836 46.426077, -117.044313 47.762451, -117.033359 49.000239, -116.04751 49.000239))\"},{\"name\":\"Illinois\",\"geometry\":\"POLYGON ((-90.639984 42.510065, -88.788778 42.493634, -87.802929 42.493634, -87.83579 42.301941, -87.682436 42.077386, -87.523605 41.710431, -87.529082 39.34987, -87.63862 39.169131, -87.512651 38.95553, -87.49622 38.780268, -87.62219 38.637868, -87.655051 38.506421, -87.83579 38.292821, -87.950806 38.27639, -87.923421 38.15042, -88.000098 38.101128, -88.060345 37.865619, -88.027483 37.799896, -88.15893 37.657496, -88.065822 37.482234, -88.476592 37.389126, -88.514931 37.285064, -88.421823 37.153617, -88.547792 37.071463, -88.914747 37.224817, -89.029763 37.213863, -89.183118 37.038601, -89.133825 36.983832, -89.292656 36.994786, -89.517211 37.279587, -89.435057 37.34531, -89.517211 37.537003, -89.517211 37.690357, -89.84035 37.903958, -89.949889 37.88205, -90.059428 38.013497, -90.355183 38.216144, -90.349706 38.374975, -90.179921 38.632391, -90.207305 38.725499, -90.10872 38.845992, -90.251121 38.917192, -90.470199 38.961007, -90.585214 38.867899, -90.661891 38.928146, -90.727615 39.256762, -91.061708 39.470363, -91.368417 39.727779, -91.494386 40.034488, -91.50534 40.237135, -91.417709 40.379535, -91.401278 40.560274, -91.121954 40.669813, -91.09457 40.823167, -90.963123 40.921752, -90.946692 41.097014, -91.111001 41.239415, -91.045277 41.414677, -90.656414 41.463969, -90.344229 41.589939, -90.311367 41.743293, -90.179921 41.809016, -90.141582 42.000709, -90.168967 42.126679, -90.393521 42.225264, -90.420906 42.329326, -90.639984 42.510065))\"},{\"name\":\"Indiana\",\"geometry\":\"POLYGON ((-85.990061 41.759724, -84.807042 41.759724, -84.807042 41.694001, -84.801565 40.500028, -84.817996 39.103408, -84.894673 39.059592, -84.812519 38.785745, -84.987781 38.780268, -85.173997 38.68716, -85.431413 38.730976, -85.42046 38.533806, -85.590245 38.451652, -85.655968 38.325682, -85.83123 38.27639, -85.924338 38.024451, -86.039354 37.958727, -86.263908 38.051835, -86.302247 38.166851, -86.521325 38.040881, -86.504894 37.931343, -86.729448 37.893004, -86.795172 37.991589, -87.047111 37.893004, -87.129265 37.788942, -87.381204 37.93682, -87.512651 37.903958, -87.600282 37.975158, -87.682436 37.903958, -87.934375 37.893004, -88.027483 37.799896, -88.060345 37.865619, -88.000098 38.101128, -87.923421 38.15042, -87.950806 38.27639, -87.83579 38.292821, -87.655051 38.506421, -87.62219 38.637868, -87.49622 38.780268, -87.512651 38.95553, -87.63862 39.169131, -87.529082 39.34987, -87.523605 41.710431, -87.42502 41.644708, -87.118311 41.644708, -86.822556 41.759724, -85.990061 41.759724))\"},{\"name\":\"Iowa\",\"geometry\":\"POLYGON ((-91.368417 43.501391, -91.215062 43.501391, -91.204109 43.353514, -91.056231 43.254929, -91.176724 43.134436, -91.143862 42.909881, -91.067185 42.75105, -90.711184 42.636034, -90.639984 42.510065, -90.420906 42.329326, -90.393521 42.225264, -90.168967 42.126679, -90.141582 42.000709, -90.179921 41.809016, -90.311367 41.743293, -90.344229 41.589939, -90.656414 41.463969, -91.045277 41.414677, -91.111001 41.239415, -90.946692 41.097014, -90.963123 40.921752, -91.09457 40.823167, -91.121954 40.669813, -91.401278 40.560274, -91.417709 40.379535, -91.527248 40.412397, -91.729895 40.615043, -91.833957 40.609566, -93.257961 40.582182, -94.632673 40.571228, -95.7664 40.587659, -95.881416 40.719105, -95.826646 40.976521, -95.925231 41.201076, -95.919754 41.453015, -96.095016 41.540646, -96.122401 41.67757, -96.062155 41.798063, -96.127878 41.973325, -96.264801 42.039048, -96.44554 42.488157, -96.631756 42.707235, -96.544125 42.855112, -96.511264 43.052282, -96.434587 43.123482, -96.560556 43.222067, -96.527695 43.397329, -96.582464 43.479483, -96.451017 43.501391, -91.368417 43.501391))\"},{\"name\":\"Kansas\",\"geometry\":\"POLYGON ((-101.90605 40.001626, -95.306337 40.001626, -95.207752 39.908518, -94.884612 39.831841, -95.109167 39.541563, -94.983197 39.442978, -94.824366 39.20747, -94.610765 39.158177, -94.616242 37.000263, -100.087706 37.000263, -102.042974 36.994786, -102.053927 40.001626, -101.90605 40.001626))\"},{\"name\":\"Kentucky\",\"geometry\":\"POLYGON ((-83.903347 38.769315, -83.678792 38.632391, -83.519961 38.703591, -83.142052 38.626914, -83.032514 38.725499, -82.890113 38.758361, -82.846298 38.588575, -82.731282 38.561191, -82.594358 38.424267, -82.621743 38.123036, -82.50125 37.931343, -82.342419 37.783465, -82.293127 37.668449, -82.101434 37.553434, -81.969987 37.537003, -82.353373 37.268633, -82.720328 37.120755, -82.720328 37.044078, -82.868205 36.978355, -82.879159 36.890724, -83.070852 36.852385, -83.136575 36.742847, -83.673316 36.600446, -83.689746 36.584015, -84.544149 36.594969, -85.289013 36.627831, -85.486183 36.616877, -86.592525 36.655216, -87.852221 36.633308, -88.071299 36.677123, -88.054868 36.496384, -89.298133 36.507338, -89.418626 36.496384, -89.363857 36.622354, -89.215979 36.578538, -89.133825 36.983832, -89.183118 37.038601, -89.029763 37.213863, -88.914747 37.224817, -88.547792 37.071463, -88.421823 37.153617, -88.514931 37.285064, -88.476592 37.389126, -88.065822 37.482234, -88.15893 37.657496, -88.027483 37.799896, -87.934375 37.893004, -87.682436 37.903958, -87.600282 37.975158, -87.512651 37.903958, -87.381204 37.93682, -87.129265 37.788942, -87.047111 37.893004, -86.795172 37.991589, -86.729448 37.893004, -86.504894 37.931343, -86.521325 38.040881, -86.302247 38.166851, -86.263908 38.051835, -86.039354 37.958727, -85.924338 38.024451, -85.83123 38.27639, -85.655968 38.325682, -85.590245 38.451652, -85.42046 38.533806, -85.431413 38.730976, -85.173997 38.68716, -84.987781 38.780268, -84.812519 38.785745, -84.894673 39.059592, -84.817996 39.103408, -84.43461 39.103408, -84.231963 38.895284, -84.215533 38.807653, -83.903347 38.769315))\"},{\"name\":\"Louisiana\",\"geometry\":\"POLYGON ((-93.608485 33.018527, -91.16577 33.002096, -91.072662 32.887081, -91.143862 32.843265, -91.154816 32.640618, -91.006939 32.514649, -90.985031 32.218894, -91.105524 31.988862, -91.341032 31.846462, -91.401278 31.621907, -91.499863 31.643815, -91.516294 31.27686, -91.636787 31.265906, -91.565587 31.068736, -91.636787 30.997536, -89.747242 30.997536, -89.845827 30.66892, -89.681519 30.449842, -89.643181 30.285534, -89.522688 30.181472, -89.818443 30.044549, -89.84035 29.945964, -89.599365 29.88024, -89.495303 30.039072, -89.287179 29.88024, -89.30361 29.754271, -89.424103 29.699501, -89.648657 29.748794, -89.621273 29.655686, -89.69795 29.513285, -89.506257 29.387316, -89.199548 29.348977, -89.09001 29.2011, -89.002379 29.179192, -89.16121 29.009407, -89.336472 29.042268, -89.484349 29.217531, -89.851304 29.310638, -89.851304 29.480424, -90.032043 29.425654, -90.021089 29.283254, -90.103244 29.151807, -90.23469 29.129899, -90.333275 29.277777, -90.563307 29.283254, -90.645461 29.129899, -90.798815 29.086084, -90.963123 29.179192, -91.09457 29.190146, -91.220539 29.436608, -91.445094 29.546147, -91.532725 29.529716, -91.620356 29.73784, -91.883249 29.710455, -91.888726 29.836425, -92.146142 29.715932, -92.113281 29.622824, -92.31045 29.535193, -92.617159 29.579009, -92.97316 29.715932, -93.2251 29.776178, -93.767317 29.726886, -93.838517 29.688547, -93.926148 29.787132, -93.690639 30.143133, -93.767317 30.334826, -93.696116 30.438888, -93.728978 30.575812, -93.630393 30.679874, -93.526331 30.93729, -93.542762 31.15089, -93.816609 31.556184, -93.822086 31.775262, -94.041164 31.994339, -94.041164 33.018527, -93.608485 33.018527))\"},{\"name\":\"Maine\",\"geometry\":\"POLYGON ((-70.703921 43.057759, -70.824413 43.128959, -70.807983 43.227544, -70.966814 43.34256, -71.032537 44.657025, -71.08183 45.303304, -70.649151 45.440228, -70.720352 45.511428, -70.556043 45.664782, -70.386258 45.735983, -70.41912 45.796229, -70.260289 45.889337, -70.309581 46.064599, -70.210996 46.327492, -70.057642 46.415123, -69.997395 46.694447, -69.225147 47.461219, -69.044408 47.428357, -69.033454 47.242141, -68.902007 47.176418, -68.578868 47.285957, -68.376221 47.285957, -68.233821 47.357157, -67.954497 47.198326, -67.790188 47.066879, -67.779235 45.944106, -67.801142 45.675736, -67.456095 45.604536, -67.505388 45.48952, -67.417757 45.379982, -67.488957 45.281397, -67.346556 45.128042, -67.16034 45.160904, -66.979601 44.804903, -67.187725 44.646072, -67.308218 44.706318, -67.406803 44.596779, -67.549203 44.624164, -67.565634 44.531056, -67.75185 44.54201, -68.047605 44.328409, -68.118805 44.476286, -68.222867 44.48724, -68.173574 44.328409, -68.403606 44.251732, -68.458375 44.377701, -68.567914 44.311978, -68.82533 44.311978, -68.830807 44.459856, -68.984161 44.426994, -68.956777 44.322932, -69.099177 44.103854, -69.071793 44.043608, -69.258008 43.923115, -69.444224 43.966931, -69.553763 43.840961, -69.707118 43.82453, -69.833087 43.720469, -69.986442 43.742376, -70.030257 43.851915, -70.254812 43.676653, -70.194565 43.567114, -70.358873 43.528776, -70.369827 43.435668, -70.556043 43.320652, -70.703921 43.057759))\"}]}"
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 13
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:42.875645Z",
"start_time": "2024-12-06T13:22:41.931598Z"
}
},
"cell_type": "code",
"source": "usaGeo.plot { geoMap() }",
"outputs": [
{
"data": {
"text/html": [
" <iframe src='about:blank' style='border:none !important;' width='600' height='400' srcdoc=\"&lt;html lang=&quot;en&quot;>\n",
" &lt;head>\n",
" &lt;meta charset=&quot;UTF-8&quot;>\n",
" &lt;style> html, body { margin: 0; overflow: hidden; } &lt;/style>\n",
" &lt;script type=&quot;text/javascript&quot; data-lets-plot-script=&quot;library&quot; src=&quot;https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.3.3/js-package/distr/lets-plot.min.js&quot;>&lt;/script>\n",
" &lt;/head>\n",
" &lt;body>\n",
" &lt;div id=&quot;2banVF&quot;>&lt;/div>\n",
" &lt;script type=&quot;text/javascript&quot; data-lets-plot-script=&quot;plot&quot;>\n",
" var plotSpec={\n",
"&quot;mapping&quot;:{\n",
"},\n",
"&quot;coord&quot;:{\n",
"&quot;name&quot;:&quot;map&quot;,\n",
"&quot;flip&quot;:false\n",
"},\n",
"&quot;kind&quot;:&quot;plot&quot;,\n",
"&quot;scales&quot;:[{\n",
"&quot;aesthetic&quot;:&quot;x&quot;,\n",
"&quot;limits&quot;:[null,null]\n",
"},{\n",
"&quot;aesthetic&quot;:&quot;y&quot;,\n",
"&quot;limits&quot;:[null,null]\n",
"}],\n",
"&quot;layers&quot;:[{\n",
"&quot;mapping&quot;:{\n",
"},\n",
"&quot;stat&quot;:&quot;identity&quot;,\n",
"&quot;sampling&quot;:&quot;none&quot;,\n",
"&quot;position&quot;:&quot;identity&quot;,\n",
"&quot;map_data_meta&quot;:{\n",
"&quot;geodataframe&quot;:{\n",
"&quot;geometry&quot;:&quot;geometry&quot;\n",
"}\n",
"},\n",
"&quot;geom&quot;:&quot;polygon&quot;,\n",
"&quot;map&quot;:{\n",
"&quot;geometry&quot;:[&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-87.359296,35.00118],[-85.606675,34.984749],[-85.431413,34.124869],[-85.184951,32.859696],[-85.069935,32.580372],[-84.960397,32.421541],[-85.004212,32.322956],[-84.889196,32.262709],[-85.058981,32.13674],[-85.053504,32.01077],[-85.141136,31.840985],[-85.042551,31.539753],[-85.113751,31.27686],[-85.004212,31.003013],[-85.497137,30.997536],[-87.600282,30.997536],[-87.633143,30.86609],[-87.408589,30.674397],[-87.446927,30.510088],[-87.37025,30.427934],[-87.518128,30.280057],[-87.655051,30.247195],[-87.90699,30.411504],[-87.934375,30.657966],[-88.011052,30.685351],[-88.10416,30.499135],[-88.137022,30.318396],[-88.394438,30.367688],[-88.471115,31.895754],[-88.241084,33.796253],[-88.098683,34.891641],[-88.202745,34.995703],[-87.359296,35.00118]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-131.602021,55.117982],[-131.569159,55.28229],[-131.355558,55.183705],[-131.38842,55.01392],[-131.645836,55.035827],[-131.602021,55.117982]]],[[[-131.832052,55.42469],[-131.645836,55.304197],[-131.749898,55.128935],[-131.832052,55.189182],[-131.832052,55.42469]]],[[[-132.976733,56.437924],[-132.735747,56.459832],[-132.631685,56.421493],[-132.664547,56.273616],[-132.878148,56.240754],[-133.069841,56.333862],[-132.976733,56.437924]]],[[[-133.595627,56.350293],[-133.162949,56.317431],[-133.05341,56.125739],[-132.620732,55.912138],[-132.472854,55.780691],[-132.4619,55.671152],[-132.357838,55.649245],[-132.341408,55.506844],[-132.166146,55.364444],[-132.144238,55.238474],[-132.029222,55.276813],[-131.97993,55.178228],[-131.958022,54.789365],[-132.029222,54.701734],[-132.308546,54.718165],[-132.385223,54.915335],[-132.483808,54.898904],[-132.686455,55.046781],[-132.746701,54.997489],[-132.916486,55.046781],[-132.889102,54.898904],[-132.73027,54.937242],[-132.626209,54.882473],[-132.675501,54.679826],[-132.867194,54.701734],[-133.157472,54.95915],[-133.239626,55.090597],[-133.223195,55.22752],[-133.453227,55.216566],[-133.453227,55.320628],[-133.277964,55.331582],[-133.102702,55.42469],[-133.17938,55.588998],[-133.387503,55.62186],[-133.420365,55.884753],[-133.497042,56.0162],[-133.639442,55.923092],[-133.694212,56.070969],[-133.546335,56.142169],[-133.666827,56.311955],[-133.595627,56.350293]]],[[[-133.738027,55.556137],[-133.546335,55.490413],[-133.414888,55.572568],[-133.283441,55.534229],[-133.420365,55.386352],[-133.633966,55.430167],[-133.738027,55.556137]]],[[[-133.907813,56.930849],[-134.050213,57.029434],[-133.885905,57.095157],[-133.343688,57.002049],[-133.102702,57.007526],[-132.932917,56.82131],[-132.620732,56.667956],[-132.653593,56.55294],[-132.817901,56.492694],[-133.042456,56.520078],[-133.201287,56.448878],[-133.420365,56.492694],[-133.66135,56.448878],[-133.710643,56.684386],[-133.688735,56.837741],[-133.869474,56.843218],[-133.907813,56.930849]]],[[[-134.115936,56.48174],[-134.25286,56.558417],[-134.400737,56.722725],[-134.417168,56.848695],[-134.296675,56.908941],[-134.170706,56.848695],[-134.143321,56.952757],[-133.748981,56.772017],[-133.710643,56.596755],[-133.847566,56.574848],[-133.935197,56.377678],[-133.836612,56.322908],[-133.957105,56.092877],[-134.110459,56.142169],[-134.132367,55.999769],[-134.230952,56.070969],[-134.291198,56.350293],[-134.115936,56.48174]]],[[[-134.636246,56.28457],[-134.669107,56.169554],[-134.806031,56.235277],[-135.178463,56.67891],[-135.413971,56.810356],[-135.331817,56.914418],[-135.424925,57.166357],[-135.687818,57.369004],[-135.419448,57.566174],[-135.298955,57.48402],[-135.063447,57.418296],[-134.849846,57.407343],[-134.844369,57.248511],[-134.636246,56.728202],[-134.636246,56.28457]]],[[[-134.712923,58.223407],[-134.373353,58.14673],[-134.176183,58.157683],[-134.187137,58.081006],[-133.902336,57.807159],[-134.099505,57.850975],[-134.148798,57.757867],[-133.935197,57.615466],[-133.869474,57.363527],[-134.083075,57.297804],[-134.154275,57.210173],[-134.499322,57.029434],[-134.603384,57.034911],[-134.6472,57.226604],[-134.575999,57.341619],[-134.608861,57.511404],[-134.729354,57.719528],[-134.707446,57.829067],[-134.784123,58.097437],[-134.91557,58.212453],[-134.953908,58.409623],[-134.712923,58.223407]]],[[[-135.857603,57.330665],[-135.715203,57.330665],[-135.567326,57.149926],[-135.633049,57.023957],[-135.857603,56.996572],[-135.824742,57.193742],[-135.857603,57.330665]]],[[[-136.279328,58.206976],[-135.978096,58.201499],[-135.780926,58.28913],[-135.496125,58.168637],[-135.64948,58.037191],[-135.59471,57.987898],[-135.45231,58.135776],[-135.107263,58.086483],[-134.91557,57.976944],[-135.025108,57.779775],[-134.937477,57.763344],[-134.822462,57.500451],[-135.085355,57.462112],[-135.572802,57.675713],[-135.556372,57.456635],[-135.709726,57.369004],[-135.890465,57.407343],[-136.000004,57.544266],[-136.208128,57.637374],[-136.366959,57.829067],[-136.569606,57.916698],[-136.558652,58.075529],[-136.421728,58.130299],[-136.377913,58.267222],[-136.279328,58.206976]]],[[[-147.079854,60.200582],[-147.501579,59.948643],[-147.53444,59.850058],[-147.874011,59.784335],[-147.80281,59.937689],[-147.435855,60.09652],[-147.205824,60.271782],[-147.079854,60.200582]]],[[[-147.561825,60.578491],[-147.616594,60.370367],[-147.758995,60.156767],[-147.956165,60.227967],[-147.791856,60.474429],[-147.561825,60.578491]]],[[[-147.786379,70.245291],[-147.682318,70.201475],[-147.162008,70.15766],[-146.888161,70.185044],[-146.510252,70.185044],[-146.099482,70.146706],[-145.858496,70.168614],[-145.622988,70.08646],[-145.195787,69.993352],[-144.620708,69.971444],[-144.461877,70.026213],[-144.078491,70.059075],[-143.914183,70.130275],[-143.497935,70.141229],[-143.503412,70.091936],[-143.25695,70.119321],[-142.747594,70.042644],[-142.402547,69.916674],[-142.079408,69.856428],[-142.008207,69.801659],[-141.712453,69.790705],[-141.433129,69.697597],[-141.378359,69.63735],[-141.208574,69.686643],[-141.00045,69.648304],[-141.00045,60.304644],[-140.53491,60.22249],[-140.474664,60.310121],[-139.987216,60.184151],[-139.696939,60.342983],[-139.088998,60.359413],[-139.198537,60.091043],[-139.045183,59.997935],[-138.700135,59.910304],[-138.623458,59.767904],[-137.604747,59.242118],[-137.445916,58.908024],[-137.265177,59.001132],[-136.827022,59.159963],[-136.580559,59.16544],[-136.465544,59.285933],[-136.476498,59.466672],[-136.301236,59.466672],[-136.25742,59.625503],[-135.945234,59.663842],[-135.479694,59.800766],[-135.025108,59.565257],[-135.068924,59.422857],[-134.959385,59.280456],[-134.701969,59.247595],[-134.378829,59.033994],[-134.400737,58.973748],[-134.25286,58.858732],[-133.842089,58.727285],[-133.173903,58.152206],[-133.075318,57.998852],[-132.867194,57.845498],[-132.560485,57.505928],[-132.253777,57.21565],[-132.368792,57.095157],[-132.05113,57.051341],[-132.127807,56.876079],[-131.870391,56.804879],[-131.837529,56.602232],[-131.580113,56.613186],[-131.087188,56.405062],[-130.78048,56.366724],[-130.621648,56.268139],[-130.468294,56.240754],[-130.424478,56.142169],[-130.101339,56.114785],[-130.002754,55.994292],[-130.150631,55.769737],[-130.128724,55.583521],[-129.986323,55.276813],[-130.095862,55.200136],[-130.336847,54.920812],[-130.687372,54.718165],[-130.785957,54.822227],[-130.917403,54.789365],[-131.010511,54.997489],[-130.983126,55.08512],[-131.092665,55.189182],[-130.862634,55.298721],[-130.928357,55.337059],[-131.158389,55.200136],[-131.284358,55.287767],[-131.426759,55.238474],[-131.843006,55.457552],[-131.700606,55.698537],[-131.963499,55.616383],[-131.974453,55.49589],[-132.182576,55.588998],[-132.226392,55.704014],[-132.083991,55.829984],[-132.127807,55.955953],[-132.324977,55.851892],[-132.522147,56.076446],[-132.642639,56.032631],[-132.719317,56.218847],[-132.527624,56.339339],[-132.341408,56.339339],[-132.396177,56.487217],[-132.297592,56.67891],[-132.450946,56.673433],[-132.768609,56.837741],[-132.993164,57.034911],[-133.51895,57.177311],[-133.507996,57.577128],[-133.677781,57.62642],[-133.639442,57.790728],[-133.814705,57.834544],[-134.072121,58.053622],[-134.143321,58.168637],[-134.586953,58.206976],[-135.074401,58.502731],[-135.282525,59.192825],[-135.38111,59.033994],[-135.337294,58.891593],[-135.140124,58.617746],[-135.189417,58.573931],[-135.05797,58.349376],[-135.085355,58.201499],[-135.277048,58.234361],[-135.430402,58.398669],[-135.633049,58.426053],[-135.91785,58.382238],[-135.912373,58.617746],[-136.087635,58.814916],[-136.246466,58.75467],[-136.876314,58.962794],[-136.931084,58.902547],[-136.586036,58.836824],[-136.317666,58.672516],[-136.213604,58.667039],[-136.180743,58.535592],[-136.043819,58.382238],[-136.388867,58.294607],[-136.591513,58.349376],[-136.59699,58.212453],[-136.859883,58.316515],[-136.947514,58.393192],[-137.111823,58.393192],[-137.566409,58.590362],[-137.900502,58.765624],[-137.933364,58.869686],[-138.11958,59.02304],[-138.634412,59.132579],[-138.919213,59.247595],[-139.417615,59.379041],[-139.746231,59.505011],[-139.718846,59.641934],[-139.625738,59.598119],[-139.5162,59.68575],[-139.625738,59.88292],[-139.488815,59.992458],[-139.554538,60.041751],[-139.801,59.833627],[-140.315833,59.696704],[-140.92925,59.745996],[-141.444083,59.871966],[-141.46599,59.970551],[-141.706976,59.948643],[-141.964392,60.019843],[-142.539471,60.085566],[-142.873564,60.091043],[-143.623905,60.036274],[-143.892275,59.997935],[-144.231845,60.140336],[-144.65357,60.206059],[-144.785016,60.29369],[-144.834309,60.441568],[-145.124586,60.430614],[-145.223171,60.299167],[-145.738004,60.474429],[-145.820158,60.551106],[-146.351421,60.408706],[-146.608837,60.238921],[-146.718376,60.397752],[-146.608837,60.485383],[-146.455483,60.463475],[-145.951604,60.578491],[-146.017328,60.666122],[-146.252836,60.622307],[-146.345944,60.737322],[-146.565022,60.753753],[-146.784099,61.044031],[-146.866253,60.972831],[-147.172962,60.934492],[-147.271547,60.972831],[-147.375609,60.879723],[-147.758995,60.912584],[-147.775426,60.808523],[-148.032842,60.781138],[-148.153334,60.819476],[-148.065703,61.005692],[-148.175242,61.000215],[-148.350504,60.803046],[-148.109519,60.737322],[-148.087611,60.594922],[-147.939734,60.441568],[-148.027365,60.277259],[-148.219058,60.332029],[-148.273827,60.249875],[-148.087611,60.217013],[-147.983549,59.997935],[-148.251919,59.95412],[-148.399797,59.997935],[-148.635305,59.937689],[-148.755798,59.986981],[-149.067984,59.981505],[-149.05703,60.063659],[-149.204907,60.008889],[-149.287061,59.904827],[-149.418508,59.997935],[-149.582816,59.866489],[-149.511616,59.806242],[-149.741647,59.729565],[-149.949771,59.718611],[-150.031925,59.61455],[-150.25648,59.521442],[-150.409834,59.554303],[-150.579619,59.444764],[-150.716543,59.450241],[-151.001343,59.225687],[-151.308052,59.209256],[-151.406637,59.280456],[-151.592853,59.159963],[-151.976239,59.253071],[-151.888608,59.422857],[-151.636669,59.483103],[-151.47236,59.472149],[-151.423068,59.537872],[-151.127313,59.669319],[-151.116359,59.778858],[-151.505222,59.63098],[-151.828361,59.718611],[-151.8667,59.778858],[-151.702392,60.030797],[-151.423068,60.211536],[-151.379252,60.359413],[-151.297098,60.386798],[-151.264237,60.545629],[-151.406637,60.720892],[-151.06159,60.786615],[-150.404357,61.038554],[-150.245526,60.939969],[-150.042879,60.912584],[-149.741647,61.016646],[-150.075741,61.15357],[-150.207187,61.257632],[-150.47008,61.246678],[-150.656296,61.29597],[-150.711066,61.252155],[-151.023251,61.180954],[-151.165652,61.044031],[-151.477837,61.011169],[-151.800977,60.852338],[-151.833838,60.748276],[-152.080301,60.693507],[-152.13507,60.578491],[-152.310332,60.507291],[-152.392486,60.304644],[-152.732057,60.173197],[-152.567748,60.069136],[-152.704672,59.915781],[-153.022334,59.888397],[-153.049719,59.691227],[-153.345474,59.620026],[-153.438582,59.702181],[-153.586459,59.548826],[-153.761721,59.543349],[-153.72886,59.433811],[-154.117723,59.368087],[-154.1944,59.066856],[-153.750768,59.050425],[-153.400243,58.968271],[-153.301658,58.869686],[-153.444059,58.710854],[-153.679567,58.612269],[-153.898645,58.606793],[-153.920553,58.519161],[-154.062953,58.4863],[-153.99723,58.376761],[-154.145107,58.212453],[-154.46277,58.059098],[-154.643509,58.059098],[-154.818771,58.004329],[-154.988556,58.015283],[-155.120003,57.955037],[-155.081664,57.872883],[-155.328126,57.829067],[-155.377419,57.708574],[-155.547204,57.785251],[-155.73342,57.549743],[-156.045606,57.566174],[-156.023698,57.440204],[-156.209914,57.473066],[-156.34136,57.418296],[-156.34136,57.248511],[-156.549484,56.985618],[-156.883577,56.952757],[-157.157424,56.832264],[-157.20124,56.766541],[-157.376502,56.859649],[-157.672257,56.607709],[-157.754411,56.67891],[-157.918719,56.657002],[-157.957058,56.514601],[-158.126843,56.459832],[-158.32949,56.48174],[-158.488321,56.339339],[-158.208997,56.295524],[-158.510229,55.977861],[-159.375585,55.873799],[-159.616571,55.594475],[-159.676817,55.654722],[-159.643955,55.829984],[-159.813741,55.857368],[-160.027341,55.791645],[-160.060203,55.720445],[-160.394296,55.605429],[-160.536697,55.473983],[-160.580512,55.567091],[-160.668143,55.457552],[-160.865313,55.528752],[-161.232268,55.358967],[-161.506115,55.364444],[-161.467776,55.49589],[-161.588269,55.62186],[-161.697808,55.517798],[-161.686854,55.408259],[-162.053809,55.074166],[-162.179779,55.15632],[-162.218117,55.03035],[-162.470057,55.052258],[-162.508395,55.249428],[-162.661749,55.293244],[-162.716519,55.222043],[-162.579595,55.134412],[-162.645319,54.997489],[-162.847965,54.926289],[-163.00132,55.079643],[-163.187536,55.090597],[-163.220397,55.03035],[-163.034181,54.942719],[-163.373752,54.800319],[-163.14372,54.76198],[-163.138243,54.696257],[-163.329936,54.74555],[-163.587352,54.614103],[-164.085754,54.61958],[-164.332216,54.531949],[-164.354124,54.466226],[-164.638925,54.389548],[-164.847049,54.416933],[-164.918249,54.603149],[-164.710125,54.663395],[-164.551294,54.88795],[-164.34317,54.893427],[-163.894061,55.041304],[-163.532583,55.046781],[-163.39566,54.904381],[-163.291598,55.008443],[-163.313505,55.128935],[-163.105382,55.183705],[-162.880827,55.183705],[-162.579595,55.446598],[-162.245502,55.682106],[-161.807347,55.89023],[-161.292514,55.983338],[-161.078914,55.939523],[-160.87079,55.999769],[-160.816021,55.912138],[-160.931036,55.813553],[-160.805067,55.736876],[-160.766728,55.857368],[-160.509312,55.868322],[-160.438112,55.791645],[-160.27928,55.76426],[-160.273803,55.857368],[-160.536697,55.939523],[-160.558604,55.994292],[-160.383342,56.251708],[-160.147834,56.399586],[-159.830171,56.541986],[-159.326293,56.667956],[-158.959338,56.848695],[-158.784076,56.782971],[-158.641675,56.810356],[-158.701922,56.925372],[-158.658106,57.034911],[-158.378782,57.264942],[-157.995396,57.41282],[-157.688688,57.609989],[-157.705118,57.719528],[-157.458656,58.497254],[-157.07527,58.705377],[-157.119086,58.869686],[-158.039212,58.634177],[-158.32949,58.661562],[-158.40069,58.760147],[-158.564998,58.803962],[-158.619768,58.913501],[-158.767645,58.864209],[-158.860753,58.694424],[-158.701922,58.480823],[-158.893615,58.387715],[-159.0634,58.420577],[-159.392016,58.760147],[-159.616571,58.929932],[-159.731586,58.929932],[-159.808264,58.803962],[-159.906848,58.782055],[-160.054726,58.886116],[-160.235465,58.902547],[-160.317619,59.072332],[-160.854359,58.88064],[-161.33633,58.743716],[-161.374669,58.667039],[-161.752577,58.552023],[-161.938793,58.656085],[-161.769008,58.776578],[-161.829255,59.061379],[-161.955224,59.36261],[-161.703285,59.48858],[-161.911409,59.740519],[-162.092148,59.88292],[-162.234548,60.091043],[-162.448149,60.178674],[-162.502918,59.997935],[-162.760334,59.959597],[-163.171105,59.844581],[-163.66403,59.795289],[-163.9324,59.806242],[-164.162431,59.866489],[-164.189816,60.02532],[-164.386986,60.074613],[-164.699171,60.29369],[-164.962064,60.337506],[-165.268773,60.578491],[-165.060649,60.68803],[-165.016834,60.890677],[-165.175665,60.846861],[-165.197573,60.972831],[-165.120896,61.076893],[-165.323543,61.170001],[-165.34545,61.071416],[-165.591913,61.109754],[-165.624774,61.279539],[-165.816467,61.301447],[-165.920529,61.416463],[-165.915052,61.558863],[-166.106745,61.49314],[-166.139607,61.630064],[-165.904098,61.662925],[-166.095791,61.81628],[-165.756221,61.827233],[-165.756221,62.013449],[-165.674067,62.139419],[-165.044219,62.539236],[-164.912772,62.659728],[-164.819664,62.637821],[-164.874433,62.807606],[-164.633448,63.097884],[-164.425324,63.212899],[-164.036462,63.262192],[-163.73523,63.212899],[-163.313505,63.037637],[-163.039658,63.059545],[-162.661749,63.22933],[-162.272887,63.486746],[-162.075717,63.514131],[-162.026424,63.448408],[-161.555408,63.448408],[-161.13916,63.503177],[-160.766728,63.771547],[-160.766728,63.837271],[-160.952944,64.08921],[-160.974852,64.237087],[-161.26513,64.395918],[-161.374669,64.532842],[-161.078914,64.494503],[-160.79959,64.609519],[-160.783159,64.719058],[-161.144637,64.921705],[-161.413007,64.762873],[-161.664946,64.790258],[-161.900455,64.702627],[-162.168825,64.680719],[-162.234548,64.620473],[-162.541257,64.532842],[-162.634365,64.384965],[-162.787719,64.324718],[-162.858919,64.49998],[-163.045135,64.538319],[-163.176582,64.401395],[-163.253259,64.467119],[-163.598306,64.565704],[-164.304832,64.560227],[-164.80871,64.450688],[-165.000403,64.434257],[-165.411174,64.49998],[-166.188899,64.576658],[-166.391546,64.636904],[-166.484654,64.735489],[-166.413454,64.872412],[-166.692778,64.987428],[-166.638008,65.113398],[-166.462746,65.179121],[-166.517516,65.337952],[-166.796839,65.337952],[-167.026871,65.381768],[-167.47598,65.414629],[-167.711489,65.496784],[-168.072967,65.578938],[-168.105828,65.682999],[-167.541703,65.819923],[-166.829701,66.049954],[-166.3313,66.186878],[-166.046499,66.110201],[-165.756221,66.09377],[-165.690498,66.203309],[-165.86576,66.21974],[-165.88219,66.312848],[-165.186619,66.466202],[-164.403417,66.581218],[-163.981692,66.592172],[-163.751661,66.553833],[-163.872153,66.389525],[-163.828338,66.274509],[-163.915969,66.192355],[-163.768091,66.060908],[-163.494244,66.082816],[-163.149197,66.060908],[-162.749381,66.088293],[-162.634365,66.039001],[-162.371472,66.028047],[-162.14144,66.077339],[-161.840208,66.02257],[-161.549931,66.241647],[-161.341807,66.252601],[-161.199406,66.208786],[-161.128206,66.334755],[-161.528023,66.395002],[-161.911409,66.345709],[-161.87307,66.510017],[-162.174302,66.68528],[-162.502918,66.740049],[-162.601503,66.89888],[-162.344087,66.937219],[-162.015471,66.778388],[-162.075717,66.652418],[-161.916886,66.553833],[-161.571838,66.438817],[-161.489684,66.55931],[-161.884024,66.718141],[-161.714239,67.002942],[-161.851162,67.052235],[-162.240025,66.991988],[-162.639842,67.008419],[-162.700088,67.057712],[-162.902735,67.008419],[-163.740707,67.128912],[-163.757138,67.254881],[-164.009077,67.534205],[-164.211724,67.638267],[-164.534863,67.725898],[-165.192096,67.966884],[-165.493328,68.059992],[-165.794559,68.081899],[-166.243668,68.246208],[-166.681824,68.339316],[-166.703731,68.372177],[-166.375115,68.42147],[-166.227238,68.574824],[-166.216284,68.881533],[-165.329019,68.859625],[-164.255539,68.930825],[-163.976215,68.985595],[-163.532583,69.138949],[-163.110859,69.374457],[-163.023228,69.609966],[-162.842489,69.812613],[-162.470057,69.982398],[-162.311225,70.108367],[-161.851162,70.311014],[-161.779962,70.256245],[-161.396576,70.239814],[-160.837928,70.343876],[-160.487404,70.453415],[-159.649432,70.792985],[-159.33177,70.809416],[-159.298908,70.760123],[-158.975769,70.798462],[-158.658106,70.787508],[-158.033735,70.831323],[-157.420318,70.979201],[-156.812377,71.285909],[-156.565915,71.351633],[-156.522099,71.296863],[-155.585543,71.170894],[-155.508865,71.083263],[-155.832005,70.968247],[-155.979882,70.96277],[-155.974405,70.809416],[-155.503388,70.858708],[-155.476004,70.940862],[-155.262403,71.017539],[-155.191203,70.973724],[-155.032372,71.148986],[-154.566832,70.990155],[-154.643509,70.869662],[-154.353231,70.8368],[-154.183446,70.7656],[-153.931507,70.880616],[-153.487874,70.886093],[-153.235935,70.924431],[-152.589656,70.886093],[-152.26104,70.842277],[-152.419871,70.606769],[-151.817408,70.546523],[-151.773592,70.486276],[-151.187559,70.382214],[-151.182082,70.431507],[-150.760358,70.49723],[-150.355064,70.491753],[-150.349588,70.436984],[-150.114079,70.431507],[-149.867617,70.508184],[-149.462323,70.519138],[-149.177522,70.486276],[-148.78866,70.404122],[-148.607921,70.420553],[-148.350504,70.305537],[-148.202627,70.349353],[-147.961642,70.316491],[-147.786379,70.245291]]],[[[-152.94018,58.026237],[-152.945657,57.982421],[-153.290705,58.048145],[-153.044242,58.305561],[-152.819688,58.327469],[-152.666333,58.562977],[-152.496548,58.354853],[-152.354148,58.426053],[-152.080301,58.311038],[-152.080301,58.152206],[-152.480117,58.130299],[-152.655379,58.059098],[-152.94018,58.026237]]],[[[-153.958891,57.538789],[-153.67409,57.670236],[-153.931507,57.69762],[-153.936983,57.812636],[-153.723383,57.889313],[-153.570028,57.834544],[-153.548121,57.719528],[-153.46049,57.796205],[-153.455013,57.96599],[-153.268797,57.889313],[-153.235935,57.998852],[-153.071627,57.933129],[-152.874457,57.933129],[-152.721103,57.993375],[-152.469163,57.889313],[-152.469163,57.599035],[-152.151501,57.620943],[-152.359625,57.42925],[-152.74301,57.505928],[-152.60061,57.379958],[-152.710149,57.275896],[-152.907319,57.325188],[-152.912796,57.128019],[-153.214027,57.073249],[-153.312612,56.991095],[-153.498828,57.067772],[-153.695998,56.859649],[-153.849352,56.837741],[-154.013661,56.744633],[-154.073907,56.969187],[-154.303938,56.848695],[-154.314892,56.919895],[-154.523016,56.991095],[-154.539447,57.193742],[-154.742094,57.275896],[-154.627078,57.511404],[-154.227261,57.659282],[-153.980799,57.648328],[-153.958891,57.538789]]],[[[-154.53397,56.602232],[-154.742094,56.399586],[-154.807817,56.432447],[-154.53397,56.602232]]],[[[-155.634835,55.923092],[-155.476004,55.912138],[-155.530773,55.704014],[-155.793666,55.731399],[-155.837482,55.802599],[-155.634835,55.923092]]],[[[-159.890418,55.28229],[-159.950664,55.068689],[-160.257373,54.893427],[-160.109495,55.161797],[-160.005433,55.134412],[-159.890418,55.28229]]],[[[-160.520266,55.358967],[-160.33405,55.358967],[-160.339527,55.249428],[-160.525743,55.128935],[-160.690051,55.211089],[-160.794113,55.134412],[-160.854359,55.320628],[-160.79959,55.380875],[-160.520266,55.358967]]],[[[-162.256456,54.981058],[-162.234548,54.893427],[-162.349564,54.838658],[-162.437195,54.931766],[-162.256456,54.981058]]],[[[-162.415287,63.634624],[-162.563165,63.536039],[-162.612457,63.62367],[-162.415287,63.634624]]],[[[-162.80415,54.488133],[-162.590549,54.449795],[-162.612457,54.367641],[-162.782242,54.373118],[-162.80415,54.488133]]],[[[-165.548097,54.29644],[-165.476897,54.181425],[-165.630251,54.132132],[-165.685021,54.252625],[-165.548097,54.29644]]],[[[-165.73979,54.15404],[-166.046499,54.044501],[-166.112222,54.121178],[-165.980775,54.219763],[-165.73979,54.15404]]],[[[-166.364161,60.359413],[-166.13413,60.397752],[-166.084837,60.326552],[-165.88219,60.342983],[-165.685021,60.277259],[-165.646682,59.992458],[-165.750744,59.89935],[-166.00816,59.844581],[-166.062929,59.745996],[-166.440838,59.855535],[-166.6161,59.850058],[-166.994009,59.992458],[-167.125456,59.992458],[-167.344534,60.074613],[-167.421211,60.206059],[-167.311672,60.238921],[-166.93924,60.206059],[-166.763978,60.310121],[-166.577762,60.321075],[-166.495608,60.392275],[-166.364161,60.359413]]],[[[-166.375115,54.01164],[-166.210807,53.934962],[-166.5449,53.748746],[-166.539423,53.715885],[-166.117699,53.852808],[-166.112222,53.776131],[-166.282007,53.683023],[-166.555854,53.622777],[-166.583239,53.529669],[-166.878994,53.431084],[-167.13641,53.425607],[-167.306195,53.332499],[-167.623857,53.250345],[-167.793643,53.337976],[-167.459549,53.442038],[-167.355487,53.425607],[-167.103548,53.513238],[-167.163794,53.611823],[-167.021394,53.715885],[-166.807793,53.666592],[-166.785886,53.732316],[-167.015917,53.754223],[-167.141887,53.825424],[-167.032348,53.945916],[-166.643485,54.017116],[-166.561331,53.880193],[-166.375115,54.01164]]],[[[-168.790446,53.157237],[-168.40706,53.34893],[-168.385152,53.431084],[-168.237275,53.524192],[-168.007243,53.568007],[-167.886751,53.518715],[-167.842935,53.387268],[-168.270136,53.244868],[-168.500168,53.036744],[-168.686384,52.965544],[-168.790446,53.157237]]],[[[-169.74891,52.894344],[-169.705095,52.795759],[-169.962511,52.790282],[-169.989896,52.856005],[-169.74891,52.894344]]],[[[-170.148727,57.221127],[-170.28565,57.128019],[-170.313035,57.221127],[-170.148727,57.221127]]],[[[-170.669036,52.697174],[-170.603313,52.604066],[-170.789529,52.538343],[-170.816914,52.636928],[-170.669036,52.697174]]],[[[-171.742517,63.716778],[-170.94836,63.5689],[-170.488297,63.69487],[-170.280174,63.683916],[-170.093958,63.612716],[-170.044665,63.492223],[-169.644848,63.4265],[-169.518879,63.366254],[-168.99857,63.338869],[-168.686384,63.295053],[-168.856169,63.147176],[-169.108108,63.180038],[-169.376478,63.152653],[-169.513402,63.08693],[-169.639372,62.939052],[-169.831064,63.075976],[-170.055619,63.169084],[-170.263743,63.180038],[-170.362328,63.2841],[-170.866206,63.415546],[-171.101715,63.421023],[-171.463193,63.306007],[-171.73704,63.366254],[-171.852055,63.486746],[-171.742517,63.716778]]],[[[-172.432611,52.390465],[-172.41618,52.275449],[-172.607873,52.253542],[-172.569535,52.352127],[-172.432611,52.390465]]],[[[-173.626584,52.14948],[-173.495138,52.105664],[-173.122706,52.111141],[-173.106275,52.07828],[-173.549907,52.028987],[-173.626584,52.14948]]],[[[-174.322156,52.280926],[-174.327632,52.379511],[-174.185232,52.41785],[-173.982585,52.319265],[-174.059262,52.226157],[-174.179755,52.231634],[-174.141417,52.127572],[-174.333109,52.116618],[-174.738403,52.007079],[-174.968435,52.039941],[-174.902711,52.116618],[-174.656249,52.105664],[-174.322156,52.280926]]],[[[-176.469116,51.853725],[-176.288377,51.870156],[-176.288377,51.744186],[-176.518409,51.760617],[-176.80321,51.61274],[-176.912748,51.80991],[-176.792256,51.815386],[-176.775825,51.963264],[-176.627947,51.968741],[-176.627947,51.859202],[-176.469116,51.853725]]],[[[-177.153734,51.946833],[-177.044195,51.897541],[-177.120872,51.727755],[-177.274226,51.678463],[-177.279703,51.782525],[-177.153734,51.946833]]],[[[-178.123152,51.919448],[-177.953367,51.913971],[-177.800013,51.793479],[-177.964321,51.651078],[-178.123152,51.919448]]],[[[-186.892443,52.992929],[-186.706227,52.927205],[-186.695274,52.823143],[-187.09509,52.762897],[-187.357983,52.927205],[-187.357983,53.003883],[-186.892443,52.992929]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-109.042503,37.000263],[-109.04798,31.331629],[-111.074448,31.331629],[-112.246513,31.704061],[-114.815198,32.492741],[-114.72209,32.717295],[-114.524921,32.755634],[-114.470151,32.843265],[-114.524921,33.029481],[-114.661844,33.034958],[-114.727567,33.40739],[-114.524921,33.54979],[-114.497536,33.697668],[-114.535874,33.933176],[-114.415382,34.108438],[-114.256551,34.174162],[-114.136058,34.305608],[-114.333228,34.448009],[-114.470151,34.710902],[-114.634459,34.87521],[-114.634459,35.00118],[-114.574213,35.138103],[-114.596121,35.324319],[-114.678275,35.516012],[-114.738521,36.102045],[-114.371566,36.140383],[-114.251074,36.01989],[-114.152489,36.025367],[-114.048427,36.195153],[-114.048427,37.000263],[-110.499369,37.00574],[-109.042503,37.000263]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-94.473842,36.501861],[-90.152536,36.496384],[-90.064905,36.304691],[-90.218259,36.184199],[-90.377091,35.997983],[-89.730812,35.997983],[-89.763673,35.811767],[-89.911551,35.756997],[-89.944412,35.603643],[-90.130628,35.439335],[-90.114197,35.198349],[-90.212782,35.023087],[-90.311367,34.995703],[-90.251121,34.908072],[-90.409952,34.831394],[-90.481152,34.661609],[-90.585214,34.617794],[-90.568783,34.420624],[-90.749522,34.365854],[-90.744046,34.300131],[-90.952169,34.135823],[-90.891923,34.026284],[-91.072662,33.867453],[-91.231493,33.560744],[-91.056231,33.429298],[-91.143862,33.347144],[-91.089093,33.13902],[-91.16577,33.002096],[-93.608485,33.018527],[-94.041164,33.018527],[-94.041164,33.54979],[-94.183564,33.593606],[-94.380734,33.544313],[-94.484796,33.637421],[-94.430026,35.395519],[-94.616242,36.501861],[-94.473842,36.501861]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-123.233256,42.006186],[-122.378853,42.011663],[-121.037003,41.995232],[-120.001861,41.995232],[-119.996384,40.264519],[-120.001861,38.999346],[-118.71478,38.101128],[-117.498899,37.21934],[-116.540435,36.501861],[-115.85034,35.970598],[-114.634459,35.00118],[-114.634459,34.87521],[-114.470151,34.710902],[-114.333228,34.448009],[-114.136058,34.305608],[-114.256551,34.174162],[-114.415382,34.108438],[-114.535874,33.933176],[-114.497536,33.697668],[-114.524921,33.54979],[-114.727567,33.40739],[-114.661844,33.034958],[-114.524921,33.029481],[-114.470151,32.843265],[-114.524921,32.755634],[-114.72209,32.717295],[-116.04751,32.624187],[-117.126467,32.536556],[-117.24696,32.668003],[-117.252437,32.876127],[-117.329114,33.122589],[-117.471515,33.297851],[-117.7837,33.538836],[-118.183517,33.763391],[-118.260194,33.703145],[-118.413548,33.741483],[-118.391641,33.840068],[-118.566903,34.042715],[-118.802411,33.998899],[-119.218659,34.146777],[-119.278905,34.26727],[-119.558229,34.415147],[-119.875891,34.40967],[-120.138784,34.475393],[-120.472878,34.448009],[-120.64814,34.579455],[-120.609801,34.858779],[-120.670048,34.902595],[-120.631709,35.099764],[-120.894602,35.247642],[-120.905556,35.450289],[-121.004141,35.461243],[-121.168449,35.636505],[-121.283465,35.674843],[-121.332757,35.784382],[-121.716143,36.195153],[-121.896882,36.315645],[-121.935221,36.638785],[-121.858544,36.6114],[-121.787344,36.803093],[-121.929744,36.978355],[-122.105006,36.956447],[-122.335038,37.115279],[-122.417192,37.241248],[-122.400761,37.361741],[-122.515777,37.520572],[-122.515777,37.783465],[-122.329561,37.783465],[-122.406238,38.15042],[-122.488392,38.112082],[-122.504823,37.931343],[-122.701993,37.893004],[-122.937501,38.029928],[-122.97584,38.265436],[-123.129194,38.451652],[-123.331841,38.566668],[-123.44138,38.698114],[-123.737134,38.95553],[-123.687842,39.032208],[-123.824765,39.366301],[-123.764519,39.552517],[-123.85215,39.831841],[-124.109566,40.105688],[-124.361506,40.259042],[-124.410798,40.439781],[-124.158859,40.877937],[-124.109566,41.025814],[-124.158859,41.14083],[-124.065751,41.442061],[-124.147905,41.715908],[-124.257444,41.781632],[-124.213628,42.000709],[-123.233256,42.006186]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-107.919731,41.003906],[-105.728954,40.998429],[-104.053011,41.003906],[-102.053927,41.003906],[-102.053927,40.001626],[-102.042974,36.994786],[-103.001438,37.000263],[-104.337812,36.994786],[-106.868158,36.994786],[-107.421329,37.000263],[-109.042503,37.000263],[-109.042503,38.166851],[-109.058934,38.27639],[-109.053457,39.125316],[-109.04798,40.998429],[-107.919731,41.003906]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-73.053528,42.039048],[-71.799309,42.022617],[-71.799309,42.006186],[-71.799309,41.414677],[-71.859555,41.321569],[-71.947186,41.338],[-72.385341,41.261322],[-72.905651,41.28323],[-73.130205,41.146307],[-73.371191,41.102491],[-73.655992,40.987475],[-73.727192,41.102491],[-73.48073,41.21203],[-73.55193,41.294184],[-73.486206,42.050002],[-73.053528,42.039048]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-75.414089,39.804456],[-75.507197,39.683964],[-75.611259,39.61824],[-75.589352,39.459409],[-75.441474,39.311532],[-75.403136,39.065069],[-75.189535,38.807653],[-75.09095,38.796699],[-75.047134,38.451652],[-75.693413,38.462606],[-75.786521,39.722302],[-75.616736,39.831841],[-75.414089,39.804456]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-77.035264,38.993869],[-76.909294,38.895284],[-77.040741,38.791222],[-77.117418,38.933623],[-77.035264,38.993869]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-85.497137,30.997536],[-85.004212,31.003013],[-84.867289,30.712735],[-83.498053,30.647012],[-82.216449,30.570335],[-82.167157,30.356734],[-82.046664,30.362211],[-82.002849,30.564858],[-82.041187,30.751074],[-81.948079,30.827751],[-81.718048,30.745597],[-81.444201,30.707258],[-81.383954,30.27458],[-81.257985,29.787132],[-80.967707,29.14633],[-80.524075,28.461713],[-80.589798,28.41242],[-80.56789,28.094758],[-80.381674,27.738757],[-80.091397,27.021277],[-80.03115,26.796723],[-80.036627,26.566691],[-80.146166,25.739673],[-80.239274,25.723243],[-80.337859,25.465826],[-80.304997,25.383672],[-80.49669,25.197456],[-80.573367,25.241272],[-80.759583,25.164595],[-81.077246,25.120779],[-81.170354,25.224841],[-81.126538,25.378195],[-81.351093,25.821827],[-81.526355,25.903982],[-81.679709,25.843735],[-81.800202,26.090198],[-81.833064,26.292844],[-82.041187,26.517399],[-82.09048,26.665276],[-82.057618,26.878877],[-82.172634,26.917216],[-82.145249,26.791246],[-82.249311,26.758384],[-82.566974,27.300601],[-82.692943,27.437525],[-82.391711,27.837342],[-82.588881,27.815434],[-82.720328,27.689464],[-82.851774,27.886634],[-82.676512,28.434328],[-82.643651,28.888914],[-82.764143,28.998453],[-82.802482,29.14633],[-82.994175,29.179192],[-83.218729,29.420177],[-83.399469,29.518762],[-83.410422,29.66664],[-83.536392,29.721409],[-83.640454,29.885717],[-84.02384,30.104795],[-84.357933,30.055502],[-84.341502,29.902148],[-84.451041,29.929533],[-84.867289,29.743317],[-85.310921,29.699501],[-85.299967,29.80904],[-85.404029,29.940487],[-85.924338,30.236241],[-86.29677,30.362211],[-86.630863,30.395073],[-86.910187,30.373165],[-87.518128,30.280057],[-87.37025,30.427934],[-87.446927,30.510088],[-87.408589,30.674397],[-87.633143,30.86609],[-87.600282,30.997536],[-85.497137,30.997536]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-83.109191,35.00118],[-83.322791,34.787579],[-83.339222,34.683517],[-83.005129,34.469916],[-82.901067,34.486347],[-82.747713,34.26727],[-82.714851,34.152254],[-82.55602,33.94413],[-82.325988,33.81816],[-82.194542,33.631944],[-81.926172,33.462159],[-81.937125,33.347144],[-81.761863,33.160928],[-81.493493,33.007573],[-81.42777,32.843265],[-81.416816,32.629664],[-81.279893,32.558464],[-81.121061,32.290094],[-81.115584,32.120309],[-80.885553,32.032678],[-81.132015,31.693108],[-81.175831,31.517845],[-81.279893,31.364491],[-81.290846,31.20566],[-81.400385,31.13446],[-81.444201,30.707258],[-81.718048,30.745597],[-81.948079,30.827751],[-82.041187,30.751074],[-82.002849,30.564858],[-82.046664,30.362211],[-82.167157,30.356734],[-82.216449,30.570335],[-83.498053,30.647012],[-84.867289,30.712735],[-85.004212,31.003013],[-85.113751,31.27686],[-85.042551,31.539753],[-85.141136,31.840985],[-85.053504,32.01077],[-85.058981,32.13674],[-84.889196,32.262709],[-85.004212,32.322956],[-84.960397,32.421541],[-85.069935,32.580372],[-85.184951,32.859696],[-85.431413,34.124869],[-85.606675,34.984749],[-84.319594,34.990226],[-83.618546,34.984749],[-83.109191,35.00118]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-155.634835,18.948267],[-155.881297,19.035898],[-155.919636,19.123529],[-155.886774,19.348084],[-156.062036,19.73147],[-155.925113,19.857439],[-155.826528,20.032702],[-155.897728,20.147717],[-155.87582,20.26821],[-155.596496,20.12581],[-155.284311,20.021748],[-155.092618,19.868393],[-155.092618,19.736947],[-154.807817,19.523346],[-154.983079,19.348084],[-155.295265,19.26593],[-155.514342,19.134483],[-155.634835,18.948267]]],[[[-156.587823,21.029505],[-156.472807,20.892581],[-156.324929,20.952827],[-156.00179,20.793996],[-156.051082,20.651596],[-156.379699,20.580396],[-156.445422,20.60778],[-156.461853,20.783042],[-156.631638,20.821381],[-156.697361,20.919966],[-156.587823,21.029505]]],[[[-156.982162,21.210244],[-157.080747,21.106182],[-157.310779,21.106182],[-157.239579,21.221198],[-156.982162,21.210244]]],[[[-157.951581,21.697691],[-157.842042,21.462183],[-157.896811,21.325259],[-158.110412,21.303352],[-158.252813,21.582676],[-158.126843,21.588153],[-157.951581,21.697691]]],[[[-159.468693,22.228955],[-159.353678,22.218001],[-159.298908,22.113939],[-159.33177,21.966061],[-159.446786,21.872953],[-159.764448,21.987969],[-159.726109,22.152277],[-159.468693,22.228955]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-116.04751,49.000239],[-116.04751,47.976051],[-115.724371,47.696727],[-115.718894,47.42288],[-115.527201,47.302388],[-115.324554,47.258572],[-115.302646,47.187372],[-114.930214,46.919002],[-114.886399,46.809463],[-114.623506,46.705401],[-114.612552,46.639678],[-114.322274,46.645155],[-114.464674,46.272723],[-114.492059,46.037214],[-114.387997,45.88386],[-114.568736,45.774321],[-114.497536,45.670259],[-114.546828,45.560721],[-114.333228,45.456659],[-114.086765,45.593582],[-113.98818,45.703121],[-113.807441,45.604536],[-113.834826,45.522382],[-113.736241,45.330689],[-113.571933,45.128042],[-113.45144,45.056842],[-113.456917,44.865149],[-113.341901,44.782995],[-113.133778,44.772041],[-113.002331,44.448902],[-112.887315,44.394132],[-112.783254,44.48724],[-112.471068,44.481763],[-112.241036,44.569394],[-112.104113,44.520102],[-111.868605,44.563917],[-111.819312,44.509148],[-111.616665,44.547487],[-111.386634,44.75561],[-111.227803,44.580348],[-111.047063,44.476286],[-111.047063,42.000709],[-112.164359,41.995232],[-114.04295,41.995232],[-117.027882,42.000709],[-117.027882,43.830007],[-116.896436,44.158624],[-116.97859,44.240778],[-117.170283,44.257209],[-117.241483,44.394132],[-117.038836,44.750133],[-116.934774,44.782995],[-116.830713,44.930872],[-116.847143,45.02398],[-116.732128,45.144473],[-116.671881,45.319735],[-116.463758,45.61549],[-116.545912,45.752413],[-116.78142,45.823614],[-116.918344,45.993399],[-116.92382,46.168661],[-117.055267,46.343923],[-117.038836,46.426077],[-117.044313,47.762451],[-117.033359,49.000239],[-116.04751,49.000239]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-90.639984,42.510065],[-88.788778,42.493634],[-87.802929,42.493634],[-87.83579,42.301941],[-87.682436,42.077386],[-87.523605,41.710431],[-87.529082,39.34987],[-87.63862,39.169131],[-87.512651,38.95553],[-87.49622,38.780268],[-87.62219,38.637868],[-87.655051,38.506421],[-87.83579,38.292821],[-87.950806,38.27639],[-87.923421,38.15042],[-88.000098,38.101128],[-88.060345,37.865619],[-88.027483,37.799896],[-88.15893,37.657496],[-88.065822,37.482234],[-88.476592,37.389126],[-88.514931,37.285064],[-88.421823,37.153617],[-88.547792,37.071463],[-88.914747,37.224817],[-89.029763,37.213863],[-89.183118,37.038601],[-89.133825,36.983832],[-89.292656,36.994786],[-89.517211,37.279587],[-89.435057,37.34531],[-89.517211,37.537003],[-89.517211,37.690357],[-89.84035,37.903958],[-89.949889,37.88205],[-90.059428,38.013497],[-90.355183,38.216144],[-90.349706,38.374975],[-90.179921,38.632391],[-90.207305,38.725499],[-90.10872,38.845992],[-90.251121,38.917192],[-90.470199,38.961007],[-90.585214,38.867899],[-90.661891,38.928146],[-90.727615,39.256762],[-91.061708,39.470363],[-91.368417,39.727779],[-91.494386,40.034488],[-91.50534,40.237135],[-91.417709,40.379535],[-91.401278,40.560274],[-91.121954,40.669813],[-91.09457,40.823167],[-90.963123,40.921752],[-90.946692,41.097014],[-91.111001,41.239415],[-91.045277,41.414677],[-90.656414,41.463969],[-90.344229,41.589939],[-90.311367,41.743293],[-90.179921,41.809016],[-90.141582,42.000709],[-90.168967,42.126679],[-90.393521,42.225264],[-90.420906,42.329326],[-90.639984,42.510065]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-85.990061,41.759724],[-84.807042,41.759724],[-84.807042,41.694001],[-84.801565,40.500028],[-84.817996,39.103408],[-84.894673,39.059592],[-84.812519,38.785745],[-84.987781,38.780268],[-85.173997,38.68716],[-85.431413,38.730976],[-85.42046,38.533806],[-85.590245,38.451652],[-85.655968,38.325682],[-85.83123,38.27639],[-85.924338,38.024451],[-86.039354,37.958727],[-86.263908,38.051835],[-86.302247,38.166851],[-86.521325,38.040881],[-86.504894,37.931343],[-86.729448,37.893004],[-86.795172,37.991589],[-87.047111,37.893004],[-87.129265,37.788942],[-87.381204,37.93682],[-87.512651,37.903958],[-87.600282,37.975158],[-87.682436,37.903958],[-87.934375,37.893004],[-88.027483,37.799896],[-88.060345,37.865619],[-88.000098,38.101128],[-87.923421,38.15042],[-87.950806,38.27639],[-87.83579,38.292821],[-87.655051,38.506421],[-87.62219,38.637868],[-87.49622,38.780268],[-87.512651,38.95553],[-87.63862,39.169131],[-87.529082,39.34987],[-87.523605,41.710431],[-87.42502,41.644708],[-87.118311,41.644708],[-86.822556,41.759724],[-85.990061,41.759724]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-91.368417,43.501391],[-91.215062,43.501391],[-91.204109,43.353514],[-91.056231,43.254929],[-91.176724,43.134436],[-91.143862,42.909881],[-91.067185,42.75105],[-90.711184,42.636034],[-90.639984,42.510065],[-90.420906,42.329326],[-90.393521,42.225264],[-90.168967,42.126679],[-90.141582,42.000709],[-90.179921,41.809016],[-90.311367,41.743293],[-90.344229,41.589939],[-90.656414,41.463969],[-91.045277,41.414677],[-91.111001,41.239415],[-90.946692,41.097014],[-90.963123,40.921752],[-91.09457,40.823167],[-91.121954,40.669813],[-91.401278,40.560274],[-91.417709,40.379535],[-91.527248,40.412397],[-91.729895,40.615043],[-91.833957,40.609566],[-93.257961,40.582182],[-94.632673,40.571228],[-95.7664,40.587659],[-95.881416,40.719105],[-95.826646,40.976521],[-95.925231,41.201076],[-95.919754,41.453015],[-96.095016,41.540646],[-96.122401,41.67757],[-96.062155,41.798063],[-96.127878,41.973325],[-96.264801,42.039048],[-96.44554,42.488157],[-96.631756,42.707235],[-96.544125,42.855112],[-96.511264,43.052282],[-96.434587,43.123482],[-96.560556,43.222067],[-96.527695,43.397329],[-96.582464,43.479483],[-96.451017,43.501391],[-91.368417,43.501391]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-101.90605,40.001626],[-95.306337,40.001626],[-95.207752,39.908518],[-94.884612,39.831841],[-95.109167,39.541563],[-94.983197,39.442978],[-94.824366,39.20747],[-94.610765,39.158177],[-94.616242,37.000263],[-100.087706,37.000263],[-102.042974,36.994786],[-102.053927,40.001626],[-101.90605,40.001626]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-83.903347,38.769315],[-83.678792,38.632391],[-83.519961,38.703591],[-83.142052,38.626914],[-83.032514,38.725499],[-82.890113,38.758361],[-82.846298,38.588575],[-82.731282,38.561191],[-82.594358,38.424267],[-82.621743,38.123036],[-82.50125,37.931343],[-82.342419,37.783465],[-82.293127,37.668449],[-82.101434,37.553434],[-81.969987,37.537003],[-82.353373,37.268633],[-82.720328,37.120755],[-82.720328,37.044078],[-82.868205,36.978355],[-82.879159,36.890724],[-83.070852,36.852385],[-83.136575,36.742847],[-83.673316,36.600446],[-83.689746,36.584015],[-84.544149,36.594969],[-85.289013,36.627831],[-85.486183,36.616877],[-86.592525,36.655216],[-87.852221,36.633308],[-88.071299,36.677123],[-88.054868,36.496384],[-89.298133,36.507338],[-89.418626,36.496384],[-89.363857,36.622354],[-89.215979,36.578538],[-89.133825,36.983832],[-89.183118,37.038601],[-89.029763,37.213863],[-88.914747,37.224817],[-88.547792,37.071463],[-88.421823,37.153617],[-88.514931,37.285064],[-88.476592,37.389126],[-88.065822,37.482234],[-88.15893,37.657496],[-88.027483,37.799896],[-87.934375,37.893004],[-87.682436,37.903958],[-87.600282,37.975158],[-87.512651,37.903958],[-87.381204,37.93682],[-87.129265,37.788942],[-87.047111,37.893004],[-86.795172,37.991589],[-86.729448,37.893004],[-86.504894,37.931343],[-86.521325,38.040881],[-86.302247,38.166851],[-86.263908,38.051835],[-86.039354,37.958727],[-85.924338,38.024451],[-85.83123,38.27639],[-85.655968,38.325682],[-85.590245,38.451652],[-85.42046,38.533806],[-85.431413,38.730976],[-85.173997,38.68716],[-84.987781,38.780268],[-84.812519,38.785745],[-84.894673,39.059592],[-84.817996,39.103408],[-84.43461,39.103408],[-84.231963,38.895284],[-84.215533,38.807653],[-83.903347,38.769315]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-93.608485,33.018527],[-91.16577,33.002096],[-91.072662,32.887081],[-91.143862,32.843265],[-91.154816,32.640618],[-91.006939,32.514649],[-90.985031,32.218894],[-91.105524,31.988862],[-91.341032,31.846462],[-91.401278,31.621907],[-91.499863,31.643815],[-91.516294,31.27686],[-91.636787,31.265906],[-91.565587,31.068736],[-91.636787,30.997536],[-89.747242,30.997536],[-89.845827,30.66892],[-89.681519,30.449842],[-89.643181,30.285534],[-89.522688,30.181472],[-89.818443,30.044549],[-89.84035,29.945964],[-89.599365,29.88024],[-89.495303,30.039072],[-89.287179,29.88024],[-89.30361,29.754271],[-89.424103,29.699501],[-89.648657,29.748794],[-89.621273,29.655686],[-89.69795,29.513285],[-89.506257,29.387316],[-89.199548,29.348977],[-89.09001,29.2011],[-89.002379,29.179192],[-89.16121,29.009407],[-89.336472,29.042268],[-89.484349,29.217531],[-89.851304,29.310638],[-89.851304,29.480424],[-90.032043,29.425654],[-90.021089,29.283254],[-90.103244,29.151807],[-90.23469,29.129899],[-90.333275,29.277777],[-90.563307,29.283254],[-90.645461,29.129899],[-90.798815,29.086084],[-90.963123,29.179192],[-91.09457,29.190146],[-91.220539,29.436608],[-91.445094,29.546147],[-91.532725,29.529716],[-91.620356,29.73784],[-91.883249,29.710455],[-91.888726,29.836425],[-92.146142,29.715932],[-92.113281,29.622824],[-92.31045,29.535193],[-92.617159,29.579009],[-92.97316,29.715932],[-93.2251,29.776178],[-93.767317,29.726886],[-93.838517,29.688547],[-93.926148,29.787132],[-93.690639,30.143133],[-93.767317,30.334826],[-93.696116,30.438888],[-93.728978,30.575812],[-93.630393,30.679874],[-93.526331,30.93729],[-93.542762,31.15089],[-93.816609,31.556184],[-93.822086,31.775262],[-94.041164,31.994339],[-94.041164,33.018527],[-93.608485,33.018527]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-70.703921,43.057759],[-70.824413,43.128959],[-70.807983,43.227544],[-70.966814,43.34256],[-71.032537,44.657025],[-71.08183,45.303304],[-70.649151,45.440228],[-70.720352,45.511428],[-70.556043,45.664782],[-70.386258,45.735983],[-70.41912,45.796229],[-70.260289,45.889337],[-70.309581,46.064599],[-70.210996,46.327492],[-70.057642,46.415123],[-69.997395,46.694447],[-69.225147,47.461219],[-69.044408,47.428357],[-69.033454,47.242141],[-68.902007,47.176418],[-68.578868,47.285957],[-68.376221,47.285957],[-68.233821,47.357157],[-67.954497,47.198326],[-67.790188,47.066879],[-67.779235,45.944106],[-67.801142,45.675736],[-67.456095,45.604536],[-67.505388,45.48952],[-67.417757,45.379982],[-67.488957,45.281397],[-67.346556,45.128042],[-67.16034,45.160904],[-66.979601,44.804903],[-67.187725,44.646072],[-67.308218,44.706318],[-67.406803,44.596779],[-67.549203,44.624164],[-67.565634,44.531056],[-67.75185,44.54201],[-68.047605,44.328409],[-68.118805,44.476286],[-68.222867,44.48724],[-68.173574,44.328409],[-68.403606,44.251732],[-68.458375,44.377701],[-68.567914,44.311978],[-68.82533,44.311978],[-68.830807,44.459856],[-68.984161,44.426994],[-68.956777,44.322932],[-69.099177,44.103854],[-69.071793,44.043608],[-69.258008,43.923115],[-69.444224,43.966931],[-69.553763,43.840961],[-69.707118,43.82453],[-69.833087,43.720469],[-69.986442,43.742376],[-70.030257,43.851915],[-70.254812,43.676653],[-70.194565,43.567114],[-70.358873,43.528776],[-70.369827,43.435668],[-70.556043,43.320652],[-70.703921,43.057759]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-75.994645,37.95325],[-76.016553,37.95325],[-76.043938,37.95325],[-75.994645,37.95325]]],[[[-79.477979,39.722302],[-75.786521,39.722302],[-75.693413,38.462606],[-75.047134,38.451652],[-75.244304,38.029928],[-75.397659,38.013497],[-75.671506,37.95325],[-75.885106,37.909435],[-75.879629,38.073743],[-75.961783,38.139466],[-75.846768,38.210667],[-76.000122,38.374975],[-76.049415,38.303775],[-76.257538,38.320205],[-76.328738,38.500944],[-76.263015,38.500944],[-76.257538,38.736453],[-76.191815,38.829561],[-76.279446,39.147223],[-76.169907,39.333439],[-76.000122,39.366301],[-75.972737,39.557994],[-76.098707,39.536086],[-76.104184,39.437501],[-76.367077,39.311532],[-76.443754,39.196516],[-76.460185,38.906238],[-76.55877,38.769315],[-76.514954,38.539283],[-76.383508,38.380452],[-76.399939,38.259959],[-76.317785,38.139466],[-76.3616,38.057312],[-76.591632,38.216144],[-76.920248,38.292821],[-77.018833,38.446175],[-77.205049,38.358544],[-77.276249,38.479037],[-77.128372,38.632391],[-77.040741,38.791222],[-76.909294,38.895284],[-77.035264,38.993869],[-77.117418,38.933623],[-77.248864,39.026731],[-77.456988,39.076023],[-77.456988,39.223901],[-77.566527,39.306055],[-77.719881,39.322485],[-77.834897,39.601809],[-78.004682,39.601809],[-78.174467,39.694917],[-78.267575,39.61824],[-78.431884,39.623717],[-78.470222,39.514178],[-78.765977,39.585379],[-78.963147,39.437501],[-79.094593,39.470363],[-79.291763,39.300578],[-79.488933,39.20747],[-79.477979,39.722302]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-70.917521,42.887974],[-70.818936,42.871543],[-70.780598,42.696281],[-70.824413,42.55388],[-70.983245,42.422434],[-70.988722,42.269079],[-70.769644,42.247172],[-70.638197,42.08834],[-70.660105,41.962371],[-70.550566,41.929509],[-70.539613,41.814493],[-70.260289,41.715908],[-69.937149,41.809016],[-70.008349,41.672093],[-70.484843,41.5516],[-70.660105,41.546123],[-70.764167,41.639231],[-70.928475,41.611847],[-70.933952,41.540646],[-71.120168,41.496831],[-71.196845,41.67757],[-71.22423,41.710431],[-71.328292,41.781632],[-71.383061,42.01714],[-71.530939,42.01714],[-71.799309,42.006186],[-71.799309,42.022617],[-73.053528,42.039048],[-73.486206,42.050002],[-73.508114,42.08834],[-73.267129,42.745573],[-72.456542,42.729142],[-71.29543,42.696281],[-71.185891,42.789389],[-70.917521,42.887974]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-83.454238,41.732339],[-84.807042,41.694001],[-84.807042,41.759724],[-85.990061,41.759724],[-86.822556,41.759724],[-86.619909,41.891171],[-86.482986,42.115725],[-86.357016,42.252649],[-86.263908,42.444341],[-86.209139,42.718189],[-86.231047,43.013943],[-86.526801,43.594499],[-86.433693,43.813577],[-86.499417,44.07647],[-86.269385,44.34484],[-86.220093,44.569394],[-86.252954,44.689887],[-86.088646,44.73918],[-86.066738,44.903488],[-85.809322,44.947303],[-85.612152,45.128042],[-85.628583,44.766564],[-85.524521,44.750133],[-85.393075,44.930872],[-85.387598,45.237581],[-85.305444,45.314258],[-85.031597,45.363551],[-85.119228,45.577151],[-84.938489,45.75789],[-84.713934,45.768844],[-84.461995,45.653829],[-84.215533,45.637398],[-84.09504,45.494997],[-83.908824,45.484043],[-83.596638,45.352597],[-83.4871,45.358074],[-83.317314,45.144473],[-83.454238,45.029457],[-83.322791,44.88158],[-83.273499,44.711795],[-83.333745,44.339363],[-83.536392,44.246255],[-83.585684,44.054562],[-83.82667,43.988839],[-83.958116,43.758807],[-83.908824,43.671176],[-83.667839,43.589022],[-83.481623,43.714992],[-83.262545,43.972408],[-82.917498,44.070993],[-82.747713,43.994316],[-82.643651,43.851915],[-82.539589,43.435668],[-82.523158,43.227544],[-82.413619,42.975605],[-82.517681,42.614127],[-82.681989,42.559357],[-82.687466,42.690804],[-82.797005,42.652465],[-82.922975,42.351234],[-83.125621,42.236218],[-83.185868,42.006186],[-83.437807,41.814493],[-83.454238,41.732339]]],[[[-85.508091,45.730506],[-85.49166,45.610013],[-85.623106,45.588105],[-85.568337,45.75789],[-85.508091,45.730506]]],[[[-87.589328,45.095181],[-87.742682,45.199243],[-87.649574,45.341643],[-87.885083,45.363551],[-87.791975,45.500474],[-87.781021,45.675736],[-87.989145,45.796229],[-88.10416,45.922199],[-88.531362,46.020784],[-88.662808,45.987922],[-89.09001,46.135799],[-90.119674,46.338446],[-90.229213,46.508231],[-90.415429,46.568478],[-90.026566,46.672539],[-89.851304,46.793032],[-89.413149,46.842325],[-89.128348,46.990202],[-88.996902,46.995679],[-88.887363,47.099741],[-88.575177,47.247618],[-88.416346,47.373588],[-88.180837,47.455742],[-87.956283,47.384542],[-88.350623,47.077833],[-88.443731,46.973771],[-88.438254,46.787555],[-88.246561,46.929956],[-87.901513,46.908048],[-87.633143,46.809463],[-87.392158,46.535616],[-87.260711,46.486323],[-87.008772,46.530139],[-86.948526,46.469893],[-86.696587,46.437031],[-86.159846,46.667063],[-85.880522,46.68897],[-85.508091,46.678016],[-85.256151,46.754694],[-85.064458,46.760171],[-85.02612,46.480847],[-84.82895,46.442508],[-84.63178,46.486323],[-84.549626,46.4206],[-84.418179,46.502754],[-84.127902,46.530139],[-84.122425,46.179615],[-83.990978,46.031737],[-83.793808,45.993399],[-83.7719,46.091984],[-83.580208,46.091984],[-83.476146,45.987922],[-83.563777,45.911245],[-84.111471,45.976968],[-84.374364,45.933153],[-84.659165,46.053645],[-84.741319,45.944106],[-84.70298,45.850998],[-84.82895,45.872906],[-85.015166,46.00983],[-85.338305,46.091984],[-85.502614,46.097461],[-85.661445,45.966014],[-85.924338,45.933153],[-86.209139,45.960537],[-86.324155,45.905768],[-86.351539,45.796229],[-86.663725,45.703121],[-86.647294,45.834568],[-86.784218,45.861952],[-86.838987,45.725029],[-87.069019,45.719552],[-87.17308,45.659305],[-87.326435,45.423797],[-87.611236,45.122565],[-87.589328,45.095181]]],[[[-88.805209,47.976051],[-89.057148,47.850082],[-89.188594,47.833651],[-89.177641,47.937713],[-88.547792,48.173221],[-88.668285,48.008913],[-88.805209,47.976051]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-92.014696,46.705401],[-92.091373,46.749217],[-92.29402,46.667063],[-92.29402,46.075553],[-92.354266,46.015307],[-92.639067,45.933153],[-92.869098,45.719552],[-92.885529,45.577151],[-92.770513,45.566198],[-92.644544,45.440228],[-92.75956,45.286874],[-92.737652,45.117088],[-92.808852,44.750133],[-92.545959,44.569394],[-92.337835,44.552964],[-92.233773,44.443425],[-91.927065,44.333886],[-91.877772,44.202439],[-91.592971,44.032654],[-91.43414,43.994316],[-91.242447,43.775238],[-91.269832,43.616407],[-91.215062,43.501391],[-91.368417,43.501391],[-96.451017,43.501391],[-96.451017,45.297827],[-96.681049,45.412843],[-96.856311,45.604536],[-96.582464,45.818137],[-96.560556,45.933153],[-96.598895,46.332969],[-96.719387,46.437031],[-96.801542,46.656109],[-96.785111,46.924479],[-96.823449,46.968294],[-96.856311,47.609096],[-97.053481,47.948667],[-97.130158,48.140359],[-97.16302,48.545653],[-97.097296,48.682577],[-97.228743,49.000239],[-95.152983,49.000239],[-95.152983,49.383625],[-94.955813,49.372671],[-94.824366,49.295994],[-94.69292,48.775685],[-94.588858,48.715438],[-94.260241,48.699007],[-94.221903,48.649715],[-93.838517,48.627807],[-93.794701,48.518268],[-93.466085,48.545653],[-93.466085,48.589469],[-93.208669,48.644238],[-92.984114,48.62233],[-92.726698,48.540176],[-92.655498,48.436114],[-92.50762,48.447068],[-92.370697,48.222514],[-92.304974,48.315622],[-92.053034,48.359437],[-92.009219,48.266329],[-91.713464,48.200606],[-91.713464,48.112975],[-91.565587,48.041775],[-91.264355,48.080113],[-91.083616,48.178698],[-90.837154,48.238944],[-90.749522,48.091067],[-90.579737,48.123929],[-90.377091,48.091067],[-90.141582,48.112975],[-89.873212,47.987005],[-89.615796,48.008913],[-89.637704,47.954144],[-89.971797,47.828174],[-90.437337,47.729589],[-90.738569,47.625527],[-91.171247,47.368111],[-91.357463,47.20928],[-91.642264,47.028541],[-92.091373,46.787555],[-92.014696,46.705401]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-88.471115,34.995703],[-88.202745,34.995703],[-88.098683,34.891641],[-88.241084,33.796253],[-88.471115,31.895754],[-88.394438,30.367688],[-88.503977,30.323872],[-88.744962,30.34578],[-88.843547,30.411504],[-89.084533,30.367688],[-89.418626,30.252672],[-89.522688,30.181472],[-89.643181,30.285534],[-89.681519,30.449842],[-89.845827,30.66892],[-89.747242,30.997536],[-91.636787,30.997536],[-91.565587,31.068736],[-91.636787,31.265906],[-91.516294,31.27686],[-91.499863,31.643815],[-91.401278,31.621907],[-91.341032,31.846462],[-91.105524,31.988862],[-90.985031,32.218894],[-91.006939,32.514649],[-91.154816,32.640618],[-91.143862,32.843265],[-91.072662,32.887081],[-91.16577,33.002096],[-91.089093,33.13902],[-91.143862,33.347144],[-91.056231,33.429298],[-91.231493,33.560744],[-91.072662,33.867453],[-90.891923,34.026284],[-90.952169,34.135823],[-90.744046,34.300131],[-90.749522,34.365854],[-90.568783,34.420624],[-90.585214,34.617794],[-90.481152,34.661609],[-90.409952,34.831394],[-90.251121,34.908072],[-90.311367,34.995703],[-88.471115,34.995703]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-91.833957,40.609566],[-91.729895,40.615043],[-91.527248,40.412397],[-91.417709,40.379535],[-91.50534,40.237135],[-91.494386,40.034488],[-91.368417,39.727779],[-91.061708,39.470363],[-90.727615,39.256762],[-90.661891,38.928146],[-90.585214,38.867899],[-90.470199,38.961007],[-90.251121,38.917192],[-90.10872,38.845992],[-90.207305,38.725499],[-90.179921,38.632391],[-90.349706,38.374975],[-90.355183,38.216144],[-90.059428,38.013497],[-89.949889,37.88205],[-89.84035,37.903958],[-89.517211,37.690357],[-89.517211,37.537003],[-89.435057,37.34531],[-89.517211,37.279587],[-89.292656,36.994786],[-89.133825,36.983832],[-89.215979,36.578538],[-89.363857,36.622354],[-89.418626,36.496384],[-89.484349,36.496384],[-89.539119,36.496384],[-89.533642,36.249922],[-89.730812,35.997983],[-90.377091,35.997983],[-90.218259,36.184199],[-90.064905,36.304691],[-90.152536,36.496384],[-94.473842,36.501861],[-94.616242,36.501861],[-94.616242,37.000263],[-94.610765,39.158177],[-94.824366,39.20747],[-94.983197,39.442978],[-95.109167,39.541563],[-94.884612,39.831841],[-95.207752,39.908518],[-95.306337,40.001626],[-95.552799,40.264519],[-95.7664,40.587659],[-94.632673,40.571228],[-93.257961,40.582182],[-91.833957,40.609566]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-104.047534,49.000239],[-104.042057,47.861036],[-104.047534,45.944106],[-104.042057,44.996596],[-104.058488,44.996596],[-105.91517,45.002073],[-109.080842,45.002073],[-111.05254,45.002073],[-111.047063,44.476286],[-111.227803,44.580348],[-111.386634,44.75561],[-111.616665,44.547487],[-111.819312,44.509148],[-111.868605,44.563917],[-112.104113,44.520102],[-112.241036,44.569394],[-112.471068,44.481763],[-112.783254,44.48724],[-112.887315,44.394132],[-113.002331,44.448902],[-113.133778,44.772041],[-113.341901,44.782995],[-113.456917,44.865149],[-113.45144,45.056842],[-113.571933,45.128042],[-113.736241,45.330689],[-113.834826,45.522382],[-113.807441,45.604536],[-113.98818,45.703121],[-114.086765,45.593582],[-114.333228,45.456659],[-114.546828,45.560721],[-114.497536,45.670259],[-114.568736,45.774321],[-114.387997,45.88386],[-114.492059,46.037214],[-114.464674,46.272723],[-114.322274,46.645155],[-114.612552,46.639678],[-114.623506,46.705401],[-114.886399,46.809463],[-114.930214,46.919002],[-115.302646,47.187372],[-115.324554,47.258572],[-115.527201,47.302388],[-115.718894,47.42288],[-115.724371,47.696727],[-116.04751,47.976051],[-116.04751,49.000239],[-111.50165,48.994762],[-109.453274,49.000239],[-104.047534,49.000239]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-103.324578,43.002989],[-101.626726,42.997512],[-98.499393,42.997512],[-98.466531,42.94822],[-97.951699,42.767481],[-97.831206,42.866066],[-97.688806,42.844158],[-97.217789,42.844158],[-96.692003,42.657942],[-96.626279,42.515542],[-96.44554,42.488157],[-96.264801,42.039048],[-96.127878,41.973325],[-96.062155,41.798063],[-96.122401,41.67757],[-96.095016,41.540646],[-95.919754,41.453015],[-95.925231,41.201076],[-95.826646,40.976521],[-95.881416,40.719105],[-95.7664,40.587659],[-95.552799,40.264519],[-95.306337,40.001626],[-101.90605,40.001626],[-102.053927,40.001626],[-102.053927,41.003906],[-104.053011,41.003906],[-104.053011,43.002989],[-103.324578,43.002989]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-117.027882,42.000709],[-114.04295,41.995232],[-114.048427,37.000263],[-114.048427,36.195153],[-114.152489,36.025367],[-114.251074,36.01989],[-114.371566,36.140383],[-114.738521,36.102045],[-114.678275,35.516012],[-114.596121,35.324319],[-114.574213,35.138103],[-114.634459,35.00118],[-115.85034,35.970598],[-116.540435,36.501861],[-117.498899,37.21934],[-118.71478,38.101128],[-120.001861,38.999346],[-119.996384,40.264519],[-120.001861,41.995232],[-118.698349,41.989755],[-117.027882,42.000709]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-71.08183,45.303304],[-71.032537,44.657025],[-70.966814,43.34256],[-70.807983,43.227544],[-70.824413,43.128959],[-70.703921,43.057759],[-70.818936,42.871543],[-70.917521,42.887974],[-71.185891,42.789389],[-71.29543,42.696281],[-72.456542,42.729142],[-72.544173,42.80582],[-72.533219,42.953697],[-72.445588,43.008466],[-72.456542,43.150867],[-72.379864,43.572591],[-72.204602,43.769761],[-72.116971,43.994316],[-72.02934,44.07647],[-72.034817,44.322932],[-71.700724,44.41604],[-71.536416,44.585825],[-71.629524,44.750133],[-71.4926,44.914442],[-71.503554,45.013027],[-71.361154,45.270443],[-71.131122,45.243058],[-71.08183,45.303304]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-74.236547,41.14083],[-73.902454,40.998429],[-74.022947,40.708151],[-74.187255,40.642428],[-74.274886,40.489074],[-74.001039,40.412397],[-73.979131,40.297381],[-74.099624,39.760641],[-74.411809,39.360824],[-74.614456,39.245808],[-74.795195,38.993869],[-74.888303,39.158177],[-75.178581,39.240331],[-75.534582,39.459409],[-75.55649,39.607286],[-75.561967,39.629194],[-75.507197,39.683964],[-75.414089,39.804456],[-75.145719,39.88661],[-75.129289,39.963288],[-74.82258,40.127596],[-74.773287,40.215227],[-75.058088,40.417874],[-75.069042,40.543843],[-75.195012,40.576705],[-75.205966,40.691721],[-75.052611,40.866983],[-75.134765,40.971045],[-74.882826,41.179168],[-74.828057,41.288707],[-74.69661,41.359907],[-74.236547,41.14083]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-107.421329,37.000263],[-106.868158,36.994786],[-104.337812,36.994786],[-103.001438,37.000263],[-103.001438,36.501861],[-103.039777,36.501861],[-103.045254,34.01533],[-103.067161,33.002096],[-103.067161,31.999816],[-106.616219,31.999816],[-106.643603,31.901231],[-106.528588,31.786216],[-108.210008,31.786216],[-108.210008,31.331629],[-109.04798,31.331629],[-109.042503,37.000263],[-107.421329,37.000263]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-73.343806,45.013027],[-73.332852,44.804903],[-73.387622,44.618687],[-73.294514,44.437948],[-73.321898,44.246255],[-73.436914,44.043608],[-73.349283,43.769761],[-73.404052,43.687607],[-73.245221,43.523299],[-73.278083,42.833204],[-73.267129,42.745573],[-73.508114,42.08834],[-73.486206,42.050002],[-73.55193,41.294184],[-73.48073,41.21203],[-73.727192,41.102491],[-73.655992,40.987475],[-73.22879,40.905321],[-73.141159,40.965568],[-72.774204,40.965568],[-72.587988,40.998429],[-72.28128,41.157261],[-72.259372,41.042245],[-72.100541,40.992952],[-72.467496,40.845075],[-73.239744,40.625997],[-73.562884,40.582182],[-73.776484,40.593136],[-73.935316,40.543843],[-74.022947,40.708151],[-73.902454,40.998429],[-74.236547,41.14083],[-74.69661,41.359907],[-74.740426,41.431108],[-74.89378,41.436584],[-75.074519,41.60637],[-75.052611,41.754247],[-75.173104,41.869263],[-75.249781,41.863786],[-75.35932,42.000709],[-79.76278,42.000709],[-79.76278,42.252649],[-79.76278,42.269079],[-79.149363,42.55388],[-79.050778,42.690804],[-78.853608,42.783912],[-78.930285,42.953697],[-79.012439,42.986559],[-79.072686,43.260406],[-78.486653,43.375421],[-77.966344,43.369944],[-77.75822,43.34256],[-77.533665,43.233021],[-77.391265,43.276836],[-76.958587,43.271359],[-76.695693,43.34256],[-76.41637,43.523299],[-76.235631,43.528776],[-76.230154,43.802623],[-76.137046,43.961454],[-76.3616,44.070993],[-76.312308,44.196962],[-75.912491,44.366748],[-75.764614,44.514625],[-75.282643,44.848718],[-74.828057,45.018503],[-74.148916,44.991119],[-73.343806,45.013027]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-80.978661,36.562108],[-80.294043,36.545677],[-79.510841,36.5402],[-75.868676,36.551154],[-75.75366,36.151337],[-76.032984,36.189676],[-76.071322,36.140383],[-76.410893,36.080137],[-76.460185,36.025367],[-76.68474,36.008937],[-76.673786,35.937736],[-76.399939,35.987029],[-76.3616,35.943213],[-76.060368,35.992506],[-75.961783,35.899398],[-75.781044,35.937736],[-75.715321,35.696751],[-75.775568,35.581735],[-75.89606,35.570781],[-76.147999,35.324319],[-76.482093,35.313365],[-76.536862,35.14358],[-76.394462,34.973795],[-76.279446,34.940933],[-76.493047,34.661609],[-76.673786,34.694471],[-76.991448,34.667086],[-77.210526,34.60684],[-77.555573,34.415147],[-77.82942,34.163208],[-77.971821,33.845545],[-78.179944,33.916745],[-78.541422,33.851022],[-79.675149,34.80401],[-80.797922,34.820441],[-80.781491,34.935456],[-80.934845,35.105241],[-81.038907,35.044995],[-81.044384,35.149057],[-82.276696,35.198349],[-82.550543,35.160011],[-82.764143,35.066903],[-83.109191,35.00118],[-83.618546,34.984749],[-84.319594,34.990226],[-84.29221,35.225734],[-84.09504,35.247642],[-84.018363,35.41195],[-83.7719,35.559827],[-83.498053,35.565304],[-83.251591,35.718659],[-82.994175,35.773428],[-82.775097,35.997983],[-82.638174,36.063706],[-82.610789,35.965121],[-82.216449,36.156814],[-82.03571,36.118475],[-81.909741,36.304691],[-81.723525,36.353984],[-81.679709,36.589492],[-80.978661,36.562108]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-97.228743,49.000239],[-97.097296,48.682577],[-97.16302,48.545653],[-97.130158,48.140359],[-97.053481,47.948667],[-96.856311,47.609096],[-96.823449,46.968294],[-96.785111,46.924479],[-96.801542,46.656109],[-96.719387,46.437031],[-96.598895,46.332969],[-96.560556,45.933153],[-104.047534,45.944106],[-104.042057,47.861036],[-104.047534,49.000239],[-97.228743,49.000239]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-80.518598,41.978802],[-80.518598,40.636951],[-80.666475,40.582182],[-80.595275,40.472643],[-80.600752,40.319289],[-80.737675,40.078303],[-80.830783,39.711348],[-81.219646,39.388209],[-81.345616,39.344393],[-81.455155,39.410117],[-81.57017,39.267716],[-81.685186,39.273193],[-81.811156,39.0815],[-81.783771,38.966484],[-81.887833,38.873376],[-82.03571,39.026731],[-82.221926,38.785745],[-82.172634,38.632391],[-82.293127,38.577622],[-82.331465,38.446175],[-82.594358,38.424267],[-82.731282,38.561191],[-82.846298,38.588575],[-82.890113,38.758361],[-83.032514,38.725499],[-83.142052,38.626914],[-83.519961,38.703591],[-83.678792,38.632391],[-83.903347,38.769315],[-84.215533,38.807653],[-84.231963,38.895284],[-84.43461,39.103408],[-84.817996,39.103408],[-84.801565,40.500028],[-84.807042,41.694001],[-83.454238,41.732339],[-83.065375,41.595416],[-82.933929,41.513262],[-82.835344,41.589939],[-82.616266,41.431108],[-82.479343,41.381815],[-82.013803,41.513262],[-81.739956,41.485877],[-81.444201,41.672093],[-81.011523,41.852832],[-80.518598,41.978802],[-80.518598,41.978802]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-100.087706,37.000263],[-94.616242,37.000263],[-94.616242,36.501861],[-94.430026,35.395519],[-94.484796,33.637421],[-94.868182,33.74696],[-94.966767,33.861976],[-95.224183,33.960561],[-95.289906,33.87293],[-95.547322,33.878407],[-95.602092,33.933176],[-95.8376,33.834591],[-95.936185,33.889361],[-96.149786,33.840068],[-96.346956,33.686714],[-96.423633,33.774345],[-96.631756,33.845545],[-96.850834,33.845545],[-96.922034,33.960561],[-97.173974,33.736006],[-97.256128,33.861976],[-97.371143,33.823637],[-97.458774,33.905791],[-97.694283,33.982469],[-97.869545,33.851022],[-97.946222,33.987946],[-98.088623,34.004376],[-98.170777,34.113915],[-98.36247,34.157731],[-98.488439,34.064623],[-98.570593,34.146777],[-98.767763,34.135823],[-98.986841,34.223454],[-99.189488,34.2125],[-99.260688,34.404193],[-99.57835,34.415147],[-99.698843,34.382285],[-99.923398,34.573978],[-100.000075,34.563024],[-100.000075,36.501861],[-101.812942,36.501861],[-103.001438,36.501861],[-103.001438,37.000263],[-102.042974,36.994786],[-100.087706,37.000263]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-123.211348,46.174138],[-123.11824,46.185092],[-122.904639,46.08103],[-122.811531,45.960537],[-122.762239,45.659305],[-122.247407,45.549767],[-121.809251,45.708598],[-121.535404,45.725029],[-121.217742,45.670259],[-121.18488,45.604536],[-120.637186,45.746937],[-120.505739,45.697644],[-120.209985,45.725029],[-119.963522,45.823614],[-119.525367,45.911245],[-119.125551,45.933153],[-118.988627,45.998876],[-116.918344,45.993399],[-116.78142,45.823614],[-116.545912,45.752413],[-116.463758,45.61549],[-116.671881,45.319735],[-116.732128,45.144473],[-116.847143,45.02398],[-116.830713,44.930872],[-116.934774,44.782995],[-117.038836,44.750133],[-117.241483,44.394132],[-117.170283,44.257209],[-116.97859,44.240778],[-116.896436,44.158624],[-117.027882,43.830007],[-117.027882,42.000709],[-118.698349,41.989755],[-120.001861,41.995232],[-121.037003,41.995232],[-122.378853,42.011663],[-123.233256,42.006186],[-124.213628,42.000709],[-124.356029,42.115725],[-124.432706,42.438865],[-124.416275,42.663419],[-124.553198,42.838681],[-124.454613,43.002989],[-124.383413,43.271359],[-124.235536,43.55616],[-124.169813,43.8081],[-124.060274,44.657025],[-124.076705,44.772041],[-123.97812,45.144473],[-123.939781,45.659305],[-123.994551,45.944106],[-123.945258,46.113892],[-123.545441,46.261769],[-123.370179,46.146753],[-123.211348,46.174138]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-79.76278,42.252649],[-79.76278,42.000709],[-75.35932,42.000709],[-75.249781,41.863786],[-75.173104,41.869263],[-75.052611,41.754247],[-75.074519,41.60637],[-74.89378,41.436584],[-74.740426,41.431108],[-74.69661,41.359907],[-74.828057,41.288707],[-74.882826,41.179168],[-75.134765,40.971045],[-75.052611,40.866983],[-75.205966,40.691721],[-75.195012,40.576705],[-75.069042,40.543843],[-75.058088,40.417874],[-74.773287,40.215227],[-74.82258,40.127596],[-75.129289,39.963288],[-75.145719,39.88661],[-75.414089,39.804456],[-75.616736,39.831841],[-75.786521,39.722302],[-79.477979,39.722302],[-80.518598,39.722302],[-80.518598,40.636951],[-80.518598,41.978802],[-80.518598,41.978802],[-80.332382,42.033571],[-79.76278,42.269079],[-79.76278,42.252649]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-71.196845,41.67757],[-71.120168,41.496831],[-71.317338,41.474923],[-71.196845,41.67757]]],[[[-71.530939,42.01714],[-71.383061,42.01714],[-71.328292,41.781632],[-71.22423,41.710431],[-71.344723,41.726862],[-71.448785,41.578985],[-71.481646,41.370861],[-71.859555,41.321569],[-71.799309,41.414677],[-71.799309,42.006186],[-71.530939,42.01714]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-82.764143,35.066903],[-82.550543,35.160011],[-82.276696,35.198349],[-81.044384,35.149057],[-81.038907,35.044995],[-80.934845,35.105241],[-80.781491,34.935456],[-80.797922,34.820441],[-79.675149,34.80401],[-78.541422,33.851022],[-78.716684,33.80173],[-78.935762,33.637421],[-79.149363,33.380005],[-79.187701,33.171881],[-79.357487,33.007573],[-79.582041,33.007573],[-79.631334,32.887081],[-79.866842,32.755634],[-79.998289,32.613234],[-80.206412,32.552987],[-80.430967,32.399633],[-80.452875,32.328433],[-80.660998,32.246279],[-80.885553,32.032678],[-81.115584,32.120309],[-81.121061,32.290094],[-81.279893,32.558464],[-81.416816,32.629664],[-81.42777,32.843265],[-81.493493,33.007573],[-81.761863,33.160928],[-81.937125,33.347144],[-81.926172,33.462159],[-82.194542,33.631944],[-82.325988,33.81816],[-82.55602,33.94413],[-82.714851,34.152254],[-82.747713,34.26727],[-82.901067,34.486347],[-83.005129,34.469916],[-83.339222,34.683517],[-83.322791,34.787579],[-83.109191,35.00118],[-82.764143,35.066903]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-104.047534,45.944106],[-96.560556,45.933153],[-96.582464,45.818137],[-96.856311,45.604536],[-96.681049,45.412843],[-96.451017,45.297827],[-96.451017,43.501391],[-96.582464,43.479483],[-96.527695,43.397329],[-96.560556,43.222067],[-96.434587,43.123482],[-96.511264,43.052282],[-96.544125,42.855112],[-96.631756,42.707235],[-96.44554,42.488157],[-96.626279,42.515542],[-96.692003,42.657942],[-97.217789,42.844158],[-97.688806,42.844158],[-97.831206,42.866066],[-97.951699,42.767481],[-98.466531,42.94822],[-98.499393,42.997512],[-101.626726,42.997512],[-103.324578,43.002989],[-104.053011,43.002989],[-104.058488,44.996596],[-104.042057,44.996596],[-104.047534,45.944106]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-88.054868,36.496384],[-88.071299,36.677123],[-87.852221,36.633308],[-86.592525,36.655216],[-85.486183,36.616877],[-85.289013,36.627831],[-84.544149,36.594969],[-83.689746,36.584015],[-83.673316,36.600446],[-81.679709,36.589492],[-81.723525,36.353984],[-81.909741,36.304691],[-82.03571,36.118475],[-82.216449,36.156814],[-82.610789,35.965121],[-82.638174,36.063706],[-82.775097,35.997983],[-82.994175,35.773428],[-83.251591,35.718659],[-83.498053,35.565304],[-83.7719,35.559827],[-84.018363,35.41195],[-84.09504,35.247642],[-84.29221,35.225734],[-84.319594,34.990226],[-85.606675,34.984749],[-87.359296,35.00118],[-88.202745,34.995703],[-88.471115,34.995703],[-90.311367,34.995703],[-90.212782,35.023087],[-90.114197,35.198349],[-90.130628,35.439335],[-89.944412,35.603643],[-89.911551,35.756997],[-89.763673,35.811767],[-89.730812,35.997983],[-89.533642,36.249922],[-89.539119,36.496384],[-89.484349,36.496384],[-89.418626,36.496384],[-89.298133,36.507338],[-88.054868,36.496384]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-101.812942,36.501861],[-100.000075,36.501861],[-100.000075,34.563024],[-99.923398,34.573978],[-99.698843,34.382285],[-99.57835,34.415147],[-99.260688,34.404193],[-99.189488,34.2125],[-98.986841,34.223454],[-98.767763,34.135823],[-98.570593,34.146777],[-98.488439,34.064623],[-98.36247,34.157731],[-98.170777,34.113915],[-98.088623,34.004376],[-97.946222,33.987946],[-97.869545,33.851022],[-97.694283,33.982469],[-97.458774,33.905791],[-97.371143,33.823637],[-97.256128,33.861976],[-97.173974,33.736006],[-96.922034,33.960561],[-96.850834,33.845545],[-96.631756,33.845545],[-96.423633,33.774345],[-96.346956,33.686714],[-96.149786,33.840068],[-95.936185,33.889361],[-95.8376,33.834591],[-95.602092,33.933176],[-95.547322,33.878407],[-95.289906,33.87293],[-95.224183,33.960561],[-94.966767,33.861976],[-94.868182,33.74696],[-94.484796,33.637421],[-94.380734,33.544313],[-94.183564,33.593606],[-94.041164,33.54979],[-94.041164,33.018527],[-94.041164,31.994339],[-93.822086,31.775262],[-93.816609,31.556184],[-93.542762,31.15089],[-93.526331,30.93729],[-93.630393,30.679874],[-93.728978,30.575812],[-93.696116,30.438888],[-93.767317,30.334826],[-93.690639,30.143133],[-93.926148,29.787132],[-93.838517,29.688547],[-94.002825,29.68307],[-94.523134,29.546147],[-94.70935,29.622824],[-94.742212,29.787132],[-94.873659,29.672117],[-94.966767,29.699501],[-95.016059,29.557101],[-94.911997,29.496854],[-94.895566,29.310638],[-95.081782,29.113469],[-95.383014,28.867006],[-95.985477,28.604113],[-96.045724,28.647929],[-96.226463,28.582205],[-96.23194,28.642452],[-96.478402,28.598636],[-96.593418,28.724606],[-96.664618,28.697221],[-96.401725,28.439805],[-96.593418,28.357651],[-96.774157,28.406943],[-96.801542,28.226204],[-97.026096,28.039988],[-97.256128,27.694941],[-97.404005,27.333463],[-97.513544,27.360848],[-97.540929,27.229401],[-97.425913,27.262263],[-97.480682,26.99937],[-97.557359,26.988416],[-97.562836,26.840538],[-97.469728,26.758384],[-97.442344,26.457153],[-97.332805,26.353091],[-97.30542,26.161398],[-97.217789,25.991613],[-97.524498,25.887551],[-97.650467,26.018997],[-97.885976,26.06829],[-98.198161,26.057336],[-98.466531,26.221644],[-98.669178,26.238075],[-98.822533,26.369522],[-99.030656,26.413337],[-99.173057,26.539307],[-99.266165,26.840538],[-99.446904,27.021277],[-99.424996,27.174632],[-99.50715,27.33894],[-99.479765,27.48134],[-99.605735,27.640172],[-99.709797,27.656603],[-99.879582,27.799003],[-99.934351,27.979742],[-100.082229,28.14405],[-100.29583,28.280974],[-100.399891,28.582205],[-100.498476,28.66436],[-100.629923,28.905345],[-100.673738,29.102515],[-100.799708,29.244915],[-101.013309,29.370885],[-101.062601,29.458516],[-101.259771,29.535193],[-101.413125,29.754271],[-101.851281,29.803563],[-102.114174,29.792609],[-102.338728,29.869286],[-102.388021,29.765225],[-102.629006,29.732363],[-102.809745,29.524239],[-102.919284,29.190146],[-102.97953,29.184669],[-103.116454,28.987499],[-103.280762,28.982022],[-103.527224,29.135376],[-104.146119,29.381839],[-104.266611,29.513285],[-104.507597,29.639255],[-104.677382,29.924056],[-104.688336,30.181472],[-104.858121,30.389596],[-104.896459,30.570335],[-105.005998,30.685351],[-105.394861,30.855136],[-105.602985,31.085167],[-105.77277,31.167321],[-105.953509,31.364491],[-106.205448,31.468553],[-106.38071,31.731446],[-106.528588,31.786216],[-106.643603,31.901231],[-106.616219,31.999816],[-103.067161,31.999816],[-103.067161,33.002096],[-103.045254,34.01533],[-103.039777,36.501861],[-103.001438,36.501861],[-101.812942,36.501861]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-112.164359,41.995232],[-111.047063,42.000709],[-111.047063,40.998429],[-109.04798,40.998429],[-109.053457,39.125316],[-109.058934,38.27639],[-109.042503,38.166851],[-109.042503,37.000263],[-110.499369,37.00574],[-114.048427,37.000263],[-114.04295,41.995232],[-112.164359,41.995232]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-71.503554,45.013027],[-71.4926,44.914442],[-71.629524,44.750133],[-71.536416,44.585825],[-71.700724,44.41604],[-72.034817,44.322932],[-72.02934,44.07647],[-72.116971,43.994316],[-72.204602,43.769761],[-72.379864,43.572591],[-72.456542,43.150867],[-72.445588,43.008466],[-72.533219,42.953697],[-72.544173,42.80582],[-72.456542,42.729142],[-73.267129,42.745573],[-73.278083,42.833204],[-73.245221,43.523299],[-73.404052,43.687607],[-73.349283,43.769761],[-73.436914,44.043608],[-73.321898,44.246255],[-73.294514,44.437948],[-73.387622,44.618687],[-73.332852,44.804903],[-73.343806,45.013027],[-72.308664,45.002073],[-71.503554,45.013027]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-75.397659,38.013497],[-75.244304,38.029928],[-75.375751,37.860142],[-75.512674,37.799896],[-75.594828,37.569865],[-75.802952,37.197433],[-75.972737,37.120755],[-76.027507,37.257679],[-75.939876,37.564388],[-75.671506,37.95325],[-75.397659,38.013497]]],[[[-76.016553,37.95325],[-75.994645,37.95325],[-76.043938,37.95325],[-76.016553,37.95325]]],[[[-78.349729,39.464886],[-77.82942,39.130793],[-77.719881,39.322485],[-77.566527,39.306055],[-77.456988,39.223901],[-77.456988,39.076023],[-77.248864,39.026731],[-77.117418,38.933623],[-77.040741,38.791222],[-77.128372,38.632391],[-77.248864,38.588575],[-77.325542,38.446175],[-77.281726,38.342113],[-77.013356,38.374975],[-76.964064,38.216144],[-76.613539,38.15042],[-76.514954,38.024451],[-76.235631,37.887527],[-76.3616,37.608203],[-76.246584,37.389126],[-76.383508,37.285064],[-76.399939,37.159094],[-76.273969,37.082417],[-76.410893,36.961924],[-76.619016,37.120755],[-76.668309,37.065986],[-76.48757,36.95097],[-75.994645,36.923586],[-75.868676,36.551154],[-79.510841,36.5402],[-80.294043,36.545677],[-80.978661,36.562108],[-81.679709,36.589492],[-83.673316,36.600446],[-83.136575,36.742847],[-83.070852,36.852385],[-82.879159,36.890724],[-82.868205,36.978355],[-82.720328,37.044078],[-82.720328,37.120755],[-82.353373,37.268633],[-81.969987,37.537003],[-81.986418,37.454849],[-81.849494,37.285064],[-81.679709,37.20291],[-81.55374,37.208387],[-81.362047,37.339833],[-81.225123,37.235771],[-80.967707,37.290541],[-80.513121,37.482234],[-80.474782,37.421987],[-80.29952,37.509618],[-80.294043,37.690357],[-80.184505,37.849189],[-79.998289,37.997066],[-79.921611,38.177805],[-79.724442,38.364021],[-79.647764,38.594052],[-79.477979,38.457129],[-79.313671,38.413313],[-79.209609,38.495467],[-78.996008,38.851469],[-78.870039,38.763838],[-78.404499,39.169131],[-78.349729,39.464886]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-117.033359,49.000239],[-117.044313,47.762451],[-117.038836,46.426077],[-117.055267,46.343923],[-116.92382,46.168661],[-116.918344,45.993399],[-118.988627,45.998876],[-119.125551,45.933153],[-119.525367,45.911245],[-119.963522,45.823614],[-120.209985,45.725029],[-120.505739,45.697644],[-120.637186,45.746937],[-121.18488,45.604536],[-121.217742,45.670259],[-121.535404,45.725029],[-121.809251,45.708598],[-122.247407,45.549767],[-122.762239,45.659305],[-122.811531,45.960537],[-122.904639,46.08103],[-123.11824,46.185092],[-123.211348,46.174138],[-123.370179,46.146753],[-123.545441,46.261769],[-123.72618,46.300108],[-123.874058,46.239861],[-124.065751,46.327492],[-124.027412,46.464416],[-123.895966,46.535616],[-124.098612,46.74374],[-124.235536,47.285957],[-124.31769,47.357157],[-124.427229,47.740543],[-124.624399,47.88842],[-124.706553,48.184175],[-124.597014,48.381345],[-124.394367,48.288237],[-123.983597,48.162267],[-123.704273,48.167744],[-123.424949,48.118452],[-123.162056,48.167744],[-123.036086,48.080113],[-122.800578,48.08559],[-122.636269,47.866512],[-122.515777,47.882943],[-122.493869,47.587189],[-122.422669,47.318818],[-122.324084,47.346203],[-122.422669,47.576235],[-122.395284,47.800789],[-122.230976,48.030821],[-122.362422,48.123929],[-122.373376,48.288237],[-122.471961,48.468976],[-122.422669,48.600422],[-122.488392,48.753777],[-122.647223,48.775685],[-122.795101,48.8907],[-122.756762,49.000239],[-117.033359,49.000239]]],[[[-122.718423,48.310145],[-122.586977,48.35396],[-122.608885,48.151313],[-122.767716,48.227991],[-122.718423,48.310145]]],[[[-123.025132,48.583992],[-122.915593,48.715438],[-122.767716,48.556607],[-122.811531,48.419683],[-123.041563,48.458022],[-123.025132,48.583992]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-80.518598,40.636951],[-80.518598,39.722302],[-79.477979,39.722302],[-79.488933,39.20747],[-79.291763,39.300578],[-79.094593,39.470363],[-78.963147,39.437501],[-78.765977,39.585379],[-78.470222,39.514178],[-78.431884,39.623717],[-78.267575,39.61824],[-78.174467,39.694917],[-78.004682,39.601809],[-77.834897,39.601809],[-77.719881,39.322485],[-77.82942,39.130793],[-78.349729,39.464886],[-78.404499,39.169131],[-78.870039,38.763838],[-78.996008,38.851469],[-79.209609,38.495467],[-79.313671,38.413313],[-79.477979,38.457129],[-79.647764,38.594052],[-79.724442,38.364021],[-79.921611,38.177805],[-79.998289,37.997066],[-80.184505,37.849189],[-80.294043,37.690357],[-80.29952,37.509618],[-80.474782,37.421987],[-80.513121,37.482234],[-80.967707,37.290541],[-81.225123,37.235771],[-81.362047,37.339833],[-81.55374,37.208387],[-81.679709,37.20291],[-81.849494,37.285064],[-81.986418,37.454849],[-81.969987,37.537003],[-82.101434,37.553434],[-82.293127,37.668449],[-82.342419,37.783465],[-82.50125,37.931343],[-82.621743,38.123036],[-82.594358,38.424267],[-82.331465,38.446175],[-82.293127,38.577622],[-82.172634,38.632391],[-82.221926,38.785745],[-82.03571,39.026731],[-81.887833,38.873376],[-81.783771,38.966484],[-81.811156,39.0815],[-81.685186,39.273193],[-81.57017,39.267716],[-81.455155,39.410117],[-81.345616,39.344393],[-81.219646,39.388209],[-80.830783,39.711348],[-80.737675,40.078303],[-80.600752,40.319289],[-80.595275,40.472643],[-80.666475,40.582182],[-80.518598,40.636951]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-90.415429,46.568478],[-90.229213,46.508231],[-90.119674,46.338446],[-89.09001,46.135799],[-88.662808,45.987922],[-88.531362,46.020784],[-88.10416,45.922199],[-87.989145,45.796229],[-87.781021,45.675736],[-87.791975,45.500474],[-87.885083,45.363551],[-87.649574,45.341643],[-87.742682,45.199243],[-87.589328,45.095181],[-87.627666,44.974688],[-87.819359,44.95278],[-87.983668,44.722749],[-88.043914,44.563917],[-87.928898,44.536533],[-87.775544,44.640595],[-87.611236,44.837764],[-87.403112,44.914442],[-87.238804,45.166381],[-87.03068,45.22115],[-87.047111,45.089704],[-87.189511,44.969211],[-87.468835,44.552964],[-87.545512,44.322932],[-87.540035,44.158624],[-87.644097,44.103854],[-87.737205,43.8793],[-87.704344,43.687607],[-87.791975,43.561637],[-87.912467,43.249452],[-87.885083,43.002989],[-87.76459,42.783912],[-87.802929,42.493634],[-88.788778,42.493634],[-90.639984,42.510065],[-90.711184,42.636034],[-91.067185,42.75105],[-91.143862,42.909881],[-91.176724,43.134436],[-91.056231,43.254929],[-91.204109,43.353514],[-91.215062,43.501391],[-91.269832,43.616407],[-91.242447,43.775238],[-91.43414,43.994316],[-91.592971,44.032654],[-91.877772,44.202439],[-91.927065,44.333886],[-92.233773,44.443425],[-92.337835,44.552964],[-92.545959,44.569394],[-92.808852,44.750133],[-92.737652,45.117088],[-92.75956,45.286874],[-92.644544,45.440228],[-92.770513,45.566198],[-92.885529,45.577151],[-92.869098,45.719552],[-92.639067,45.933153],[-92.354266,46.015307],[-92.29402,46.075553],[-92.29402,46.667063],[-92.091373,46.749217],[-92.014696,46.705401],[-91.790141,46.694447],[-91.09457,46.864232],[-90.837154,46.95734],[-90.749522,46.88614],[-90.886446,46.754694],[-90.55783,46.584908],[-90.415429,46.568478]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-109.080842,45.002073],[-105.91517,45.002073],[-104.058488,44.996596],[-104.053011,43.002989],[-104.053011,41.003906],[-105.728954,40.998429],[-107.919731,41.003906],[-109.04798,40.998429],[-111.047063,40.998429],[-111.047063,42.000709],[-111.047063,44.476286],[-111.05254,45.002073],[-109.080842,45.002073]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-66.448338,17.984326],[-66.771478,18.006234],[-66.924832,17.929556],[-66.985078,17.973372],[-67.209633,17.956941],[-67.154863,18.19245],[-67.269879,18.362235],[-67.094617,18.515589],[-66.957694,18.488204],[-66.409999,18.488204],[-65.840398,18.433435],[-65.632274,18.367712],[-65.626797,18.203403],[-65.730859,18.186973],[-65.834921,18.017187],[-66.234737,17.929556],[-66.448338,17.984326]]]}&quot;]\n",
"},\n",
"&quot;data&quot;:{\n",
"}\n",
"}]\n",
"};\n",
" var plotContainer = document.getElementById(&quot;2banVF&quot;);\n",
" LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n",
" &lt;/script>\n",
" &lt;/body>\n",
"&lt;/html>\"></iframe> <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" display=\"block\" class=\"plt-container\" id=889de64b-aba2-4068-927d-d942837935cf width=\"100%\" height=\"100%\" style=\"max-width: 600.0px; max-height: 400.0px;\" viewBox=\"0 0 600.0 400.0\" preserveAspectRatio=\"xMinYMin meet\">\n",
" <style type=\"text/css\">\n",
" .plt-container {\n",
" font-family: Lucida Grande, sans-serif;\n",
" user-select: none;\n",
" -webkit-user-select: none;\n",
" -moz-user-select: none;\n",
" -ms-user-select: none;\n",
"}\n",
"text {\n",
" text-rendering: optimizeLegibility;\n",
"}\n",
"#pYYmo9n .plot-title {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 16.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .plot-subtitle {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 15.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .plot-caption {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .legend-title {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 15.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .legend-item {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .axis-title-x {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 15.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .axis-text-x {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#ddtv7FQ .axis-tooltip-text-x {\n",
" fill: #ffffff;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .axis-title-y {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 15.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .axis-text-y {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#ddtv7FQ .axis-tooltip-text-y {\n",
" fill: #ffffff;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .facet-strip-text-x {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pYYmo9n .facet-strip-text-y {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#ddtv7FQ .tooltip-text {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#ddtv7FQ .tooltip-title {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: bold;\n",
" font-style: normal; \n",
"}\n",
"#ddtv7FQ .tooltip-label {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: bold;\n",
" font-style: normal; \n",
"}\n",
"\n",
" </style>\n",
" <g id=\"pYYmo9n\">\n",
" <path fill-rule=\"evenodd\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\" d=\"M59.435075984473826 0.0 L59.435075984473826 400.0 L540.5649240155262 400.0 L540.5649240155262 0.0 Z\">\n",
" </path>\n",
" <g transform=\"translate(88.93507598447383 6.5 ) \">\n",
" <g>\n",
" <g transform=\"translate(21.961210910936405 0.0 ) \">\n",
" <g>\n",
" <line x1=\"0.0\" y1=\"0.0\" x2=\"0.0\" y2=\"341.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"70.25891949981315\" y1=\"0.0\" x2=\"70.25891949981315\" y2=\"341.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"140.5178389996263\" y1=\"0.0\" x2=\"140.5178389996263\" y2=\"341.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"210.77675849943932\" y1=\"0.0\" x2=\"210.77675849943932\" y2=\"341.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"281.0356779992524\" y1=\"0.0\" x2=\"281.0356779992524\" y2=\"341.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"351.29459749906545\" y1=\"0.0\" x2=\"351.29459749906545\" y2=\"341.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"421.55351699887854\" y1=\"0.0\" x2=\"421.55351699887854\" y2=\"341.0\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(21.961210910936405 0.0 ) \">\n",
" <g>\n",
" <line x1=\"0.0\" y1=\"323.51638720853504\" x2=\"423.16863712011593\" y2=\"323.51638720853504\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"0.0\" y1=\"284.6844949305266\" x2=\"423.16863712011593\" y2=\"284.6844949305266\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"0.0\" y1=\"241.69102639869882\" x2=\"423.16863712011593\" y2=\"241.69102639869882\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"0.0\" y1=\"191.81991771412117\" x2=\"423.16863712011593\" y2=\"191.81991771412117\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"0.0\" y1=\"130.1738699938973\" x2=\"423.16863712011593\" y2=\"130.1738699938973\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" <line x1=\"0.0\" y1=\"45.94805611256163\" x2=\"423.16863712011593\" y2=\"45.94805611256163\" stroke=\"rgb(233,233,233)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill=\"none\">\n",
" </line>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g clip-path=\"url(#c8vlB1S)\" clip-bounds-jfx=\"[rect (21.961210910936405, 0.0), (423.16863712011593, 341.0)]\">\n",
" <g transform=\"translate(21.961210910936405 0.0 ) \">\n",
" <g>\n",
" <g>\n",
" <g>\n",
" <path d=\"M325.44178823710064 263.841141278132 L325.44178823710064 263.841141278132 L331.5986511247347 263.9115998139821 L333.08014475309164 272.90900690502775 L333.8689908235597 274.73690867053506 L333.71507109566556 275.146959629964 L334.11911608992506 275.3973290787408 L333.5226705575613 275.92028427278194 L333.2340644809859 277.1452704854369 L333.5803882599303 278.38891204669 L333.71507109566556 280.5949614752822 L324.5952174383715 280.61740803908503 L324.4797785206874 281.1557314642551 L325.26862459115546 281.9394692897571 L325.40330742689054 282.94485350485803 L324.4028169002672 283.68051894348366 L323.5177688042741 283.01178503858324 L323.1522046202246 281.89472580317954 L322.70967881575507 283.39087021459306 L321.8053903146569 283.1902249390479 L321.53602815613255 276.91872054001396 L322.84436165149026 264.31059383825436 L322.47879746744076 263.864629028433 L325.44178823710064 263.841141278132 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M170.01948552573225 162.20267106601725 L170.01948552573225 162.20267106601725 L170.13492795636233 161.19129136885405 L170.88529672956645 161.79862101660348 L170.7698542989363 162.84106308503294 L169.86556579783803 162.70680746467536 L170.01948552573225 162.20267106601725 ZM169.21139905015923 160.31137255854685 L169.21139905015923 160.31137255854685 L169.86556579783803 161.05612928533608 L169.50000161378858 162.1353807153939 L169.21139905015923 160.31137255854685 ZM165.190196538561 153.9569069071428 L165.190196538561 153.9569069071428 L166.40233152133942 154.06129286379476 L166.28688909070934 154.99873076170124 L165.53652031750534 155.2065606693039 L164.86311316472148 154.6172513813589 L165.190196538561 153.9569069071428 ZM163.016055352315 154.51310531763656 L163.016055352315 154.51310531763656 L164.53602979088208 154.72135261442625 L164.92083438003652 155.9325514090342 L166.9602962434932 158.0975996415801 L167.3643412377528 158.91733132403527 L168.11470649801078 161.4614042675626 L168.5187514922702 161.22507177689056 L168.69191162526954 161.8323178049136 L168.5187514922702 164.74635403868706 L167.53750137075195 164.64644123190934 L167.26813921222765 163.44432876635707 L166.9218154332831 163.5447303254758 L166.2099274702893 162.63964905927614 L165.99828652707998 162.94171126630005 L165.40184099471622 162.63964905927614 L165.4980395072953 163.5447303254758 L166.05600774239514 163.3104023517173 L166.42156841349856 163.64509092679975 L166.24840828049935 164.87950818092386 L165.57500112771538 164.74635403868706 L164.55527019598702 163.1763968383057 L164.3243888476727 161.52888598083703 L163.51629885915378 161.59634911497614 L163.51629885915378 160.954704097883 L164.7476742470373 160.31137255854685 L164.47830857556698 159.29212794924558 L163.74718372041406 159.08776483343092 L163.3623791312595 156.62196135527356 L162.8621356244209 157.20642319808678 L162.66973157337065 156.2775044395522 L162.76593359889563 154.75603673784056 L163.016055352315 154.51310531763656 ZM162.51581184547643 159.49631381158676 L162.51581184547643 159.49631381158676 L163.18921548531426 159.90418625285207 L163.6509816948889 159.39423913051806 L164.1127479044634 159.6323470147996 L163.63174128978392 160.54858244677314 L162.88137251657992 160.27746575145355 L162.51581184547643 159.49631381158676 ZM161.9193628001666 150.80415826720827 L161.9193628001666 150.80415826720827 L161.41911929332792 150.16861934322026 L161.9963244205867 149.74399176142464 L164.7476742470373 150.30999714607788 L165.34411977940118 151.5083466804996 L166.4408088186036 152.49075580151003 L166.32536990091944 153.22494525066185 L165.74816477366062 153.60862750626308 L164.40135046809286 153.88729119967385 L163.63174128978392 153.60862750626308 L162.78517400400074 153.88729119967385 L162.68897197847554 151.40284888193116 L162.0540456359018 151.36767266043003 L161.9193628001666 150.80415826720827 ZM161.18823794501367 153.67832358742317 L161.18823794501367 153.67832358742317 L160.1877474183903 152.14035731749817 L160.13002620307526 151.33249129156155 L160.5533116024398 150.9451624185575 L160.99583389396338 151.33249129156155 L161.09203591948864 150.66307128821475 L162.4773310352664 151.82456270954992 L162.6120103580555 152.9455215658336 L162.13100725632194 153.08527068870407 L161.8231642875876 154.33942879285604 L162.16948806653193 154.6866571816769 L161.74620266716732 156.13958210258616 L161.20747835011872 155.8289760328113 L161.13051672969868 156.72520505606877 L160.57255200754486 154.51310531763656 L161.18823794501367 153.67832358742317 ZM159.36041702476632 154.929414448207 L159.36041702476632 154.929414448207 L159.2449781070821 155.65624146727384 L156.62831111636666 151.57865284285273 L156.91691367999613 150.90991913936654 L156.58983030615656 149.28312766515313 L155.66630139995345 147.96655564171917 L156.60907071126167 146.6785680914431 L157.03235611062615 147.21607324206423 L158.61005176450823 147.71665456800739 L159.36041702476632 152.10528876903842 L159.36041702476632 154.929414448207 ZM159.0910548662419 142.3342463681158 L159.0910548662419 142.3342463681158 L160.97659348885833 142.77227838301062 L161.9386032052717 145.09485739694415 L161.24595916032882 144.80577080927867 L161.07279551438353 145.4196537862357 L161.8231642875876 146.3554852178859 L162.0540456359018 148.00223447155028 L159.8414236394458 150.16861934322026 L159.4758594553964 150.1332618720668 L159.45661905029135 147.03704372667647 L158.24448758045872 141.08874812393506 L159.0910548662419 142.3342463681158 ZM155.06985586758952 148.2161956896768 L155.06985586758952 148.2161956896768 L155.57009937442825 148.2161956896768 L156.08958328637192 149.389561111931 L155.8587019380576 150.20397160434018 L155.06985586758952 150.38065482444483 L155.06985586758952 148.2161956896768 ZM153.58835872628669 142.44383034638793 L153.58835872628669 142.44383034638793 L154.6465704682251 142.48034707262252 L155.33921802611394 141.8954091486383 L156.3397085527372 142.6993292764008 L155.80098072274257 143.57322699341486 L155.99338477379285 143.90011523691345 L156.4936282806314 142.91810259880657 L157.70575975046415 143.2458943709188 L158.37916690324795 143.97269596785296 L157.99436582703947 145.27535164688032 L158.7062502770874 147.10866772676144 L157.7827213708842 147.3592054596387 L156.0703463942129 145.96000242934107 L156.12806409658202 147.39497510976318 L155.5893397795333 147.96655564171917 L154.9544134369595 147.71665456800739 L152.56862779455832 144.37148728103335 L152.60710860476843 143.31867548195012 L153.088115219448 142.9545462996249 L153.24203494734218 142.04178087662936 L153.58835872628669 142.44383034638793 ZM115.64669438680471 128.7603096724455 L115.64669438680471 128.7603096724455 L114.16519724550187 130.5344189673691 L114.0497583278177 131.2249671010154 L112.85686375014416 131.6841945554625 L113.10698901650949 130.61124862606425 L115.20416858233523 128.25646432142366 L115.64669438680471 128.7603096724455 ZM113.95355630229255 126.07342550290724 L113.95355630229255 126.07342550290724 L113.26090874440365 129.06982246383723 L112.56826118651475 128.56664982228745 L113.14546982671959 126.81641031265423 L113.95355630229255 126.07342550290724 ZM113.16471023182442 43.4136891332937 L113.16471023182442 43.4136891332937 L113.53027090292801 43.868607189728266 L115.35809182317541 44.322549538546696 L116.32010153958856 44.03895234506916 L119.09068825819827 44.43588739210162 L119.93725905692736 44.209151622287834 L122.26531997106758 46.016327948704145 L124.28554142941908 46.2411589348431 L124.84350615157291 45.67864864989588 L126.19032045714061 45.34042576707361 L126.76752558439938 44.60578170299374 L128.22978232059728 44.49253381653523 L128.21054191549234 45.001678085972344 L129.07634960638046 44.71896969586476 L130.86568971641776 45.509603985218064 L133.4631163020282 47.97562681446999 L134.50208412591553 48.087048893158965 L135.67573829848413 49.64090233477776 L136.2721838308479 49.142672121606495 L137.0033121989469 49.53028440014447 L137.0033121989469 128.0235471676283 L138.63872906814402 128.6053947320064 L138.85037001135333 127.98470487086308 L140.56274850097049 128.87642801478523 L141.58247591975294 127.75151423250719 L143.71813980873463 127.63483792207842 L143.33333521958025 129.5333295815454 L145.08419451940745 130.80321180716356 L145.35355667793186 131.79886180907778 L148.9322333850605 135.4387363457808 L149.49019810721427 137.72251118833702 L151.66433929346016 136.00239039245997 L152.53015049729424 135.9648556032343 L152.93419197860777 135.13757225988343 L152.89571116839772 133.89114238012343 L153.51139710586654 133.89114238012343 L153.66532034670678 132.79028156613356 L156.39742976805235 131.56947082358727 L157.99436582703947 133.20845905116875 L157.84044258619934 134.1939142286471 L158.2252471753538 135.17523982000887 L159.12953567645195 135.40111115001838 L160.70723133033408 138.05758528587967 L162.15024766142693 138.94880106550505 L164.49754898067198 142.80874451535485 L167.72990190885622 148.9635432548943 L167.32586042754264 149.74399176142464 L168.44178987185018 150.02716463877107 L168.17242771332593 151.15651360133987 L169.07671621442398 151.61379821849266 L169.19215864505418 152.91057003020515 L170.0964471461523 152.84065175374457 L174.0022072271206 155.2065606693039 L174.1561304679608 155.8289760328113 L175.29130031737327 156.0015812835555 L175.6376240963176 156.75960986839706 L175.118140184374 158.1660171332698 L175.195098291848 159.32617182987207 L175.69534531163276 161.22507177689056 L174.46397343669508 163.410852471045 L173.2325980488115 164.64644123190934 L172.88627426986704 164.0127239564531 L172.42451157323842 164.21302326831824 L171.80882563576955 161.76491959618383 L172.61691211134263 161.08992217420325 L172.38603076302843 160.85323686355866 L171.57794077450933 161.69750285268827 L171.13541848298576 161.1575063001241 L170.63517146320112 161.4614042675626 L169.17291823994913 160.10786112333253 L169.6731617467878 158.61025664062106 L168.74963284058464 159.12183724569752 L168.71115203037454 159.87022289157161 L167.98002717522155 159.29212794924558 L167.82610393438142 158.5761126412365 L168.17242771332593 157.00030716429694 L167.47978015543697 157.65241647661773 L166.78713259754807 156.24303120702015 L166.36385071112943 156.51867372310272 L166.09448503965916 155.34500856775725 L166.7678921924429 154.58254101029814 L167.42205894012181 154.58254101029814 L167.22965840201755 153.64347806205788 L167.575982180962 152.42071559655568 L167.0372578639134 152.45573824460007 L165.13247532324579 150.1332618720668 L163.28541751083947 149.212145753172 L163.32389832104946 146.60680826665742 L162.72745278868564 146.2836280613957 L162.8621356244209 145.20317433468506 L162.24644617400605 144.91421947080525 L161.09203591948864 142.6993292764008 L159.5335806707115 142.44383034638793 L157.82120218109424 140.46352925422235 L157.09007381299529 135.7770914439488 L156.74375003405078 136.86402300330423 L157.59032083277992 139.68891176263753 L157.7827213708842 142.48034707262252 L157.10931421810028 142.26116219556795 L156.57058990105168 141.16219539980915 L154.85821141143435 141.27232353130367 L154.8774518165394 139.68891176263753 L154.26176587907048 138.35503467508482 L153.70380115691682 138.76340778910327 L151.4911791604609 137.34963795754476 L151.2987751094106 137.7597659924707 L152.51091009218925 138.20635699825652 L153.81924358754696 139.35614655262245 L154.4156891199106 141.27232353130367 L153.2035541371322 141.8588020642021 L152.4916696870843 141.4924259864109 L152.47242928197915 142.407307988273 L151.24105740704147 141.19891047917508 L147.89326204822714 138.68920958311384 L147.12365286991815 136.93879944950686 L145.31507586772176 136.1899674030164 L141.40931578675367 133.62588877755246 L141.50551781227864 132.6761010757304 L141.83260118611815 132.98045135269797 L142.21740226232674 132.371346214766 L141.83260118611815 130.99500970898657 L142.3136042878519 130.2268532314211 L142.08272293953758 129.8803466814947 L141.2169152486494 131.3398606552849 L139.40833473350705 132.29509522517367 L137.25343395236615 131.9516637378278 L135.4448534372238 131.07168742283557 L135.36789532974967 130.38068345157672 L134.52132453102064 130.5344189673691 L131.59681457157075 129.5719134350823 L126.84448720481942 130.18837800795103 L125.65159614009201 129.18578604529046 L124.170098998789 128.7215906370722 L123.53517265621514 127.05053717057092 L122.5154452374328 127.12852921210202 L122.16912145848829 128.06238295413 L120.07193837971658 126.26918133024827 L118.20564016220521 127.28443448776926 L117.30135166110699 128.4891405757022 L116.91654707195244 127.36234776297658 L117.30135166110699 126.73831296368405 L117.8400759781556 126.8944813032304 L119.61017568308796 126.07342550290724 L119.37929082182768 125.44589708032464 L118.55196394114955 125.75987082048914 L118.22488056731015 124.9347727697704 L117.45527138900115 124.81665839890564 L116.68566572363807 122.71994967668093 L116.39706316000866 123.23600439674436 L115.31961101296531 123.51340540409086 L114.97328723402086 123.23600439674436 L114.60772304997136 123.90910658551229 L113.26090874440365 123.67177035158102 L113.20318752908861 124.42250642344214 L112.29889902799039 124.61966661635665 L111.87561714157175 124.34360232185628 L112.18346011030621 122.99797299656024 L111.79865552115166 123.03766320447141 L111.18296958368296 124.46195195083999 L112.02953686946603 124.9347727697704 L112.6259824018299 127.05053717057092 L112.31813943309544 128.2176610482161 L111.64473228031159 127.82927053038475 L111.4523317422071 128.41160540945577 L112.10649848988601 128.6441331693665 L112.47206267393562 130.18837800795103 L111.5292933626273 130.4959946168961 L111.00980593773772 130.18837800795103 L110.1824790570596 130.61124862606425 L109.75919365769505 130.26532208702469 L108.66250110554654 130.30377755525478 L108.70098191575664 129.7261777358733 L107.89289544018357 130.84158544024825 L107.43112923060903 130.18837800795103 L106.85392410335021 131.11001680742623 L107.10404585676952 131.53122400267335 L105.56483101309755 132.14252534985746 L104.48737886605409 133.5121163966936 L103.94865454900548 133.28441215202093 L103.3522090166415 134.04258078481297 L102.87120240196191 134.0047303821329 L101.87071538828468 135.55157568386073 L100.79326324124122 135.66436069606647 L100.44693946229688 135.17523982000887 L99.79277271461797 136.00239039245997 L98.44595840905026 135.3634867802412 L98.7538013777845 134.1939142286471 L100.2160581139824 133.85326744035154 L101.42818958381508 132.48567596360004 L101.46667039402519 131.72242324548432 L100.10061568335232 132.7522276118616 L98.83076299820459 131.72242324548432 L100.83174405145121 127.44023482377594 L100.94718296913538 126.30831260768122 L100.44693946229688 125.0528195212226 L101.65907093212945 124.58024806125565 L103.96789495411042 122.75968786982298 L104.52585967626408 123.47379714508554 L105.23774763925815 123.67177035158102 L106.29595938119644 122.91857203746622 L104.66054251199921 121.16479212954658 L103.08284685811725 120.88454798588623 L101.79375376786459 121.72427084880422 L101.29350674807995 122.71994967668093 L100.19681770887746 122.95827594180031 L99.06164434651907 124.1067062014368 L98.9462054288349 124.85603657543783 L98.08039422500065 125.24944197577514 L97.88799368689638 126.07342550290724 L97.27230774942768 126.58203910789649 L96.98370518579827 128.0235471676283 L95.79081060812462 128.95380796494823 L96.36801924832935 129.68761950577243 L95.88701263364987 130.76483184295518 L94.77108318934222 130.95666137486484 L94.67488116381719 132.3332238372642 L93.63590982698383 132.82832931437378 L93.30882645314443 132.2569603761063 L92.78934254120077 133.32237943831535 L92.17365660373184 133.36034055166243 L92.28909552141602 134.1182562991824 L90.92304081074326 134.57183709973748 L90.6536786522189 136.63955062278438 L92.21213390099592 136.7518136502161 L93.44350928887957 137.31231806671065 L93.78983306782402 137.98316412237023 L93.28958604803938 139.05996701199672 L92.46225916736125 139.72585669502243 L91.69264998905237 139.76278909545414 L91.61568836863205 140.3530299955247 L91.11544486179366 140.57398353254897 L91.3463262101078 141.30902150827882 L90.82684229816414 142.407307988273 L89.71090934091069 143.4278052849581 L87.86385152850426 143.71856625092244 L87.40208531892961 144.11778427500414 L87.53676815466486 144.66109559167296 L86.67096046377662 144.95035803500807 L86.4977968178315 145.74401405665148 L85.90135128546763 145.23926902290992 L85.24718453778883 146.78616735843076 L84.15049198564043 146.6785680914431 L84.22745360606052 147.5022519208145 L83.5732868583816 147.28765007813516 L83.11152416175298 147.64521274917982 L83.11152416175298 148.7502562405366 L82.38039579365409 150.45129170721845 L81.2067451340314 150.66307128821475 L80.09081217677794 151.85966577135852 L79.47512623930925 151.26211310440917 L78.43615490247578 152.87561342677208 L78.14755233884648 152.42071559655568 L77.57034721158766 152.560775649125 L77.43566437585264 153.46918131056384 L76.12733088049492 153.67832358742317 L75.56936615834104 154.58254101029814 L76.55061627985936 154.8600782727302 L75.49240453792095 156.86279506531713 L72.45245566078688 157.51527923110842 L71.6058848620579 159.2580793174423 L71.50968634947867 157.78948269330508 L70.913237304169 157.6181441090742 L68.87377895365819 159.18996779375416 L68.37353193387366 160.00604181411515 L68.21961220597939 159.42826876829776 L67.91176923724493 160.10786112333253 L67.21912167935614 159.66634347441706 L65.93002858910336 160.7178817368244 L64.9680188726901 160.68403125142228 L65.10270170842523 159.87022289157161 L64.6794163090608 159.08776483343092 L64.33309253011623 160.41306477183448 L63.04399943986357 162.4716726443149 L62.601473635394086 161.96705866866705 L62.46679431260486 162.74037978207335 L61.58174270366567 162.60606296815013 L61.44706338087656 161.3939039624489 L60.90833906382784 161.1237165691058 L60.715935012777436 161.56261986950497 L61.19694162745702 162.1017255450139 L60.96605676619686 162.94171126630005 L60.254172316148924 163.37737161868696 L59.7154444861543 162.43806356569704 L59.06127773847538 162.37083160030338 L58.94583882079132 162.74037978207335 L59.600005568470124 163.27690781977037 L58.40711099079658 164.14627492789512 L59.21520097931557 164.379815043766 L59.23444138442062 164.7796493140819 L58.561034231636654 164.47982986076724 L57.65674573053843 165.27853391875635 L55.90588643071112 165.24530589707828 L53.96262659277977 166.63703795841982 L53.23149822468076 166.47176423530544 L52.981376471261456 165.34497654896992 L53.71250483936035 164.97932664059238 L54.270469561514005 163.6116419413189 L56.57929358349509 162.673230557597 L57.84914626864281 162.63964905927614 L58.330149370376375 163.5112676920274 L58.61875544695181 162.1353807153939 L60.13872988551873 161.79862101660348 L62.37059228707972 158.7126599409327 L63.9098071307518 157.41237081685816 L65.71838764589404 156.82840487132637 L67.19988127425108 156.72520505606877 L67.39228181235524 157.2750917963772 L66.98824033104177 157.89223169831644 L67.43076262256534 158.37114808672519 L67.56544545830047 157.6181441090742 L68.4697339593987 157.54957235889157 L69.2778239479178 158.20021866984362 L69.29706435302285 157.6181441090742 L68.29657382639948 156.75960986839706 L68.9122597638684 155.13730385836166 L70.85551960179987 153.29475221407046 L72.62561579378632 152.49075580151003 L73.91470888403899 151.33249129156155 L74.53039482150768 151.7543283933118 L75.03064184129244 151.57865284285273 L74.97292062597728 150.1332618720668 L75.9541707474956 148.64353816600334 L78.37843368716074 146.39140567373317 L79.18652367567972 140.50035308942637 L80.53333798124766 139.09701067064873 L80.37941474040736 137.98316412237023 L77.14706181222323 139.57804221554213 L76.12733088049492 139.39314367460054 L75.1075999487665 137.6852504783149 L74.58811603682284 138.02037764823672 L74.26103266298344 139.17107375487598 L74.8189973851371 140.61079014472136 L74.14559023235313 141.23561985563762 L73.54914469998948 141.01527801114017 L71.6058848620579 137.57343289077812 L71.20184338074432 137.57343289077812 L70.58615744327562 138.57786840306932 L70.06667001838593 137.87149499165685 L69.43174367581196 137.7597659924707 L69.14314111218255 136.60212451065115 L65.4297815693186 139.35614655262245 L64.10221118180198 140.13186267795118 L63.448044434123176 139.43013498910219 L64.04448996648694 138.6149879821371 L63.390323218808135 134.60959582097786 L64.27537131480119 133.7396057710235 L62.40907309728982 129.5333295815454 L61.65870432408576 128.9151212160017 L61.466303785981495 130.18837800795103 L59.11899895379031 131.2632712535742 L57.387380059068164 131.6077183469249 L55.636524272186875 131.11001680742623 L55.54032224666173 129.9959062864512 L54.84767468877283 129.64905487323966 L53.75098564957034 128.10121223290503 L52.827456743367065 127.79039564420253 L51.75000459632372 126.07342550290724 L52.4811329644225 125.28874637413026 L52.635052692317004 123.83001926586957 L52.07708797016312 124.14620580042424 L52.00012634974303 123.23600439674436 L52.269488508267386 122.4813762368488 L51.557600545273544 121.80407795981819 L51.480642437799474 122.52115566682488 L50.61483123396533 122.24256230159682 L50.499392316281046 121.00469765433269 L49.82598516349731 120.84448411325576 L49.460420979447804 120.00152965645611 L49.47966138455274 118.95356353521743 L48.80625423176889 119.43783549295722 L48.69081180113869 118.4277688089316 L49.518142194762845 118.18469354544686 L48.84473504197899 117.04688486196483 L50.03762610670651 116.96540246574818 L50.326228670335695 114.63064205776874 L53.00061687636651 110.68533822573124 L53.327700250205794 110.85284098520134 L53.13529971210153 109.55139875595142 L53.98186699788471 107.30885672693682 L54.712995365983716 106.41411175953453 L56.07904656371056 106.02955354845193 L57.13725830564874 106.41411175953453 L58.61875544695181 107.77612878362015 L59.58076516336507 107.60632354839163 L62.27439026155457 104.26934507061696 L62.967037819443476 104.05373775987601 L63.14020146538883 104.57084067596986 L64.79485522674486 104.57084067596986 L66.25711196294287 104.14000548911008 L67.56544545830047 101.49384666296544 L66.83431709020158 98.28553707153594 L65.4297815693186 95.8822784242858 L66.46875290615208 96.19527913567589 L67.45000302767039 95.25496362892898 L67.50772424298532 94.35572073372373 L66.23787155783782 92.68248224047335 L65.29510224652961 93.99500906038543 L64.41005415053644 93.76926182579092 L63.58272375691229 94.49084012738501 L62.639954445604076 94.6708718466565 L61.33162095024636 95.8822784242858 L61.00453757640696 97.0871380301071 L60.46581325935813 97.57615445245284 L60.215691505938935 96.15059163876435 L59.56152475826002 95.83752814564662 L59.099758548685486 96.95359192459694 L57.61826492032844 95.61364189917805 L55.13627725240224 95.65843714231369 L52.69277390763193 96.68624345350554 L47.80576370514552 95.03049101708382 L47.47868033130612 94.22051927064814 L47.72880208472532 93.09065046229529 L46.74755196320723 92.13709738899331 L46.939956014257405 91.08801004844833 L47.555641951726216 90.53868899047382 L47.36323790067581 89.20551332552878 L43.996205649702574 88.55902864925565 L41.8990225709307 87.16730197308323 L41.78358365324664 86.28133383718375 L48.01740464835484 81.94029267544676 L50.03762610670651 82.74890913310963 L50.26850745502088 81.79728515354822 L49.65282151755207 81.65418460248702 L49.595103815182824 80.8415265758685 L54.789953473457786 78.48219951620558 L56.271450614760624 78.38535858023891 L57.0795370903337 78.72411497491936 L56.656255203915066 80.17001692857161 L56.50233196307511 81.89263382986184 L57.02181938796468 83.03359853210458 L60.60049258214747 82.79638293527529 L61.92806648261001 83.31791172919958 L62.73615647112922 82.89129984228191 L63.79436821306763 83.36526304358262 L64.81409563184991 81.4632476455497 L65.54522399994892 81.36771260438104 L66.04547101973355 81.74959531299186 L66.29559277315286 80.64988223417214 L64.89105725227 80.12197269943147 L63.5442429467023 80.55399297779894 L63.67892578243743 79.11062574213486 L62.620714040499024 77.56048817067614 L61.466303785981495 77.07381994440914 L61.11998000703704 75.65632798005424 L62.024268508135265 75.31279072086124 L63.178678762652794 76.73250159021296 L62.967037819443476 77.85197653659486 L64.73713752437573 79.73724884346063 L65.02574008800525 78.67575322042029 L63.64044497222733 77.26862051347518 L64.2368905045912 74.72262057163675 L63.755887402857525 74.27893852931527 L62.38983269218477 74.82109442645856 L60.98529717130191 74.67336700860051 L60.77365622809259 74.22958489053843 L60.061768265098635 74.67336700860051 L57.11801790054392 73.58698025634504 L56.17524858923559 69.89259167561147 L55.46336062624164 68.93383991091571 L50.96115501290967 65.00451049616493 L49.9029467839174 64.79844163479544 L48.325251130035326 63.246590937787744 L46.78603277341722 62.36225574938749 L46.709074665943035 62.049279570327315 L47.86348492046068 61.57895105162396 L48.38296883240446 60.10915427026657 L48.421449642614334 57.13922241553212 L51.5383636531144 57.35272252179925 L55.30944089834736 56.65808309359795 L56.29069101986579 56.122211182329465 L57.84914626864281 54.61466384995424 L59.33063989699974 52.278756216424824 L60.27340920830784 47.8641468182841 L63.755887402857525 42.72950283591439 L64.00600915627672 43.29980826912896 L65.35282346184465 43.47060683285878 L67.31532370488117 42.386581615840896 L71.49044594437373 37.64400357101704 L72.60637538868127 37.46847743440918 L72.72181781931124 37.99462280493759 L77.16630221732817 37.234228178291005 L79.32120299846906 35.646210552181685 L81.45686688745081 32.314301986057444 L82.32267457833905 31.59346781980429 L82.47659781917912 32.19433265079027 L85.76666844973249 33.56988695004077 L86.03603412120287 34.52157727959923 L84.90086075884426 35.76424922135783 L84.38137684690071 35.8232440248367 L84.40061725200565 37.46847743440918 L86.05527452630781 36.94104062709425 L86.15147303888705 36.059059921868084 L86.90184181209099 35.23256984625198 L87.15196356551019 35.705238067008 L87.70992828766396 33.8082117457605 L89.34534515686119 35.52810640263681 L89.07598299833683 36.82365254918426 L90.09571393006513 37.175622932480564 L90.692159462429 37.93622630001266 L91.57720755842206 36.70619975375081 L94.02071441613828 36.235750629942174 L97.44546788242678 37.11700156386922 L96.88750316027313 39.62324482435196 L99.0039231312038 40.25967222426823 L99.15784637204399 40.89421830984418 L101.21654864060588 41.985820680995516 L101.23578904571082 41.46943619867915 L102.71728267406786 40.77898647522238 L104.14105860005566 40.83661016547245 L104.16029549221457 41.4119830213491 L104.98762588583884 41.46943619867915 L105.85343357672684 40.66369242140257 L107.27720950271475 40.548336076938995 L109.64375122706497 41.75647053791948 L110.27867756963872 41.58429621738992 L111.18296958368296 42.786602926989985 L111.70245349562663 42.329374552411196 L112.5490207814097 42.672387489139055 L113.16471023182442 43.4136891332937 ZM95.05968575297163 143.64590775040816 L95.05968575297163 143.64590775040816 L95.04044534786658 143.93640837631492 L93.8283103650881 143.5005239636447 L94.69412156892213 141.78557089779645 L95.48296763939015 141.63904051633966 L96.0216954693849 140.05809414577516 L96.61814100174877 141.4557564713441 L97.11838450858738 140.97854109485428 L98.08039422500065 141.74894681164892 L98.08039422500065 142.80874451535485 L95.05968575297163 143.64590775040816 ZM91.48100904584305 146.8578732457123 L91.48100904584305 146.8578732457123 L92.4814995724663 145.99598255025543 L91.57720755842206 145.81603414072885 L91.55797066626303 145.05874078669606 L92.30833592652107 144.55253796539438 L92.8470637565157 144.91421947080525 L92.92402186398988 145.6719721815885 L93.25110523782928 144.04525451544666 L93.9052719855082 144.55253796539438 L94.02071441613828 143.82751230640497 L94.5979195433971 144.26279060327897 L95.82929141833472 143.86381654761985 L96.7143430272738 144.55253796539438 L96.7143430272738 146.463230350432 L97.83027247158134 146.3195593477603 L97.09914410348244 147.5737430313839 L95.75233331086065 147.0728551442559 L96.25257681769926 147.89518199898217 L95.86777222854471 148.5723663321022 L95.1751246706558 148.25183728374085 L95.15588426555087 149.53139239469897 L94.09767603655848 149.8856199995566 L93.75135225761392 150.41597586435435 L93.09718550993512 149.9210139920943 L92.40453795204621 151.26211310440917 L91.28860499479276 152.0000524613345 L91.07696405158345 150.55720807205086 L90.26887757601037 151.33249129156155 L90.23039676580049 150.87467068897146 L89.49926839770137 150.41597586435435 L89.44154718238633 149.10563342635416 L88.72965921939237 148.5723663321022 L89.13370421365187 147.03704372667647 L90.53823973453473 146.0679264922617 L91.40404742542285 146.13984871429795 L91.48100904584305 146.8578732457123 ZM89.46078758749138 152.91057003020515 L89.46078758749138 152.91057003020515 L88.72965921939237 154.20039767018426 L88.49877787107812 153.99170723820424 L89.46078758749138 152.91057003020515 ZM85.59350831673328 157.20642319808678 L85.59350831673328 157.20642319808678 L86.15147303888705 157.2750917963772 L85.95907250078267 158.5761126412365 L85.03554359457951 158.40532082530243 L84.88162035373932 157.96070693743198 L85.59350831673328 157.20642319808678 ZM70.64387514564464 161.19129136885405 L70.64387514564464 161.19129136885405 L70.43223420243544 162.50527712230323 L69.35478205539187 163.57818840805842 L69.87426948028155 161.93338039299277 L70.23983366433106 162.1017255450139 L70.64387514564464 161.19129136885405 ZM68.4312531491887 160.7178817368244 L68.4312531491887 160.7178817368244 L69.0854198968675 160.7178817368244 L69.06617949176257 161.3939039624489 L68.41201274408365 162.1353807153939 L67.83480761682495 161.63007371883666 L67.46924343277544 162.1017255450139 L67.45000302767039 160.58245168060566 L68.4312531491887 160.7178817368244 ZM62.33211147686973 163.042318238659 L62.33211147686973 163.042318238659 L62.40907309728982 163.57818840805842 L62.00502810303021 163.91251317532664 L61.697185134295864 163.34388620773615 L62.33211147686973 163.042318238659 ZM61.774146754715844 103.10260931234018 L61.774146754715844 103.10260931234018 L61.25465932982627 103.88110295320001 L61.08149919682705 103.18924278808305 L61.774146754715844 103.10260931234018 ZM60.4080920440432 166.04154126440912 L60.4080920440432 166.04154126440912 L61.158460817247146 166.27328996591984 L61.08149919682705 166.76917151209403 L60.485053664463294 166.73614322570413 L60.4080920440432 166.04154126440912 ZM50.768754474805405 167.19813896961446 L50.768754474805405 167.19813896961446 L51.01887622822471 167.88951024073512 L50.480151911175994 168.18522871463992 L50.28774786012582 167.4617443606055 L50.768754474805405 167.19813896961446 ZM50.09534732202155 168.05384176005526 L50.09534732202155 168.05384176005526 L49.01789517497798 168.71007682791125 L48.78701382666384 168.25089613687203 L49.248780036238486 167.65926918790015 L50.09534732202155 168.05384176005526 ZM47.90196573067067 127.63483792207842 L47.90196573067067 127.63483792207842 L48.710052206243745 127.36234776297658 L48.883215852189096 127.86813889359865 L49.595103815182824 127.75151423250719 L50.28774786012582 128.2176610482161 L50.42243069586095 130.2268532314211 L50.05686651181156 130.87995274464873 L49.15257801071334 131.2632712535742 L48.96017747260919 131.9516637378278 L47.63260357214631 131.18665664408826 L47.0169176346775 131.2249671010154 L45.227577524640196 130.2268532314211 L44.457968346331086 129.64905487323966 L44.18860618780684 128.7215906370722 L45.88174427231888 128.7215906370722 L46.49743020978781 127.98470487086308 L47.44019952109602 127.40129456889684 L47.90196573067067 127.63483792207842 ZM47.86348492046068 168.90660580524272 L47.86348492046068 168.90660580524272 L48.440690047719386 169.36458453522147 L47.28627979320197 170.6684576276339 L48.7677734215589 169.85433713789035 L48.78701382666384 170.31057258123653 L47.228558577886815 171.22054908930286 L47.13235655236167 171.77142398407932 L43.47672173775891 173.41681699343565 L42.880272692449125 172.90177671618807 L45.30453914506029 171.86851246888511 L45.09289820185097 171.2854216087914 L45.593141708689586 170.6684576276339 L46.343510481893645 170.96089644333358 L46.4204685893676 170.570901872401 L45.169856309325155 170.01737037980695 L45.5546608984796 169.29921057171646 L46.92071560915247 168.87386674054474 L47.209318172781764 169.6911912309212 L47.86348492046068 168.90660580524272 ZM39.37855760574041 173.96289309381064 L39.37855760574041 173.96289309381064 L41.3218174436721 171.8037909966368 L42.12990743219109 171.54474352274306 L42.553189318609725 171.83615382444626 L42.70711255944968 172.61160394987127 L41.206378525987816 173.44897232991275 L39.744121789789915 175.08344976279088 L39.37855760574041 173.96289309381064 ZM36.01152535476706 175.4983892633197 L36.01152535476706 175.4983892633197 L36.165445082661336 176.0717993146958 L35.261156581563114 176.10361761792137 L35.16495455603797 175.72153906524457 L36.01152535476706 175.4983892633197 ZM34.606989833884086 148.92800753235423 L34.606989833884086 148.92800753235423 L34.12598673215052 149.53139239469897 L34.02978470662538 148.92800753235423 L34.606989833884086 148.92800753235423 ZM32.77917242658282 176.64391120030606 L32.77917242658282 176.64391120030606 L33.010053774897074 177.1830535878612 L32.35588702721816 177.56293330939087 L32.25968500169313 176.9928970508112 L32.77917242658282 176.64391120030606 ZM29.008091668403836 102.45179882046898 L29.008091668403836 102.45179882046898 L31.79792230506439 103.62190983559316 L33.41409876915668 102.62553491209911 L34.145223624309665 102.71235256941048 L34.79939037198858 103.27584286991845 L34.97255401793359 104.22624014034193 L36.819611830340136 105.21555466554622 L39.744121789789915 105.77282421774595 L39.147676257426156 106.9258301651189 L37.319858850124774 106.88323062962667 L36.39632643097548 108.53866884531527 L34.9340732077236 106.75538373497352 L34.20294483962459 106.67011219740539 L33.856621060680254 105.85842795518693 L32.0865248686938 104.82895105514302 L31.259194475069762 104.78595321106127 L29.98934178992215 105.68718012389098 L29.027332073508774 105.21555466554622 L28.623290592195303 104.26934507061696 L29.008091668403836 102.45179882046898 ZM26.58382872873858 178.41559556588524 L26.58382872873858 178.41559556588524 L26.641549944053736 179.0768030966819 L25.96814279126977 179.2025481033945 L26.58382872873858 178.41559556588524 ZM22.389466084141077 179.7990118385293 L22.389466084141077 179.7990118385293 L24.217283491442572 180.20631399821292 L22.65882824266555 180.48791593881245 L22.389466084141077 179.7990118385293 ZM19.945959226424975 179.0453556990674 L19.945959226424975 179.0453556990674 L19.926722334265833 178.4786424051718 L20.426965841104447 178.25790998408203 L21.138853804098517 178.8251150093443 L20.869491645574158 179.35964923020538 L20.446206246209613 179.32823675894033 L20.580885568998838 179.92440664273082 L18.483706003172983 180.6129727196097 L17.675616014653997 180.42536457235153 L17.906500875914162 179.9870809262436 L18.772308566802394 180.0497398105178 L19.945959226424975 179.0453556990674 ZM12.403804735958943 181.48664945663637 L12.403804735958943 181.48664945663637 L13.03873107853292 181.39318265334308 L13.03873107853292 182.10888538636834 L12.230641090013705 182.0156454421959 L11.230150563390566 182.85357575862056 L10.845349487182034 181.73572185671708 L11.268631373600442 181.7046060266379 L11.326352588915597 180.86289704517907 L11.845840013805287 180.83166915820257 L11.845840013805287 181.45549764840564 L12.403804735958943 181.48664945663637 ZM9.99877868845283 180.9565578179244 L9.99877868845283 180.9565578179244 L10.383583277607272 181.23732873409014 L10.114221119082913 182.2020914256634 L9.575496802034195 182.4815007717985 L9.99877868845283 180.9565578179244 ZM6.593265627269261 181.1125828848748 L6.593265627269261 181.1125828848748 L7.189711159633248 181.1437764760579 L7.728435476681739 181.829063709781 L7.151230349423031 182.63659993081907 L6.593265627269261 181.1125828848748 ZM0.0 174.92367343613788 L0.0 174.92367343613788 L0.0 176.26264907825458 L0.0 174.92367343613788 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M249.26985348156148 255.1596582903086 L249.26985348156148 255.1596582903086 L249.2506130764565 279.2458116261359 L242.13174047240898 279.2458116261359 L228.99068781646287 274.4404831905114 L229.3177711903022 273.50406093067846 L230.20281928629538 272.97771613210153 L230.01041523524515 272.19827271189547 L229.52941213351153 272.17532277448026 L229.29853078519722 270.61137661232533 L230.01041523524515 270.0116301300666 L229.97193793798107 268.391985471542 L231.37646994591796 266.8116201176408 L229.62561415903656 264.3809583326621 L229.83725510224593 263.2534440234212 L229.26004997498706 259.0876541284704 L230.5491430652399 258.9209246776138 L231.31874873060292 259.42087785369495 L231.68431291465237 258.68259212487266 L231.68431291465237 255.1596582903086 L249.26985348156148 255.1596582903086 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M300.44877250251477 257.34485252425696 L300.44877250251477 257.34485252425696 L315.6292870219178 257.3687873664186 L315.9371299906522 258.2054349690285 L314.84043743850367 259.539803365764 L317.1107806502747 259.539803365764 L316.99534173259053 260.3474255922367 L316.47585430770084 260.58460329688916 L315.70624864233787 261.95701225277196 L315.76396985765285 262.9945447338459 L315.071322299764 263.864629028433 L315.2829632429733 264.240215269902 L314.10931258335074 265.481493922366 L314.16703379866584 266.3221514659839 L313.532107456092 266.55531759704206 L312.8202194930981 267.5329435288888 L313.0318604363073 267.9975456515904 L311.83896937157976 269.96545424968826 L312.4546553090486 270.51917073945754 L312.0698507198941 272.31300101301133 L301.96874694108175 272.2441683083734 L301.96874694108175 270.0116301300666 L300.77585587635417 270.03471587486996 L300.4102916923047 269.6420631324361 L300.602695743355 262.1458863589744 L299.94852899567616 257.34485252425696 L300.44877250251477 257.34485252425696 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M199.41850484812494 232.35119757391766 L199.41850484812494 232.35119757391766 L210.7702209069799 232.40297918875658 L210.7702209069799 246.24678106885256 L229.62561415903656 263.841141278132 L230.68382238802906 266.20551113298166 L231.37646994591796 266.8116201176408 L229.97193793798107 268.391985471542 L230.01041523524515 270.0116301300666 L229.29853078519722 270.61137661232533 L229.52941213351153 272.17532277448026 L230.01041523524515 272.19827271189547 L230.01041523524515 273.34394662027 L220.8713246857921 274.2579525110185 L220.44803928642756 273.70981691912476 L219.65918970301362 271.07205351302224 L217.15796514292833 269.1101491092662 L216.34987866735509 269.2027126949427 L215.81115083736051 267.92789298373225 L214.9838239566824 268.11360346986885 L213.52156722048443 267.4864498040073 L212.3286761557569 266.3454749474684 L209.11556363267772 266.20551113298166 L208.49987769520885 265.64511275314226 L208.55759891052384 263.41810109286723 L207.63407000432068 262.7825716666795 L207.59558919411057 261.9097776686124 L206.26801529364792 260.9400596624356 L204.11311451250702 258.1576815536949 L203.97843167677195 256.74593436948174 L204.2477938352963 256.8658038782431 L204.49791558871556 256.0258291102495 L203.99767208187694 255.25601113449366 L203.3819861444082 255.3523362419549 L202.28529359225968 254.097950993191 L201.93896981331523 251.6966126184661 L202.59313656099414 251.6966126184661 L202.32377440246978 250.06146061391678 L201.97745062352533 251.03865053846914 L201.28480306563642 251.20936127432438 L200.4574761849583 250.59927522827692 L199.78406903217444 248.71301329497325 L197.64840865613854 246.44478016041725 L197.24436366187905 242.46122730046443 L195.45502355184175 240.50084196563708 L195.28186341884248 239.66772500078088 L196.16691151483565 237.6386941317456 L196.4939948886751 235.00643983092075 L195.82058773589114 233.41093144413156 L195.97451097673138 232.3770894955905 L199.41850484812494 232.35119757391766 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M253.21409085979366 237.05287083164103 L253.21409085979366 237.05287083164103 L273.8203434116778 237.05287083164103 L273.85882070894183 255.18374910331684 L249.26985348156148 255.1596582903086 L249.2506130764565 237.07836507001704 L253.21409085979366 237.05287083164103 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M375.6971783518507 232.1957992104873 L375.6971783518507 232.1957992104873 L380.1031819396575 232.2735084316544 L379.89154099644827 235.570574552158 L376.2166622637944 235.7498561012684 L373.58075486797395 237.12934719251743 L373.3306331145546 236.59361630928802 L374.1964408054428 236.08252367090307 L374.17720391328373 232.14398189981247 L375.6971783518507 232.1957992104873 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M367.40465508818085 242.58647719152947 L367.40465508818085 242.58647719152947 L366.7120075302919 243.43684814049286 L366.78896563776595 244.16035686294288 L367.3084530626557 244.83248513506265 L367.44313238544487 245.9495569038148 L368.53982493759327 247.1614938985735 L368.6937481784335 248.71301329497325 L366.4234049666625 248.66387257046765 L366.09632159282313 242.96192332066553 L366.6927671251869 242.46122730046443 L367.40465508818085 242.58647719152947 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M361.70955489717534 246.27153765722053 L361.70955489717534 246.27153765722053 L362.15208070164493 246.71682462460325 L361.69031449207034 247.18617994697135 L361.4209523335459 246.54372928002175 L361.70955489717534 246.27153765722053 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M331.98345220094325 280.61740803908503 L331.98345220094325 280.61740803908503 L333.71507109566556 280.5949614752822 L334.19607419739924 281.7828489572353 L343.5083319057434 282.3642756765578 L343.68149203874265 283.23482241687054 L344.10477743810713 283.2125243023082 L344.12401784321224 281.6261622683509 L344.4511012170516 281.3126056865657 L346.221197409038 281.8052276837202 L346.8753641567168 285.54705003892724 L349.4535503372222 290.8772709939152 L349.299630609328 292.3410599777136 L351.1851692319445 297.47947758386385 L350.781124237685 301.6205553615016 L350.4540408638456 301.68462642893314 L350.2231595155312 303.0068601996524 L349.5497523627473 303.73037405516885 L347.5102904992907 304.0279688757461 L347.33713036629143 303.0281561310653 L346.5482807828774 301.30005138118247 L345.93259484540863 300.9793210436165 L345.39387052835986 301.21454508251543 L344.8551426983652 299.4581689330575 L344.12401784321224 298.5774332099167 L344.0662966278972 297.1560365561739 L343.6622516336376 297.0050151577871 L343.7584536591628 297.5010322450236 L343.39288947511324 297.63033837427906 L341.8344342263362 294.95034621212614 L342.8926459682746 293.3649090054452 L341.73823220081107 293.95198116878146 L341.27646950418244 293.16904330437836 L342.00759435933537 289.16673988089605 L341.4496296371817 288.1326401931997 L340.7762224843978 288.0004399173929 L339.3524465584099 286.63189398799767 L339.3139692611459 286.03447811258087 L338.50587927262677 285.14780614699737 L337.15906496705907 284.2591795889258 L335.98541430743654 284.4592935681091 L336.0431355227515 285.0812264748756 L334.19607419739924 285.72436324913645 L332.6376189486221 285.90160304294716 L332.3105355747827 284.92583118680164 L329.17438467212355 283.2125243023082 L324.8838200020009 283.5468610317789 L325.40330742689054 282.94485350485803 L325.26862459115546 281.9394692897571 L324.4797785206874 281.1557314642551 L324.5952174383715 280.61740803908503 L331.98345220094325 280.61740803908503 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M340.3721774901383 263.841141278132 L340.3721774901383 263.841141278132 L339.5640910145652 265.2008328150638 L341.1033058582373 266.0421546617904 L342.31543732806983 268.34560269855456 L344.52805932452577 270.3808224903608 L346.0480372760387 272.29005820296027 L346.31739943456313 273.8697741364544 L347.3563707713965 275.2835454089646 L347.3756111765015 275.98844359347447 L348.1836976520745 276.35174884454767 L347.31788996118644 277.756287701576 L346.37512064987817 280.0558603964197 L346.221197409038 281.8052276837202 L344.4511012170516 281.3126056865657 L344.12401784321224 281.6261622683509 L344.10477743810713 283.2125243023082 L343.68149203874265 283.23482241687054 L343.5083319057434 282.3642756765578 L334.19607419739924 281.7828489572353 L333.33026650651107 279.4709941756261 L333.5803882599303 278.38891204669 L333.2340644809859 277.1452704854369 L333.5226705575613 275.92028427278194 L334.11911608992506 275.3973290787408 L333.71507109566556 275.146959629964 L333.8689908235597 274.73690867053506 L333.08014475309164 272.90900690502775 L331.5986511247347 263.9115998139821 L340.3721774901383 263.841141278132 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M85.59350831673328 327.43532763934655 L85.59350831673328 327.43532763934655 L84.72770062584516 327.1097619975669 L84.70846022074 325.9485291450979 L84.0927742832713 324.5194079194712 L84.92010116394943 323.3941213769465 L84.7469410309501 322.5128523865646 L86.8248801916709 323.4350788879889 L87.49828734445475 324.0081815720973 L88.49877787107812 325.2956381937496 L87.8830919336092 325.9485291450979 L86.01679371609782 326.7432947270894 L85.59350831673328 327.43532763934655 ZM82.24571295791895 319.6548376872012 L82.24571295791895 319.6548376872012 L82.64975795217845 320.169931352703 L83.16924537706802 319.9433503333129 L84.30441522648061 320.54050670635246 L84.13125509348129 321.07535316843473 L82.74595997770348 321.23982267548706 L82.68823876238844 320.58166719560927 L81.86091188171031 320.0669495618438 L82.24571295791895 319.6548376872012 ZM80.86042135508706 318.97419101618186 L80.86042135508706 318.97419101618186 L80.5140975761426 319.36618032579617 L79.70600758762362 319.36618032579617 L79.95612934104292 318.9329125381589 L80.86042135508706 318.97419101618186 ZM77.45490478095746 317.13432836467234 L77.45490478095746 317.13432836467234 L77.83970937011213 318.0240185467061 L77.64730883200775 318.5406214203416 L76.89694005880392 318.62322990741785 L76.39669303901917 317.56900691445657 L77.45490478095746 317.13432836467234 ZM72.12537228694748 315.121967598489 L72.12537228694748 315.121967598489 L72.72181781931124 315.55827369496353 L72.60637538868127 316.1187173548496 L72.20233039442167 316.47128841611 L71.08640095011413 316.0357250174851 L71.22108378584926 315.41288050101707 L72.12537228694748 315.121967598489 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M224.66164233613006 197.22802033387686 L224.66164233613006 197.22802033387686 L224.66164233613006 202.65684206972153 L225.7968121855426 204.1186722627063 L225.8160525906476 205.54425598018167 L227.20134770642545 206.39604785303334 L229.70257226651069 209.58096543228083 L230.72230319823916 209.55294064021115 L230.12585766587534 212.64652658465207 L230.49142184992485 213.4214988744102 L229.85649550735093 213.97374372070476 L229.93345712777102 215.04750472652248 L230.68382238802906 215.56914253474096 L231.89595737080765 214.3321196067837 L232.53088371338146 214.82758166111032 L232.78100546680076 216.199313602251 L233.78149599342407 217.5644291183972 L233.76225558831908 218.51612432440763 L234.8974254377316 218.97723261105835 L235.35919164730626 220.57180760520308 L235.7632366415657 220.8412019092145 L236.12879731266918 220.38308618492644 L237.22548986481763 220.4100546820902 L238.03357985333673 219.9782593719071 L240.22696144468756 220.0862654221145 L241.03504792026064 219.0585283262442 L242.22794249793424 220.43702064762698 L242.22794249793424 232.3770894955905 L221.21764846473656 232.3770894955905 L221.21764846473656 223.60139657573728 L221.67941116136524 221.99672002136285 L220.71740144495197 221.51357687679564 L220.4672796915325 220.8412019092145 L223.1993855999322 214.77257280582663 L222.91078303630286 214.08406345728284 L222.0834561556248 213.72536574958008 L221.1214464392114 211.0900981370251 L221.19840805963156 197.22802033387686 L224.66164233613006 197.22802033387686 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M313.9169085323005 229.9595472883508 L313.9169085323005 229.9595472883508 L323.8833294753776 230.03783929650325 L323.7678905576935 230.94972145101815 L324.86457959689585 233.7461735518823 L324.8453391917909 244.6583685161683 L324.4605381155823 245.4783827563283 L324.9607816224211 247.23554635435045 L323.7678905576935 249.42470863281454 L323.3638455634339 249.4982441959236 L323.0944834049095 251.62357034827306 L322.632717195335 252.25605604600327 L322.9598005691744 253.03283922785496 L321.5167877510275 253.44476432436085 L321.7091882891317 254.48441803748014 L321.2666659976082 254.84632402908673 L319.5735279130959 254.21877152701458 L319.20796372904647 255.23192552493938 L318.64999900689276 255.18374910331684 L317.8611494234787 253.9287284703467 L318.14975198710806 253.63843645312795 L317.8611494234787 252.1102080766837 L316.7259795740662 251.1605958551301 L316.3411749849117 251.25811943802233 L314.9173990589238 249.7677278748447 L315.7832102627579 246.93923402861654 L314.5133540646643 246.42003697223797 L314.10931258335074 246.84040695116389 L313.8399504248264 246.5684629126418 L313.60906556356605 245.0810642474728 L311.3579627569002 242.93690720192993 L310.91544046537655 241.5328304927505 L311.24252383921595 239.11106739441203 L312.22377396073426 238.60414535030205 L312.78173868288803 237.43505760469574 L312.8394598982031 236.61914877651873 L312.2622512579983 235.95461570346598 L312.4931361192586 235.1347415469431 L314.95587986913387 234.31265223006184 L315.071322299764 233.59149262064108 L315.53308499639263 233.2818977846924 L315.5715658066027 231.7810149638328 L314.78271973613465 231.31369567563382 L313.9169085323005 229.9595472883508 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M330.251836819167 233.51412246896854 L330.251836819167 233.51412246896854 L334.40771865355447 233.51412246896854 L334.3692378433445 245.7760457033068 L334.09987568482 245.9743365232168 L334.3884782484494 247.2108640987247 L333.11862556330175 247.65485059215217 L332.2143370622035 247.45759691121503 L332.2528143594676 248.34428024522063 L330.8098015413207 249.4982441959236 L330.0786731732218 250.91666424412875 L329.2898271027537 250.50155948924692 L329.15514426701856 249.98805226494562 L328.3855350887095 250.5504232431258 L328.4432563040246 251.03865053846914 L327.6544102335566 251.20936127432438 L327.4235253722963 250.77021528759573 L326.24987471267366 251.67226699977067 L324.5952174383715 250.84344796162412 L323.0944834049095 251.62357034827306 L323.3638455634339 249.4982441959236 L323.7678905576935 249.42470863281454 L324.9607816224211 247.23554635435045 L324.4605381155823 245.4783827563283 L324.8453391917909 244.6583685161683 L324.86457959689585 233.7461735518823 L326.28835552288376 234.05529368601526 L327.3273268597171 233.51412246896854 L330.251836819167 233.51412246896854 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M311.3579627569002 225.19725729131798 L311.3579627569002 225.19725729131798 L311.8966905868948 225.19725729131798 L311.9351678841589 225.91255866137053 L312.4546553090486 226.3884598851645 L312.031369909684 226.96907297829497 L312.41617449883853 228.80890495914028 L313.66678677888115 229.35863299950202 L314.78271973613465 231.31369567563382 L315.6677678321279 232.3770894955905 L315.071322299764 233.59149262064108 L314.95587986913387 234.31265223006184 L312.4931361192586 235.1347415469431 L312.2622512579983 235.95461570346598 L312.8394598982031 236.61914877651873 L312.78173868288803 237.43505760469574 L312.22377396073426 238.60414535030205 L311.24252383921595 239.11106739441203 L311.18480262390085 239.94567731675667 L310.08811007175245 238.85771257333684 L295.9080860789728 238.98441360648226 L295.5040410847133 238.37576136072752 L295.3693617619241 234.95510211107523 L294.7536758244553 234.54409252520972 L294.63823339382515 232.50651096359852 L294.1572302920914 232.1957992104873 L292.86813720183886 229.01844227891092 L293.56078124678174 227.02179964675943 L293.11825895525806 226.54692397220128 L293.041297334838 225.30333966482573 L311.3579627569002 225.19725729131798 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M274.3398273236214 241.68356975800575 L274.3398273236214 241.68356975800575 L297.52426254306494 241.68356975800575 L299.00575968436783 242.46122730046443 L298.21691010095384 243.78633477217687 L299.21740062757715 245.30461493116468 L299.96776940078115 245.5280133042577 L299.94852899567616 255.1596582903086 L273.85882070894183 255.18374910331684 L273.8203434116778 241.68356975800575 L274.3398273236214 241.68356975800575 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M337.58235036642367 247.28490067362284 L337.58235036642367 247.28490067362284 L338.37119994983766 247.90124341062295 L338.9291646719914 247.58089462731516 L340.25673857245414 247.92587278461883 L341.14178666844725 247.3342519209392 L341.29570639634153 248.09822575758477 L342.1807580052807 248.83583247966894 L342.0845559797555 250.18376665958314 L342.50784137912007 251.03865053846914 L343.23896623427305 252.20745019093604 L344.3741395966315 252.79029239002148 L341.73823220081107 254.62922931911072 L340.50686032587345 255.80949825461346 L340.2759789775592 256.2900454608998 L338.33271913962756 256.98563082759875 L322.94056016406944 256.5780498277953 L322.9982813793845 257.3687873664186 L318.2074732024231 257.3687873664186 L318.3998737405274 256.8178611850936 L318.919361165417 257.00959111540817 L319.0348000831013 254.9909783819386 L319.5735279130959 254.21877152701458 L321.2666659976082 254.84632402908673 L321.7091882891317 254.48441803748014 L321.5167877510275 253.44476432436085 L322.9598005691744 253.03283922785496 L322.632717195335 252.25605604600327 L323.421566778749 251.20936127432438 L324.5952174383715 250.84344796162412 L326.24987471267366 251.67226699977067 L327.4235253722963 250.77021528759573 L327.6544102335566 251.20936127432438 L328.4432563040246 251.03865053846914 L328.3855350887095 250.5504232431258 L329.15514426701856 249.98805226494562 L329.2898271027537 250.50155948924692 L330.0786731732218 250.91666424412875 L330.8098015413207 249.4982441959236 L332.2528143594676 248.34428024522063 L332.2143370622035 247.45759691121503 L333.11862556330175 247.65485059215217 L334.3884782484494 247.2108640987247 L334.09987568482 245.9743365232168 L334.3692378433445 245.7760457033068 L335.7160521489121 245.7760457033068 L336.4856578142752 247.11211610977563 L337.58235036642367 247.28490067362284 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M303.4887248925948 272.2441683083734 L303.4887248925948 272.2441683083734 L312.0698507198941 272.31300101301133 L312.3969340937335 272.7944632355051 L312.1083315301041 273.82407907134274 L312.6278154420478 274.3492268896801 L312.70477706246794 275.57930742073256 L312.2814916631034 276.53327313847365 L311.45416478242527 277.1226211335072 L311.24252383921595 278.0501377055272 L310.89620006027155 277.95974629541774 L310.41519344559185 279.5160158098633 L310.6653151990112 280.3255061319302 L310.41519344559185 280.61740803908503 L317.0530629479056 280.61740803908503 L316.7067391689612 281.96183913024834 L317.84190901837366 283.94769669482935 L316.8029376815403 284.5037457489335 L316.7259795740662 284.90362697272667 L317.5725468598493 285.1699969323781 L317.9381110438988 284.52597202515767 L318.66923941199775 285.1699969323781 L318.1882327973181 285.90160304294716 L317.3993867268501 285.7022028317271 L317.22622308090484 286.6540038572914 L318.97708238073216 287.3167370435209 L319.6697264256751 288.0004399173929 L319.1117617035213 288.683012383682 L318.4960757660525 288.5509918106415 L316.6874987638561 287.4712226947502 L316.6874987638561 286.786633925098 L316.0525724212823 287.0075952493872 L315.802447154917 288.1106097516639 L315.3406844582883 288.19872447304846 L314.1862706908248 287.58153002910524 L313.3589438101468 288.3748935952787 L312.3199724733134 287.9563637518416 L311.87745018178975 286.96341252384207 L310.78075762964136 286.58767065892414 L310.47291466090695 285.7465224561689 L309.54938575470374 285.85730034738924 L309.5301453495987 285.34747531827384 L308.7412957661847 286.211582757697 L308.0486517212418 286.5655571984811 L304.83553568521654 285.5913866246119 L302.6806349040757 285.94590090769844 L302.37279193534135 285.54705003892724 L303.2001223289654 284.10347043016776 L303.06543949323026 282.34192860785004 L303.77732745622416 280.86423114187926 L303.7196062409092 279.9884238871741 L302.73835611939074 277.41695380869163 L301.96874694108175 276.5105873461788 L301.96874694108175 272.2441683083734 L303.4887248925948 272.2441683083734 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M383.95122080531064 227.3379567944879 L383.95122080531064 227.3379567944879 L383.58565662126114 226.5205192248915 L383.02769189910737 225.96547524852224 L382.6236469048479 216.3361228205663 L384.1436248563608 215.6514191384426 L383.8934995899955 215.2947189145332 L385.0671537625641 214.16676981032947 L384.9517113319339 213.86338063717238 L385.33651592108845 212.50791073673514 L385.6828397000329 211.1736997659317 L386.22156401708156 210.72753882690307 L386.43320847323685 209.30059484534016 L389.1460739765314 205.34511985405337 L389.78100031910526 205.51581684500732 L389.81948112931525 206.48108253350853 L390.2812473388899 206.82095262968673 L392.62854865813506 205.88528989492838 L394.18700741985805 207.38647273440654 L394.148526609648 214.4698368737876 L395.3606580794806 214.82758166111032 L395.2452156488505 216.44551762823093 L395.7454626686351 217.2101313829177 L396.3996294163139 217.04645789767275 L397.0345557588878 218.81457176454012 L396.3034273907888 219.59990019442205 L395.88014199142435 219.30227193472362 L395.53381821247984 219.8431884199438 L395.0335747056412 219.70805379699993 L394.975853490326 220.16724698237047 L394.3216867426472 220.113261814873 L393.28271540581386 221.16413757138025 L393.03259365239455 220.43702064762698 L392.66702946834505 220.38308618492644 L392.8401931142903 221.16413757138025 L392.0321031257712 221.54043966546686 L391.8397025876669 220.92197102556443 L390.55060949741426 221.2448161586032 L390.53136909230926 220.51789843981555 L389.9926447752605 220.67959561412454 L389.6847982935801 222.5593687051812 L389.0306350588472 223.14764002069558 L388.37646831116837 222.933859512643 L387.01041360049555 224.13431852233728 L386.4716857705009 224.02781510134452 L386.31776604260665 223.49469294049578 L385.52891645919266 224.34721831755525 L385.1633557880891 225.06460017715054 L383.95122080531064 227.3379567944879 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M365.3651932247241 250.94106603137803 L365.3651932247241 250.94106603137803 L365.3651932247241 250.94106603137803 ZM353.12842906987606 242.96192332066553 L353.12842906987606 242.96192332066553 L366.09632159282313 242.96192332066553 L366.4234049666625 248.66387257046765 L368.6937481784335 248.71301329497325 L368.0011006205446 250.59927522827692 L365.7499978138787 251.13621042348987 L365.4806356553543 250.11039032645317 L365.88467713666785 249.79221572872797 L365.34595281961913 249.05678524581745 L365.1727891736739 249.37567567378923 L364.4416643185209 249.30211682736646 L364.19154256510166 248.49182572104868 L364.6725456668352 247.01333774968273 L364.36470269810087 245.57763612565444 L364.74950728725537 244.73300356063984 L365.34595281961913 244.58371591996445 L365.4421548451442 243.71147634052144 L364.9803886355696 244.26002271343208 L364.05685972936647 244.83248513506265 L363.38345257658256 247.28490067362284 L364.07610013447146 250.47712487022278 L362.1135998914349 249.42470863281454 L361.76727611249044 248.73758085964826 L361.1131093648116 249.13040420410348 L360.8629876113922 248.59014748820184 L362.15208070164493 246.71682462460325 L361.4209523335459 246.54372928002175 L360.2280612688184 245.89999189641918 L360.2280612688184 245.23011397086202 L359.3045323626152 244.78275051309691 L358.9004873683556 243.51177167098803 L357.70759630362807 243.08697412297076 L356.80330428958393 243.4118696780345 L356.66862496679465 243.91105945313865 L355.62965362996135 243.5866728692524 L354.9370060720724 244.26002271343208 L353.089948259666 245.30461493116468 L353.12842906987606 242.96192332066553 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M383.2008555450526 228.1531340671585 L383.2008555450526 228.1531340671585 L383.5471793239971 228.23190389284358 L383.6818586467863 229.07080468971654 L382.9507302786873 231.10576664684822 L383.72033945699627 231.20974684057984 L384.1051440461508 232.55826585948236 L384.52842593256935 233.25608349229051 L385.50967605408766 233.72039889002252 L386.64484941644616 233.2818977846924 L386.39472766302686 233.92653003041198 L384.72082998361964 234.49267660377757 L384.1051440461508 234.51838565334992 L383.7395798621013 234.0810398488655 L382.48896758205865 234.74966448461666 L381.5654386758555 232.2994070425702 L374.17720391328373 232.14398189981247 L374.9468095786467 228.83510581878886 L381.87328164458984 229.07080468971654 L383.2008555450526 228.1531340671585 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M339.1600460203057 233.64306172285106 L339.1600460203057 233.64306172285106 L334.40771865355447 233.51412246896854 L327.3273268597171 233.51412246896854 L328.9627437289143 231.18375399183682 L329.48222764085796 228.96607062722842 L329.4052660204378 227.54854319924664 L328.3662981965505 224.74598200048342 L328.6933815703899 223.68139373297677 L328.46249670912965 222.39872218466328 L329.2705866976487 221.0834363805152 L329.32830791296374 219.38347532110762 L329.90551304022256 219.13979598357895 L329.9824746606426 218.32603742302504 L330.8867631617408 218.10864492160158 L331.5794107196297 217.2101313829177 L331.5216895043146 219.0043337520397 L331.8872536883641 219.08562176093656 L332.3490163849928 218.19018840326513 L332.36825679009775 216.6641905744286 L333.6188690701404 216.03505519499717 L333.311026101406 214.96505682524312 L333.9459524439798 214.0564875841713 L336.4856578142752 214.66252285032868 L336.9089432136397 215.3770755225549 L339.04460358967555 216.0624382196254 L339.64105263498533 217.1283064339905 L339.1600460203057 217.70058190689605 L339.79497236287955 219.2751990173792 L339.58333141967023 221.11033929017756 L338.8714434566763 221.56729995260562 L338.6982833236771 222.50582977120627 L337.85171252494797 222.82691012409768 L337.5631099613186 224.37381985800872 L338.4096772471017 224.77254720113908 L339.8334531730896 222.90712586455814 L341.0455846429222 222.4255027978805 L342.00759435933537 223.49469294049578 L342.8156843478545 227.73267828420205 L342.450120163805 229.46322396599348 L341.8729150365462 229.72455246242902 L341.85367463144115 229.09698243140735 L341.46887004228677 229.2801620275931 L341.02634423781717 230.71550086717048 L340.31445978776924 231.26172576883224 L340.10281533161395 232.35119757391766 L339.1600460203057 233.64306172285106 ZM331.94497139073326 214.1943348644324 L331.94497139073326 214.1943348644324 L332.00269260604836 214.80007857636033 L331.5409299094196 214.91007480841301 L331.73333044752394 214.0564875841713 L331.94497139073326 214.1943348644324 ZM324.6336982485816 217.3737056235162 L324.6336982485816 217.3737056235162 L324.0949739315328 216.8553861365737 L324.42205730537233 216.14457139425264 L323.5947269117483 216.03505519499717 L323.96029109579774 214.4698368737876 L322.8251212463852 213.22795423277833 L315.7447294525479 211.11796813786094 L315.3599248633934 210.2527062377618 L314.7057581157145 209.94502478285762 L316.6874987638561 208.7952062074766 L318.22671360752815 208.54216213601137 L319.6889668307801 207.75343601899647 L322.55575908786085 205.3735767592988 L323.3446051583289 205.74324194584582 L321.6322266687117 207.86625099443583 L321.65146707381666 208.8233079039463 L322.32487422660057 208.09173723577254 L323.53700920937916 208.20441375652968 L324.4797785206874 208.71088395437968 L325.3263458064705 210.11289334957456 L327.76984915124075 210.61588533521524 L329.65539128680314 209.44081308846177 L333.5034301524562 208.9637683868284 L333.63810947524536 210.39244360322937 L335.0234045910232 210.364505840168 L335.31200715465263 210.69962966036908 L336.79350078300956 210.1408615658422 L336.81274118811456 211.92497702044614 L337.2745073976892 212.6742415095871 L337.9671549555781 212.86816407436925 L338.0441165759982 212.36922611018684 L338.71752021583615 212.36922611018684 L339.0830843998856 212.89585705128277 L338.7752414311512 213.28326634224925 L336.85122199832466 212.9512347859556 L335.92769309212144 213.17263120146478 L334.9272025654981 212.56336532374377 L334.7732828376039 213.58728799915326 L333.6765902854555 212.7850686957751 L331.9642117958383 212.34148092264456 L331.4062470736845 213.00660156705584 L329.48222764085796 213.03428085200244 L328.9819841340193 213.86338063717238 L327.8852915818709 214.3321196067837 L327.94301279718593 213.67014078627219 L327.4620061825063 213.53203584674665 L327.269605644402 214.22189721561563 L326.0959549847795 214.55243488638408 L324.6336982485816 217.3737056235162 ZM320.36237398356394 202.65684206972153 L320.36237398356394 202.65684206972153 L319.0155631909422 203.40306964601714 L319.0540404882063 202.8579491455216 L321.2666659976082 201.6201941281594 L320.36237398356394 202.65684206972153 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M309.08761954512914 209.24448559123354 L309.08761954512914 209.24448559123354 L308.81825738660484 209.01993464116566 L308.10636942361083 209.44081308846177 L308.10636942361083 212.45244514514752 L306.89423795377826 213.17263120146478 L306.08615147820524 214.24945686466086 L306.0284302628901 214.96505682524312 L306.87499754867326 215.6514191384426 L306.4709525544137 216.41817163916107 L306.2977924214145 219.08562176093656 L307.95244969571667 220.05926648905015 L309.39546251386355 221.13723968689416 L309.5686261598088 221.78209227984505 L311.1270814085858 222.80016660954436 L311.8004885613697 223.8679795724661 L311.8966905868948 225.19725729131798 L293.5030635444126 225.19725729131798 L293.5030635444126 216.36347673288887 L292.07928761842476 214.82758166111032 L293.041297334838 213.75297415646014 L292.983576119523 211.14583534722524 L292.2716881565291 209.49688254269267 L292.07928761842476 204.5756702760418 L291.11727790201155 201.7932467294158 L291.2327203326417 198.9235946280325 L290.7709541230671 197.22802033387686 L298.06298686011365 197.22802033387686 L298.06298686011365 195.16716720531227 L298.7556344180025 195.22627172549335 L299.21740062757715 195.63962968260068 L299.67916332420583 198.42772777488793 L300.0447275082552 198.7486910590783 L302.6806349040757 199.21485603293343 L302.83455814491595 199.7964266535192 L304.8932569005316 199.12751082903247 L305.6821064839457 199.2439647807323 L306.58639498504385 199.6802122042372 L306.8365167384632 200.23177851681575 L307.35600416335285 200.17377160653146 L307.83700726508647 201.36040714935714 L308.06788861340084 200.86902025537734 L308.95294022234 200.6374718696791 L310.1458312870675 201.47589888886606 L310.6653151990112 202.31173036472518 L313.22426097441155 201.27376117735403 L313.532107456092 202.05261279237075 L315.6677678321279 201.9373673657362 L316.61053714343603 202.59935398204334 L317.51482564453426 202.4843411927693 L316.2642133644915 203.431730168484 L313.57058475335606 204.49004055665682 L308.81825738660484 208.8233079039463 L309.08761954512914 209.24448559123354 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M321.53602815613255 263.864629028433 L321.53602815613255 263.864629028433 L322.47879746744076 263.864629028433 L322.84436165149026 264.31059383825436 L321.53602815613255 276.91872054001396 L321.8053903146569 283.1902249390479 L320.2276946607748 283.01178503858324 L317.84190901837366 283.94769669482935 L316.7067391689612 281.96183913024834 L317.0530629479056 280.61740803908503 L310.41519344559185 280.61740803908503 L310.6653151990112 280.3255061319302 L310.41519344559185 279.5160158098633 L310.89620006027155 277.95974629541774 L311.24252383921595 278.0501377055272 L311.45416478242527 277.1226211335072 L312.2814916631034 276.53327313847365 L312.70477706246794 275.57930742073256 L312.6278154420478 274.3492268896801 L312.1083315301041 273.82407907134274 L312.3969340937335 272.7944632355051 L312.0698507198941 272.31300101301133 L312.1468123403141 270.86481874545797 L312.4546553090486 270.51917073945754 L311.83896937157976 269.96545424968826 L313.0318604363073 267.9975456515904 L312.8202194930981 267.5329435288888 L313.532107456092 266.55531759704206 L314.16703379866584 266.3221514659839 L314.10931258335074 265.481493922366 L315.2829632429733 264.240215269902 L315.071322299764 263.864629028433 L321.53602815613255 263.864629028433 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M309.72254588770306 238.8830578584101 L309.72254588770306 238.8830578584101 L311.18480262390085 239.94567731675667 L310.91544046537655 241.5328304927505 L311.3579627569002 242.93690720192993 L313.60906556356605 245.0810642474728 L313.8399504248264 246.5684629126418 L314.10931258335074 246.84040695116389 L314.5133540646643 246.42003697223797 L315.7832102627579 246.93923402861654 L314.9173990589238 249.7677278748447 L316.3411749849117 251.25811943802233 L316.7259795740662 251.1605958551301 L317.8611494234787 252.1102080766837 L318.14975198710806 253.63843645312795 L317.8611494234787 253.9287284703467 L318.64999900689276 255.18374910331684 L319.20796372904647 255.23192552493938 L318.919361165417 257.00959111540817 L318.3998737405274 256.8178611850936 L318.2074732024231 257.3687873664186 L317.7841878030586 257.3687873664186 L317.8034282081636 258.4440971559352 L317.1107806502747 259.539803365764 L314.84043743850367 259.539803365764 L315.9371299906522 258.2054349690285 L315.6292870219178 257.3687873664186 L299.94852899567616 257.34485252425696 L299.96776940078115 245.5280133042577 L299.21740062757715 245.30461493116468 L298.21691010095384 243.78633477217687 L299.00575968436783 242.46122730046443 L297.87058632200944 242.11026626784982 L295.9080860789728 238.98441360648226 L309.72254588770306 238.8830578584101 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M266.81690972531453 197.22802033387686 L266.81690972531453 197.22802033387686 L266.8361501304196 217.86387432624693 L242.20870209282924 217.8366646004144 L242.22794249793424 220.43702064762698 L241.03504792026064 219.0585283262442 L240.22696144468756 220.0862654221145 L238.03357985333673 219.9782593719071 L237.22548986481763 220.4100546820902 L236.12879731266918 220.38308618492644 L235.7632366415657 220.8412019092145 L235.35919164730626 220.57180760520308 L234.8974254377316 218.97723261105835 L233.76225558831908 218.51612432440763 L233.78149599342407 217.5644291183972 L232.78100546680076 216.199313602251 L232.53088371338146 214.82758166111032 L231.89595737080765 214.3321196067837 L230.68382238802906 215.56914253474096 L229.93345712777102 215.04750472652248 L229.85649550735093 213.97374372070476 L230.49142184992485 213.4214988744102 L230.12585766587534 212.64652658465207 L230.72230319823916 209.55294064021115 L229.70257226651069 209.58096543228083 L227.20134770642545 206.39604785303334 L225.8160525906476 205.54425598018167 L225.7968121855426 204.1186722627063 L224.66164233613006 202.65684206972153 L224.66164233613006 197.22802033387686 L266.81690972531453 197.22802033387686 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M269.3566150956099 227.60116631940227 L269.3566150956099 227.60116631940227 L286.3072293199452 227.62747436095066 L288.2312487527717 228.73028848519135 L288.6545341521363 228.25815584108727 L290.80943493327715 228.36314034989115 L292.6564927456836 229.2540004302953 L292.8873776069438 229.93344537901712 L293.5223039495177 230.06393206140126 L294.1572302920914 232.1957992104873 L294.63823339382515 232.50651096359852 L294.7536758244553 234.54409252520972 L295.3693617619241 234.95510211107523 L295.5040410847133 238.37576136072752 L297.52426254306494 241.68356975800575 L273.8203434116778 241.68356975800575 L273.8203434116778 237.05287083164103 L266.7976693202096 237.05287083164103 L266.7976693202096 227.60116631940227 L269.3566150956099 227.60116631940227 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M221.21764846473656 232.3770894955905 L221.21764846473656 232.3770894955905 L231.70355331975736 232.40297918875658 L231.68431291465237 258.68259212487266 L231.31874873060292 259.42087785369495 L230.5491430652399 258.9209246776138 L229.26004997498706 259.0876541284704 L229.83725510224593 263.2534440234212 L229.62561415903656 263.841141278132 L210.7702209069799 246.24678106885256 L210.7702209069799 232.40297918875658 L221.21764846473656 232.3770894955905 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M382.6236469048479 216.3361228205663 L382.6236469048479 216.3361228205663 L383.02769189910737 225.96547524852224 L383.58565662126114 226.5205192248915 L383.95122080531064 227.3379567944879 L383.5471793239971 228.23190389284358 L381.87328164458984 229.07080468971654 L377.7943579176765 228.9136945118109 L377.52499575915215 227.837849535777 L377.83283872788655 227.5748559323872 L378.06372358914683 224.8522283025639 L379.2950954640844 222.39872218466328 L379.2758550589794 221.1910329443506 L380.44950571860204 220.73347446917484 L381.02671084586075 219.89722443615852 L380.69962747202135 219.08562176093656 L381.64239678332956 216.50020168795356 L382.45048677184866 216.6368656819145 L382.6236469048479 216.3361228205663 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M371.54129651746325 236.4148293817543 L371.54129651746325 236.4148293817543 L372.7149471770858 237.07836507001704 L372.2916617777213 238.42652899366902 L371.4066136817281 239.44012037015548 L372.3686233981413 239.79409529301486 L372.0222996191969 242.78676873587264 L369.5787962744267 246.27153765722053 L369.2517129005873 245.5280133042577 L366.9813696888163 244.16035686294288 L366.8851676632912 243.3868892385278 L368.34742439948906 242.2105821980174 L369.6557578948468 240.70247186699754 L368.65526736822346 239.76882442714694 L368.1742607535439 239.03508134241406 L368.6745077733285 237.68958335963723 L368.3859052096991 237.2057998467544 L369.92512005337113 235.39119218067174 L371.54129651746325 236.4148293817543 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M254.96495015962103 255.1596582903086 L254.96495015962103 255.1596582903086 L270.49178845796837 255.1596582903086 L270.26090710965406 276.4879001990665 L257.79325809354566 276.4879001990665 L258.10110106228007 277.371685983931 L252.19436344101132 277.371685983931 L252.19436344101132 279.2458116261359 L249.2506130764565 279.2458116261359 L249.26985348156148 255.1596582903086 L254.96495015962103 255.1596582903086 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M374.6774474201224 217.78223734399518 L374.6774474201224 217.78223734399518 L374.5235241792823 219.73508581963074 L374.8506075531216 220.62570666138612 L374.35036404628295 222.5593687051812 L374.46580647691314 224.29400795147038 L375.0237711990668 225.09113641669856 L374.9468095786467 228.83510581878886 L374.1002422928636 231.9625556394369 L374.1964408054428 236.08252367090307 L373.3306331145546 236.59361630928802 L373.58075486797395 237.12934719251743 L375.0814924143819 237.51143885442855 L377.3325952210479 237.07836507001704 L378.4100438551453 236.33817442133963 L378.4870054755654 236.87435180203494 L379.0449701977191 237.10385719011407 L375.04301160417185 238.807015769283 L372.59950474645564 239.18703479782687 L372.2916617777213 238.42652899366902 L372.7149471770858 237.07836507001704 L369.77119681253095 235.05776420019168 L369.23247249548217 235.03210544113216 L368.5975461529084 234.23546620089536 L368.6745077733285 233.5399147201217 L367.5970556262851 232.3770894955905 L352.1279385432527 232.3770894955905 L352.1279385432527 231.10576664684822 L355.32181066122695 228.65165115510746 L354.55220148291795 226.36204089190616 L356.6109037514796 225.80670165782118 L359.16984952688 225.96547524852224 L359.95869911029405 226.49411210492698 L362.9024494748489 225.96547524852224 L363.8836960834212 225.09113641669856 L364.51862242599503 225.06460017715054 L364.8649462049395 222.96059069585888 L364.07610013447146 222.4255027978805 L364.2492602674707 221.8089300851685 L365.65379578835353 220.97579959809636 L367.86641778480947 218.59755138297638 L369.46335384379654 217.75502478157668 L374.6774474201224 217.78223734399518 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M347.8566142782351 257.0814574093728 L347.8566142782351 257.0814574093728 L365.80771551624775 257.12936269645076 L366.2117605105073 258.8732714872038 L365.230510388989 258.70643287745565 L362.94092677211296 259.4922363812906 L362.979407582323 259.801303789542 L365.4806356553543 259.9676050367357 L366.1155619979282 259.801303789542 L366.3464433462425 260.84530596440646 L364.82646890767546 262.45258374331047 L363.6528147351069 262.49974463250743 L363.4604141970027 263.22991525669295 L364.36470269810087 264.0994201510935 L363.61433392489687 265.29441266925835 L361.0938689597065 265.52824986732503 L358.9197277734607 267.4166979109743 L358.419480753676 268.76282892573965 L357.688355898523 268.4615484460409 L356.4185032133754 268.7396620999726 L352.43578151198716 264.6857045094385 L348.49154062080896 264.6154008695131 L348.549261836124 264.12289063466216 L348.0105375190754 263.39458339755845 L347.64497333502584 263.65318692983436 L347.62573292992084 263.20638490662213 L343.29668744958815 262.9945447338459 L340.3721774901383 263.841141278132 L336.1200971431717 263.8881152069081 L336.21629565575086 262.8767978150926 L336.9089432136397 262.7825716666795 L337.1783053721641 262.0750706047587 L338.0441165759982 261.437086239431 L339.00612629241147 261.41343429550363 L340.7762224843978 260.51346714184274 L342.0268347644404 259.25430658587095 L342.1230367899656 259.6824646960224 L343.5083319057434 258.8494423960494 L344.14325824831724 259.01621110343604 L344.5857805398408 258.2054349690285 L345.23994728751967 257.9904917293312 L345.39387052835986 256.9616688397158 L347.8566142782351 257.0814574093728 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M290.7709541230671 197.22802033387686 L290.7709541230671 197.22802033387686 L291.2327203326417 198.9235946280325 L291.11727790201155 201.7932467294158 L292.07928761842476 204.5756702760418 L292.2716881565291 209.49688254269267 L292.983576119523 211.14583534722524 L293.11825895525806 213.17263120146478 L266.81690972531453 213.1173022939548 L266.81690972531453 197.22802033387686 L290.7709541230671 197.22802033387686 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M349.4727907423273 232.48063017785375 L349.4727907423273 232.48063017785375 L349.4727907423273 238.7563106495364 L348.95330683038355 239.00974851162215 L349.18418817869787 240.22338118718451 L348.3761017031248 243.01194959823025 L347.01004699245203 244.48415179744168 L346.5675211879824 244.68324881380727 L346.18271659882794 244.38455641207094 L345.7786751175144 245.03136397120247 L345.37463012325486 245.0065109200109 L344.66274216026096 246.8156942957249 L344.14325824831724 246.1229693705093 L343.4890915006384 247.2108640987247 L343.1042869114839 248.73758085964826 L342.1807580052807 248.83583247966894 L341.29570639634153 248.09822575758477 L341.14178666844725 247.3342519209392 L340.25673857245414 247.92587278461883 L338.9291646719914 247.58089462731516 L338.37119994983766 247.90124341062295 L337.58235036642367 247.28490067362284 L336.4856578142752 247.11211610977563 L335.7160521489121 245.7760457033068 L334.3692378433445 245.7760457033068 L334.40771865355447 233.82347965982763 L339.1600460203057 233.64306172285106 L340.98786342760707 234.67258954852522 L341.3341872065516 234.31265223006184 L342.5847994865942 235.2886378481731 L344.22021635579137 234.67258954852522 L345.1822260722046 234.80103691291148 L347.74117184760496 233.07532160012076 L349.4727907423273 232.48063017785375 ZM349.4727907423273 232.48063017785375 L349.4727907423273 232.48063017785375 L349.4727907423273 232.48063017785375 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M280.7275715595699 255.1596582903086 L280.7275715595699 255.1596582903086 L299.94852899567616 255.1596582903086 L300.602695743355 262.1458863589744 L300.4102916923047 269.6420631324361 L297.8128651066944 268.2760173460137 L297.58198375838 268.64697993867014 L296.4852912062316 268.391985471542 L294.561271773405 268.7859942664878 L293.8686242155161 269.43401407534066 L292.86813720183886 268.76282892573965 L292.0985280235298 268.76282892573965 L291.8484062701105 268.2760173460137 L290.9633546611713 269.2258498968652 L290.6747520975419 268.69332399177273 L290.2707106162284 268.85548138263795 L289.1355372538699 268.1832159652729 L288.5198513164011 268.7396620999726 L287.46163957446277 267.6259129041933 L286.78823242167874 267.4399500499574 L286.3457101301552 267.8350017641637 L286.0571075665258 267.4864498040073 L283.88296286733396 267.20736497591577 L283.6328411139147 266.3921173286279 L282.09362627024274 266.4853837752728 L281.0354145283043 265.71521200307467 L281.0354145283043 257.34485252425696 L270.49178845796837 257.34485252425696 L270.49178845796837 255.1596582903086 L280.7275715595699 255.1596582903086 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M199.49546646854498 211.95276363092 L199.49546646854498 211.95276363092 L200.57291861558838 212.424708220638 L201.0731621224271 214.55243488638408 L202.88173912462355 215.10245994460044 L204.4209574812415 214.3045680594638 L205.3829671976548 214.22189721561563 L206.61433907259237 214.82758166111032 L208.53835850541896 214.11163159023576 L210.03909253888094 214.22189721561563 L214.32965720900353 212.8404683566772 L221.60244954094503 212.86816407436925 L222.0834561556248 213.72536574958008 L222.91078303630286 214.08406345728284 L223.1993855999322 214.77257280582663 L220.4672796915325 220.8412019092145 L220.71740144495197 221.51357687679564 L221.67941116136524 221.99672002136285 L221.21764846473656 223.60139657573728 L221.21764846473656 232.3770894955905 L195.97451097673138 232.3770894955905 L195.47426395694674 231.83289493304815 L195.26262301373743 229.227836528592 L194.78161991200386 228.389380659313 L196.12843070462566 223.70805618355567 L196.80183785740957 217.1283064339905 L196.7441166420944 213.1173022939548 L196.9172802880396 212.25822882113934 L198.32181580892245 211.50785033371005 L198.93750174639138 212.09165519156352 L199.49546646854498 211.95276363092 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M352.1279385432527 231.18375399183682 L352.1279385432527 231.18375399183682 L352.1279385432527 232.3770894955905 L367.5970556262851 232.3770894955905 L368.6745077733285 233.5399147201217 L368.5975461529084 234.23546620089536 L369.92512005337113 235.39119218067174 L368.3859052096991 237.2057998467544 L368.6745077733285 237.68958335963723 L368.1357799433338 238.5026601549286 L368.1742607535439 239.03508134241406 L368.65526736822346 239.76882442714694 L369.6557578948468 240.70247186699754 L369.4825942489016 241.10534556476503 L368.34742439948906 242.2105821980174 L366.6927671251869 242.46122730046443 L366.09632159282313 242.96192332066553 L349.4727907423273 242.96192332066553 L349.4727907423273 232.48063017785375 L352.1279385432527 231.18375399183682 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M382.21960542353435 233.90077072676598 L382.21960542353435 233.90077072676598 L382.48896758205865 234.74966448461666 L381.79632002416975 234.85240065687844 L382.21960542353435 233.90077072676598 ZM381.0459512509658 232.2994070425702 L381.0459512509658 232.2994070425702 L381.5654386758555 232.2994070425702 L382.12340339800915 233.7461735518823 L381.7001179986446 233.668842976117 L381.219114896911 235.339919331398 L379.89154099644827 235.570574552158 L380.1031819396575 232.35119757391766 L381.0459512509658 232.2994070425702 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M341.58431247291685 263.5591698092866 L341.58431247291685 263.5591698092866 L343.29668744958815 262.9945447338459 L347.62573292992084 263.20638490662213 L347.64497333502584 263.65318692983436 L348.0105375190754 263.39458339755845 L348.549261836124 264.12289063466216 L348.49154062080896 264.6154008695131 L352.43578151198716 264.6857045094385 L356.4185032133754 268.7396620999726 L355.0332080975976 269.6420631324361 L353.55171095629464 272.29005820296027 L352.76286488582656 272.29005820296027 L351.30060814962866 273.938302077629 L348.1836976520745 276.35174884454767 L347.3756111765015 275.98844359347447 L347.3563707713965 275.2835454089646 L346.31739943456313 273.8697741364544 L346.0480372760387 272.29005820296027 L344.52805932452577 270.3808224903608 L342.31543732806983 268.34560269855456 L341.1033058582373 266.0421546617904 L339.5640910145652 265.2008328150638 L340.3721774901383 263.841141278132 L341.58431247291685 263.5591698092866 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M266.81690972531453 213.1173022939548 L266.81690972531453 213.1173022939548 L293.11825895525806 213.17263120146478 L292.07928761842476 214.82758166111032 L293.5030635444126 216.36347673288887 L293.5030635444126 225.19725729131798 L293.041297334838 225.30333966482573 L293.11825895525806 226.54692397220128 L293.56078124678174 227.02179964675943 L292.86813720183886 229.01844227891092 L293.5223039495177 230.06393206140126 L292.6564927456836 229.2540004302953 L290.80943493327715 228.36314034989115 L288.6545341521363 228.25815584108727 L288.2312487527717 228.73028848519135 L286.3072293199452 227.62747436095066 L266.7976693202096 227.60116631940227 L266.81690972531453 213.1173022939548 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M322.9982813793845 257.3687873664186 L322.9982813793845 257.3687873664186 L322.94056016406944 256.5780498277953 L345.39387052835986 256.9616688397158 L345.23994728751967 257.9904917293312 L344.5857805398408 258.2054349690285 L344.14325824831724 259.01621110343604 L343.5083319057434 258.8494423960494 L342.1230367899656 259.6824646960224 L342.0268347644404 259.25430658587095 L340.7762224843978 260.51346714184274 L339.00612629241147 261.41343429550363 L338.0441165759982 261.437086239431 L337.1783053721641 262.0750706047587 L336.9089432136397 262.7825716666795 L336.21629565575086 262.8767978150926 L336.1200971431717 263.8881152069081 L315.071322299764 263.864629028433 L315.76396985765285 262.9945447338459 L315.70624864233787 261.95701225277196 L316.47585430770084 260.58460329688916 L316.99534173259053 260.3474255922367 L317.8034282081636 258.4440971559352 L317.7841878030586 257.3687873664186 L322.9982813793845 257.3687873664186 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M274.6669106974609 257.34485252425696 L274.6669106974609 257.34485252425696 L281.0354145283043 257.34485252425696 L281.0354145283043 265.71521200307467 L282.09362627024274 266.4853837752728 L283.6328411139147 266.3921173286279 L283.88296286733396 267.20736497591577 L286.0571075665258 267.4864498040073 L286.3457101301552 267.8350017641637 L286.78823242167874 267.4399500499574 L287.46163957446277 267.6259129041933 L288.5198513164011 268.7396620999726 L289.1355372538699 268.1832159652729 L290.2707106162284 268.85548138263795 L290.6747520975419 268.69332399177273 L290.9633546611713 269.2258498968652 L291.8484062701105 268.2760173460137 L292.0985280235298 268.76282892573965 L292.86813720183886 268.76282892573965 L293.8686242155161 269.43401407534066 L294.561271773405 268.7859942664878 L296.4852912062316 268.391985471542 L297.58198375838 268.64697993867014 L297.8128651066944 268.2760173460137 L300.77585587635417 270.03471587486996 L301.96874694108175 270.0116301300666 L301.96874694108175 276.5105873461788 L302.73835611939074 277.41695380869163 L303.7196062409092 279.9884238871741 L303.77732745622416 280.86423114187926 L303.06543949323026 282.34192860785004 L303.2001223289654 284.10347043016776 L302.37279193534135 285.54705003892724 L302.6806349040757 285.94590090769844 L300.27561236951556 286.5213266841239 L299.6214456218367 286.211582757697 L299.50600319120656 285.54705003892724 L298.7171536077925 285.90160304294716 L298.5439934747933 286.47709137625884 L298.96727887415784 287.4712226947502 L297.2549003845406 289.2546306922267 L295.1384804136098 290.3078693976538 L293.4068615188875 290.3297840102596 L292.75269477120867 289.93514994374385 L293.6762236774119 290.9648042849006 L293.00281652462803 291.2928888717341 L292.3678901820541 291.0960702428795 L291.482842086061 292.5591075364818 L290.1552681855983 295.36204926510516 L289.77046359644373 295.2537428546702 L289.6742615709186 295.77336600575074 L290.07830656517825 295.6435168690682 L289.59730346344446 297.30700674208475 L290.80943493327715 300.6369663021084 L289.73198278623374 301.04348495420356 L289.2894604947101 300.52993081476177 L287.36544106188353 300.3800336923387 L285.7107837875813 299.6727212896329 L283.9406840826491 298.49141503152066 L282.9786743662358 296.5948488559175 L282.8632354485516 294.7768837744969 L281.26629938956455 292.79882769700384 L279.9964431914709 291.5988718710859 L278.66887280395406 288.30883745597896 L276.0714462183437 285.68004120360615 L272.81985288505444 285.2143748471701 L272.6466892391092 285.63571431389005 L271.8001219533261 285.76868045315916 L270.0877434637089 288.7710054494106 L269.5105383364501 288.7930008027656 L265.2007332612224 286.14517754767974 L264.56580691864855 283.94769669482935 L263.8346820634957 282.3642756765578 L262.08382276366837 281.20055906863956 L259.23627442463857 278.68227483102885 L257.69705958096654 276.89605772297415 L257.79325809354566 276.4879001990665 L270.26090710965406 276.4879001990665 L270.3571056222332 257.34485252425696 L274.6669106974609 257.34485252425696 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M238.30294201186103 232.40297918875658 L238.30294201186103 232.40297918875658 L242.22794249793424 232.3770894955905 L242.22794249793424 237.07836507001704 L249.2506130764565 237.07836507001704 L249.26985348156148 255.1596582903086 L231.68431291465237 255.1596582903086 L231.70355331975736 232.40297918875658 L238.30294201186103 232.40297918875658 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M381.14215327649094 217.78223734399518 L381.14215327649094 217.78223734399518 L380.69962747202135 219.08562176093656 L381.02671084586075 219.89722443615852 L380.44950571860204 220.73347446917484 L379.2758550589794 221.1910329443506 L379.2950954640844 222.39872218466328 L378.06372358914683 224.8522283025639 L377.83283872788655 227.5748559323872 L377.52499575915215 227.837849535777 L377.7943579176765 228.9136945118109 L374.9468095786467 228.83510581878886 L375.0237711990668 225.09113641669856 L374.46580647691314 224.29400795147038 L374.35036404628295 222.5593687051812 L374.8506075531216 220.62570666138612 L374.5235241792823 219.73508581963074 L374.6774474201224 217.78223734399518 L381.14215327649094 217.78223734399518 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M367.4623727905499 250.6725462011947 L367.4623727905499 250.6725462011947 L368.0011006205446 250.59927522827692 L367.0583313092364 251.62357034827306 L366.03860037750803 254.29123838698726 L365.4421548451442 254.62922931911072 L365.5575937628284 252.66894995722419 L366.50036307413666 250.94106603137803 L367.4623727905499 250.6725462011947 ZM365.28823160430403 250.94106603137803 L365.28823160430403 250.94106603137803 L365.28823160430403 250.94106603137803 ZM357.09191036615925 244.13543549944603 L357.09191036615925 244.13543549944603 L358.9197277734607 245.65205135102775 L359.3045323626152 244.78275051309691 L359.8432566796639 244.8573517966252 L360.2280612688184 245.89999189641918 L361.4209523335459 246.54372928002175 L361.69031449207034 247.18617994697135 L360.689823965447 248.73758085964826 L360.84374720628716 249.20400645591351 L361.78651651759543 249.05678524581745 L361.9596766505947 249.7677278748447 L363.1910520384783 250.06146061391678 L364.51862242599503 251.23374126286407 L364.07610013447146 252.4747136763659 L364.480145128731 253.44476432436085 L363.94141729873627 254.46027670639296 L364.38394310320587 254.7980919841166 L363.9029364885262 255.3282575637641 L363.17181163337324 254.62922931911072 L362.99864798742806 254.87043743901378 L363.63357433000186 255.37641318847812 L365.3651932247241 255.49676756821907 L365.80771551624775 257.12936269645076 L338.39043684199663 256.9137397618886 L340.2759789775592 256.2900454608998 L340.50686032587345 255.80949825461346 L341.73823220081107 254.62922931911072 L344.3741395966315 252.79029239002148 L344.79742499599604 253.90454678973072 L345.39387052835986 254.26708304969276 L346.50979997266734 253.66263752029246 L346.990806587347 254.12211861053507 L347.89509508844515 253.88036334906025 L349.6267139831674 253.29944036043952 L350.2423999206363 252.91159026907263 L350.26164032574127 252.1102080766837 L352.2626178660419 249.1058664082901 L352.5319835375123 248.0736095412564 L353.7056341971348 248.8849471135717 L354.8215671543882 246.91452898530756 L355.26408944591185 247.30957724431173 L356.899506315109 245.4783827563283 L357.09191036615925 244.13543549944603 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M221.19840805963156 197.22802033387686 L221.19840805963156 197.22802033387686 L221.1214464392114 211.0900981370251 L221.60244954094503 212.86816407436925 L214.32965720900353 212.8404683566772 L210.03909253888094 214.22189721561563 L208.53835850541896 214.11163159023576 L206.61433907259237 214.82758166111032 L205.3829671976548 214.22189721561563 L204.4209574812415 214.3045680594638 L202.88173912462355 215.10245994460044 L201.0731621224271 214.55243488638408 L200.9000019894279 213.03428085200244 L199.8225498423845 211.897187641979 L198.93750174639138 212.09165519156352 L198.32181580892245 211.50785033371005 L197.68688946634865 211.31297494332176 L197.167402041459 211.61914651947117 L196.4939948886751 211.1736997659317 L197.09044042103886 210.11289334957456 L196.37855597099093 209.0480134878855 L195.22414220352744 203.8898826099656 L194.53149464563853 203.11630312506318 L194.24289208200918 201.5624852839908 L194.62769667116362 200.5216203475198 L196.78259745230446 201.67789064553878 L198.74509769534103 201.90854833242952 L199.66862660154425 201.64904392723682 L200.11115240601384 202.1102170945753 L200.93847928669192 202.08141647696843 L201.51568792689665 203.23104818686295 L201.93896981331523 203.14499393959403 L202.26605318715468 206.08403322655164 L202.61237696609908 205.9420884315483 L202.36225521267983 203.57498743424892 L202.9394603399386 202.36927953635245 L202.47769764330997 201.8797262266275 L202.03517183884037 198.5444862231219 L200.95771969179697 197.81391903699338 L201.09240252753216 197.22802033387686 L221.19840805963156 197.22802033387686 ZM201.2270853632673 200.89795047862958 L201.2270853632673 200.89795047862958 L201.68884805989586 200.66642696476222 L201.61188643947582 201.73557484350187 L201.0539217173221 201.3315264917689 L201.2270853632673 200.89795047862958 ZM200.1496332162239 199.447632320233 L200.1496332162239 199.447632320233 L200.5344378053784 198.7486910590783 L201.0539217173221 199.59301835577608 L200.9000019894279 200.31876543688995 L200.0919120009088 200.11575218329202 L200.1496332162239 199.447632320233 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M349.4727907423273 238.7563106495364 L349.4727907423273 238.7563106495364 L349.4727907423273 242.96192332066553 L353.12842906987606 242.96192332066553 L353.089948259666 245.30461493116468 L354.47524337544377 244.11051217452675 L354.9370060720724 244.26002271343208 L355.62965362996135 243.5866728692524 L356.66862496679465 243.91105945313865 L356.80330428958393 243.4118696780345 L357.70759630362807 243.08697412297076 L358.9004873683556 243.51177167098803 L359.3045323626152 244.78275051309691 L358.9197277734607 245.65205135102775 L357.09191036615925 244.13543549944603 L356.899506315109 245.4783827563283 L355.26408944591185 247.30957724431173 L354.8215671543882 246.91452898530756 L353.7056341971348 248.8849471135717 L352.5319835375123 248.0736095412564 L352.2626178660419 249.1058664082901 L350.26164032574127 252.1102080766837 L350.2423999206363 252.91159026907263 L349.6267139831674 253.29944036043952 L347.89509508844515 253.88036334906025 L346.990806587347 254.12211861053507 L346.50979997266734 253.66263752029246 L345.39387052835986 254.26708304969276 L344.79742499599604 253.90454678973072 L344.3741395966315 252.79029239002148 L342.50784137912007 251.03865053846914 L342.0845559797555 250.18376665958314 L342.1807580052807 248.83583247966894 L343.1042869114839 248.73758085964826 L343.4890915006384 247.2108640987247 L344.14325824831724 246.1229693705093 L344.66274216026096 246.8156942957249 L345.37463012325486 245.0065109200109 L345.7786751175144 245.03136397120247 L346.18271659882794 244.38455641207094 L346.5675211879824 244.68324881380727 L347.01004699245203 244.48415179744168 L348.3761017031248 243.01194959823025 L349.18418817869787 240.22338118718451 L348.95330683038355 239.00974851162215 L349.4727907423273 238.7563106495364 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M314.7057581157145 209.94502478285762 L314.7057581157145 209.94502478285762 L315.3599248633934 210.2527062377618 L315.7447294525479 211.11796813786094 L322.8251212463852 213.22795423277833 L323.96029109579774 214.4698368737876 L323.5947269117483 216.03505519499717 L324.42205730537233 216.14457139425264 L324.0949739315328 216.8553861365737 L324.6336982485816 217.3737056235162 L324.4990189257924 217.97268723113 L323.82561177300846 218.08145857426013 L323.03676218959447 220.00526592977525 L323.44080718385396 220.14025566805023 L324.5567366281615 218.6518231847081 L325.28786499626045 218.27170359933413 L325.8650701235192 217.01916980707668 L326.5961984916181 216.746149453053 L325.05698364794614 220.05926648905015 L324.8068618945268 221.99672002136285 L324.11421433663793 223.36125826068795 L324.229653254322 224.29400795147038 L323.49852839916906 226.41487650242726 L324.0180123111128 228.65165115510746 L323.8833294753776 230.03783929650325 L313.9169085323005 229.9595472883508 L313.66678677888115 229.35863299950202 L312.41617449883853 228.80890495914028 L312.031369909684 226.96907297829497 L312.4546553090486 226.3884598851645 L311.9351678841589 225.91255866137053 L311.8004885613697 223.8679795724661 L311.1270814085858 222.80016660954436 L309.5686261598088 221.78209227984505 L309.39546251386355 221.13723968689416 L307.95244969571667 220.05926648905015 L306.2977924214145 219.08562176093656 L306.4709525544137 216.41817163916107 L306.87499754867326 215.6514191384426 L306.0284302628901 214.96505682524312 L306.08615147820524 214.24945686466086 L306.89423795377826 213.17263120146478 L308.10636942361083 212.45244514514752 L308.10636942361083 209.44081308846177 L308.81825738660484 209.01993464116566 L309.87646912854314 209.30059484534016 L313.22426097441155 207.95083189999966 L313.532107456092 208.31704423342643 L313.0511008414124 208.99185294109216 L314.7057581157145 209.94502478285762 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M249.1351706458263 217.8366646004144 L249.1351706458263 217.8366646004144 L266.7784289151045 217.86387432624693 L266.7976693202096 237.05287083164103 L242.22794249793424 237.07836507001704 L242.20870209282924 217.8366646004144 L249.1351706458263 217.8366646004144 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M398.9008539763992 331.0054755507458 L398.9008539763992 331.0054755507458 L396.2264657703687 331.10661151824985 L396.418869821419 330.23633473772554 L396.01482482715943 329.60819923393825 L396.6305107646283 329.04032064098027 L401.767642720534 329.5879263041703 L401.78688312563906 330.1958316097827 L401.0557547575401 330.8840953668415 L398.9008539763992 331.0054755507458 Z\" fill=\"rgb(17,142,216)\" stroke-width=\"1.6500000000000001\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill-opacity=\"1.0\">\n",
" </path>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <defs>\n",
" <clipPath id=\"c8vlB1S\">\n",
" <rect x=\"21.961210910936405\" y=\"0.0\" width=\"423.16863712011593\" height=\"341.0\">\n",
" </rect>\n",
" </clipPath>\n",
" </defs>\n",
" </g>\n",
" <g>\n",
" <g transform=\"translate(21.961210910936405 341.0 ) \">\n",
" <g transform=\"translate(0.0 0.0 ) \">\n",
" <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
" </line>\n",
" <g transform=\"translate(0.0 7.0 ) \">\n",
" <text class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
" <tspan>-180</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(70.25891949981315 0.0 ) \">\n",
" <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
" </line>\n",
" <g transform=\"translate(0.0 7.0 ) \">\n",
" <text class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
" <tspan>-160</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(140.5178389996263 0.0 ) \">\n",
" <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
" </line>\n",
" <g transform=\"translate(0.0 7.0 ) \">\n",
" <text class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
" <tspan>-140</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(210.77675849943932 0.0 ) \">\n",
" <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
" </line>\n",
" <g transform=\"translate(0.0 7.0 ) \">\n",
" <text class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
" <tspan>-120</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(281.0356779992524 0.0 ) \">\n",
" <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
" </line>\n",
" <g transform=\"translate(0.0 7.0 ) \">\n",
" <text class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
" <tspan>-100</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(351.29459749906545 0.0 ) \">\n",
" <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
" </line>\n",
" <g transform=\"translate(0.0 7.0 ) \">\n",
" <text class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
" <tspan>-80</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(421.55351699887854 0.0 ) \">\n",
" <line stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" x2=\"0.0\" y2=\"4.0\">\n",
" </line>\n",
" <g transform=\"translate(0.0 7.0 ) \">\n",
" <text class=\"axis-text-x\" text-anchor=\"middle\" dy=\"0.7em\">\n",
" <tspan>-60</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <line x1=\"0.0\" y1=\"0.0\" x2=\"423.16863712011593\" y2=\"0.0\" stroke-width=\"1.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" </g>\n",
" <g transform=\"translate(21.961210910936405 0.0 ) \">\n",
" <g transform=\"translate(0.0 323.51638720853504 ) \">\n",
" <g transform=\"translate(-3.0 0.0 ) \">\n",
" <text class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
" <tspan>20</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(0.0 284.6844949305266 ) \">\n",
" <g transform=\"translate(-3.0 0.0 ) \">\n",
" <text class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
" <tspan>30</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(0.0 241.69102639869882 ) \">\n",
" <g transform=\"translate(-3.0 0.0 ) \">\n",
" <text class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
" <tspan>40</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(0.0 191.81991771412117 ) \">\n",
" <g transform=\"translate(-3.0 0.0 ) \">\n",
" <text class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
" <tspan>50</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(0.0 130.1738699938973 ) \">\n",
" <g transform=\"translate(-3.0 0.0 ) \">\n",
" <text class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
" <tspan>60</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(0.0 45.94805611256163 ) \">\n",
" <g transform=\"translate(-3.0 0.0 ) \">\n",
" <text class=\"axis-text-y\" text-anchor=\"end\" dy=\"0.35em\">\n",
" <tspan>70</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(75.43507598447383 177.0 ) rotate(-90.0 ) \">\n",
" <text class=\"axis-title-y\" y=\"0.0\" text-anchor=\"middle\">\n",
" <tspan>lat</tspan>\n",
" </text>\n",
" </g>\n",
" <g transform=\"translate(322.4806054554682 393.0 ) \">\n",
" <text class=\"axis-title-x\" y=\"0.0\" text-anchor=\"middle\">\n",
" <tspan>lon</tspan>\n",
" </text>\n",
" </g>\n",
" <path fill=\"rgb(0,0,0)\" fill-opacity=\"0.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" stroke-width=\"0.0\" d=\"M59.435075984473826 0.0 L59.435075984473826 400.0 L540.5649240155262 400.0 L540.5649240155262 0.0 Z\">\n",
" </path>\n",
" </g>\n",
" <g id=\"ddtv7FQ\">\n",
" </g>\n",
"</svg>\n",
" <script>document.getElementById(\"889de64b-aba2-4068-927d-d942837935cf\").style.display = \"none\";</script>"
],
"application/plot+json": {
"output_type": "lets_plot_spec",
"output": {
"mapping": {},
"coord": {
"name": "map",
"flip": false
},
"kind": "plot",
"scales": [
{
"aesthetic": "x",
"limits": [
null,
null
]
},
{
"aesthetic": "y",
"limits": [
null,
null
]
}
],
"layers": [
{
"mapping": {},
"stat": "identity",
"sampling": "none",
"position": "identity",
"map_data_meta": {
"geodataframe": {
"geometry": "geometry"
}
},
"geom": "polygon",
"map": {
"geometry": [
"{\"type\":\"Polygon\",\"coordinates\":[[[-87.359296,35.00118],[-85.606675,34.984749],[-85.431413,34.124869],[-85.184951,32.859696],[-85.069935,32.580372],[-84.960397,32.421541],[-85.004212,32.322956],[-84.889196,32.262709],[-85.058981,32.13674],[-85.053504,32.01077],[-85.141136,31.840985],[-85.042551,31.539753],[-85.113751,31.27686],[-85.004212,31.003013],[-85.497137,30.997536],[-87.600282,30.997536],[-87.633143,30.86609],[-87.408589,30.674397],[-87.446927,30.510088],[-87.37025,30.427934],[-87.518128,30.280057],[-87.655051,30.247195],[-87.90699,30.411504],[-87.934375,30.657966],[-88.011052,30.685351],[-88.10416,30.499135],[-88.137022,30.318396],[-88.394438,30.367688],[-88.471115,31.895754],[-88.241084,33.796253],[-88.098683,34.891641],[-88.202745,34.995703],[-87.359296,35.00118]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-131.602021,55.117982],[-131.569159,55.28229],[-131.355558,55.183705],[-131.38842,55.01392],[-131.645836,55.035827],[-131.602021,55.117982]]],[[[-131.832052,55.42469],[-131.645836,55.304197],[-131.749898,55.128935],[-131.832052,55.189182],[-131.832052,55.42469]]],[[[-132.976733,56.437924],[-132.735747,56.459832],[-132.631685,56.421493],[-132.664547,56.273616],[-132.878148,56.240754],[-133.069841,56.333862],[-132.976733,56.437924]]],[[[-133.595627,56.350293],[-133.162949,56.317431],[-133.05341,56.125739],[-132.620732,55.912138],[-132.472854,55.780691],[-132.4619,55.671152],[-132.357838,55.649245],[-132.341408,55.506844],[-132.166146,55.364444],[-132.144238,55.238474],[-132.029222,55.276813],[-131.97993,55.178228],[-131.958022,54.789365],[-132.029222,54.701734],[-132.308546,54.718165],[-132.385223,54.915335],[-132.483808,54.898904],[-132.686455,55.046781],[-132.746701,54.997489],[-132.916486,55.046781],[-132.889102,54.898904],[-132.73027,54.937242],[-132.626209,54.882473],[-132.675501,54.679826],[-132.867194,54.701734],[-133.157472,54.95915],[-133.239626,55.090597],[-133.223195,55.22752],[-133.453227,55.216566],[-133.453227,55.320628],[-133.277964,55.331582],[-133.102702,55.42469],[-133.17938,55.588998],[-133.387503,55.62186],[-133.420365,55.884753],[-133.497042,56.0162],[-133.639442,55.923092],[-133.694212,56.070969],[-133.546335,56.142169],[-133.666827,56.311955],[-133.595627,56.350293]]],[[[-133.738027,55.556137],[-133.546335,55.490413],[-133.414888,55.572568],[-133.283441,55.534229],[-133.420365,55.386352],[-133.633966,55.430167],[-133.738027,55.556137]]],[[[-133.907813,56.930849],[-134.050213,57.029434],[-133.885905,57.095157],[-133.343688,57.002049],[-133.102702,57.007526],[-132.932917,56.82131],[-132.620732,56.667956],[-132.653593,56.55294],[-132.817901,56.492694],[-133.042456,56.520078],[-133.201287,56.448878],[-133.420365,56.492694],[-133.66135,56.448878],[-133.710643,56.684386],[-133.688735,56.837741],[-133.869474,56.843218],[-133.907813,56.930849]]],[[[-134.115936,56.48174],[-134.25286,56.558417],[-134.400737,56.722725],[-134.417168,56.848695],[-134.296675,56.908941],[-134.170706,56.848695],[-134.143321,56.952757],[-133.748981,56.772017],[-133.710643,56.596755],[-133.847566,56.574848],[-133.935197,56.377678],[-133.836612,56.322908],[-133.957105,56.092877],[-134.110459,56.142169],[-134.132367,55.999769],[-134.230952,56.070969],[-134.291198,56.350293],[-134.115936,56.48174]]],[[[-134.636246,56.28457],[-134.669107,56.169554],[-134.806031,56.235277],[-135.178463,56.67891],[-135.413971,56.810356],[-135.331817,56.914418],[-135.424925,57.166357],[-135.687818,57.369004],[-135.419448,57.566174],[-135.298955,57.48402],[-135.063447,57.418296],[-134.849846,57.407343],[-134.844369,57.248511],[-134.636246,56.728202],[-134.636246,56.28457]]],[[[-134.712923,58.223407],[-134.373353,58.14673],[-134.176183,58.157683],[-134.187137,58.081006],[-133.902336,57.807159],[-134.099505,57.850975],[-134.148798,57.757867],[-133.935197,57.615466],[-133.869474,57.363527],[-134.083075,57.297804],[-134.154275,57.210173],[-134.499322,57.029434],[-134.603384,57.034911],[-134.6472,57.226604],[-134.575999,57.341619],[-134.608861,57.511404],[-134.729354,57.719528],[-134.707446,57.829067],[-134.784123,58.097437],[-134.91557,58.212453],[-134.953908,58.409623],[-134.712923,58.223407]]],[[[-135.857603,57.330665],[-135.715203,57.330665],[-135.567326,57.149926],[-135.633049,57.023957],[-135.857603,56.996572],[-135.824742,57.193742],[-135.857603,57.330665]]],[[[-136.279328,58.206976],[-135.978096,58.201499],[-135.780926,58.28913],[-135.496125,58.168637],[-135.64948,58.037191],[-135.59471,57.987898],[-135.45231,58.135776],[-135.107263,58.086483],[-134.91557,57.976944],[-135.025108,57.779775],[-134.937477,57.763344],[-134.822462,57.500451],[-135.085355,57.462112],[-135.572802,57.675713],[-135.556372,57.456635],[-135.709726,57.369004],[-135.890465,57.407343],[-136.000004,57.544266],[-136.208128,57.637374],[-136.366959,57.829067],[-136.569606,57.916698],[-136.558652,58.075529],[-136.421728,58.130299],[-136.377913,58.267222],[-136.279328,58.206976]]],[[[-147.079854,60.200582],[-147.501579,59.948643],[-147.53444,59.850058],[-147.874011,59.784335],[-147.80281,59.937689],[-147.435855,60.09652],[-147.205824,60.271782],[-147.079854,60.200582]]],[[[-147.561825,60.578491],[-147.616594,60.370367],[-147.758995,60.156767],[-147.956165,60.227967],[-147.791856,60.474429],[-147.561825,60.578491]]],[[[-147.786379,70.245291],[-147.682318,70.201475],[-147.162008,70.15766],[-146.888161,70.185044],[-146.510252,70.185044],[-146.099482,70.146706],[-145.858496,70.168614],[-145.622988,70.08646],[-145.195787,69.993352],[-144.620708,69.971444],[-144.461877,70.026213],[-144.078491,70.059075],[-143.914183,70.130275],[-143.497935,70.141229],[-143.503412,70.091936],[-143.25695,70.119321],[-142.747594,70.042644],[-142.402547,69.916674],[-142.079408,69.856428],[-142.008207,69.801659],[-141.712453,69.790705],[-141.433129,69.697597],[-141.378359,69.63735],[-141.208574,69.686643],[-141.00045,69.648304],[-141.00045,60.304644],[-140.53491,60.22249],[-140.474664,60.310121],[-139.987216,60.184151],[-139.696939,60.342983],[-139.088998,60.359413],[-139.198537,60.091043],[-139.045183,59.997935],[-138.700135,59.910304],[-138.623458,59.767904],[-137.604747,59.242118],[-137.445916,58.908024],[-137.265177,59.001132],[-136.827022,59.159963],[-136.580559,59.16544],[-136.465544,59.285933],[-136.476498,59.466672],[-136.301236,59.466672],[-136.25742,59.625503],[-135.945234,59.663842],[-135.479694,59.800766],[-135.025108,59.565257],[-135.068924,59.422857],[-134.959385,59.280456],[-134.701969,59.247595],[-134.378829,59.033994],[-134.400737,58.973748],[-134.25286,58.858732],[-133.842089,58.727285],[-133.173903,58.152206],[-133.075318,57.998852],[-132.867194,57.845498],[-132.560485,57.505928],[-132.253777,57.21565],[-132.368792,57.095157],[-132.05113,57.051341],[-132.127807,56.876079],[-131.870391,56.804879],[-131.837529,56.602232],[-131.580113,56.613186],[-131.087188,56.405062],[-130.78048,56.366724],[-130.621648,56.268139],[-130.468294,56.240754],[-130.424478,56.142169],[-130.101339,56.114785],[-130.002754,55.994292],[-130.150631,55.769737],[-130.128724,55.583521],[-129.986323,55.276813],[-130.095862,55.200136],[-130.336847,54.920812],[-130.687372,54.718165],[-130.785957,54.822227],[-130.917403,54.789365],[-131.010511,54.997489],[-130.983126,55.08512],[-131.092665,55.189182],[-130.862634,55.298721],[-130.928357,55.337059],[-131.158389,55.200136],[-131.284358,55.287767],[-131.426759,55.238474],[-131.843006,55.457552],[-131.700606,55.698537],[-131.963499,55.616383],[-131.974453,55.49589],[-132.182576,55.588998],[-132.226392,55.704014],[-132.083991,55.829984],[-132.127807,55.955953],[-132.324977,55.851892],[-132.522147,56.076446],[-132.642639,56.032631],[-132.719317,56.218847],[-132.527624,56.339339],[-132.341408,56.339339],[-132.396177,56.487217],[-132.297592,56.67891],[-132.450946,56.673433],[-132.768609,56.837741],[-132.993164,57.034911],[-133.51895,57.177311],[-133.507996,57.577128],[-133.677781,57.62642],[-133.639442,57.790728],[-133.814705,57.834544],[-134.072121,58.053622],[-134.143321,58.168637],[-134.586953,58.206976],[-135.074401,58.502731],[-135.282525,59.192825],[-135.38111,59.033994],[-135.337294,58.891593],[-135.140124,58.617746],[-135.189417,58.573931],[-135.05797,58.349376],[-135.085355,58.201499],[-135.277048,58.234361],[-135.430402,58.398669],[-135.633049,58.426053],[-135.91785,58.382238],[-135.912373,58.617746],[-136.087635,58.814916],[-136.246466,58.75467],[-136.876314,58.962794],[-136.931084,58.902547],[-136.586036,58.836824],[-136.317666,58.672516],[-136.213604,58.667039],[-136.180743,58.535592],[-136.043819,58.382238],[-136.388867,58.294607],[-136.591513,58.349376],[-136.59699,58.212453],[-136.859883,58.316515],[-136.947514,58.393192],[-137.111823,58.393192],[-137.566409,58.590362],[-137.900502,58.765624],[-137.933364,58.869686],[-138.11958,59.02304],[-138.634412,59.132579],[-138.919213,59.247595],[-139.417615,59.379041],[-139.746231,59.505011],[-139.718846,59.641934],[-139.625738,59.598119],[-139.5162,59.68575],[-139.625738,59.88292],[-139.488815,59.992458],[-139.554538,60.041751],[-139.801,59.833627],[-140.315833,59.696704],[-140.92925,59.745996],[-141.444083,59.871966],[-141.46599,59.970551],[-141.706976,59.948643],[-141.964392,60.019843],[-142.539471,60.085566],[-142.873564,60.091043],[-143.623905,60.036274],[-143.892275,59.997935],[-144.231845,60.140336],[-144.65357,60.206059],[-144.785016,60.29369],[-144.834309,60.441568],[-145.124586,60.430614],[-145.223171,60.299167],[-145.738004,60.474429],[-145.820158,60.551106],[-146.351421,60.408706],[-146.608837,60.238921],[-146.718376,60.397752],[-146.608837,60.485383],[-146.455483,60.463475],[-145.951604,60.578491],[-146.017328,60.666122],[-146.252836,60.622307],[-146.345944,60.737322],[-146.565022,60.753753],[-146.784099,61.044031],[-146.866253,60.972831],[-147.172962,60.934492],[-147.271547,60.972831],[-147.375609,60.879723],[-147.758995,60.912584],[-147.775426,60.808523],[-148.032842,60.781138],[-148.153334,60.819476],[-148.065703,61.005692],[-148.175242,61.000215],[-148.350504,60.803046],[-148.109519,60.737322],[-148.087611,60.594922],[-147.939734,60.441568],[-148.027365,60.277259],[-148.219058,60.332029],[-148.273827,60.249875],[-148.087611,60.217013],[-147.983549,59.997935],[-148.251919,59.95412],[-148.399797,59.997935],[-148.635305,59.937689],[-148.755798,59.986981],[-149.067984,59.981505],[-149.05703,60.063659],[-149.204907,60.008889],[-149.287061,59.904827],[-149.418508,59.997935],[-149.582816,59.866489],[-149.511616,59.806242],[-149.741647,59.729565],[-149.949771,59.718611],[-150.031925,59.61455],[-150.25648,59.521442],[-150.409834,59.554303],[-150.579619,59.444764],[-150.716543,59.450241],[-151.001343,59.225687],[-151.308052,59.209256],[-151.406637,59.280456],[-151.592853,59.159963],[-151.976239,59.253071],[-151.888608,59.422857],[-151.636669,59.483103],[-151.47236,59.472149],[-151.423068,59.537872],[-151.127313,59.669319],[-151.116359,59.778858],[-151.505222,59.63098],[-151.828361,59.718611],[-151.8667,59.778858],[-151.702392,60.030797],[-151.423068,60.211536],[-151.379252,60.359413],[-151.297098,60.386798],[-151.264237,60.545629],[-151.406637,60.720892],[-151.06159,60.786615],[-150.404357,61.038554],[-150.245526,60.939969],[-150.042879,60.912584],[-149.741647,61.016646],[-150.075741,61.15357],[-150.207187,61.257632],[-150.47008,61.246678],[-150.656296,61.29597],[-150.711066,61.252155],[-151.023251,61.180954],[-151.165652,61.044031],[-151.477837,61.011169],[-151.800977,60.852338],[-151.833838,60.748276],[-152.080301,60.693507],[-152.13507,60.578491],[-152.310332,60.507291],[-152.392486,60.304644],[-152.732057,60.173197],[-152.567748,60.069136],[-152.704672,59.915781],[-153.022334,59.888397],[-153.049719,59.691227],[-153.345474,59.620026],[-153.438582,59.702181],[-153.586459,59.548826],[-153.761721,59.543349],[-153.72886,59.433811],[-154.117723,59.368087],[-154.1944,59.066856],[-153.750768,59.050425],[-153.400243,58.968271],[-153.301658,58.869686],[-153.444059,58.710854],[-153.679567,58.612269],[-153.898645,58.606793],[-153.920553,58.519161],[-154.062953,58.4863],[-153.99723,58.376761],[-154.145107,58.212453],[-154.46277,58.059098],[-154.643509,58.059098],[-154.818771,58.004329],[-154.988556,58.015283],[-155.120003,57.955037],[-155.081664,57.872883],[-155.328126,57.829067],[-155.377419,57.708574],[-155.547204,57.785251],[-155.73342,57.549743],[-156.045606,57.566174],[-156.023698,57.440204],[-156.209914,57.473066],[-156.34136,57.418296],[-156.34136,57.248511],[-156.549484,56.985618],[-156.883577,56.952757],[-157.157424,56.832264],[-157.20124,56.766541],[-157.376502,56.859649],[-157.672257,56.607709],[-157.754411,56.67891],[-157.918719,56.657002],[-157.957058,56.514601],[-158.126843,56.459832],[-158.32949,56.48174],[-158.488321,56.339339],[-158.208997,56.295524],[-158.510229,55.977861],[-159.375585,55.873799],[-159.616571,55.594475],[-159.676817,55.654722],[-159.643955,55.829984],[-159.813741,55.857368],[-160.027341,55.791645],[-160.060203,55.720445],[-160.394296,55.605429],[-160.536697,55.473983],[-160.580512,55.567091],[-160.668143,55.457552],[-160.865313,55.528752],[-161.232268,55.358967],[-161.506115,55.364444],[-161.467776,55.49589],[-161.588269,55.62186],[-161.697808,55.517798],[-161.686854,55.408259],[-162.053809,55.074166],[-162.179779,55.15632],[-162.218117,55.03035],[-162.470057,55.052258],[-162.508395,55.249428],[-162.661749,55.293244],[-162.716519,55.222043],[-162.579595,55.134412],[-162.645319,54.997489],[-162.847965,54.926289],[-163.00132,55.079643],[-163.187536,55.090597],[-163.220397,55.03035],[-163.034181,54.942719],[-163.373752,54.800319],[-163.14372,54.76198],[-163.138243,54.696257],[-163.329936,54.74555],[-163.587352,54.614103],[-164.085754,54.61958],[-164.332216,54.531949],[-164.354124,54.466226],[-164.638925,54.389548],[-164.847049,54.416933],[-164.918249,54.603149],[-164.710125,54.663395],[-164.551294,54.88795],[-164.34317,54.893427],[-163.894061,55.041304],[-163.532583,55.046781],[-163.39566,54.904381],[-163.291598,55.008443],[-163.313505,55.128935],[-163.105382,55.183705],[-162.880827,55.183705],[-162.579595,55.446598],[-162.245502,55.682106],[-161.807347,55.89023],[-161.292514,55.983338],[-161.078914,55.939523],[-160.87079,55.999769],[-160.816021,55.912138],[-160.931036,55.813553],[-160.805067,55.736876],[-160.766728,55.857368],[-160.509312,55.868322],[-160.438112,55.791645],[-160.27928,55.76426],[-160.273803,55.857368],[-160.536697,55.939523],[-160.558604,55.994292],[-160.383342,56.251708],[-160.147834,56.399586],[-159.830171,56.541986],[-159.326293,56.667956],[-158.959338,56.848695],[-158.784076,56.782971],[-158.641675,56.810356],[-158.701922,56.925372],[-158.658106,57.034911],[-158.378782,57.264942],[-157.995396,57.41282],[-157.688688,57.609989],[-157.705118,57.719528],[-157.458656,58.497254],[-157.07527,58.705377],[-157.119086,58.869686],[-158.039212,58.634177],[-158.32949,58.661562],[-158.40069,58.760147],[-158.564998,58.803962],[-158.619768,58.913501],[-158.767645,58.864209],[-158.860753,58.694424],[-158.701922,58.480823],[-158.893615,58.387715],[-159.0634,58.420577],[-159.392016,58.760147],[-159.616571,58.929932],[-159.731586,58.929932],[-159.808264,58.803962],[-159.906848,58.782055],[-160.054726,58.886116],[-160.235465,58.902547],[-160.317619,59.072332],[-160.854359,58.88064],[-161.33633,58.743716],[-161.374669,58.667039],[-161.752577,58.552023],[-161.938793,58.656085],[-161.769008,58.776578],[-161.829255,59.061379],[-161.955224,59.36261],[-161.703285,59.48858],[-161.911409,59.740519],[-162.092148,59.88292],[-162.234548,60.091043],[-162.448149,60.178674],[-162.502918,59.997935],[-162.760334,59.959597],[-163.171105,59.844581],[-163.66403,59.795289],[-163.9324,59.806242],[-164.162431,59.866489],[-164.189816,60.02532],[-164.386986,60.074613],[-164.699171,60.29369],[-164.962064,60.337506],[-165.268773,60.578491],[-165.060649,60.68803],[-165.016834,60.890677],[-165.175665,60.846861],[-165.197573,60.972831],[-165.120896,61.076893],[-165.323543,61.170001],[-165.34545,61.071416],[-165.591913,61.109754],[-165.624774,61.279539],[-165.816467,61.301447],[-165.920529,61.416463],[-165.915052,61.558863],[-166.106745,61.49314],[-166.139607,61.630064],[-165.904098,61.662925],[-166.095791,61.81628],[-165.756221,61.827233],[-165.756221,62.013449],[-165.674067,62.139419],[-165.044219,62.539236],[-164.912772,62.659728],[-164.819664,62.637821],[-164.874433,62.807606],[-164.633448,63.097884],[-164.425324,63.212899],[-164.036462,63.262192],[-163.73523,63.212899],[-163.313505,63.037637],[-163.039658,63.059545],[-162.661749,63.22933],[-162.272887,63.486746],[-162.075717,63.514131],[-162.026424,63.448408],[-161.555408,63.448408],[-161.13916,63.503177],[-160.766728,63.771547],[-160.766728,63.837271],[-160.952944,64.08921],[-160.974852,64.237087],[-161.26513,64.395918],[-161.374669,64.532842],[-161.078914,64.494503],[-160.79959,64.609519],[-160.783159,64.719058],[-161.144637,64.921705],[-161.413007,64.762873],[-161.664946,64.790258],[-161.900455,64.702627],[-162.168825,64.680719],[-162.234548,64.620473],[-162.541257,64.532842],[-162.634365,64.384965],[-162.787719,64.324718],[-162.858919,64.49998],[-163.045135,64.538319],[-163.176582,64.401395],[-163.253259,64.467119],[-163.598306,64.565704],[-164.304832,64.560227],[-164.80871,64.450688],[-165.000403,64.434257],[-165.411174,64.49998],[-166.188899,64.576658],[-166.391546,64.636904],[-166.484654,64.735489],[-166.413454,64.872412],[-166.692778,64.987428],[-166.638008,65.113398],[-166.462746,65.179121],[-166.517516,65.337952],[-166.796839,65.337952],[-167.026871,65.381768],[-167.47598,65.414629],[-167.711489,65.496784],[-168.072967,65.578938],[-168.105828,65.682999],[-167.541703,65.819923],[-166.829701,66.049954],[-166.3313,66.186878],[-166.046499,66.110201],[-165.756221,66.09377],[-165.690498,66.203309],[-165.86576,66.21974],[-165.88219,66.312848],[-165.186619,66.466202],[-164.403417,66.581218],[-163.981692,66.592172],[-163.751661,66.553833],[-163.872153,66.389525],[-163.828338,66.274509],[-163.915969,66.192355],[-163.768091,66.060908],[-163.494244,66.082816],[-163.149197,66.060908],[-162.749381,66.088293],[-162.634365,66.039001],[-162.371472,66.028047],[-162.14144,66.077339],[-161.840208,66.02257],[-161.549931,66.241647],[-161.341807,66.252601],[-161.199406,66.208786],[-161.128206,66.334755],[-161.528023,66.395002],[-161.911409,66.345709],[-161.87307,66.510017],[-162.174302,66.68528],[-162.502918,66.740049],[-162.601503,66.89888],[-162.344087,66.937219],[-162.015471,66.778388],[-162.075717,66.652418],[-161.916886,66.553833],[-161.571838,66.438817],[-161.489684,66.55931],[-161.884024,66.718141],[-161.714239,67.002942],[-161.851162,67.052235],[-162.240025,66.991988],[-162.639842,67.008419],[-162.700088,67.057712],[-162.902735,67.008419],[-163.740707,67.128912],[-163.757138,67.254881],[-164.009077,67.534205],[-164.211724,67.638267],[-164.534863,67.725898],[-165.192096,67.966884],[-165.493328,68.059992],[-165.794559,68.081899],[-166.243668,68.246208],[-166.681824,68.339316],[-166.703731,68.372177],[-166.375115,68.42147],[-166.227238,68.574824],[-166.216284,68.881533],[-165.329019,68.859625],[-164.255539,68.930825],[-163.976215,68.985595],[-163.532583,69.138949],[-163.110859,69.374457],[-163.023228,69.609966],[-162.842489,69.812613],[-162.470057,69.982398],[-162.311225,70.108367],[-161.851162,70.311014],[-161.779962,70.256245],[-161.396576,70.239814],[-160.837928,70.343876],[-160.487404,70.453415],[-159.649432,70.792985],[-159.33177,70.809416],[-159.298908,70.760123],[-158.975769,70.798462],[-158.658106,70.787508],[-158.033735,70.831323],[-157.420318,70.979201],[-156.812377,71.285909],[-156.565915,71.351633],[-156.522099,71.296863],[-155.585543,71.170894],[-155.508865,71.083263],[-155.832005,70.968247],[-155.979882,70.96277],[-155.974405,70.809416],[-155.503388,70.858708],[-155.476004,70.940862],[-155.262403,71.017539],[-155.191203,70.973724],[-155.032372,71.148986],[-154.566832,70.990155],[-154.643509,70.869662],[-154.353231,70.8368],[-154.183446,70.7656],[-153.931507,70.880616],[-153.487874,70.886093],[-153.235935,70.924431],[-152.589656,70.886093],[-152.26104,70.842277],[-152.419871,70.606769],[-151.817408,70.546523],[-151.773592,70.486276],[-151.187559,70.382214],[-151.182082,70.431507],[-150.760358,70.49723],[-150.355064,70.491753],[-150.349588,70.436984],[-150.114079,70.431507],[-149.867617,70.508184],[-149.462323,70.519138],[-149.177522,70.486276],[-148.78866,70.404122],[-148.607921,70.420553],[-148.350504,70.305537],[-148.202627,70.349353],[-147.961642,70.316491],[-147.786379,70.245291]]],[[[-152.94018,58.026237],[-152.945657,57.982421],[-153.290705,58.048145],[-153.044242,58.305561],[-152.819688,58.327469],[-152.666333,58.562977],[-152.496548,58.354853],[-152.354148,58.426053],[-152.080301,58.311038],[-152.080301,58.152206],[-152.480117,58.130299],[-152.655379,58.059098],[-152.94018,58.026237]]],[[[-153.958891,57.538789],[-153.67409,57.670236],[-153.931507,57.69762],[-153.936983,57.812636],[-153.723383,57.889313],[-153.570028,57.834544],[-153.548121,57.719528],[-153.46049,57.796205],[-153.455013,57.96599],[-153.268797,57.889313],[-153.235935,57.998852],[-153.071627,57.933129],[-152.874457,57.933129],[-152.721103,57.993375],[-152.469163,57.889313],[-152.469163,57.599035],[-152.151501,57.620943],[-152.359625,57.42925],[-152.74301,57.505928],[-152.60061,57.379958],[-152.710149,57.275896],[-152.907319,57.325188],[-152.912796,57.128019],[-153.214027,57.073249],[-153.312612,56.991095],[-153.498828,57.067772],[-153.695998,56.859649],[-153.849352,56.837741],[-154.013661,56.744633],[-154.073907,56.969187],[-154.303938,56.848695],[-154.314892,56.919895],[-154.523016,56.991095],[-154.539447,57.193742],[-154.742094,57.275896],[-154.627078,57.511404],[-154.227261,57.659282],[-153.980799,57.648328],[-153.958891,57.538789]]],[[[-154.53397,56.602232],[-154.742094,56.399586],[-154.807817,56.432447],[-154.53397,56.602232]]],[[[-155.634835,55.923092],[-155.476004,55.912138],[-155.530773,55.704014],[-155.793666,55.731399],[-155.837482,55.802599],[-155.634835,55.923092]]],[[[-159.890418,55.28229],[-159.950664,55.068689],[-160.257373,54.893427],[-160.109495,55.161797],[-160.005433,55.134412],[-159.890418,55.28229]]],[[[-160.520266,55.358967],[-160.33405,55.358967],[-160.339527,55.249428],[-160.525743,55.128935],[-160.690051,55.211089],[-160.794113,55.134412],[-160.854359,55.320628],[-160.79959,55.380875],[-160.520266,55.358967]]],[[[-162.256456,54.981058],[-162.234548,54.893427],[-162.349564,54.838658],[-162.437195,54.931766],[-162.256456,54.981058]]],[[[-162.415287,63.634624],[-162.563165,63.536039],[-162.612457,63.62367],[-162.415287,63.634624]]],[[[-162.80415,54.488133],[-162.590549,54.449795],[-162.612457,54.367641],[-162.782242,54.373118],[-162.80415,54.488133]]],[[[-165.548097,54.29644],[-165.476897,54.181425],[-165.630251,54.132132],[-165.685021,54.252625],[-165.548097,54.29644]]],[[[-165.73979,54.15404],[-166.046499,54.044501],[-166.112222,54.121178],[-165.980775,54.219763],[-165.73979,54.15404]]],[[[-166.364161,60.359413],[-166.13413,60.397752],[-166.084837,60.326552],[-165.88219,60.342983],[-165.685021,60.277259],[-165.646682,59.992458],[-165.750744,59.89935],[-166.00816,59.844581],[-166.062929,59.745996],[-166.440838,59.855535],[-166.6161,59.850058],[-166.994009,59.992458],[-167.125456,59.992458],[-167.344534,60.074613],[-167.421211,60.206059],[-167.311672,60.238921],[-166.93924,60.206059],[-166.763978,60.310121],[-166.577762,60.321075],[-166.495608,60.392275],[-166.364161,60.359413]]],[[[-166.375115,54.01164],[-166.210807,53.934962],[-166.5449,53.748746],[-166.539423,53.715885],[-166.117699,53.852808],[-166.112222,53.776131],[-166.282007,53.683023],[-166.555854,53.622777],[-166.583239,53.529669],[-166.878994,53.431084],[-167.13641,53.425607],[-167.306195,53.332499],[-167.623857,53.250345],[-167.793643,53.337976],[-167.459549,53.442038],[-167.355487,53.425607],[-167.103548,53.513238],[-167.163794,53.611823],[-167.021394,53.715885],[-166.807793,53.666592],[-166.785886,53.732316],[-167.015917,53.754223],[-167.141887,53.825424],[-167.032348,53.945916],[-166.643485,54.017116],[-166.561331,53.880193],[-166.375115,54.01164]]],[[[-168.790446,53.157237],[-168.40706,53.34893],[-168.385152,53.431084],[-168.237275,53.524192],[-168.007243,53.568007],[-167.886751,53.518715],[-167.842935,53.387268],[-168.270136,53.244868],[-168.500168,53.036744],[-168.686384,52.965544],[-168.790446,53.157237]]],[[[-169.74891,52.894344],[-169.705095,52.795759],[-169.962511,52.790282],[-169.989896,52.856005],[-169.74891,52.894344]]],[[[-170.148727,57.221127],[-170.28565,57.128019],[-170.313035,57.221127],[-170.148727,57.221127]]],[[[-170.669036,52.697174],[-170.603313,52.604066],[-170.789529,52.538343],[-170.816914,52.636928],[-170.669036,52.697174]]],[[[-171.742517,63.716778],[-170.94836,63.5689],[-170.488297,63.69487],[-170.280174,63.683916],[-170.093958,63.612716],[-170.044665,63.492223],[-169.644848,63.4265],[-169.518879,63.366254],[-168.99857,63.338869],[-168.686384,63.295053],[-168.856169,63.147176],[-169.108108,63.180038],[-169.376478,63.152653],[-169.513402,63.08693],[-169.639372,62.939052],[-169.831064,63.075976],[-170.055619,63.169084],[-170.263743,63.180038],[-170.362328,63.2841],[-170.866206,63.415546],[-171.101715,63.421023],[-171.463193,63.306007],[-171.73704,63.366254],[-171.852055,63.486746],[-171.742517,63.716778]]],[[[-172.432611,52.390465],[-172.41618,52.275449],[-172.607873,52.253542],[-172.569535,52.352127],[-172.432611,52.390465]]],[[[-173.626584,52.14948],[-173.495138,52.105664],[-173.122706,52.111141],[-173.106275,52.07828],[-173.549907,52.028987],[-173.626584,52.14948]]],[[[-174.322156,52.280926],[-174.327632,52.379511],[-174.185232,52.41785],[-173.982585,52.319265],[-174.059262,52.226157],[-174.179755,52.231634],[-174.141417,52.127572],[-174.333109,52.116618],[-174.738403,52.007079],[-174.968435,52.039941],[-174.902711,52.116618],[-174.656249,52.105664],[-174.322156,52.280926]]],[[[-176.469116,51.853725],[-176.288377,51.870156],[-176.288377,51.744186],[-176.518409,51.760617],[-176.80321,51.61274],[-176.912748,51.80991],[-176.792256,51.815386],[-176.775825,51.963264],[-176.627947,51.968741],[-176.627947,51.859202],[-176.469116,51.853725]]],[[[-177.153734,51.946833],[-177.044195,51.897541],[-177.120872,51.727755],[-177.274226,51.678463],[-177.279703,51.782525],[-177.153734,51.946833]]],[[[-178.123152,51.919448],[-177.953367,51.913971],[-177.800013,51.793479],[-177.964321,51.651078],[-178.123152,51.919448]]],[[[-186.892443,52.992929],[-186.706227,52.927205],[-186.695274,52.823143],[-187.09509,52.762897],[-187.357983,52.927205],[-187.357983,53.003883],[-186.892443,52.992929]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-109.042503,37.000263],[-109.04798,31.331629],[-111.074448,31.331629],[-112.246513,31.704061],[-114.815198,32.492741],[-114.72209,32.717295],[-114.524921,32.755634],[-114.470151,32.843265],[-114.524921,33.029481],[-114.661844,33.034958],[-114.727567,33.40739],[-114.524921,33.54979],[-114.497536,33.697668],[-114.535874,33.933176],[-114.415382,34.108438],[-114.256551,34.174162],[-114.136058,34.305608],[-114.333228,34.448009],[-114.470151,34.710902],[-114.634459,34.87521],[-114.634459,35.00118],[-114.574213,35.138103],[-114.596121,35.324319],[-114.678275,35.516012],[-114.738521,36.102045],[-114.371566,36.140383],[-114.251074,36.01989],[-114.152489,36.025367],[-114.048427,36.195153],[-114.048427,37.000263],[-110.499369,37.00574],[-109.042503,37.000263]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-94.473842,36.501861],[-90.152536,36.496384],[-90.064905,36.304691],[-90.218259,36.184199],[-90.377091,35.997983],[-89.730812,35.997983],[-89.763673,35.811767],[-89.911551,35.756997],[-89.944412,35.603643],[-90.130628,35.439335],[-90.114197,35.198349],[-90.212782,35.023087],[-90.311367,34.995703],[-90.251121,34.908072],[-90.409952,34.831394],[-90.481152,34.661609],[-90.585214,34.617794],[-90.568783,34.420624],[-90.749522,34.365854],[-90.744046,34.300131],[-90.952169,34.135823],[-90.891923,34.026284],[-91.072662,33.867453],[-91.231493,33.560744],[-91.056231,33.429298],[-91.143862,33.347144],[-91.089093,33.13902],[-91.16577,33.002096],[-93.608485,33.018527],[-94.041164,33.018527],[-94.041164,33.54979],[-94.183564,33.593606],[-94.380734,33.544313],[-94.484796,33.637421],[-94.430026,35.395519],[-94.616242,36.501861],[-94.473842,36.501861]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-123.233256,42.006186],[-122.378853,42.011663],[-121.037003,41.995232],[-120.001861,41.995232],[-119.996384,40.264519],[-120.001861,38.999346],[-118.71478,38.101128],[-117.498899,37.21934],[-116.540435,36.501861],[-115.85034,35.970598],[-114.634459,35.00118],[-114.634459,34.87521],[-114.470151,34.710902],[-114.333228,34.448009],[-114.136058,34.305608],[-114.256551,34.174162],[-114.415382,34.108438],[-114.535874,33.933176],[-114.497536,33.697668],[-114.524921,33.54979],[-114.727567,33.40739],[-114.661844,33.034958],[-114.524921,33.029481],[-114.470151,32.843265],[-114.524921,32.755634],[-114.72209,32.717295],[-116.04751,32.624187],[-117.126467,32.536556],[-117.24696,32.668003],[-117.252437,32.876127],[-117.329114,33.122589],[-117.471515,33.297851],[-117.7837,33.538836],[-118.183517,33.763391],[-118.260194,33.703145],[-118.413548,33.741483],[-118.391641,33.840068],[-118.566903,34.042715],[-118.802411,33.998899],[-119.218659,34.146777],[-119.278905,34.26727],[-119.558229,34.415147],[-119.875891,34.40967],[-120.138784,34.475393],[-120.472878,34.448009],[-120.64814,34.579455],[-120.609801,34.858779],[-120.670048,34.902595],[-120.631709,35.099764],[-120.894602,35.247642],[-120.905556,35.450289],[-121.004141,35.461243],[-121.168449,35.636505],[-121.283465,35.674843],[-121.332757,35.784382],[-121.716143,36.195153],[-121.896882,36.315645],[-121.935221,36.638785],[-121.858544,36.6114],[-121.787344,36.803093],[-121.929744,36.978355],[-122.105006,36.956447],[-122.335038,37.115279],[-122.417192,37.241248],[-122.400761,37.361741],[-122.515777,37.520572],[-122.515777,37.783465],[-122.329561,37.783465],[-122.406238,38.15042],[-122.488392,38.112082],[-122.504823,37.931343],[-122.701993,37.893004],[-122.937501,38.029928],[-122.97584,38.265436],[-123.129194,38.451652],[-123.331841,38.566668],[-123.44138,38.698114],[-123.737134,38.95553],[-123.687842,39.032208],[-123.824765,39.366301],[-123.764519,39.552517],[-123.85215,39.831841],[-124.109566,40.105688],[-124.361506,40.259042],[-124.410798,40.439781],[-124.158859,40.877937],[-124.109566,41.025814],[-124.158859,41.14083],[-124.065751,41.442061],[-124.147905,41.715908],[-124.257444,41.781632],[-124.213628,42.000709],[-123.233256,42.006186]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-107.919731,41.003906],[-105.728954,40.998429],[-104.053011,41.003906],[-102.053927,41.003906],[-102.053927,40.001626],[-102.042974,36.994786],[-103.001438,37.000263],[-104.337812,36.994786],[-106.868158,36.994786],[-107.421329,37.000263],[-109.042503,37.000263],[-109.042503,38.166851],[-109.058934,38.27639],[-109.053457,39.125316],[-109.04798,40.998429],[-107.919731,41.003906]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-73.053528,42.039048],[-71.799309,42.022617],[-71.799309,42.006186],[-71.799309,41.414677],[-71.859555,41.321569],[-71.947186,41.338],[-72.385341,41.261322],[-72.905651,41.28323],[-73.130205,41.146307],[-73.371191,41.102491],[-73.655992,40.987475],[-73.727192,41.102491],[-73.48073,41.21203],[-73.55193,41.294184],[-73.486206,42.050002],[-73.053528,42.039048]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-75.414089,39.804456],[-75.507197,39.683964],[-75.611259,39.61824],[-75.589352,39.459409],[-75.441474,39.311532],[-75.403136,39.065069],[-75.189535,38.807653],[-75.09095,38.796699],[-75.047134,38.451652],[-75.693413,38.462606],[-75.786521,39.722302],[-75.616736,39.831841],[-75.414089,39.804456]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-77.035264,38.993869],[-76.909294,38.895284],[-77.040741,38.791222],[-77.117418,38.933623],[-77.035264,38.993869]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-85.497137,30.997536],[-85.004212,31.003013],[-84.867289,30.712735],[-83.498053,30.647012],[-82.216449,30.570335],[-82.167157,30.356734],[-82.046664,30.362211],[-82.002849,30.564858],[-82.041187,30.751074],[-81.948079,30.827751],[-81.718048,30.745597],[-81.444201,30.707258],[-81.383954,30.27458],[-81.257985,29.787132],[-80.967707,29.14633],[-80.524075,28.461713],[-80.589798,28.41242],[-80.56789,28.094758],[-80.381674,27.738757],[-80.091397,27.021277],[-80.03115,26.796723],[-80.036627,26.566691],[-80.146166,25.739673],[-80.239274,25.723243],[-80.337859,25.465826],[-80.304997,25.383672],[-80.49669,25.197456],[-80.573367,25.241272],[-80.759583,25.164595],[-81.077246,25.120779],[-81.170354,25.224841],[-81.126538,25.378195],[-81.351093,25.821827],[-81.526355,25.903982],[-81.679709,25.843735],[-81.800202,26.090198],[-81.833064,26.292844],[-82.041187,26.517399],[-82.09048,26.665276],[-82.057618,26.878877],[-82.172634,26.917216],[-82.145249,26.791246],[-82.249311,26.758384],[-82.566974,27.300601],[-82.692943,27.437525],[-82.391711,27.837342],[-82.588881,27.815434],[-82.720328,27.689464],[-82.851774,27.886634],[-82.676512,28.434328],[-82.643651,28.888914],[-82.764143,28.998453],[-82.802482,29.14633],[-82.994175,29.179192],[-83.218729,29.420177],[-83.399469,29.518762],[-83.410422,29.66664],[-83.536392,29.721409],[-83.640454,29.885717],[-84.02384,30.104795],[-84.357933,30.055502],[-84.341502,29.902148],[-84.451041,29.929533],[-84.867289,29.743317],[-85.310921,29.699501],[-85.299967,29.80904],[-85.404029,29.940487],[-85.924338,30.236241],[-86.29677,30.362211],[-86.630863,30.395073],[-86.910187,30.373165],[-87.518128,30.280057],[-87.37025,30.427934],[-87.446927,30.510088],[-87.408589,30.674397],[-87.633143,30.86609],[-87.600282,30.997536],[-85.497137,30.997536]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-83.109191,35.00118],[-83.322791,34.787579],[-83.339222,34.683517],[-83.005129,34.469916],[-82.901067,34.486347],[-82.747713,34.26727],[-82.714851,34.152254],[-82.55602,33.94413],[-82.325988,33.81816],[-82.194542,33.631944],[-81.926172,33.462159],[-81.937125,33.347144],[-81.761863,33.160928],[-81.493493,33.007573],[-81.42777,32.843265],[-81.416816,32.629664],[-81.279893,32.558464],[-81.121061,32.290094],[-81.115584,32.120309],[-80.885553,32.032678],[-81.132015,31.693108],[-81.175831,31.517845],[-81.279893,31.364491],[-81.290846,31.20566],[-81.400385,31.13446],[-81.444201,30.707258],[-81.718048,30.745597],[-81.948079,30.827751],[-82.041187,30.751074],[-82.002849,30.564858],[-82.046664,30.362211],[-82.167157,30.356734],[-82.216449,30.570335],[-83.498053,30.647012],[-84.867289,30.712735],[-85.004212,31.003013],[-85.113751,31.27686],[-85.042551,31.539753],[-85.141136,31.840985],[-85.053504,32.01077],[-85.058981,32.13674],[-84.889196,32.262709],[-85.004212,32.322956],[-84.960397,32.421541],[-85.069935,32.580372],[-85.184951,32.859696],[-85.431413,34.124869],[-85.606675,34.984749],[-84.319594,34.990226],[-83.618546,34.984749],[-83.109191,35.00118]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-155.634835,18.948267],[-155.881297,19.035898],[-155.919636,19.123529],[-155.886774,19.348084],[-156.062036,19.73147],[-155.925113,19.857439],[-155.826528,20.032702],[-155.897728,20.147717],[-155.87582,20.26821],[-155.596496,20.12581],[-155.284311,20.021748],[-155.092618,19.868393],[-155.092618,19.736947],[-154.807817,19.523346],[-154.983079,19.348084],[-155.295265,19.26593],[-155.514342,19.134483],[-155.634835,18.948267]]],[[[-156.587823,21.029505],[-156.472807,20.892581],[-156.324929,20.952827],[-156.00179,20.793996],[-156.051082,20.651596],[-156.379699,20.580396],[-156.445422,20.60778],[-156.461853,20.783042],[-156.631638,20.821381],[-156.697361,20.919966],[-156.587823,21.029505]]],[[[-156.982162,21.210244],[-157.080747,21.106182],[-157.310779,21.106182],[-157.239579,21.221198],[-156.982162,21.210244]]],[[[-157.951581,21.697691],[-157.842042,21.462183],[-157.896811,21.325259],[-158.110412,21.303352],[-158.252813,21.582676],[-158.126843,21.588153],[-157.951581,21.697691]]],[[[-159.468693,22.228955],[-159.353678,22.218001],[-159.298908,22.113939],[-159.33177,21.966061],[-159.446786,21.872953],[-159.764448,21.987969],[-159.726109,22.152277],[-159.468693,22.228955]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-116.04751,49.000239],[-116.04751,47.976051],[-115.724371,47.696727],[-115.718894,47.42288],[-115.527201,47.302388],[-115.324554,47.258572],[-115.302646,47.187372],[-114.930214,46.919002],[-114.886399,46.809463],[-114.623506,46.705401],[-114.612552,46.639678],[-114.322274,46.645155],[-114.464674,46.272723],[-114.492059,46.037214],[-114.387997,45.88386],[-114.568736,45.774321],[-114.497536,45.670259],[-114.546828,45.560721],[-114.333228,45.456659],[-114.086765,45.593582],[-113.98818,45.703121],[-113.807441,45.604536],[-113.834826,45.522382],[-113.736241,45.330689],[-113.571933,45.128042],[-113.45144,45.056842],[-113.456917,44.865149],[-113.341901,44.782995],[-113.133778,44.772041],[-113.002331,44.448902],[-112.887315,44.394132],[-112.783254,44.48724],[-112.471068,44.481763],[-112.241036,44.569394],[-112.104113,44.520102],[-111.868605,44.563917],[-111.819312,44.509148],[-111.616665,44.547487],[-111.386634,44.75561],[-111.227803,44.580348],[-111.047063,44.476286],[-111.047063,42.000709],[-112.164359,41.995232],[-114.04295,41.995232],[-117.027882,42.000709],[-117.027882,43.830007],[-116.896436,44.158624],[-116.97859,44.240778],[-117.170283,44.257209],[-117.241483,44.394132],[-117.038836,44.750133],[-116.934774,44.782995],[-116.830713,44.930872],[-116.847143,45.02398],[-116.732128,45.144473],[-116.671881,45.319735],[-116.463758,45.61549],[-116.545912,45.752413],[-116.78142,45.823614],[-116.918344,45.993399],[-116.92382,46.168661],[-117.055267,46.343923],[-117.038836,46.426077],[-117.044313,47.762451],[-117.033359,49.000239],[-116.04751,49.000239]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-90.639984,42.510065],[-88.788778,42.493634],[-87.802929,42.493634],[-87.83579,42.301941],[-87.682436,42.077386],[-87.523605,41.710431],[-87.529082,39.34987],[-87.63862,39.169131],[-87.512651,38.95553],[-87.49622,38.780268],[-87.62219,38.637868],[-87.655051,38.506421],[-87.83579,38.292821],[-87.950806,38.27639],[-87.923421,38.15042],[-88.000098,38.101128],[-88.060345,37.865619],[-88.027483,37.799896],[-88.15893,37.657496],[-88.065822,37.482234],[-88.476592,37.389126],[-88.514931,37.285064],[-88.421823,37.153617],[-88.547792,37.071463],[-88.914747,37.224817],[-89.029763,37.213863],[-89.183118,37.038601],[-89.133825,36.983832],[-89.292656,36.994786],[-89.517211,37.279587],[-89.435057,37.34531],[-89.517211,37.537003],[-89.517211,37.690357],[-89.84035,37.903958],[-89.949889,37.88205],[-90.059428,38.013497],[-90.355183,38.216144],[-90.349706,38.374975],[-90.179921,38.632391],[-90.207305,38.725499],[-90.10872,38.845992],[-90.251121,38.917192],[-90.470199,38.961007],[-90.585214,38.867899],[-90.661891,38.928146],[-90.727615,39.256762],[-91.061708,39.470363],[-91.368417,39.727779],[-91.494386,40.034488],[-91.50534,40.237135],[-91.417709,40.379535],[-91.401278,40.560274],[-91.121954,40.669813],[-91.09457,40.823167],[-90.963123,40.921752],[-90.946692,41.097014],[-91.111001,41.239415],[-91.045277,41.414677],[-90.656414,41.463969],[-90.344229,41.589939],[-90.311367,41.743293],[-90.179921,41.809016],[-90.141582,42.000709],[-90.168967,42.126679],[-90.393521,42.225264],[-90.420906,42.329326],[-90.639984,42.510065]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-85.990061,41.759724],[-84.807042,41.759724],[-84.807042,41.694001],[-84.801565,40.500028],[-84.817996,39.103408],[-84.894673,39.059592],[-84.812519,38.785745],[-84.987781,38.780268],[-85.173997,38.68716],[-85.431413,38.730976],[-85.42046,38.533806],[-85.590245,38.451652],[-85.655968,38.325682],[-85.83123,38.27639],[-85.924338,38.024451],[-86.039354,37.958727],[-86.263908,38.051835],[-86.302247,38.166851],[-86.521325,38.040881],[-86.504894,37.931343],[-86.729448,37.893004],[-86.795172,37.991589],[-87.047111,37.893004],[-87.129265,37.788942],[-87.381204,37.93682],[-87.512651,37.903958],[-87.600282,37.975158],[-87.682436,37.903958],[-87.934375,37.893004],[-88.027483,37.799896],[-88.060345,37.865619],[-88.000098,38.101128],[-87.923421,38.15042],[-87.950806,38.27639],[-87.83579,38.292821],[-87.655051,38.506421],[-87.62219,38.637868],[-87.49622,38.780268],[-87.512651,38.95553],[-87.63862,39.169131],[-87.529082,39.34987],[-87.523605,41.710431],[-87.42502,41.644708],[-87.118311,41.644708],[-86.822556,41.759724],[-85.990061,41.759724]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-91.368417,43.501391],[-91.215062,43.501391],[-91.204109,43.353514],[-91.056231,43.254929],[-91.176724,43.134436],[-91.143862,42.909881],[-91.067185,42.75105],[-90.711184,42.636034],[-90.639984,42.510065],[-90.420906,42.329326],[-90.393521,42.225264],[-90.168967,42.126679],[-90.141582,42.000709],[-90.179921,41.809016],[-90.311367,41.743293],[-90.344229,41.589939],[-90.656414,41.463969],[-91.045277,41.414677],[-91.111001,41.239415],[-90.946692,41.097014],[-90.963123,40.921752],[-91.09457,40.823167],[-91.121954,40.669813],[-91.401278,40.560274],[-91.417709,40.379535],[-91.527248,40.412397],[-91.729895,40.615043],[-91.833957,40.609566],[-93.257961,40.582182],[-94.632673,40.571228],[-95.7664,40.587659],[-95.881416,40.719105],[-95.826646,40.976521],[-95.925231,41.201076],[-95.919754,41.453015],[-96.095016,41.540646],[-96.122401,41.67757],[-96.062155,41.798063],[-96.127878,41.973325],[-96.264801,42.039048],[-96.44554,42.488157],[-96.631756,42.707235],[-96.544125,42.855112],[-96.511264,43.052282],[-96.434587,43.123482],[-96.560556,43.222067],[-96.527695,43.397329],[-96.582464,43.479483],[-96.451017,43.501391],[-91.368417,43.501391]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-101.90605,40.001626],[-95.306337,40.001626],[-95.207752,39.908518],[-94.884612,39.831841],[-95.109167,39.541563],[-94.983197,39.442978],[-94.824366,39.20747],[-94.610765,39.158177],[-94.616242,37.000263],[-100.087706,37.000263],[-102.042974,36.994786],[-102.053927,40.001626],[-101.90605,40.001626]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-83.903347,38.769315],[-83.678792,38.632391],[-83.519961,38.703591],[-83.142052,38.626914],[-83.032514,38.725499],[-82.890113,38.758361],[-82.846298,38.588575],[-82.731282,38.561191],[-82.594358,38.424267],[-82.621743,38.123036],[-82.50125,37.931343],[-82.342419,37.783465],[-82.293127,37.668449],[-82.101434,37.553434],[-81.969987,37.537003],[-82.353373,37.268633],[-82.720328,37.120755],[-82.720328,37.044078],[-82.868205,36.978355],[-82.879159,36.890724],[-83.070852,36.852385],[-83.136575,36.742847],[-83.673316,36.600446],[-83.689746,36.584015],[-84.544149,36.594969],[-85.289013,36.627831],[-85.486183,36.616877],[-86.592525,36.655216],[-87.852221,36.633308],[-88.071299,36.677123],[-88.054868,36.496384],[-89.298133,36.507338],[-89.418626,36.496384],[-89.363857,36.622354],[-89.215979,36.578538],[-89.133825,36.983832],[-89.183118,37.038601],[-89.029763,37.213863],[-88.914747,37.224817],[-88.547792,37.071463],[-88.421823,37.153617],[-88.514931,37.285064],[-88.476592,37.389126],[-88.065822,37.482234],[-88.15893,37.657496],[-88.027483,37.799896],[-87.934375,37.893004],[-87.682436,37.903958],[-87.600282,37.975158],[-87.512651,37.903958],[-87.381204,37.93682],[-87.129265,37.788942],[-87.047111,37.893004],[-86.795172,37.991589],[-86.729448,37.893004],[-86.504894,37.931343],[-86.521325,38.040881],[-86.302247,38.166851],[-86.263908,38.051835],[-86.039354,37.958727],[-85.924338,38.024451],[-85.83123,38.27639],[-85.655968,38.325682],[-85.590245,38.451652],[-85.42046,38.533806],[-85.431413,38.730976],[-85.173997,38.68716],[-84.987781,38.780268],[-84.812519,38.785745],[-84.894673,39.059592],[-84.817996,39.103408],[-84.43461,39.103408],[-84.231963,38.895284],[-84.215533,38.807653],[-83.903347,38.769315]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-93.608485,33.018527],[-91.16577,33.002096],[-91.072662,32.887081],[-91.143862,32.843265],[-91.154816,32.640618],[-91.006939,32.514649],[-90.985031,32.218894],[-91.105524,31.988862],[-91.341032,31.846462],[-91.401278,31.621907],[-91.499863,31.643815],[-91.516294,31.27686],[-91.636787,31.265906],[-91.565587,31.068736],[-91.636787,30.997536],[-89.747242,30.997536],[-89.845827,30.66892],[-89.681519,30.449842],[-89.643181,30.285534],[-89.522688,30.181472],[-89.818443,30.044549],[-89.84035,29.945964],[-89.599365,29.88024],[-89.495303,30.039072],[-89.287179,29.88024],[-89.30361,29.754271],[-89.424103,29.699501],[-89.648657,29.748794],[-89.621273,29.655686],[-89.69795,29.513285],[-89.506257,29.387316],[-89.199548,29.348977],[-89.09001,29.2011],[-89.002379,29.179192],[-89.16121,29.009407],[-89.336472,29.042268],[-89.484349,29.217531],[-89.851304,29.310638],[-89.851304,29.480424],[-90.032043,29.425654],[-90.021089,29.283254],[-90.103244,29.151807],[-90.23469,29.129899],[-90.333275,29.277777],[-90.563307,29.283254],[-90.645461,29.129899],[-90.798815,29.086084],[-90.963123,29.179192],[-91.09457,29.190146],[-91.220539,29.436608],[-91.445094,29.546147],[-91.532725,29.529716],[-91.620356,29.73784],[-91.883249,29.710455],[-91.888726,29.836425],[-92.146142,29.715932],[-92.113281,29.622824],[-92.31045,29.535193],[-92.617159,29.579009],[-92.97316,29.715932],[-93.2251,29.776178],[-93.767317,29.726886],[-93.838517,29.688547],[-93.926148,29.787132],[-93.690639,30.143133],[-93.767317,30.334826],[-93.696116,30.438888],[-93.728978,30.575812],[-93.630393,30.679874],[-93.526331,30.93729],[-93.542762,31.15089],[-93.816609,31.556184],[-93.822086,31.775262],[-94.041164,31.994339],[-94.041164,33.018527],[-93.608485,33.018527]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-70.703921,43.057759],[-70.824413,43.128959],[-70.807983,43.227544],[-70.966814,43.34256],[-71.032537,44.657025],[-71.08183,45.303304],[-70.649151,45.440228],[-70.720352,45.511428],[-70.556043,45.664782],[-70.386258,45.735983],[-70.41912,45.796229],[-70.260289,45.889337],[-70.309581,46.064599],[-70.210996,46.327492],[-70.057642,46.415123],[-69.997395,46.694447],[-69.225147,47.461219],[-69.044408,47.428357],[-69.033454,47.242141],[-68.902007,47.176418],[-68.578868,47.285957],[-68.376221,47.285957],[-68.233821,47.357157],[-67.954497,47.198326],[-67.790188,47.066879],[-67.779235,45.944106],[-67.801142,45.675736],[-67.456095,45.604536],[-67.505388,45.48952],[-67.417757,45.379982],[-67.488957,45.281397],[-67.346556,45.128042],[-67.16034,45.160904],[-66.979601,44.804903],[-67.187725,44.646072],[-67.308218,44.706318],[-67.406803,44.596779],[-67.549203,44.624164],[-67.565634,44.531056],[-67.75185,44.54201],[-68.047605,44.328409],[-68.118805,44.476286],[-68.222867,44.48724],[-68.173574,44.328409],[-68.403606,44.251732],[-68.458375,44.377701],[-68.567914,44.311978],[-68.82533,44.311978],[-68.830807,44.459856],[-68.984161,44.426994],[-68.956777,44.322932],[-69.099177,44.103854],[-69.071793,44.043608],[-69.258008,43.923115],[-69.444224,43.966931],[-69.553763,43.840961],[-69.707118,43.82453],[-69.833087,43.720469],[-69.986442,43.742376],[-70.030257,43.851915],[-70.254812,43.676653],[-70.194565,43.567114],[-70.358873,43.528776],[-70.369827,43.435668],[-70.556043,43.320652],[-70.703921,43.057759]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-75.994645,37.95325],[-76.016553,37.95325],[-76.043938,37.95325],[-75.994645,37.95325]]],[[[-79.477979,39.722302],[-75.786521,39.722302],[-75.693413,38.462606],[-75.047134,38.451652],[-75.244304,38.029928],[-75.397659,38.013497],[-75.671506,37.95325],[-75.885106,37.909435],[-75.879629,38.073743],[-75.961783,38.139466],[-75.846768,38.210667],[-76.000122,38.374975],[-76.049415,38.303775],[-76.257538,38.320205],[-76.328738,38.500944],[-76.263015,38.500944],[-76.257538,38.736453],[-76.191815,38.829561],[-76.279446,39.147223],[-76.169907,39.333439],[-76.000122,39.366301],[-75.972737,39.557994],[-76.098707,39.536086],[-76.104184,39.437501],[-76.367077,39.311532],[-76.443754,39.196516],[-76.460185,38.906238],[-76.55877,38.769315],[-76.514954,38.539283],[-76.383508,38.380452],[-76.399939,38.259959],[-76.317785,38.139466],[-76.3616,38.057312],[-76.591632,38.216144],[-76.920248,38.292821],[-77.018833,38.446175],[-77.205049,38.358544],[-77.276249,38.479037],[-77.128372,38.632391],[-77.040741,38.791222],[-76.909294,38.895284],[-77.035264,38.993869],[-77.117418,38.933623],[-77.248864,39.026731],[-77.456988,39.076023],[-77.456988,39.223901],[-77.566527,39.306055],[-77.719881,39.322485],[-77.834897,39.601809],[-78.004682,39.601809],[-78.174467,39.694917],[-78.267575,39.61824],[-78.431884,39.623717],[-78.470222,39.514178],[-78.765977,39.585379],[-78.963147,39.437501],[-79.094593,39.470363],[-79.291763,39.300578],[-79.488933,39.20747],[-79.477979,39.722302]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-70.917521,42.887974],[-70.818936,42.871543],[-70.780598,42.696281],[-70.824413,42.55388],[-70.983245,42.422434],[-70.988722,42.269079],[-70.769644,42.247172],[-70.638197,42.08834],[-70.660105,41.962371],[-70.550566,41.929509],[-70.539613,41.814493],[-70.260289,41.715908],[-69.937149,41.809016],[-70.008349,41.672093],[-70.484843,41.5516],[-70.660105,41.546123],[-70.764167,41.639231],[-70.928475,41.611847],[-70.933952,41.540646],[-71.120168,41.496831],[-71.196845,41.67757],[-71.22423,41.710431],[-71.328292,41.781632],[-71.383061,42.01714],[-71.530939,42.01714],[-71.799309,42.006186],[-71.799309,42.022617],[-73.053528,42.039048],[-73.486206,42.050002],[-73.508114,42.08834],[-73.267129,42.745573],[-72.456542,42.729142],[-71.29543,42.696281],[-71.185891,42.789389],[-70.917521,42.887974]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-83.454238,41.732339],[-84.807042,41.694001],[-84.807042,41.759724],[-85.990061,41.759724],[-86.822556,41.759724],[-86.619909,41.891171],[-86.482986,42.115725],[-86.357016,42.252649],[-86.263908,42.444341],[-86.209139,42.718189],[-86.231047,43.013943],[-86.526801,43.594499],[-86.433693,43.813577],[-86.499417,44.07647],[-86.269385,44.34484],[-86.220093,44.569394],[-86.252954,44.689887],[-86.088646,44.73918],[-86.066738,44.903488],[-85.809322,44.947303],[-85.612152,45.128042],[-85.628583,44.766564],[-85.524521,44.750133],[-85.393075,44.930872],[-85.387598,45.237581],[-85.305444,45.314258],[-85.031597,45.363551],[-85.119228,45.577151],[-84.938489,45.75789],[-84.713934,45.768844],[-84.461995,45.653829],[-84.215533,45.637398],[-84.09504,45.494997],[-83.908824,45.484043],[-83.596638,45.352597],[-83.4871,45.358074],[-83.317314,45.144473],[-83.454238,45.029457],[-83.322791,44.88158],[-83.273499,44.711795],[-83.333745,44.339363],[-83.536392,44.246255],[-83.585684,44.054562],[-83.82667,43.988839],[-83.958116,43.758807],[-83.908824,43.671176],[-83.667839,43.589022],[-83.481623,43.714992],[-83.262545,43.972408],[-82.917498,44.070993],[-82.747713,43.994316],[-82.643651,43.851915],[-82.539589,43.435668],[-82.523158,43.227544],[-82.413619,42.975605],[-82.517681,42.614127],[-82.681989,42.559357],[-82.687466,42.690804],[-82.797005,42.652465],[-82.922975,42.351234],[-83.125621,42.236218],[-83.185868,42.006186],[-83.437807,41.814493],[-83.454238,41.732339]]],[[[-85.508091,45.730506],[-85.49166,45.610013],[-85.623106,45.588105],[-85.568337,45.75789],[-85.508091,45.730506]]],[[[-87.589328,45.095181],[-87.742682,45.199243],[-87.649574,45.341643],[-87.885083,45.363551],[-87.791975,45.500474],[-87.781021,45.675736],[-87.989145,45.796229],[-88.10416,45.922199],[-88.531362,46.020784],[-88.662808,45.987922],[-89.09001,46.135799],[-90.119674,46.338446],[-90.229213,46.508231],[-90.415429,46.568478],[-90.026566,46.672539],[-89.851304,46.793032],[-89.413149,46.842325],[-89.128348,46.990202],[-88.996902,46.995679],[-88.887363,47.099741],[-88.575177,47.247618],[-88.416346,47.373588],[-88.180837,47.455742],[-87.956283,47.384542],[-88.350623,47.077833],[-88.443731,46.973771],[-88.438254,46.787555],[-88.246561,46.929956],[-87.901513,46.908048],[-87.633143,46.809463],[-87.392158,46.535616],[-87.260711,46.486323],[-87.008772,46.530139],[-86.948526,46.469893],[-86.696587,46.437031],[-86.159846,46.667063],[-85.880522,46.68897],[-85.508091,46.678016],[-85.256151,46.754694],[-85.064458,46.760171],[-85.02612,46.480847],[-84.82895,46.442508],[-84.63178,46.486323],[-84.549626,46.4206],[-84.418179,46.502754],[-84.127902,46.530139],[-84.122425,46.179615],[-83.990978,46.031737],[-83.793808,45.993399],[-83.7719,46.091984],[-83.580208,46.091984],[-83.476146,45.987922],[-83.563777,45.911245],[-84.111471,45.976968],[-84.374364,45.933153],[-84.659165,46.053645],[-84.741319,45.944106],[-84.70298,45.850998],[-84.82895,45.872906],[-85.015166,46.00983],[-85.338305,46.091984],[-85.502614,46.097461],[-85.661445,45.966014],[-85.924338,45.933153],[-86.209139,45.960537],[-86.324155,45.905768],[-86.351539,45.796229],[-86.663725,45.703121],[-86.647294,45.834568],[-86.784218,45.861952],[-86.838987,45.725029],[-87.069019,45.719552],[-87.17308,45.659305],[-87.326435,45.423797],[-87.611236,45.122565],[-87.589328,45.095181]]],[[[-88.805209,47.976051],[-89.057148,47.850082],[-89.188594,47.833651],[-89.177641,47.937713],[-88.547792,48.173221],[-88.668285,48.008913],[-88.805209,47.976051]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-92.014696,46.705401],[-92.091373,46.749217],[-92.29402,46.667063],[-92.29402,46.075553],[-92.354266,46.015307],[-92.639067,45.933153],[-92.869098,45.719552],[-92.885529,45.577151],[-92.770513,45.566198],[-92.644544,45.440228],[-92.75956,45.286874],[-92.737652,45.117088],[-92.808852,44.750133],[-92.545959,44.569394],[-92.337835,44.552964],[-92.233773,44.443425],[-91.927065,44.333886],[-91.877772,44.202439],[-91.592971,44.032654],[-91.43414,43.994316],[-91.242447,43.775238],[-91.269832,43.616407],[-91.215062,43.501391],[-91.368417,43.501391],[-96.451017,43.501391],[-96.451017,45.297827],[-96.681049,45.412843],[-96.856311,45.604536],[-96.582464,45.818137],[-96.560556,45.933153],[-96.598895,46.332969],[-96.719387,46.437031],[-96.801542,46.656109],[-96.785111,46.924479],[-96.823449,46.968294],[-96.856311,47.609096],[-97.053481,47.948667],[-97.130158,48.140359],[-97.16302,48.545653],[-97.097296,48.682577],[-97.228743,49.000239],[-95.152983,49.000239],[-95.152983,49.383625],[-94.955813,49.372671],[-94.824366,49.295994],[-94.69292,48.775685],[-94.588858,48.715438],[-94.260241,48.699007],[-94.221903,48.649715],[-93.838517,48.627807],[-93.794701,48.518268],[-93.466085,48.545653],[-93.466085,48.589469],[-93.208669,48.644238],[-92.984114,48.62233],[-92.726698,48.540176],[-92.655498,48.436114],[-92.50762,48.447068],[-92.370697,48.222514],[-92.304974,48.315622],[-92.053034,48.359437],[-92.009219,48.266329],[-91.713464,48.200606],[-91.713464,48.112975],[-91.565587,48.041775],[-91.264355,48.080113],[-91.083616,48.178698],[-90.837154,48.238944],[-90.749522,48.091067],[-90.579737,48.123929],[-90.377091,48.091067],[-90.141582,48.112975],[-89.873212,47.987005],[-89.615796,48.008913],[-89.637704,47.954144],[-89.971797,47.828174],[-90.437337,47.729589],[-90.738569,47.625527],[-91.171247,47.368111],[-91.357463,47.20928],[-91.642264,47.028541],[-92.091373,46.787555],[-92.014696,46.705401]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-88.471115,34.995703],[-88.202745,34.995703],[-88.098683,34.891641],[-88.241084,33.796253],[-88.471115,31.895754],[-88.394438,30.367688],[-88.503977,30.323872],[-88.744962,30.34578],[-88.843547,30.411504],[-89.084533,30.367688],[-89.418626,30.252672],[-89.522688,30.181472],[-89.643181,30.285534],[-89.681519,30.449842],[-89.845827,30.66892],[-89.747242,30.997536],[-91.636787,30.997536],[-91.565587,31.068736],[-91.636787,31.265906],[-91.516294,31.27686],[-91.499863,31.643815],[-91.401278,31.621907],[-91.341032,31.846462],[-91.105524,31.988862],[-90.985031,32.218894],[-91.006939,32.514649],[-91.154816,32.640618],[-91.143862,32.843265],[-91.072662,32.887081],[-91.16577,33.002096],[-91.089093,33.13902],[-91.143862,33.347144],[-91.056231,33.429298],[-91.231493,33.560744],[-91.072662,33.867453],[-90.891923,34.026284],[-90.952169,34.135823],[-90.744046,34.300131],[-90.749522,34.365854],[-90.568783,34.420624],[-90.585214,34.617794],[-90.481152,34.661609],[-90.409952,34.831394],[-90.251121,34.908072],[-90.311367,34.995703],[-88.471115,34.995703]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-91.833957,40.609566],[-91.729895,40.615043],[-91.527248,40.412397],[-91.417709,40.379535],[-91.50534,40.237135],[-91.494386,40.034488],[-91.368417,39.727779],[-91.061708,39.470363],[-90.727615,39.256762],[-90.661891,38.928146],[-90.585214,38.867899],[-90.470199,38.961007],[-90.251121,38.917192],[-90.10872,38.845992],[-90.207305,38.725499],[-90.179921,38.632391],[-90.349706,38.374975],[-90.355183,38.216144],[-90.059428,38.013497],[-89.949889,37.88205],[-89.84035,37.903958],[-89.517211,37.690357],[-89.517211,37.537003],[-89.435057,37.34531],[-89.517211,37.279587],[-89.292656,36.994786],[-89.133825,36.983832],[-89.215979,36.578538],[-89.363857,36.622354],[-89.418626,36.496384],[-89.484349,36.496384],[-89.539119,36.496384],[-89.533642,36.249922],[-89.730812,35.997983],[-90.377091,35.997983],[-90.218259,36.184199],[-90.064905,36.304691],[-90.152536,36.496384],[-94.473842,36.501861],[-94.616242,36.501861],[-94.616242,37.000263],[-94.610765,39.158177],[-94.824366,39.20747],[-94.983197,39.442978],[-95.109167,39.541563],[-94.884612,39.831841],[-95.207752,39.908518],[-95.306337,40.001626],[-95.552799,40.264519],[-95.7664,40.587659],[-94.632673,40.571228],[-93.257961,40.582182],[-91.833957,40.609566]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-104.047534,49.000239],[-104.042057,47.861036],[-104.047534,45.944106],[-104.042057,44.996596],[-104.058488,44.996596],[-105.91517,45.002073],[-109.080842,45.002073],[-111.05254,45.002073],[-111.047063,44.476286],[-111.227803,44.580348],[-111.386634,44.75561],[-111.616665,44.547487],[-111.819312,44.509148],[-111.868605,44.563917],[-112.104113,44.520102],[-112.241036,44.569394],[-112.471068,44.481763],[-112.783254,44.48724],[-112.887315,44.394132],[-113.002331,44.448902],[-113.133778,44.772041],[-113.341901,44.782995],[-113.456917,44.865149],[-113.45144,45.056842],[-113.571933,45.128042],[-113.736241,45.330689],[-113.834826,45.522382],[-113.807441,45.604536],[-113.98818,45.703121],[-114.086765,45.593582],[-114.333228,45.456659],[-114.546828,45.560721],[-114.497536,45.670259],[-114.568736,45.774321],[-114.387997,45.88386],[-114.492059,46.037214],[-114.464674,46.272723],[-114.322274,46.645155],[-114.612552,46.639678],[-114.623506,46.705401],[-114.886399,46.809463],[-114.930214,46.919002],[-115.302646,47.187372],[-115.324554,47.258572],[-115.527201,47.302388],[-115.718894,47.42288],[-115.724371,47.696727],[-116.04751,47.976051],[-116.04751,49.000239],[-111.50165,48.994762],[-109.453274,49.000239],[-104.047534,49.000239]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-103.324578,43.002989],[-101.626726,42.997512],[-98.499393,42.997512],[-98.466531,42.94822],[-97.951699,42.767481],[-97.831206,42.866066],[-97.688806,42.844158],[-97.217789,42.844158],[-96.692003,42.657942],[-96.626279,42.515542],[-96.44554,42.488157],[-96.264801,42.039048],[-96.127878,41.973325],[-96.062155,41.798063],[-96.122401,41.67757],[-96.095016,41.540646],[-95.919754,41.453015],[-95.925231,41.201076],[-95.826646,40.976521],[-95.881416,40.719105],[-95.7664,40.587659],[-95.552799,40.264519],[-95.306337,40.001626],[-101.90605,40.001626],[-102.053927,40.001626],[-102.053927,41.003906],[-104.053011,41.003906],[-104.053011,43.002989],[-103.324578,43.002989]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-117.027882,42.000709],[-114.04295,41.995232],[-114.048427,37.000263],[-114.048427,36.195153],[-114.152489,36.025367],[-114.251074,36.01989],[-114.371566,36.140383],[-114.738521,36.102045],[-114.678275,35.516012],[-114.596121,35.324319],[-114.574213,35.138103],[-114.634459,35.00118],[-115.85034,35.970598],[-116.540435,36.501861],[-117.498899,37.21934],[-118.71478,38.101128],[-120.001861,38.999346],[-119.996384,40.264519],[-120.001861,41.995232],[-118.698349,41.989755],[-117.027882,42.000709]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-71.08183,45.303304],[-71.032537,44.657025],[-70.966814,43.34256],[-70.807983,43.227544],[-70.824413,43.128959],[-70.703921,43.057759],[-70.818936,42.871543],[-70.917521,42.887974],[-71.185891,42.789389],[-71.29543,42.696281],[-72.456542,42.729142],[-72.544173,42.80582],[-72.533219,42.953697],[-72.445588,43.008466],[-72.456542,43.150867],[-72.379864,43.572591],[-72.204602,43.769761],[-72.116971,43.994316],[-72.02934,44.07647],[-72.034817,44.322932],[-71.700724,44.41604],[-71.536416,44.585825],[-71.629524,44.750133],[-71.4926,44.914442],[-71.503554,45.013027],[-71.361154,45.270443],[-71.131122,45.243058],[-71.08183,45.303304]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-74.236547,41.14083],[-73.902454,40.998429],[-74.022947,40.708151],[-74.187255,40.642428],[-74.274886,40.489074],[-74.001039,40.412397],[-73.979131,40.297381],[-74.099624,39.760641],[-74.411809,39.360824],[-74.614456,39.245808],[-74.795195,38.993869],[-74.888303,39.158177],[-75.178581,39.240331],[-75.534582,39.459409],[-75.55649,39.607286],[-75.561967,39.629194],[-75.507197,39.683964],[-75.414089,39.804456],[-75.145719,39.88661],[-75.129289,39.963288],[-74.82258,40.127596],[-74.773287,40.215227],[-75.058088,40.417874],[-75.069042,40.543843],[-75.195012,40.576705],[-75.205966,40.691721],[-75.052611,40.866983],[-75.134765,40.971045],[-74.882826,41.179168],[-74.828057,41.288707],[-74.69661,41.359907],[-74.236547,41.14083]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-107.421329,37.000263],[-106.868158,36.994786],[-104.337812,36.994786],[-103.001438,37.000263],[-103.001438,36.501861],[-103.039777,36.501861],[-103.045254,34.01533],[-103.067161,33.002096],[-103.067161,31.999816],[-106.616219,31.999816],[-106.643603,31.901231],[-106.528588,31.786216],[-108.210008,31.786216],[-108.210008,31.331629],[-109.04798,31.331629],[-109.042503,37.000263],[-107.421329,37.000263]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-73.343806,45.013027],[-73.332852,44.804903],[-73.387622,44.618687],[-73.294514,44.437948],[-73.321898,44.246255],[-73.436914,44.043608],[-73.349283,43.769761],[-73.404052,43.687607],[-73.245221,43.523299],[-73.278083,42.833204],[-73.267129,42.745573],[-73.508114,42.08834],[-73.486206,42.050002],[-73.55193,41.294184],[-73.48073,41.21203],[-73.727192,41.102491],[-73.655992,40.987475],[-73.22879,40.905321],[-73.141159,40.965568],[-72.774204,40.965568],[-72.587988,40.998429],[-72.28128,41.157261],[-72.259372,41.042245],[-72.100541,40.992952],[-72.467496,40.845075],[-73.239744,40.625997],[-73.562884,40.582182],[-73.776484,40.593136],[-73.935316,40.543843],[-74.022947,40.708151],[-73.902454,40.998429],[-74.236547,41.14083],[-74.69661,41.359907],[-74.740426,41.431108],[-74.89378,41.436584],[-75.074519,41.60637],[-75.052611,41.754247],[-75.173104,41.869263],[-75.249781,41.863786],[-75.35932,42.000709],[-79.76278,42.000709],[-79.76278,42.252649],[-79.76278,42.269079],[-79.149363,42.55388],[-79.050778,42.690804],[-78.853608,42.783912],[-78.930285,42.953697],[-79.012439,42.986559],[-79.072686,43.260406],[-78.486653,43.375421],[-77.966344,43.369944],[-77.75822,43.34256],[-77.533665,43.233021],[-77.391265,43.276836],[-76.958587,43.271359],[-76.695693,43.34256],[-76.41637,43.523299],[-76.235631,43.528776],[-76.230154,43.802623],[-76.137046,43.961454],[-76.3616,44.070993],[-76.312308,44.196962],[-75.912491,44.366748],[-75.764614,44.514625],[-75.282643,44.848718],[-74.828057,45.018503],[-74.148916,44.991119],[-73.343806,45.013027]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-80.978661,36.562108],[-80.294043,36.545677],[-79.510841,36.5402],[-75.868676,36.551154],[-75.75366,36.151337],[-76.032984,36.189676],[-76.071322,36.140383],[-76.410893,36.080137],[-76.460185,36.025367],[-76.68474,36.008937],[-76.673786,35.937736],[-76.399939,35.987029],[-76.3616,35.943213],[-76.060368,35.992506],[-75.961783,35.899398],[-75.781044,35.937736],[-75.715321,35.696751],[-75.775568,35.581735],[-75.89606,35.570781],[-76.147999,35.324319],[-76.482093,35.313365],[-76.536862,35.14358],[-76.394462,34.973795],[-76.279446,34.940933],[-76.493047,34.661609],[-76.673786,34.694471],[-76.991448,34.667086],[-77.210526,34.60684],[-77.555573,34.415147],[-77.82942,34.163208],[-77.971821,33.845545],[-78.179944,33.916745],[-78.541422,33.851022],[-79.675149,34.80401],[-80.797922,34.820441],[-80.781491,34.935456],[-80.934845,35.105241],[-81.038907,35.044995],[-81.044384,35.149057],[-82.276696,35.198349],[-82.550543,35.160011],[-82.764143,35.066903],[-83.109191,35.00118],[-83.618546,34.984749],[-84.319594,34.990226],[-84.29221,35.225734],[-84.09504,35.247642],[-84.018363,35.41195],[-83.7719,35.559827],[-83.498053,35.565304],[-83.251591,35.718659],[-82.994175,35.773428],[-82.775097,35.997983],[-82.638174,36.063706],[-82.610789,35.965121],[-82.216449,36.156814],[-82.03571,36.118475],[-81.909741,36.304691],[-81.723525,36.353984],[-81.679709,36.589492],[-80.978661,36.562108]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-97.228743,49.000239],[-97.097296,48.682577],[-97.16302,48.545653],[-97.130158,48.140359],[-97.053481,47.948667],[-96.856311,47.609096],[-96.823449,46.968294],[-96.785111,46.924479],[-96.801542,46.656109],[-96.719387,46.437031],[-96.598895,46.332969],[-96.560556,45.933153],[-104.047534,45.944106],[-104.042057,47.861036],[-104.047534,49.000239],[-97.228743,49.000239]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-80.518598,41.978802],[-80.518598,40.636951],[-80.666475,40.582182],[-80.595275,40.472643],[-80.600752,40.319289],[-80.737675,40.078303],[-80.830783,39.711348],[-81.219646,39.388209],[-81.345616,39.344393],[-81.455155,39.410117],[-81.57017,39.267716],[-81.685186,39.273193],[-81.811156,39.0815],[-81.783771,38.966484],[-81.887833,38.873376],[-82.03571,39.026731],[-82.221926,38.785745],[-82.172634,38.632391],[-82.293127,38.577622],[-82.331465,38.446175],[-82.594358,38.424267],[-82.731282,38.561191],[-82.846298,38.588575],[-82.890113,38.758361],[-83.032514,38.725499],[-83.142052,38.626914],[-83.519961,38.703591],[-83.678792,38.632391],[-83.903347,38.769315],[-84.215533,38.807653],[-84.231963,38.895284],[-84.43461,39.103408],[-84.817996,39.103408],[-84.801565,40.500028],[-84.807042,41.694001],[-83.454238,41.732339],[-83.065375,41.595416],[-82.933929,41.513262],[-82.835344,41.589939],[-82.616266,41.431108],[-82.479343,41.381815],[-82.013803,41.513262],[-81.739956,41.485877],[-81.444201,41.672093],[-81.011523,41.852832],[-80.518598,41.978802],[-80.518598,41.978802]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-100.087706,37.000263],[-94.616242,37.000263],[-94.616242,36.501861],[-94.430026,35.395519],[-94.484796,33.637421],[-94.868182,33.74696],[-94.966767,33.861976],[-95.224183,33.960561],[-95.289906,33.87293],[-95.547322,33.878407],[-95.602092,33.933176],[-95.8376,33.834591],[-95.936185,33.889361],[-96.149786,33.840068],[-96.346956,33.686714],[-96.423633,33.774345],[-96.631756,33.845545],[-96.850834,33.845545],[-96.922034,33.960561],[-97.173974,33.736006],[-97.256128,33.861976],[-97.371143,33.823637],[-97.458774,33.905791],[-97.694283,33.982469],[-97.869545,33.851022],[-97.946222,33.987946],[-98.088623,34.004376],[-98.170777,34.113915],[-98.36247,34.157731],[-98.488439,34.064623],[-98.570593,34.146777],[-98.767763,34.135823],[-98.986841,34.223454],[-99.189488,34.2125],[-99.260688,34.404193],[-99.57835,34.415147],[-99.698843,34.382285],[-99.923398,34.573978],[-100.000075,34.563024],[-100.000075,36.501861],[-101.812942,36.501861],[-103.001438,36.501861],[-103.001438,37.000263],[-102.042974,36.994786],[-100.087706,37.000263]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-123.211348,46.174138],[-123.11824,46.185092],[-122.904639,46.08103],[-122.811531,45.960537],[-122.762239,45.659305],[-122.247407,45.549767],[-121.809251,45.708598],[-121.535404,45.725029],[-121.217742,45.670259],[-121.18488,45.604536],[-120.637186,45.746937],[-120.505739,45.697644],[-120.209985,45.725029],[-119.963522,45.823614],[-119.525367,45.911245],[-119.125551,45.933153],[-118.988627,45.998876],[-116.918344,45.993399],[-116.78142,45.823614],[-116.545912,45.752413],[-116.463758,45.61549],[-116.671881,45.319735],[-116.732128,45.144473],[-116.847143,45.02398],[-116.830713,44.930872],[-116.934774,44.782995],[-117.038836,44.750133],[-117.241483,44.394132],[-117.170283,44.257209],[-116.97859,44.240778],[-116.896436,44.158624],[-117.027882,43.830007],[-117.027882,42.000709],[-118.698349,41.989755],[-120.001861,41.995232],[-121.037003,41.995232],[-122.378853,42.011663],[-123.233256,42.006186],[-124.213628,42.000709],[-124.356029,42.115725],[-124.432706,42.438865],[-124.416275,42.663419],[-124.553198,42.838681],[-124.454613,43.002989],[-124.383413,43.271359],[-124.235536,43.55616],[-124.169813,43.8081],[-124.060274,44.657025],[-124.076705,44.772041],[-123.97812,45.144473],[-123.939781,45.659305],[-123.994551,45.944106],[-123.945258,46.113892],[-123.545441,46.261769],[-123.370179,46.146753],[-123.211348,46.174138]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-79.76278,42.252649],[-79.76278,42.000709],[-75.35932,42.000709],[-75.249781,41.863786],[-75.173104,41.869263],[-75.052611,41.754247],[-75.074519,41.60637],[-74.89378,41.436584],[-74.740426,41.431108],[-74.69661,41.359907],[-74.828057,41.288707],[-74.882826,41.179168],[-75.134765,40.971045],[-75.052611,40.866983],[-75.205966,40.691721],[-75.195012,40.576705],[-75.069042,40.543843],[-75.058088,40.417874],[-74.773287,40.215227],[-74.82258,40.127596],[-75.129289,39.963288],[-75.145719,39.88661],[-75.414089,39.804456],[-75.616736,39.831841],[-75.786521,39.722302],[-79.477979,39.722302],[-80.518598,39.722302],[-80.518598,40.636951],[-80.518598,41.978802],[-80.518598,41.978802],[-80.332382,42.033571],[-79.76278,42.269079],[-79.76278,42.252649]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-71.196845,41.67757],[-71.120168,41.496831],[-71.317338,41.474923],[-71.196845,41.67757]]],[[[-71.530939,42.01714],[-71.383061,42.01714],[-71.328292,41.781632],[-71.22423,41.710431],[-71.344723,41.726862],[-71.448785,41.578985],[-71.481646,41.370861],[-71.859555,41.321569],[-71.799309,41.414677],[-71.799309,42.006186],[-71.530939,42.01714]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-82.764143,35.066903],[-82.550543,35.160011],[-82.276696,35.198349],[-81.044384,35.149057],[-81.038907,35.044995],[-80.934845,35.105241],[-80.781491,34.935456],[-80.797922,34.820441],[-79.675149,34.80401],[-78.541422,33.851022],[-78.716684,33.80173],[-78.935762,33.637421],[-79.149363,33.380005],[-79.187701,33.171881],[-79.357487,33.007573],[-79.582041,33.007573],[-79.631334,32.887081],[-79.866842,32.755634],[-79.998289,32.613234],[-80.206412,32.552987],[-80.430967,32.399633],[-80.452875,32.328433],[-80.660998,32.246279],[-80.885553,32.032678],[-81.115584,32.120309],[-81.121061,32.290094],[-81.279893,32.558464],[-81.416816,32.629664],[-81.42777,32.843265],[-81.493493,33.007573],[-81.761863,33.160928],[-81.937125,33.347144],[-81.926172,33.462159],[-82.194542,33.631944],[-82.325988,33.81816],[-82.55602,33.94413],[-82.714851,34.152254],[-82.747713,34.26727],[-82.901067,34.486347],[-83.005129,34.469916],[-83.339222,34.683517],[-83.322791,34.787579],[-83.109191,35.00118],[-82.764143,35.066903]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-104.047534,45.944106],[-96.560556,45.933153],[-96.582464,45.818137],[-96.856311,45.604536],[-96.681049,45.412843],[-96.451017,45.297827],[-96.451017,43.501391],[-96.582464,43.479483],[-96.527695,43.397329],[-96.560556,43.222067],[-96.434587,43.123482],[-96.511264,43.052282],[-96.544125,42.855112],[-96.631756,42.707235],[-96.44554,42.488157],[-96.626279,42.515542],[-96.692003,42.657942],[-97.217789,42.844158],[-97.688806,42.844158],[-97.831206,42.866066],[-97.951699,42.767481],[-98.466531,42.94822],[-98.499393,42.997512],[-101.626726,42.997512],[-103.324578,43.002989],[-104.053011,43.002989],[-104.058488,44.996596],[-104.042057,44.996596],[-104.047534,45.944106]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-88.054868,36.496384],[-88.071299,36.677123],[-87.852221,36.633308],[-86.592525,36.655216],[-85.486183,36.616877],[-85.289013,36.627831],[-84.544149,36.594969],[-83.689746,36.584015],[-83.673316,36.600446],[-81.679709,36.589492],[-81.723525,36.353984],[-81.909741,36.304691],[-82.03571,36.118475],[-82.216449,36.156814],[-82.610789,35.965121],[-82.638174,36.063706],[-82.775097,35.997983],[-82.994175,35.773428],[-83.251591,35.718659],[-83.498053,35.565304],[-83.7719,35.559827],[-84.018363,35.41195],[-84.09504,35.247642],[-84.29221,35.225734],[-84.319594,34.990226],[-85.606675,34.984749],[-87.359296,35.00118],[-88.202745,34.995703],[-88.471115,34.995703],[-90.311367,34.995703],[-90.212782,35.023087],[-90.114197,35.198349],[-90.130628,35.439335],[-89.944412,35.603643],[-89.911551,35.756997],[-89.763673,35.811767],[-89.730812,35.997983],[-89.533642,36.249922],[-89.539119,36.496384],[-89.484349,36.496384],[-89.418626,36.496384],[-89.298133,36.507338],[-88.054868,36.496384]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-101.812942,36.501861],[-100.000075,36.501861],[-100.000075,34.563024],[-99.923398,34.573978],[-99.698843,34.382285],[-99.57835,34.415147],[-99.260688,34.404193],[-99.189488,34.2125],[-98.986841,34.223454],[-98.767763,34.135823],[-98.570593,34.146777],[-98.488439,34.064623],[-98.36247,34.157731],[-98.170777,34.113915],[-98.088623,34.004376],[-97.946222,33.987946],[-97.869545,33.851022],[-97.694283,33.982469],[-97.458774,33.905791],[-97.371143,33.823637],[-97.256128,33.861976],[-97.173974,33.736006],[-96.922034,33.960561],[-96.850834,33.845545],[-96.631756,33.845545],[-96.423633,33.774345],[-96.346956,33.686714],[-96.149786,33.840068],[-95.936185,33.889361],[-95.8376,33.834591],[-95.602092,33.933176],[-95.547322,33.878407],[-95.289906,33.87293],[-95.224183,33.960561],[-94.966767,33.861976],[-94.868182,33.74696],[-94.484796,33.637421],[-94.380734,33.544313],[-94.183564,33.593606],[-94.041164,33.54979],[-94.041164,33.018527],[-94.041164,31.994339],[-93.822086,31.775262],[-93.816609,31.556184],[-93.542762,31.15089],[-93.526331,30.93729],[-93.630393,30.679874],[-93.728978,30.575812],[-93.696116,30.438888],[-93.767317,30.334826],[-93.690639,30.143133],[-93.926148,29.787132],[-93.838517,29.688547],[-94.002825,29.68307],[-94.523134,29.546147],[-94.70935,29.622824],[-94.742212,29.787132],[-94.873659,29.672117],[-94.966767,29.699501],[-95.016059,29.557101],[-94.911997,29.496854],[-94.895566,29.310638],[-95.081782,29.113469],[-95.383014,28.867006],[-95.985477,28.604113],[-96.045724,28.647929],[-96.226463,28.582205],[-96.23194,28.642452],[-96.478402,28.598636],[-96.593418,28.724606],[-96.664618,28.697221],[-96.401725,28.439805],[-96.593418,28.357651],[-96.774157,28.406943],[-96.801542,28.226204],[-97.026096,28.039988],[-97.256128,27.694941],[-97.404005,27.333463],[-97.513544,27.360848],[-97.540929,27.229401],[-97.425913,27.262263],[-97.480682,26.99937],[-97.557359,26.988416],[-97.562836,26.840538],[-97.469728,26.758384],[-97.442344,26.457153],[-97.332805,26.353091],[-97.30542,26.161398],[-97.217789,25.991613],[-97.524498,25.887551],[-97.650467,26.018997],[-97.885976,26.06829],[-98.198161,26.057336],[-98.466531,26.221644],[-98.669178,26.238075],[-98.822533,26.369522],[-99.030656,26.413337],[-99.173057,26.539307],[-99.266165,26.840538],[-99.446904,27.021277],[-99.424996,27.174632],[-99.50715,27.33894],[-99.479765,27.48134],[-99.605735,27.640172],[-99.709797,27.656603],[-99.879582,27.799003],[-99.934351,27.979742],[-100.082229,28.14405],[-100.29583,28.280974],[-100.399891,28.582205],[-100.498476,28.66436],[-100.629923,28.905345],[-100.673738,29.102515],[-100.799708,29.244915],[-101.013309,29.370885],[-101.062601,29.458516],[-101.259771,29.535193],[-101.413125,29.754271],[-101.851281,29.803563],[-102.114174,29.792609],[-102.338728,29.869286],[-102.388021,29.765225],[-102.629006,29.732363],[-102.809745,29.524239],[-102.919284,29.190146],[-102.97953,29.184669],[-103.116454,28.987499],[-103.280762,28.982022],[-103.527224,29.135376],[-104.146119,29.381839],[-104.266611,29.513285],[-104.507597,29.639255],[-104.677382,29.924056],[-104.688336,30.181472],[-104.858121,30.389596],[-104.896459,30.570335],[-105.005998,30.685351],[-105.394861,30.855136],[-105.602985,31.085167],[-105.77277,31.167321],[-105.953509,31.364491],[-106.205448,31.468553],[-106.38071,31.731446],[-106.528588,31.786216],[-106.643603,31.901231],[-106.616219,31.999816],[-103.067161,31.999816],[-103.067161,33.002096],[-103.045254,34.01533],[-103.039777,36.501861],[-103.001438,36.501861],[-101.812942,36.501861]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-112.164359,41.995232],[-111.047063,42.000709],[-111.047063,40.998429],[-109.04798,40.998429],[-109.053457,39.125316],[-109.058934,38.27639],[-109.042503,38.166851],[-109.042503,37.000263],[-110.499369,37.00574],[-114.048427,37.000263],[-114.04295,41.995232],[-112.164359,41.995232]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-71.503554,45.013027],[-71.4926,44.914442],[-71.629524,44.750133],[-71.536416,44.585825],[-71.700724,44.41604],[-72.034817,44.322932],[-72.02934,44.07647],[-72.116971,43.994316],[-72.204602,43.769761],[-72.379864,43.572591],[-72.456542,43.150867],[-72.445588,43.008466],[-72.533219,42.953697],[-72.544173,42.80582],[-72.456542,42.729142],[-73.267129,42.745573],[-73.278083,42.833204],[-73.245221,43.523299],[-73.404052,43.687607],[-73.349283,43.769761],[-73.436914,44.043608],[-73.321898,44.246255],[-73.294514,44.437948],[-73.387622,44.618687],[-73.332852,44.804903],[-73.343806,45.013027],[-72.308664,45.002073],[-71.503554,45.013027]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-75.397659,38.013497],[-75.244304,38.029928],[-75.375751,37.860142],[-75.512674,37.799896],[-75.594828,37.569865],[-75.802952,37.197433],[-75.972737,37.120755],[-76.027507,37.257679],[-75.939876,37.564388],[-75.671506,37.95325],[-75.397659,38.013497]]],[[[-76.016553,37.95325],[-75.994645,37.95325],[-76.043938,37.95325],[-76.016553,37.95325]]],[[[-78.349729,39.464886],[-77.82942,39.130793],[-77.719881,39.322485],[-77.566527,39.306055],[-77.456988,39.223901],[-77.456988,39.076023],[-77.248864,39.026731],[-77.117418,38.933623],[-77.040741,38.791222],[-77.128372,38.632391],[-77.248864,38.588575],[-77.325542,38.446175],[-77.281726,38.342113],[-77.013356,38.374975],[-76.964064,38.216144],[-76.613539,38.15042],[-76.514954,38.024451],[-76.235631,37.887527],[-76.3616,37.608203],[-76.246584,37.389126],[-76.383508,37.285064],[-76.399939,37.159094],[-76.273969,37.082417],[-76.410893,36.961924],[-76.619016,37.120755],[-76.668309,37.065986],[-76.48757,36.95097],[-75.994645,36.923586],[-75.868676,36.551154],[-79.510841,36.5402],[-80.294043,36.545677],[-80.978661,36.562108],[-81.679709,36.589492],[-83.673316,36.600446],[-83.136575,36.742847],[-83.070852,36.852385],[-82.879159,36.890724],[-82.868205,36.978355],[-82.720328,37.044078],[-82.720328,37.120755],[-82.353373,37.268633],[-81.969987,37.537003],[-81.986418,37.454849],[-81.849494,37.285064],[-81.679709,37.20291],[-81.55374,37.208387],[-81.362047,37.339833],[-81.225123,37.235771],[-80.967707,37.290541],[-80.513121,37.482234],[-80.474782,37.421987],[-80.29952,37.509618],[-80.294043,37.690357],[-80.184505,37.849189],[-79.998289,37.997066],[-79.921611,38.177805],[-79.724442,38.364021],[-79.647764,38.594052],[-79.477979,38.457129],[-79.313671,38.413313],[-79.209609,38.495467],[-78.996008,38.851469],[-78.870039,38.763838],[-78.404499,39.169131],[-78.349729,39.464886]]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-117.033359,49.000239],[-117.044313,47.762451],[-117.038836,46.426077],[-117.055267,46.343923],[-116.92382,46.168661],[-116.918344,45.993399],[-118.988627,45.998876],[-119.125551,45.933153],[-119.525367,45.911245],[-119.963522,45.823614],[-120.209985,45.725029],[-120.505739,45.697644],[-120.637186,45.746937],[-121.18488,45.604536],[-121.217742,45.670259],[-121.535404,45.725029],[-121.809251,45.708598],[-122.247407,45.549767],[-122.762239,45.659305],[-122.811531,45.960537],[-122.904639,46.08103],[-123.11824,46.185092],[-123.211348,46.174138],[-123.370179,46.146753],[-123.545441,46.261769],[-123.72618,46.300108],[-123.874058,46.239861],[-124.065751,46.327492],[-124.027412,46.464416],[-123.895966,46.535616],[-124.098612,46.74374],[-124.235536,47.285957],[-124.31769,47.357157],[-124.427229,47.740543],[-124.624399,47.88842],[-124.706553,48.184175],[-124.597014,48.381345],[-124.394367,48.288237],[-123.983597,48.162267],[-123.704273,48.167744],[-123.424949,48.118452],[-123.162056,48.167744],[-123.036086,48.080113],[-122.800578,48.08559],[-122.636269,47.866512],[-122.515777,47.882943],[-122.493869,47.587189],[-122.422669,47.318818],[-122.324084,47.346203],[-122.422669,47.576235],[-122.395284,47.800789],[-122.230976,48.030821],[-122.362422,48.123929],[-122.373376,48.288237],[-122.471961,48.468976],[-122.422669,48.600422],[-122.488392,48.753777],[-122.647223,48.775685],[-122.795101,48.8907],[-122.756762,49.000239],[-117.033359,49.000239]]],[[[-122.718423,48.310145],[-122.586977,48.35396],[-122.608885,48.151313],[-122.767716,48.227991],[-122.718423,48.310145]]],[[[-123.025132,48.583992],[-122.915593,48.715438],[-122.767716,48.556607],[-122.811531,48.419683],[-123.041563,48.458022],[-123.025132,48.583992]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-80.518598,40.636951],[-80.518598,39.722302],[-79.477979,39.722302],[-79.488933,39.20747],[-79.291763,39.300578],[-79.094593,39.470363],[-78.963147,39.437501],[-78.765977,39.585379],[-78.470222,39.514178],[-78.431884,39.623717],[-78.267575,39.61824],[-78.174467,39.694917],[-78.004682,39.601809],[-77.834897,39.601809],[-77.719881,39.322485],[-77.82942,39.130793],[-78.349729,39.464886],[-78.404499,39.169131],[-78.870039,38.763838],[-78.996008,38.851469],[-79.209609,38.495467],[-79.313671,38.413313],[-79.477979,38.457129],[-79.647764,38.594052],[-79.724442,38.364021],[-79.921611,38.177805],[-79.998289,37.997066],[-80.184505,37.849189],[-80.294043,37.690357],[-80.29952,37.509618],[-80.474782,37.421987],[-80.513121,37.482234],[-80.967707,37.290541],[-81.225123,37.235771],[-81.362047,37.339833],[-81.55374,37.208387],[-81.679709,37.20291],[-81.849494,37.285064],[-81.986418,37.454849],[-81.969987,37.537003],[-82.101434,37.553434],[-82.293127,37.668449],[-82.342419,37.783465],[-82.50125,37.931343],[-82.621743,38.123036],[-82.594358,38.424267],[-82.331465,38.446175],[-82.293127,38.577622],[-82.172634,38.632391],[-82.221926,38.785745],[-82.03571,39.026731],[-81.887833,38.873376],[-81.783771,38.966484],[-81.811156,39.0815],[-81.685186,39.273193],[-81.57017,39.267716],[-81.455155,39.410117],[-81.345616,39.344393],[-81.219646,39.388209],[-80.830783,39.711348],[-80.737675,40.078303],[-80.600752,40.319289],[-80.595275,40.472643],[-80.666475,40.582182],[-80.518598,40.636951]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-90.415429,46.568478],[-90.229213,46.508231],[-90.119674,46.338446],[-89.09001,46.135799],[-88.662808,45.987922],[-88.531362,46.020784],[-88.10416,45.922199],[-87.989145,45.796229],[-87.781021,45.675736],[-87.791975,45.500474],[-87.885083,45.363551],[-87.649574,45.341643],[-87.742682,45.199243],[-87.589328,45.095181],[-87.627666,44.974688],[-87.819359,44.95278],[-87.983668,44.722749],[-88.043914,44.563917],[-87.928898,44.536533],[-87.775544,44.640595],[-87.611236,44.837764],[-87.403112,44.914442],[-87.238804,45.166381],[-87.03068,45.22115],[-87.047111,45.089704],[-87.189511,44.969211],[-87.468835,44.552964],[-87.545512,44.322932],[-87.540035,44.158624],[-87.644097,44.103854],[-87.737205,43.8793],[-87.704344,43.687607],[-87.791975,43.561637],[-87.912467,43.249452],[-87.885083,43.002989],[-87.76459,42.783912],[-87.802929,42.493634],[-88.788778,42.493634],[-90.639984,42.510065],[-90.711184,42.636034],[-91.067185,42.75105],[-91.143862,42.909881],[-91.176724,43.134436],[-91.056231,43.254929],[-91.204109,43.353514],[-91.215062,43.501391],[-91.269832,43.616407],[-91.242447,43.775238],[-91.43414,43.994316],[-91.592971,44.032654],[-91.877772,44.202439],[-91.927065,44.333886],[-92.233773,44.443425],[-92.337835,44.552964],[-92.545959,44.569394],[-92.808852,44.750133],[-92.737652,45.117088],[-92.75956,45.286874],[-92.644544,45.440228],[-92.770513,45.566198],[-92.885529,45.577151],[-92.869098,45.719552],[-92.639067,45.933153],[-92.354266,46.015307],[-92.29402,46.075553],[-92.29402,46.667063],[-92.091373,46.749217],[-92.014696,46.705401],[-91.790141,46.694447],[-91.09457,46.864232],[-90.837154,46.95734],[-90.749522,46.88614],[-90.886446,46.754694],[-90.55783,46.584908],[-90.415429,46.568478]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-109.080842,45.002073],[-105.91517,45.002073],[-104.058488,44.996596],[-104.053011,43.002989],[-104.053011,41.003906],[-105.728954,40.998429],[-107.919731,41.003906],[-109.04798,40.998429],[-111.047063,40.998429],[-111.047063,42.000709],[-111.047063,44.476286],[-111.05254,45.002073],[-109.080842,45.002073]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-66.448338,17.984326],[-66.771478,18.006234],[-66.924832,17.929556],[-66.985078,17.973372],[-67.209633,17.956941],[-67.154863,18.19245],[-67.269879,18.362235],[-67.094617,18.515589],[-66.957694,18.488204],[-66.409999,18.488204],[-65.840398,18.433435],[-65.632274,18.367712],[-65.626797,18.203403],[-65.730859,18.186973],[-65.834921,18.017187],[-66.234737,17.929556],[-66.448338,17.984326]]]}"
]
}
}
]
},
"apply_color_scheme": true,
"swing_enabled": true
}
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 14
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Let's modify the `GeoDataFrame` a bit by adding some population data and plotting that too:"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:47.012228Z",
"start_time": "2024-12-06T13:22:46.478159Z"
}
},
"cell_type": "code",
"source": [
"val usPopByState = DataFrame.readCsv(\"us_pop_by_state.csv\")\n",
"usPopByState"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_13()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_13\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202584&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;... showing only top 20 of 52 rows&lt;&sol;p&gt;&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 52, columnsCount = 5&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;rank: Double?&bsol;&quot;&gt;rank&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;6.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;7.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;8.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;11.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;12.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;13.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;14.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;15.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;16.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;17.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;18.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;19.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;20.0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;state: String&bsol;&quot;&gt;state&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;California&quot;,&quot;Texas&quot;,&quot;Florida&quot;,&quot;New York&quot;,&quot;Pennsylvania&quot;,&quot;Illinois&quot;,&quot;Ohio&quot;,&quot;Georgia&quot;,&quot;North Carolina&quot;,&quot;Michigan&quot;,&quot;New Jersey&quot;,&quot;Virginia&quot;,&quot;Washington&quot;,&quot;Arizona&quot;,&quot;Massachusetts&quot;,&quot;Tennessee&quot;,&quot;Indiana&quot;,&quot;Maryland&quot;,&quot;Missouri&quot;,&quot;Wisconsin&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;state_code: String&bsol;&quot;&gt;state_code&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;CA&quot;,&quot;TX&quot;,&quot;FL&quot;,&quot;NY&quot;,&quot;PA&quot;,&quot;IL&quot;,&quot;OH&quot;,&quot;GA&quot;,&quot;NC&quot;,&quot;MI&quot;,&quot;NJ&quot;,&quot;VA&quot;,&quot;WA&quot;,&quot;AZ&quot;,&quot;MA&quot;,&quot;TN&quot;,&quot;IN&quot;,&quot;MD&quot;,&quot;MO&quot;,&quot;WI&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;2020_census: Int&bsol;&quot;&gt;2020_census&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;39538223&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;29145505&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;21538187&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;20201249&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;13002700&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;12801989&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;11799448&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10711908&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10439388&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10077331&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9288994&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;8631393&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;7705281&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;7151502&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;7029917&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;6910840&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;6785528&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;6177224&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;6154913&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5893718&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;percent_of_total: Double?&bsol;&quot;&gt;percent_of_total&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.1191&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0874&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0647&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0586&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0386&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0382&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0352&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0320&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0316&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0301&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0268&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0257&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0229&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0219&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0209&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0206&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0203&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0185&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0182&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.0175&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202584, rootId: 587202584, totalRows: 52 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202584) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_13() {\n",
" let elem = document.getElementById(\"iframe_out_13\");\n",
" resize_iframe_out_13(elem);\n",
" setInterval(resize_iframe_out_13, 5000, elem);\n",
" }\n",
" function resize_iframe_out_13(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202585\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">rank</th><th class=\"bottomBorder\" style=\"text-align:left\">state</th><th class=\"bottomBorder\" style=\"text-align:left\">state_code</th><th class=\"bottomBorder\" style=\"text-align:left\">2020_census</th><th class=\"bottomBorder\" style=\"text-align:left\">percent_of_total</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">1.000000</td><td style=\"vertical-align:top\">California</td><td style=\"vertical-align:top\">CA</td><td style=\"vertical-align:top\">39538223</td><td style=\"vertical-align:top\">0.119100</td></tr><tr><td style=\"vertical-align:top\">2.000000</td><td style=\"vertical-align:top\">Texas</td><td style=\"vertical-align:top\">TX</td><td style=\"vertical-align:top\">29145505</td><td style=\"vertical-align:top\">0.087400</td></tr><tr><td style=\"vertical-align:top\">3.000000</td><td style=\"vertical-align:top\">Florida</td><td style=\"vertical-align:top\">FL</td><td style=\"vertical-align:top\">21538187</td><td style=\"vertical-align:top\">0.064700</td></tr><tr><td style=\"vertical-align:top\">4.000000</td><td style=\"vertical-align:top\">New York</td><td style=\"vertical-align:top\">NY</td><td style=\"vertical-align:top\">20201249</td><td style=\"vertical-align:top\">0.058600</td></tr><tr><td style=\"vertical-align:top\">5.000000</td><td style=\"vertical-align:top\">Pennsylvania</td><td style=\"vertical-align:top\">PA</td><td style=\"vertical-align:top\">13002700</td><td style=\"vertical-align:top\">0.038600</td></tr><tr><td style=\"vertical-align:top\">6.000000</td><td style=\"vertical-align:top\">Illinois</td><td style=\"vertical-align:top\">IL</td><td style=\"vertical-align:top\">12801989</td><td style=\"vertical-align:top\">0.038200</td></tr><tr><td style=\"vertical-align:top\">7.000000</td><td style=\"vertical-align:top\">Ohio</td><td style=\"vertical-align:top\">OH</td><td style=\"vertical-align:top\">11799448</td><td style=\"vertical-align:top\">0.035200</td></tr><tr><td style=\"vertical-align:top\">8.000000</td><td style=\"vertical-align:top\">Georgia</td><td style=\"vertical-align:top\">GA</td><td style=\"vertical-align:top\">10711908</td><td style=\"vertical-align:top\">0.032000</td></tr><tr><td style=\"vertical-align:top\">9.000000</td><td style=\"vertical-align:top\">North Carolina</td><td style=\"vertical-align:top\">NC</td><td style=\"vertical-align:top\">10439388</td><td style=\"vertical-align:top\">0.031600</td></tr><tr><td style=\"vertical-align:top\">10.000000</td><td style=\"vertical-align:top\">Michigan</td><td style=\"vertical-align:top\">MI</td><td style=\"vertical-align:top\">10077331</td><td style=\"vertical-align:top\">0.030100</td></tr><tr><td style=\"vertical-align:top\">11.000000</td><td style=\"vertical-align:top\">New Jersey</td><td style=\"vertical-align:top\">NJ</td><td style=\"vertical-align:top\">9288994</td><td style=\"vertical-align:top\">0.026800</td></tr><tr><td style=\"vertical-align:top\">12.000000</td><td style=\"vertical-align:top\">Virginia</td><td style=\"vertical-align:top\">VA</td><td style=\"vertical-align:top\">8631393</td><td style=\"vertical-align:top\">0.025700</td></tr><tr><td style=\"vertical-align:top\">13.000000</td><td style=\"vertical-align:top\">Washington</td><td style=\"vertical-align:top\">WA</td><td style=\"vertical-align:top\">7705281</td><td style=\"vertical-align:top\">0.022900</td></tr><tr><td style=\"vertical-align:top\">14.000000</td><td style=\"vertical-align:top\">Arizona</td><td style=\"vertical-align:top\">AZ</td><td style=\"vertical-align:top\">7151502</td><td style=\"vertical-align:top\">0.021900</td></tr><tr><td style=\"vertical-align:top\">15.000000</td><td style=\"vertical-align:top\">Massachusetts</td><td style=\"vertical-align:top\">MA</td><td style=\"vertical-align:top\">7029917</td><td style=\"vertical-align:top\">0.020900</td></tr><tr><td style=\"vertical-align:top\">16.000000</td><td style=\"vertical-align:top\">Tennessee</td><td style=\"vertical-align:top\">TN</td><td style=\"vertical-align:top\">6910840</td><td style=\"vertical-align:top\">0.020600</td></tr><tr><td style=\"vertical-align:top\">17.000000</td><td style=\"vertical-align:top\">Indiana</td><td style=\"vertical-align:top\">IN</td><td style=\"vertical-align:top\">6785528</td><td style=\"vertical-align:top\">0.020300</td></tr><tr><td style=\"vertical-align:top\">18.000000</td><td style=\"vertical-align:top\">Maryland</td><td style=\"vertical-align:top\">MD</td><td style=\"vertical-align:top\">6177224</td><td style=\"vertical-align:top\">0.018500</td></tr><tr><td style=\"vertical-align:top\">19.000000</td><td style=\"vertical-align:top\">Missouri</td><td style=\"vertical-align:top\">MO</td><td style=\"vertical-align:top\">6154913</td><td style=\"vertical-align:top\">0.018200</td></tr><tr><td style=\"vertical-align:top\">20.000000</td><td style=\"vertical-align:top\">Wisconsin</td><td style=\"vertical-align:top\">WI</td><td style=\"vertical-align:top\">5893718</td><td style=\"vertical-align:top\">0.017500</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202585\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"rank\",\"state\",\"state_code\",\"2020_census\",\"percent_of_total\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double?\"}],\"nrow\":52,\"ncol\":5},\"kotlin_dataframe\":[{\"rank\":1.0,\"state\":\"California\",\"state_code\":\"CA\",\"2020_census\":39538223,\"percent_of_total\":0.1191},{\"rank\":2.0,\"state\":\"Texas\",\"state_code\":\"TX\",\"2020_census\":29145505,\"percent_of_total\":0.0874},{\"rank\":3.0,\"state\":\"Florida\",\"state_code\":\"FL\",\"2020_census\":21538187,\"percent_of_total\":0.0647},{\"rank\":4.0,\"state\":\"New York\",\"state_code\":\"NY\",\"2020_census\":20201249,\"percent_of_total\":0.0586},{\"rank\":5.0,\"state\":\"Pennsylvania\",\"state_code\":\"PA\",\"2020_census\":13002700,\"percent_of_total\":0.0386},{\"rank\":6.0,\"state\":\"Illinois\",\"state_code\":\"IL\",\"2020_census\":12801989,\"percent_of_total\":0.0382},{\"rank\":7.0,\"state\":\"Ohio\",\"state_code\":\"OH\",\"2020_census\":11799448,\"percent_of_total\":0.0352},{\"rank\":8.0,\"state\":\"Georgia\",\"state_code\":\"GA\",\"2020_census\":10711908,\"percent_of_total\":0.032},{\"rank\":9.0,\"state\":\"North Carolina\",\"state_code\":\"NC\",\"2020_census\":10439388,\"percent_of_total\":0.0316},{\"rank\":10.0,\"state\":\"Michigan\",\"state_code\":\"MI\",\"2020_census\":10077331,\"percent_of_total\":0.0301},{\"rank\":11.0,\"state\":\"New Jersey\",\"state_code\":\"NJ\",\"2020_census\":9288994,\"percent_of_total\":0.0268},{\"rank\":12.0,\"state\":\"Virginia\",\"state_code\":\"VA\",\"2020_census\":8631393,\"percent_of_total\":0.0257},{\"rank\":13.0,\"state\":\"Washington\",\"state_code\":\"WA\",\"2020_census\":7705281,\"percent_of_total\":0.0229},{\"rank\":14.0,\"state\":\"Arizona\",\"state_code\":\"AZ\",\"2020_census\":7151502,\"percent_of_total\":0.0219},{\"rank\":15.0,\"state\":\"Massachusetts\",\"state_code\":\"MA\",\"2020_census\":7029917,\"percent_of_total\":0.0209},{\"rank\":16.0,\"state\":\"Tennessee\",\"state_code\":\"TN\",\"2020_census\":6910840,\"percent_of_total\":0.0206},{\"rank\":17.0,\"state\":\"Indiana\",\"state_code\":\"IN\",\"2020_census\":6785528,\"percent_of_total\":0.0203},{\"rank\":18.0,\"state\":\"Maryland\",\"state_code\":\"MD\",\"2020_census\":6177224,\"percent_of_total\":0.0185},{\"rank\":19.0,\"state\":\"Missouri\",\"state_code\":\"MO\",\"2020_census\":6154913,\"percent_of_total\":0.0182},{\"rank\":20.0,\"state\":\"Wisconsin\",\"state_code\":\"WI\",\"2020_census\":5893718,\"percent_of_total\":0.0175}]}"
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 15
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:49.082160Z",
"start_time": "2024-12-06T13:22:48.013841Z"
}
},
"cell_type": "code",
"source": [
"val usaGeoPopulation = usaGeo.modify {\n",
" this.join(\n",
" usPopByState.select { state and `2020_census`.named(\"population\") },\n",
" ) { name match right.state }\n",
"}\n",
"usaGeoPopulation.df"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_15()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_15\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202588&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;... showing only top 20 of 50 rows&lt;&sol;p&gt;&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 50, columnsCount = 3&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;name: String&bsol;&quot;&gt;name&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;Alabama&quot;,&quot;Alaska&quot;,&quot;Arizona&quot;,&quot;Arkansas&quot;,&quot;California&quot;,&quot;Colorado&quot;,&quot;Connecticut&quot;,&quot;Delaware&quot;,&quot;Florida&quot;,&quot;Georgia&quot;,&quot;Hawaii&quot;,&quot;Idaho&quot;,&quot;Illinois&quot;,&quot;Indiana&quot;,&quot;Iowa&quot;,&quot;Kansas&quot;,&quot;Kentucky&quot;,&quot;Louisiana&quot;,&quot;Maine&quot;,&quot;Maryland&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;geometry: org.locationtech.jts.geom.Geometry&bsol;&quot;&gt;geometry&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-87.359296 35.00118, -85.606675 34.984749, -85.431413 34.124869, -85.184951 32.859696, -85.069935 32.580372, -84.960397 32.421541, -85.004212 32.322956, -84.889196 32.262709, -85.058981 32.13674, -85.053504 32.01077, -85.141136 31.840985, -85.042551 31.539753, -85.113751 31.27686, -85.004212 31.003013, -85.497137 30.997536, -87.600282 30.997536, -87.633143 30.86609, -87.408589 30.674397, -87.446927 30.510088, -87.37025 30.427934, -87.518128 30.280057, -87.655051 30.247195, -87.90699 30.411504, -87.934375 30.657966, -88.011052 30.685351, -88.10416 30.499135, -88.137022 30.318396, -88.394438 30.367688, -88.471115 31.895754, -88.241084 33.796253, -88.098683 34.891641, -88.202745 34.995703, -87.359296 35.00118))&bsol;&quot;&gt;POLYGON ((-87.359296 35.00118, -85.60&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;MULTIPOLYGON (((-131.602021 55.117982, -131.569159 55.28229, -131.355558 55.183705, -131.38842 55.01392, -131.645836 55.035827, -131.602021 55.117982)), ((-131.832052 55.42469, -131.645836 55.304197, -131.749898 55.128935, -131.832052 55.189182, -131.832052 55.42469)), ((-132.976733 56.437924, -132.735747 56.459832, -132.631685 56.421493, -132.664547 56.273616, -132.878148 56.240754, -133.069841 56.333862, -132.976733 56.437924)), ((-133.595627 56.350293, -133.162949 56.317431, -133.05341 56.125739, -132.620732 55.912138, -132.472854 55.780691, -132.4619 55.671152, -132.357838 55.649245, -132.341408 55.506844, -132.166146 55.364444, -132.144238 55.238474, -132.029222 55.276813, -131.97993 55.178228, -131.958022 54.789365, -132.029222 54.701734, -132.308546 54.718165, -132.385223 54.915335, -132.483808 54.898904, -132.686455 55.046781, -132.746701 54.997489, -132.916486 55.046781, -132.889102 54.898904, -132.73027 54.937242, -132.626209 54.882473, -132.675501 54.679826, -132.867194 54.701734, -133.157472 54.95915, -133.239626 55.090597, -133.223195 55.22752, -133.453227 55.216566, -133.453227 55.320628, -133.277964 55.331582, -133.102702 55.42469, -133.17938 55.588998, -133.387503 55.62186, -133.420365 55.884753, -133.497042 56.0162, -133.639442 55.923092, -133.694212 56.070969, -133.546335 56.142169, -133.666827 56.311955, -133.595627 56.350293)), ((-133.738027 55.556137, -133.546335 55.490413, -133.414888 55.572568, -133.283441 55.534229, -133.420365 55.386352, -133.633966 55.430167, -133.738027 55.556137)), ((-133.907813 56.930849, -134.050213 57.029434, -133.885905 57.095157, -133.343688 57.002049, -133.102702 57.007526, -132.932917 56.82131, -132.620732 56.667956, -132.653593 56.55294, -132.817901 56.492694, -133.042456 56.520078, -133.201287 56.448878, -133.420365 56.492694, -133.66135 56.448878, -133.710643 56.684386, -133.688735 56.837741, -133.869474 56.843218, -133.907813 56.930849)), ((-134.115936 56.48174, -134.25286 56.558417, -134.400737 56.722725, -134.417168 56.848695, -134.296675 56.908941, -134.170706 56.848695, -134.143321 56.952757, -133.748981 56.772017, -133.710643 56.596755, -133.847566 56.574848, -133.935197 56.377678, -133.836612 56.322908, -133.957105 56.092877, -134.110459 56.142169, -134.132367 55.999769, -134.230952 56.070969, -134.291198 56.350293, -134.115936 56.48174)), ((-134.636246 56.28457, -134.669107 56.169554, -134.806031 56.235277, -135.178463 56.67891, -135.413971 56.810356, -135.331817 56.914418, -135.424925 57.166357, -135.687818 57.369004, -135.419448 57.566174, -135.298955 57.48402, -135.063447 57.418296, -134.849846 57.407343, -134.844369 57.248511, -134.636246 56.728202, -134.636246 56.28457)), ((-134.712923 58.223407, -134.373353 58.14673, -134.176183 58.157683, -134.187137 58.081006, -133.902336 57.807159, -134.099505 57.850975, -134.148798 57.757867, -133.935197 57.615466, -133.869474 57.363527, -134.083075 57.297804, -134.154275 57.210173, -134.499322 57.029434, -134.603384 57.034911, -134.6472 57.226604, -134.575999 57.341619, -134.608861 57.511404, -134.729354 57.719528, -134.707446 57.829067, -134.784123 58.097437, -134.91557 58.212453, -134.953908 58.409623, -134.712923 58.223407)), ((-135.857603 57.330665, -135.715203 57.330665, -135.567326 57.149926, -135.633049 57.023957, -135.857603 56.996572, -135.824742 57.193742, -135.857603 57.330665)), ((-136.279328 58.206976, -135.978096 58.201499, -135.780926 58.28913, -135.496125 58.168637, -135.64948 58.037191, -135.59471 57.987898, -135.45231 58.135776, -135.107263 58.086483, -134.91557 57.976944, -135.025108 57.779775, -134.937477 57.763344, -134.822462 57.500451, -135.085355 57.462112, -135.572802 57.675713, -135.556372 57.456635, -135.709726 57.369004, -135.890465 57.407343, -136.000004 57.544266, -136.208128 57.637374, -136.366959 57.829067, -136.569606 57.916698, -136.558652 58.075529, -136.421728 58.130299, -136.377913 58.267222, -136.279328 58.206976)), ((-147.079854 60.200582, -147.501579 59.948643, -147.53444 59.850058, -147.874011 59.784335, -147.80281 59.937689, -147.435855 60.09652, -147.205824 60.271782, -147.079854 60.200582)), ((-147.561825 60.578491, -147.616594 60.370367, -147.758995 60.156767, -147.956165 60.227967, -147.791856 60.474429, -147.561825 60.578491)), ((-147.786379 70.245291, -147.682318 70.201475, -147.162008 70.15766, -146.888161 70.185044, -146.510252 70.185044, -146.099482 70.146706, -145.858496 70.168614, -145.622988 70.08646, -145.195787 69.993352, -144.620708 69.971444, -144.461877 70.026213, -144.078491 70.059075, -143.914183 70.130275, -143.497935 70.141229, -143.503412 70.091936, -143.25695 70.119321, -142.747594 70.042644, -142.402547 69.916674, -142.079408 69.856428, -142.008207 69.801659, -141.712453 69.790705, -141.433129 69.697597, -141.378359 69.63735, -141.208574 69.686643, -141.00045 69.648304, -141.00045 60.304644, -140.53491 60.22249, -140.474664 60.310121, -139.987216 60.184151, -139.696939 60.342983, -139.088998 60.359413, -139.198537 60.091043, -139.045183 59.997935, -138.700135 59.910304, -138.623458 59.767904, -137.604747 59.242118, -137.445916 58.908024, -137.265177 59.001132, -136.827022 59.159963, -136.580559 59.16544, -136.465544 59.285933, -136.476498 59.466672, -136.301236 59.466672, -136.25742 59.625503, -135.945234 59.663842, -135.479694 59.800766, -135.025108 59.565257, -135.068924 59.422857, -134.959385 59.280456, -134.701969 59.247595, -134.378829 59.033994, -134.400737 58.973748, -134.25286 58.858732, -133.842089 58.727285, -133.173903 58.152206, -133.075318 57.998852, -132.867194 57.845498, -132.560485 57.505928, -132.253777 57.21565, -132.368792 57.095157, -132.05113 57.051341, -132.127807 56.876079, -131.870391 56.804879, -131.837529 56.602232, -131.580113 56.613186, -131.087188 56.405062, -130.78048 56.366724, -130.621648 56.268139, -130.468294 56.240754, -130.424478 56.142169, -130.101339 56.114785, -130.002754 55.994292, -130.150631 55.769737, -130.128724 55.583521, -129.986323 55.276813, -130.095862 55.200136, -130.336847 54.920812, -130.687372 54.718165, -130.785957 54.822227, -130.917403 54.789365, -131.010511 54.997489, -130.983126 55.08512, -131.092665 55.189182, -130.862634 55.298721, -130.928357 55.337059, -131.158389 55.200136, -131.284358 55.287767, -131.426759 55.238474, -131.843006 55.457552, -131.700606 55.698537, -131.963499 55.616383, -131.974453 55.49589, -132.182576 55.588998, -132.226392 55.704014, -132.083991 55.829984, -132.127807 55.955953, -132.324977 55.851892, -132.522147 56.076446, -132.642639 56.032631, -132.719317 56.218847, -132.527624 56.339339, -132.341408 56.339339, -132.396177 56.487217, -132.297592 56.67891, -132.450946 56.673433, -132.768609 56.837741, -132.993164 57.034911, -133.51895 57.177311, -133.507996 57.577128, -133.677781 57.62642, -133.639442 57.790728, -133.814705 57.834544, -134.072121 58.053622, -134.143321 58.168637, -134.586953 58.206976, -135.074401 58.502731, -135.282525 59.192825, -135.38111 59.033994, -135.337294 58.891593, -135.140124 58.617746, -135.189417 58.573931, -135.05797 58.349376, -135.085355 58.201499, -135.277048 58.234361, -135.430402 58.398669, -135.633049 58.426053, -135.91785 58.382238, -135.912373 58.617746, -136.087635 58.814916, -136.246466 58.75467, -136.876314 58.962794, -136.931084 58.902547, -136.586036 58.836824, -136.317666 58.672516, -136.213604 58.667039, -136.180743 58.535592, -136.043819 58.382238, -136.388867 58.294607, -136.591513 58.349376, -136.59699 58.212453, -136.859883 58.316515, -136.947514 58.393192, -137.111823 58.393192, -137.566409 58.590362, -137.900502 58.765624, -137.933364 58.869686, -138.11958 59.02304, -138.634412 59.132579, -138.919213 59.247595, -139.417615 59.379041, -139.746231 59.505011, -139.718846 59.641934, -139.625738 59.598119, -139.5162 59.68575, -139.625738 59.88292, -139.488815 59.992458, -139.554538 60.041751, -139.801 59.833627, -140.315833 59.696704, -140.92925 59.745996, -141.444083 59.871966, -141.46599 59.970551, -141.706976 59.948643, -141.964392 60.019843, -142.539471 60.085566, -142.873564 60.091043, -143.623905 60.036274, -143.892275 59.997935, -144.231845 60.140336, -144.65357 60.206059, -144.785016 60.29369, -144.834309 60.441568, -145.124586 60.430614, -145.223171 60.299167, -145.738004 60.474429, -145.820158 60.551106, -146.351421 60.408706, -146.608837 60.238921, -146.718376 60.397752, -146.608837 60.485383, -146.455483 60.463475, -145.951604 60.578491, -146.017328 60.666122, -146.252836 60.622307, -146.345944 60.737322, -146.565022 60.753753, -146.784099 61.044031, -146.866253 60.972831, -147.172962 60.934492, -147.271547 60.972831, -147.375609 60.879723, -147.758995 60.912584, -147.775426 60.808523, -148.032842 60.781138, -148.153334 60.819476, -148.065703 61.005692, -148.175242 61.000215, -148.350504 60.803046, -148.109519 60.737322, -148.087611 60.594922, -147.939734 60.441568, -148.027365 60.277259, -148.219058 60.332029, -148.273827 60.249875, -148.087611 60.217013, -147.983549 59.997935, -148.251919 59.95412, -148.399797 59.997935, -148.635305 59.937689, -148.755798 59.986981, -149.067984 59.981505, -149.05703 60.063659, -149.204907 60.008889, -149.287061 59.904827, -149.418508 59.997935, -149.582816 59.866489, -149.511616 59.806242, -149.741647 59.729565, -149.949771 59.718611, -150.031925 59.61455, -150.25648 59.521442, -150.409834 59.554303, -150.579619 59.444764, -150.716543 59.450241, -151.001343 59.225687, -151.308052 59.209256, -151.406637 59.280456, -151.592853 59.159963, -151.976239 59.253071, -151.888608 59.422857, -151.636669 59.483103, -151.47236 59.472149, -151.423068 59.537872, -151.127313 59.669319, -151.116359 59.778858, -151.505222 59.63098, -151.828361 59.718611, -151.8667 59.778858, -151.702392 60.030797, -151.423068 60.211536, -151.379252 60.359413, -151.297098 60.386798, -151.264237 60.545629, -151.406637 60.720892, -151.06159 60.786615, -150.404357 61.038554, -150.245526 60.939969, -150.042879 60.912584, -149.741647 61.016646, -150.075741 61.15357, -150.207187 61.257632, -150.47008 61.246678, -150.656296 61.29597, -150.711066 61.252155, -151.023251 61.180954, -151.165652 61.044031, -151.477837 61.011169, -151.800977 60.852338, -151.833838 60.748276, -152.080301 60.693507, -152.13507 60.578491, -152.310332 60.507291, -152.392486 60.304644, -152.732057 60.173197, -152.567748 60.069136, -152.704672 59.915781, -153.022334 59.888397, -153.049719 59.691227, -153.345474 59.620026, -153.438582 59.702181, -153.586459 59.548826, -153.761721 59.543349, -153.72886 59.433811, -154.117723 59.368087, -154.1944 59.066856, -153.750768 59.050425, -153.400243 58.968271, -153.301658 58.869686, -153.444059 58.710854, -153.679567 58.612269, -153.898645 58.606793, -153.920553 58.519161, -154.062953 58.4863, -153.99723 58.376761, -154.145107 58.212453, -154.46277 58.059098, -154.643509 58.059098, -154.818771 58.004329, -154.988556 58.015283, -155.120003 57.955037, -155.081664 57.872883, -155.328126 57.829067, -155.377419 57.708574, -155.547204 57.785251, -155.73342 57.549743, -156.045606 57.566174, -156.023698 57.440204, -156.209914 57.473066, -156.34136 57.418296, -156.34136 57.248511, -156.549484 56.985618, -156.883577 56.952757, -157.157424 56.832264, -157.20124 56.766541, -157.376502 56.859649, -157.672257 56.607709, -157.754411 56.67891, -157.918719 56.657002, -157.957058 56.514601, -158.126843 56.459832, -158.32949 56.48174, -158.488321 56.339339, -158.208997 56.295524, -158.510229 55.977861, -159.375585 55.873799, -159.616571 55.594475, -159.676817 55.654722, -159.643955 55.829984, -159.813741 55.857368, -160.027341 55.791645, -160.060203 55.720445, -160.394296 55.605429, -160.536697 55.473983, -160.580512 55.567091, -160.668143 55.457552, -160.865313 55.528752, -161.232268 55.358967, -161.506115 55.364444, -161.467776 55.49589, -161.588269 55.62186, -161.697808 55.517798, -161.686854 55.408259, -162.053809 55.074166, -162.179779 55.15632, -162.218117 55.03035, -162.470057 55.052258, -162.508395 55.249428, -162.661749 55.293244, -162.716519 55.222043, -162.579595 55.134412, -162.645319 54.997489, -162.847965 54.926289, -163.00132 55.079643, -163.187536 55.090597, -163.220397 55.03035, -163.034181 54.942719, -163.373752 54.800319, -163.14372 54.76198, -163.138243 54.696257, -163.329936 54.74555, -163.587352 54.614103, -164.085754 54.61958, -164.332216 54.531949, -164.354124 54.466226, -164.638925 54.389548, -164.847049 54.416933, -164.918249 54.603149, -164.710125 54.663395, -164.551294 54.88795, -164.34317 54.893427, -163.894061 55.041304, -163.532583 55.046781, -163.39566 54.904381, -163.291598 55.008443, -163.313505 55.128935, -163.105382 55.183705, -162.880827 55.183705, -162.579595 55.446598, -162.245502 55.682106, -161.807347 55.89023, -161.292514 55.983338, -161.078914 55.939523, -160.87079 55.999769, -160.816021 55.912138, -160.931036 55.813553, -160.805067 55.736876, -160.766728 55.857368, -160.509312 55.868322, -160.438112 55.791645, -160.27928 55.76426, -160.273803 55.857368, -160.536697 55.939523, -160.558604 55.994292, -160.383342 56.251708, -160.147834 56.399586, -159.830171 56.541986, -159.326293 56.667956, -158.959338 56.848695, -158.784076 56.782971, -158.641675 56.810356, -158.701922 56.925372, -158.658106 57.034911, -158.378782 57.264942, -157.995396 57.41282, -157.688688 57.609989, -157.705118 57.719528, -157.458656 58.497254, -157.07527 58.705377, -157.119086 58.869686, -158.039212 58.634177, -158.32949 58.661562, -158.40069 58.760147, -158.564998 58.803962, -158.619768 58.913501, -158.767645 58.864209, -158.860753 58.694424, -158.701922 58.480823, -158.893615 58.387715, -159.0634 58.420577, -159.392016 58.760147, -159.616571 58.929932, -159.731586 58.929932, -159.808264 58.803962, -159.906848 58.782055, -160.054726 58.886116, -160.235465 58.902547, -160.317619 59.072332, -160.854359 58.88064, -161.33633 58.743716, -161.374669 58.667039, -161.752577 58.552023, -161.938793 58.656085, -161.769008 58.776578, -161.829255 59.061379, -161.955224 59.36261, -161.703285 59.48858, -161.911409 59.740519, -162.092148 59.88292, -162.234548 60.091043, -162.448149 60.178674, -162.502918 59.997935, -162.760334 59.959597, -163.171105 59.844581, -163.66403 59.795289, -163.9324 59.806242, -164.162431 59.866489, -164.189816 60.02532, -164.386986 60.074613, -164.699171 60.29369, -164.962064 60.337506, -165.268773 60.578491, -165.060649 60.68803, -165.016834 60.890677, -165.175665 60.846861, -165.197573 60.972831, -165.120896 61.076893, -165.323543 61.170001, -165.34545 61.071416, -165.591913 61.109754, -165.624774 61.279539, -165.816467 61.301447, -165.920529 61.416463, -165.915052 61.558863, -166.106745 61.49314, -166.139607 61.630064, -165.904098 61.662925, -166.095791 61.81628, -165.756221 61.827233, -165.756221 62.013449, -165.674067 62.139419, -165.044219 62.539236, -164.912772 62.659728, -164.819664 62.637821, -164.874433 62.807606, -164.633448 63.097884, -164.425324 63.212899, -164.036462 63.262192, -163.73523 63.212899, -163.313505 63.037637, -163.039658 63.059545, -162.661749 63.22933, -162.272887 63.486746, -162.075717 63.514131, -162.026424 63.448408, -161.555408 63.448408, -161.13916 63.503177, -160.766728 63.771547, -160.766728 63.837271, -160.952944 64.08921, -160.974852 64.237087, -161.26513 64.395918, -161.374669 64.532842, -161.078914 64.494503, -160.79959 64.609519, -160.783159 64.719058, -161.144637 64.921705, -161.413007 64.762873, -161.664946 64.790258, -161.900455 64.702627, -162.168825 64.680719, -162.234548 64.620473, -162.541257 64.532842, -162.634365 64.384965, -162.787719 64.324718, -162.858919 64.49998, -163.045135 64.538319, -163.176582 64.401395, -163.253259 64.467119, -163.598306 64.565704, -164.304832 64.560227, -164.80871 64.450688, -165.000403 64.434257, -165.411174 64.49998, -166.188899 64.576658, -166.391546 64.636904, -166.484654 64.735489, -166.413454 64.872412, -166.692778 64.987428, -166.638008 65.113398, -166.462746 65.179121, -166.517516 65.337952, -166.796839 65.337952, -167.026871 65.381768, -167.47598 65.414629, -167.711489 65.496784, -168.072967 65.578938, -168.105828 65.682999, -167.541703 65.819923, -166.829701 66.049954, -166.3313 66.186878, -166.046499 66.110201, -165.756221 66.09377, -165.690498 66.203309, -165.86576 66.21974, -165.88219 66.312848, -165.186619 66.466202, -164.403417 66.581218, -163.981692 66.592172, -163.751661 66.553833, -163.872153 66.389525, -163.828338 66.274509, -163.915969 66.192355, -163.768091 66.060908, -163.494244 66.082816, -163.149197 66.060908, -162.749381 66.088293, -162.634365 66.039001, -162.371472 66.028047, -162.14144 66.077339, -161.840208 66.02257, -161.549931 66.241647, -161.341807 66.252601, -161.199406 66.208786, -161.128206 66.334755, -161.528023 66.395002, -161.911409 66.345709, -161.87307 66.510017, -162.174302 66.68528, -162.502918 66.740049, -162.601503 66.89888, -162.344087 66.937219, -162.015471 66.778388, -162.075717 66.652418, -161.916886 66.553833, -161.571838 66.438817, -161.489684 66.55931, -161.884024 66.718141, -161.714239 67.002942, -161.851162 67.052235, -162.240025 66.991988, -162.639842 67.008419, -162.700088 67.057712, -162.902735 67.008419, -163.740707 67.128912, -163.757138 67.254881, -164.009077 67.534205, -164.211724 67.638267, -164.534863 67.725898, -165.192096 67.966884, -165.493328 68.059992, -165.794559 68.081899, -166.243668 68.246208, -166.681824 68.339316, -166.703731 68.372177, -166.375115 68.42147, -166.227238 68.574824, -166.216284 68.881533, -165.329019 68.859625, -164.255539 68.930825, -163.976215 68.985595, -163.532583 69.138949, -163.110859 69.374457, -163.023228 69.609966, -162.842489 69.812613, -162.470057 69.982398, -162.311225 70.108367, -161.851162 70.311014, -161.779962 70.256245, -161.396576 70.239814, -160.837928 70.343876, -160.487404 70.453415, -159.649432 70.792985, -159.33177 70.809416, -159.298908 70.760123, -158.975769 70.798462, -158.658106 70.787508, -158.033735 70.831323, -157.420318 70.979201, -156.812377 71.285909, -156.565915 71.351633, -156.522099 71.296863, -155.585543 71.170894, -155.508865 71.083263, -155.832005 70.968247, -155.979882 70.96277, -155.974405 70.809416, -155.503388 70.858708, -155.476004 70.940862, -155.262403 71.017539, -155.191203 70.973724, -155.032372 71.148986, -154.566832 70.990155, -154.643509 70.869662, -154.353231 70.8368, -154.183446 70.7656, -153.931507 70.880616, -153.487874 70.886093, -153.235935 70.924431, -152.589656 70.886093, -152.26104 70.842277, -152.419871 70.606769, -151.817408 70.546523, -151.773592 70.486276, -151.187559 70.382214, -151.182082 70.431507, -150.760358 70.49723, -150.355064 70.491753, -150.349588 70.436984, -150.114079 70.431507, -149.867617 70.508184, -149.462323 70.519138, -149.177522 70.486276, -148.78866 70.404122, -148.607921 70.420553, -148.350504 70.305537, -148.202627 70.349353, -147.961642 70.316491, -147.786379 70.245291)), ((-152.94018 58.026237, -152.945657 57.982421, -153.290705 58.048145, -153.044242 58.305561, -152.819688 58.327469, -152.666333 58.562977, -152.496548 58.354853, -152.354148 58.426053, -152.080301 58.311038, -152.080301 58.152206, -152.480117 58.130299, -152.655379 58.059098, -152.94018 58.026237)), ((-153.958891 57.538789, -153.67409 57.670236, -153.931507 57.69762, -153.936983 57.812636, -153.723383 57.889313, -153.570028 57.834544, -153.548121 57.719528, -153.46049 57.796205, -153.455013 57.96599, -153.268797 57.889313, -153.235935 57.998852, -153.071627 57.933129, -152.874457 57.933129, -152.721103 57.993375, -152.469163 57.889313, -152.469163 57.599035, -152.151501 57.620943, -152.359625 57.42925, -152.74301 57.505928, -152.60061 57.379958, -152.710149 57.275896, -152.907319 57.325188, -152.912796 57.128019, -153.214027 57.073249, -153.312612 56.991095, -153.498828 57.067772, -153.695998 56.859649, -153.849352 56.837741, -154.013661 56.744633, -154.073907 56.969187, -154.303938 56.848695, -154.314892 56.919895, -154.523016 56.991095, -154.539447 57.193742, -154.742094 57.275896, -154.627078 57.511404, -154.227261 57.659282, -153.980799 57.648328, -153.958891 57.538789)), ((-154.53397 56.602232, -154.742094 56.399586, -154.807817 56.432447, -154.53397 56.602232)), ((-155.634835 55.923092, -155.476004 55.912138, -155.530773 55.704014, -155.793666 55.731399, -155.837482 55.802599, -155.634835 55.923092)), ((-159.890418 55.28229, -159.950664 55.068689, -160.257373 54.893427, -160.109495 55.161797, -160.005433 55.134412, -159.890418 55.28229)), ((-160.520266 55.358967, -160.33405 55.358967, -160.339527 55.249428, -160.525743 55.128935, -160.690051 55.211089, -160.794113 55.134412, -160.854359 55.320628, -160.79959 55.380875, -160.520266 55.358967)), ((-162.256456 54.981058, -162.234548 54.893427, -162.349564 54.838658, -162.437195 54.931766, -162.256456 54.981058)), ((-162.415287 63.634624, -162.563165 63.536039, -162.612457 63.62367, -162.415287 63.634624)), ((-162.80415 54.488133, -162.590549 54.449795, -162.612457 54.367641, -162.782242 54.373118, -162.80415 54.488133)), ((-165.548097 54.29644, -165.476897 54.181425, -165.630251 54.132132, -165.685021 54.252625, -165.548097 54.29644)), ((-165.73979 54.15404, -166.046499 54.044501, -166.112222 54.121178, -165.980775 54.219763, -165.73979 54.15404)), ((-166.364161 60.359413, -166.13413 60.397752, -166.084837 60.326552, -165.88219 60.342983, -165.685021 60.277259, -165.646682 59.992458, -165.750744 59.89935, -166.00816 59.844581, -166.062929 59.745996, -166.440838 59.855535, -166.6161 59.850058, -166.994009 59.992458, -167.125456 59.992458, -167.344534 60.074613, -167.421211 60.206059, -167.311672 60.238921, -166.93924 60.206059, -166.763978 60.310121, -166.577762 60.321075, -166.495608 60.392275, -166.364161 60.359413)), ((-166.375115 54.01164, -166.210807 53.934962, -166.5449 53.748746, -166.539423 53.715885, -166.117699 53.852808, -166.112222 53.776131, -166.282007 53.683023, -166.555854 53.622777, -166.583239 53.529669, -166.878994 53.431084, -167.13641 53.425607, -167.306195 53.332499, -167.623857 53.250345, -167.793643 53.337976, -167.459549 53.442038, -167.355487 53.425607, -167.103548 53.513238, -167.163794 53.611823, -167.021394 53.715885, -166.807793 53.666592, -166.785886 53.732316, -167.015917 53.754223, -167.141887 53.825424, -167.032348 53.945916, -166.643485 54.017116, -166.561331 53.880193, -166.375115 54.01164)), ((-168.790446 53.157237, -168.40706 53.34893, -168.385152 53.431084, -168.237275 53.524192, -168.007243 53.568007, -167.886751 53.518715, -167.842935 53.387268, -168.270136 53.244868, -168.500168 53.036744, -168.686384 52.965544, -168.790446 53.157237)), ((-169.74891 52.894344, -169.705095 52.795759, -169.962511 52.790282, -169.989896 52.856005, -169.74891 52.894344)), ((-170.148727 57.221127, -170.28565 57.128019, -170.313035 57.221127, -170.148727 57.221127)), ((-170.669036 52.697174, -170.603313 52.604066, -170.789529 52.538343, -170.816914 52.636928, -170.669036 52.697174)), ((-171.742517 63.716778, -170.94836 63.5689, -170.488297 63.69487, -170.280174 63.683916, -170.093958 63.612716, -170.044665 63.492223, -169.644848 63.4265, -169.518879 63.366254, -168.99857 63.338869, -168.686384 63.295053, -168.856169 63.147176, -169.108108 63.180038, -169.376478 63.152653, -169.513402 63.08693, -169.639372 62.939052, -169.831064 63.075976, -170.055619 63.169084, -170.263743 63.180038, -170.362328 63.2841, -170.866206 63.415546, -171.101715 63.421023, -171.463193 63.306007, -171.73704 63.366254, -171.852055 63.486746, -171.742517 63.716778)), ((-172.432611 52.390465, -172.41618 52.275449, -172.607873 52.253542, -172.569535 52.352127, -172.432611 52.390465)), ((-173.626584 52.14948, -173.495138 52.105664, -173.122706 52.111141, -173.106275 52.07828, -173.549907 52.028987, -173.626584 52.14948)), ((-174.322156 52.280926, -174.327632 52.379511, -174.185232 52.41785, -173.982585 52.319265, -174.059262 52.226157, -174.179755 52.231634, -174.141417 52.127572, -174.333109 52.116618, -174.738403 52.007079, -174.968435 52.039941, -174.902711 52.116618, -174.656249 52.105664, -174.322156 52.280926)), ((-176.469116 51.853725, -176.288377 51.870156, -176.288377 51.744186, -176.518409 51.760617, -176.80321 51.61274, -176.912748 51.80991, -176.792256 51.815386, -176.775825 51.963264, -176.627947 51.968741, -176.627947 51.859202, -176.469116 51.853725)), ((-177.153734 51.946833, -177.044195 51.897541, -177.120872 51.727755, -177.274226 51.678463, -177.279703 51.782525, -177.153734 51.946833)), ((-178.123152 51.919448, -177.953367 51.913971, -177.800013 51.793479, -177.964321 51.651078, -178.123152 51.919448)), ((-186.892443 52.992929, -186.706227 52.927205, -186.695274 52.823143, -187.09509 52.762897, -187.357983 52.927205, -187.357983 53.003883, -186.892443 52.992929)))&bsol;&quot;&gt;MULTIPOLYGON (((-131.602021 55.117982&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-109.042503 37.000263, -109.04798 31.331629, -111.074448 31.331629, -112.246513 31.704061, -114.815198 32.492741, -114.72209 32.717295, -114.524921 32.755634, -114.470151 32.843265, -114.524921 33.029481, -114.661844 33.034958, -114.727567 33.40739, -114.524921 33.54979, -114.497536 33.697668, -114.535874 33.933176, -114.415382 34.108438, -114.256551 34.174162, -114.136058 34.305608, -114.333228 34.448009, -114.470151 34.710902, -114.634459 34.87521, -114.634459 35.00118, -114.574213 35.138103, -114.596121 35.324319, -114.678275 35.516012, -114.738521 36.102045, -114.371566 36.140383, -114.251074 36.01989, -114.152489 36.025367, -114.048427 36.195153, -114.048427 37.000263, -110.499369 37.00574, -109.042503 37.000263))&bsol;&quot;&gt;POLYGON ((-109.042503 37.000263, -109&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-94.473842 36.501861, -90.152536 36.496384, -90.064905 36.304691, -90.218259 36.184199, -90.377091 35.997983, -89.730812 35.997983, -89.763673 35.811767, -89.911551 35.756997, -89.944412 35.603643, -90.130628 35.439335, -90.114197 35.198349, -90.212782 35.023087, -90.311367 34.995703, -90.251121 34.908072, -90.409952 34.831394, -90.481152 34.661609, -90.585214 34.617794, -90.568783 34.420624, -90.749522 34.365854, -90.744046 34.300131, -90.952169 34.135823, -90.891923 34.026284, -91.072662 33.867453, -91.231493 33.560744, -91.056231 33.429298, -91.143862 33.347144, -91.089093 33.13902, -91.16577 33.002096, -93.608485 33.018527, -94.041164 33.018527, -94.041164 33.54979, -94.183564 33.593606, -94.380734 33.544313, -94.484796 33.637421, -94.430026 35.395519, -94.616242 36.501861, -94.473842 36.501861))&bsol;&quot;&gt;POLYGON ((-94.473842 36.501861, -90.1&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-123.233256 42.006186, -122.378853 42.011663, -121.037003 41.995232, -120.001861 41.995232, -119.996384 40.264519, -120.001861 38.999346, -118.71478 38.101128, -117.498899 37.21934, -116.540435 36.501861, -115.85034 35.970598, -114.634459 35.00118, -114.634459 34.87521, -114.470151 34.710902, -114.333228 34.448009, -114.136058 34.305608, -114.256551 34.174162, -114.415382 34.108438, -114.535874 33.933176, -114.497536 33.697668, -114.524921 33.54979, -114.727567 33.40739, -114.661844 33.034958, -114.524921 33.029481, -114.470151 32.843265, -114.524921 32.755634, -114.72209 32.717295, -116.04751 32.624187, -117.126467 32.536556, -117.24696 32.668003, -117.252437 32.876127, -117.329114 33.122589, -117.471515 33.297851, -117.7837 33.538836, -118.183517 33.763391, -118.260194 33.703145, -118.413548 33.741483, -118.391641 33.840068, -118.566903 34.042715, -118.802411 33.998899, -119.218659 34.146777, -119.278905 34.26727, -119.558229 34.415147, -119.875891 34.40967, -120.138784 34.475393, -120.472878 34.448009, -120.64814 34.579455, -120.609801 34.858779, -120.670048 34.902595, -120.631709 35.099764, -120.894602 35.247642, -120.905556 35.450289, -121.004141 35.461243, -121.168449 35.636505, -121.283465 35.674843, -121.332757 35.784382, -121.716143 36.195153, -121.896882 36.315645, -121.935221 36.638785, -121.858544 36.6114, -121.787344 36.803093, -121.929744 36.978355, -122.105006 36.956447, -122.335038 37.115279, -122.417192 37.241248, -122.400761 37.361741, -122.515777 37.520572, -122.515777 37.783465, -122.329561 37.783465, -122.406238 38.15042, -122.488392 38.112082, -122.504823 37.931343, -122.701993 37.893004, -122.937501 38.029928, -122.97584 38.265436, -123.129194 38.451652, -123.331841 38.566668, -123.44138 38.698114, -123.737134 38.95553, -123.687842 39.032208, -123.824765 39.366301, -123.764519 39.552517, -123.85215 39.831841, -124.109566 40.105688, -124.361506 40.259042, -124.410798 40.439781, -124.158859 40.877937, -124.109566 41.025814, -124.158859 41.14083, -124.065751 41.442061, -124.147905 41.715908, -124.257444 41.781632, -124.213628 42.000709, -123.233256 42.006186))&bsol;&quot;&gt;POLYGON ((-123.233256 42.006186, -122&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-107.919731 41.003906, -105.728954 40.998429, -104.053011 41.003906, -102.053927 41.003906, -102.053927 40.001626, -102.042974 36.994786, -103.001438 37.000263, -104.337812 36.994786, -106.868158 36.994786, -107.421329 37.000263, -109.042503 37.000263, -109.042503 38.166851, -109.058934 38.27639, -109.053457 39.125316, -109.04798 40.998429, -107.919731 41.003906))&bsol;&quot;&gt;POLYGON ((-107.919731 41.003906, -105&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-73.053528 42.039048, -71.799309 42.022617, -71.799309 42.006186, -71.799309 41.414677, -71.859555 41.321569, -71.947186 41.338, -72.385341 41.261322, -72.905651 41.28323, -73.130205 41.146307, -73.371191 41.102491, -73.655992 40.987475, -73.727192 41.102491, -73.48073 41.21203, -73.55193 41.294184, -73.486206 42.050002, -73.053528 42.039048))&bsol;&quot;&gt;POLYGON ((-73.053528 42.039048, -71.7&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-75.414089 39.804456, -75.507197 39.683964, -75.611259 39.61824, -75.589352 39.459409, -75.441474 39.311532, -75.403136 39.065069, -75.189535 38.807653, -75.09095 38.796699, -75.047134 38.451652, -75.693413 38.462606, -75.786521 39.722302, -75.616736 39.831841, -75.414089 39.804456))&bsol;&quot;&gt;POLYGON ((-75.414089 39.804456, -75.5&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-85.497137 30.997536, -85.004212 31.003013, -84.867289 30.712735, -83.498053 30.647012, -82.216449 30.570335, -82.167157 30.356734, -82.046664 30.362211, -82.002849 30.564858, -82.041187 30.751074, -81.948079 30.827751, -81.718048 30.745597, -81.444201 30.707258, -81.383954 30.27458, -81.257985 29.787132, -80.967707 29.14633, -80.524075 28.461713, -80.589798 28.41242, -80.56789 28.094758, -80.381674 27.738757, -80.091397 27.021277, -80.03115 26.796723, -80.036627 26.566691, -80.146166 25.739673, -80.239274 25.723243, -80.337859 25.465826, -80.304997 25.383672, -80.49669 25.197456, -80.573367 25.241272, -80.759583 25.164595, -81.077246 25.120779, -81.170354 25.224841, -81.126538 25.378195, -81.351093 25.821827, -81.526355 25.903982, -81.679709 25.843735, -81.800202 26.090198, -81.833064 26.292844, -82.041187 26.517399, -82.09048 26.665276, -82.057618 26.878877, -82.172634 26.917216, -82.145249 26.791246, -82.249311 26.758384, -82.566974 27.300601, -82.692943 27.437525, -82.391711 27.837342, -82.588881 27.815434, -82.720328 27.689464, -82.851774 27.886634, -82.676512 28.434328, -82.643651 28.888914, -82.764143 28.998453, -82.802482 29.14633, -82.994175 29.179192, -83.218729 29.420177, -83.399469 29.518762, -83.410422 29.66664, -83.536392 29.721409, -83.640454 29.885717, -84.02384 30.104795, -84.357933 30.055502, -84.341502 29.902148, -84.451041 29.929533, -84.867289 29.743317, -85.310921 29.699501, -85.299967 29.80904, -85.404029 29.940487, -85.924338 30.236241, -86.29677 30.362211, -86.630863 30.395073, -86.910187 30.373165, -87.518128 30.280057, -87.37025 30.427934, -87.446927 30.510088, -87.408589 30.674397, -87.633143 30.86609, -87.600282 30.997536, -85.497137 30.997536))&bsol;&quot;&gt;POLYGON ((-85.497137 30.997536, -85.0&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-83.109191 35.00118, -83.322791 34.787579, -83.339222 34.683517, -83.005129 34.469916, -82.901067 34.486347, -82.747713 34.26727, -82.714851 34.152254, -82.55602 33.94413, -82.325988 33.81816, -82.194542 33.631944, -81.926172 33.462159, -81.937125 33.347144, -81.761863 33.160928, -81.493493 33.007573, -81.42777 32.843265, -81.416816 32.629664, -81.279893 32.558464, -81.121061 32.290094, -81.115584 32.120309, -80.885553 32.032678, -81.132015 31.693108, -81.175831 31.517845, -81.279893 31.364491, -81.290846 31.20566, -81.400385 31.13446, -81.444201 30.707258, -81.718048 30.745597, -81.948079 30.827751, -82.041187 30.751074, -82.002849 30.564858, -82.046664 30.362211, -82.167157 30.356734, -82.216449 30.570335, -83.498053 30.647012, -84.867289 30.712735, -85.004212 31.003013, -85.113751 31.27686, -85.042551 31.539753, -85.141136 31.840985, -85.053504 32.01077, -85.058981 32.13674, -84.889196 32.262709, -85.004212 32.322956, -84.960397 32.421541, -85.069935 32.580372, -85.184951 32.859696, -85.431413 34.124869, -85.606675 34.984749, -84.319594 34.990226, -83.618546 34.984749, -83.109191 35.00118))&bsol;&quot;&gt;POLYGON ((-83.109191 35.00118, -83.32&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;MULTIPOLYGON (((-155.634835 18.948267, -155.881297 19.035898, -155.919636 19.123529, -155.886774 19.348084, -156.062036 19.73147, -155.925113 19.857439, -155.826528 20.032702, -155.897728 20.147717, -155.87582 20.26821, -155.596496 20.12581, -155.284311 20.021748, -155.092618 19.868393, -155.092618 19.736947, -154.807817 19.523346, -154.983079 19.348084, -155.295265 19.26593, -155.514342 19.134483, -155.634835 18.948267)), ((-156.587823 21.029505, -156.472807 20.892581, -156.324929 20.952827, -156.00179 20.793996, -156.051082 20.651596, -156.379699 20.580396, -156.445422 20.60778, -156.461853 20.783042, -156.631638 20.821381, -156.697361 20.919966, -156.587823 21.029505)), ((-156.982162 21.210244, -157.080747 21.106182, -157.310779 21.106182, -157.239579 21.221198, -156.982162 21.210244)), ((-157.951581 21.697691, -157.842042 21.462183, -157.896811 21.325259, -158.110412 21.303352, -158.252813 21.582676, -158.126843 21.588153, -157.951581 21.697691)), ((-159.468693 22.228955, -159.353678 22.218001, -159.298908 22.113939, -159.33177 21.966061, -159.446786 21.872953, -159.764448 21.987969, -159.726109 22.152277, -159.468693 22.228955)))&bsol;&quot;&gt;MULTIPOLYGON (((-155.634835 18.948267&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-116.04751 49.000239, -116.04751 47.976051, -115.724371 47.696727, -115.718894 47.42288, -115.527201 47.302388, -115.324554 47.258572, -115.302646 47.187372, -114.930214 46.919002, -114.886399 46.809463, -114.623506 46.705401, -114.612552 46.639678, -114.322274 46.645155, -114.464674 46.272723, -114.492059 46.037214, -114.387997 45.88386, -114.568736 45.774321, -114.497536 45.670259, -114.546828 45.560721, -114.333228 45.456659, -114.086765 45.593582, -113.98818 45.703121, -113.807441 45.604536, -113.834826 45.522382, -113.736241 45.330689, -113.571933 45.128042, -113.45144 45.056842, -113.456917 44.865149, -113.341901 44.782995, -113.133778 44.772041, -113.002331 44.448902, -112.887315 44.394132, -112.783254 44.48724, -112.471068 44.481763, -112.241036 44.569394, -112.104113 44.520102, -111.868605 44.563917, -111.819312 44.509148, -111.616665 44.547487, -111.386634 44.75561, -111.227803 44.580348, -111.047063 44.476286, -111.047063 42.000709, -112.164359 41.995232, -114.04295 41.995232, -117.027882 42.000709, -117.027882 43.830007, -116.896436 44.158624, -116.97859 44.240778, -117.170283 44.257209, -117.241483 44.394132, -117.038836 44.750133, -116.934774 44.782995, -116.830713 44.930872, -116.847143 45.02398, -116.732128 45.144473, -116.671881 45.319735, -116.463758 45.61549, -116.545912 45.752413, -116.78142 45.823614, -116.918344 45.993399, -116.92382 46.168661, -117.055267 46.343923, -117.038836 46.426077, -117.044313 47.762451, -117.033359 49.000239, -116.04751 49.000239))&bsol;&quot;&gt;POLYGON ((-116.04751 49.000239, -116.&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-90.639984 42.510065, -88.788778 42.493634, -87.802929 42.493634, -87.83579 42.301941, -87.682436 42.077386, -87.523605 41.710431, -87.529082 39.34987, -87.63862 39.169131, -87.512651 38.95553, -87.49622 38.780268, -87.62219 38.637868, -87.655051 38.506421, -87.83579 38.292821, -87.950806 38.27639, -87.923421 38.15042, -88.000098 38.101128, -88.060345 37.865619, -88.027483 37.799896, -88.15893 37.657496, -88.065822 37.482234, -88.476592 37.389126, -88.514931 37.285064, -88.421823 37.153617, -88.547792 37.071463, -88.914747 37.224817, -89.029763 37.213863, -89.183118 37.038601, -89.133825 36.983832, -89.292656 36.994786, -89.517211 37.279587, -89.435057 37.34531, -89.517211 37.537003, -89.517211 37.690357, -89.84035 37.903958, -89.949889 37.88205, -90.059428 38.013497, -90.355183 38.216144, -90.349706 38.374975, -90.179921 38.632391, -90.207305 38.725499, -90.10872 38.845992, -90.251121 38.917192, -90.470199 38.961007, -90.585214 38.867899, -90.661891 38.928146, -90.727615 39.256762, -91.061708 39.470363, -91.368417 39.727779, -91.494386 40.034488, -91.50534 40.237135, -91.417709 40.379535, -91.401278 40.560274, -91.121954 40.669813, -91.09457 40.823167, -90.963123 40.921752, -90.946692 41.097014, -91.111001 41.239415, -91.045277 41.414677, -90.656414 41.463969, -90.344229 41.589939, -90.311367 41.743293, -90.179921 41.809016, -90.141582 42.000709, -90.168967 42.126679, -90.393521 42.225264, -90.420906 42.329326, -90.639984 42.510065))&bsol;&quot;&gt;POLYGON ((-90.639984 42.510065, -88.7&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-85.990061 41.759724, -84.807042 41.759724, -84.807042 41.694001, -84.801565 40.500028, -84.817996 39.103408, -84.894673 39.059592, -84.812519 38.785745, -84.987781 38.780268, -85.173997 38.68716, -85.431413 38.730976, -85.42046 38.533806, -85.590245 38.451652, -85.655968 38.325682, -85.83123 38.27639, -85.924338 38.024451, -86.039354 37.958727, -86.263908 38.051835, -86.302247 38.166851, -86.521325 38.040881, -86.504894 37.931343, -86.729448 37.893004, -86.795172 37.991589, -87.047111 37.893004, -87.129265 37.788942, -87.381204 37.93682, -87.512651 37.903958, -87.600282 37.975158, -87.682436 37.903958, -87.934375 37.893004, -88.027483 37.799896, -88.060345 37.865619, -88.000098 38.101128, -87.923421 38.15042, -87.950806 38.27639, -87.83579 38.292821, -87.655051 38.506421, -87.62219 38.637868, -87.49622 38.780268, -87.512651 38.95553, -87.63862 39.169131, -87.529082 39.34987, -87.523605 41.710431, -87.42502 41.644708, -87.118311 41.644708, -86.822556 41.759724, -85.990061 41.759724))&bsol;&quot;&gt;POLYGON ((-85.990061 41.759724, -84.8&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-91.368417 43.501391, -91.215062 43.501391, -91.204109 43.353514, -91.056231 43.254929, -91.176724 43.134436, -91.143862 42.909881, -91.067185 42.75105, -90.711184 42.636034, -90.639984 42.510065, -90.420906 42.329326, -90.393521 42.225264, -90.168967 42.126679, -90.141582 42.000709, -90.179921 41.809016, -90.311367 41.743293, -90.344229 41.589939, -90.656414 41.463969, -91.045277 41.414677, -91.111001 41.239415, -90.946692 41.097014, -90.963123 40.921752, -91.09457 40.823167, -91.121954 40.669813, -91.401278 40.560274, -91.417709 40.379535, -91.527248 40.412397, -91.729895 40.615043, -91.833957 40.609566, -93.257961 40.582182, -94.632673 40.571228, -95.7664 40.587659, -95.881416 40.719105, -95.826646 40.976521, -95.925231 41.201076, -95.919754 41.453015, -96.095016 41.540646, -96.122401 41.67757, -96.062155 41.798063, -96.127878 41.973325, -96.264801 42.039048, -96.44554 42.488157, -96.631756 42.707235, -96.544125 42.855112, -96.511264 43.052282, -96.434587 43.123482, -96.560556 43.222067, -96.527695 43.397329, -96.582464 43.479483, -96.451017 43.501391, -91.368417 43.501391))&bsol;&quot;&gt;POLYGON ((-91.368417 43.501391, -91.2&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-101.90605 40.001626, -95.306337 40.001626, -95.207752 39.908518, -94.884612 39.831841, -95.109167 39.541563, -94.983197 39.442978, -94.824366 39.20747, -94.610765 39.158177, -94.616242 37.000263, -100.087706 37.000263, -102.042974 36.994786, -102.053927 40.001626, -101.90605 40.001626))&bsol;&quot;&gt;POLYGON ((-101.90605 40.001626, -95.3&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-83.903347 38.769315, -83.678792 38.632391, -83.519961 38.703591, -83.142052 38.626914, -83.032514 38.725499, -82.890113 38.758361, -82.846298 38.588575, -82.731282 38.561191, -82.594358 38.424267, -82.621743 38.123036, -82.50125 37.931343, -82.342419 37.783465, -82.293127 37.668449, -82.101434 37.553434, -81.969987 37.537003, -82.353373 37.268633, -82.720328 37.120755, -82.720328 37.044078, -82.868205 36.978355, -82.879159 36.890724, -83.070852 36.852385, -83.136575 36.742847, -83.673316 36.600446, -83.689746 36.584015, -84.544149 36.594969, -85.289013 36.627831, -85.486183 36.616877, -86.592525 36.655216, -87.852221 36.633308, -88.071299 36.677123, -88.054868 36.496384, -89.298133 36.507338, -89.418626 36.496384, -89.363857 36.622354, -89.215979 36.578538, -89.133825 36.983832, -89.183118 37.038601, -89.029763 37.213863, -88.914747 37.224817, -88.547792 37.071463, -88.421823 37.153617, -88.514931 37.285064, -88.476592 37.389126, -88.065822 37.482234, -88.15893 37.657496, -88.027483 37.799896, -87.934375 37.893004, -87.682436 37.903958, -87.600282 37.975158, -87.512651 37.903958, -87.381204 37.93682, -87.129265 37.788942, -87.047111 37.893004, -86.795172 37.991589, -86.729448 37.893004, -86.504894 37.931343, -86.521325 38.040881, -86.302247 38.166851, -86.263908 38.051835, -86.039354 37.958727, -85.924338 38.024451, -85.83123 38.27639, -85.655968 38.325682, -85.590245 38.451652, -85.42046 38.533806, -85.431413 38.730976, -85.173997 38.68716, -84.987781 38.780268, -84.812519 38.785745, -84.894673 39.059592, -84.817996 39.103408, -84.43461 39.103408, -84.231963 38.895284, -84.215533 38.807653, -83.903347 38.769315))&bsol;&quot;&gt;POLYGON ((-83.903347 38.769315, -83.6&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-93.608485 33.018527, -91.16577 33.002096, -91.072662 32.887081, -91.143862 32.843265, -91.154816 32.640618, -91.006939 32.514649, -90.985031 32.218894, -91.105524 31.988862, -91.341032 31.846462, -91.401278 31.621907, -91.499863 31.643815, -91.516294 31.27686, -91.636787 31.265906, -91.565587 31.068736, -91.636787 30.997536, -89.747242 30.997536, -89.845827 30.66892, -89.681519 30.449842, -89.643181 30.285534, -89.522688 30.181472, -89.818443 30.044549, -89.84035 29.945964, -89.599365 29.88024, -89.495303 30.039072, -89.287179 29.88024, -89.30361 29.754271, -89.424103 29.699501, -89.648657 29.748794, -89.621273 29.655686, -89.69795 29.513285, -89.506257 29.387316, -89.199548 29.348977, -89.09001 29.2011, -89.002379 29.179192, -89.16121 29.009407, -89.336472 29.042268, -89.484349 29.217531, -89.851304 29.310638, -89.851304 29.480424, -90.032043 29.425654, -90.021089 29.283254, -90.103244 29.151807, -90.23469 29.129899, -90.333275 29.277777, -90.563307 29.283254, -90.645461 29.129899, -90.798815 29.086084, -90.963123 29.179192, -91.09457 29.190146, -91.220539 29.436608, -91.445094 29.546147, -91.532725 29.529716, -91.620356 29.73784, -91.883249 29.710455, -91.888726 29.836425, -92.146142 29.715932, -92.113281 29.622824, -92.31045 29.535193, -92.617159 29.579009, -92.97316 29.715932, -93.2251 29.776178, -93.767317 29.726886, -93.838517 29.688547, -93.926148 29.787132, -93.690639 30.143133, -93.767317 30.334826, -93.696116 30.438888, -93.728978 30.575812, -93.630393 30.679874, -93.526331 30.93729, -93.542762 31.15089, -93.816609 31.556184, -93.822086 31.775262, -94.041164 31.994339, -94.041164 33.018527, -93.608485 33.018527))&bsol;&quot;&gt;POLYGON ((-93.608485 33.018527, -91.1&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;POLYGON ((-70.703921 43.057759, -70.824413 43.128959, -70.807983 43.227544, -70.966814 43.34256, -71.032537 44.657025, -71.08183 45.303304, -70.649151 45.440228, -70.720352 45.511428, -70.556043 45.664782, -70.386258 45.735983, -70.41912 45.796229, -70.260289 45.889337, -70.309581 46.064599, -70.210996 46.327492, -70.057642 46.415123, -69.997395 46.694447, -69.225147 47.461219, -69.044408 47.428357, -69.033454 47.242141, -68.902007 47.176418, -68.578868 47.285957, -68.376221 47.285957, -68.233821 47.357157, -67.954497 47.198326, -67.790188 47.066879, -67.779235 45.944106, -67.801142 45.675736, -67.456095 45.604536, -67.505388 45.48952, -67.417757 45.379982, -67.488957 45.281397, -67.346556 45.128042, -67.16034 45.160904, -66.979601 44.804903, -67.187725 44.646072, -67.308218 44.706318, -67.406803 44.596779, -67.549203 44.624164, -67.565634 44.531056, -67.75185 44.54201, -68.047605 44.328409, -68.118805 44.476286, -68.222867 44.48724, -68.173574 44.328409, -68.403606 44.251732, -68.458375 44.377701, -68.567914 44.311978, -68.82533 44.311978, -68.830807 44.459856, -68.984161 44.426994, -68.956777 44.322932, -69.099177 44.103854, -69.071793 44.043608, -69.258008 43.923115, -69.444224 43.966931, -69.553763 43.840961, -69.707118 43.82453, -69.833087 43.720469, -69.986442 43.742376, -70.030257 43.851915, -70.254812 43.676653, -70.194565 43.567114, -70.358873 43.528776, -70.369827 43.435668, -70.556043 43.320652, -70.703921 43.057759))&bsol;&quot;&gt;POLYGON ((-70.703921 43.057759, -70.8&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;MULTIPOLYGON (((-75.994645 37.95325, -76.016553 37.95325, -76.043938 37.95325, -75.994645 37.95325)), ((-79.477979 39.722302, -75.786521 39.722302, -75.693413 38.462606, -75.047134 38.451652, -75.244304 38.029928, -75.397659 38.013497, -75.671506 37.95325, -75.885106 37.909435, -75.879629 38.073743, -75.961783 38.139466, -75.846768 38.210667, -76.000122 38.374975, -76.049415 38.303775, -76.257538 38.320205, -76.328738 38.500944, -76.263015 38.500944, -76.257538 38.736453, -76.191815 38.829561, -76.279446 39.147223, -76.169907 39.333439, -76.000122 39.366301, -75.972737 39.557994, -76.098707 39.536086, -76.104184 39.437501, -76.367077 39.311532, -76.443754 39.196516, -76.460185 38.906238, -76.55877 38.769315, -76.514954 38.539283, -76.383508 38.380452, -76.399939 38.259959, -76.317785 38.139466, -76.3616 38.057312, -76.591632 38.216144, -76.920248 38.292821, -77.018833 38.446175, -77.205049 38.358544, -77.276249 38.479037, -77.128372 38.632391, -77.040741 38.791222, -76.909294 38.895284, -77.035264 38.993869, -77.117418 38.933623, -77.248864 39.026731, -77.456988 39.076023, -77.456988 39.223901, -77.566527 39.306055, -77.719881 39.322485, -77.834897 39.601809, -78.004682 39.601809, -78.174467 39.694917, -78.267575 39.61824, -78.431884 39.623717, -78.470222 39.514178, -78.765977 39.585379, -78.963147 39.437501, -79.094593 39.470363, -79.291763 39.300578, -79.488933 39.20747, -79.477979 39.722302)))&bsol;&quot;&gt;MULTIPOLYGON (((-75.994645 37.95325, &lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;population: Int&bsol;&quot;&gt;population&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5024279&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;733391&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;7151502&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3011524&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;39538223&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;5773714&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3605944&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;989948&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;21538187&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10711908&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1455271&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1839106&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;12801989&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;6785528&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3271616&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2937880&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4505836&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4657757&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1362359&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;6177224&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202588, rootId: 587202588, totalRows: 50 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202588) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_15() {\n",
" let elem = document.getElementById(\"iframe_out_15\");\n",
" resize_iframe_out_15(elem);\n",
" setInterval(resize_iframe_out_15, 5000, elem);\n",
" }\n",
" function resize_iframe_out_15(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202589\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">name</th><th class=\"bottomBorder\" style=\"text-align:left\">geometry</th><th class=\"bottomBorder\" style=\"text-align:left\">population</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">Alabama</td><td style=\"vertical-align:top\">POLYGON ((-87.359296 35.00118, -85.60<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">5024279</td></tr><tr><td style=\"vertical-align:top\">Alaska</td><td style=\"vertical-align:top\">MULTIPOLYGON (((-131.602021 55.117982<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">733391</td></tr><tr><td style=\"vertical-align:top\">Arizona</td><td style=\"vertical-align:top\">POLYGON ((-109.042503 37.000263, -109<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">7151502</td></tr><tr><td style=\"vertical-align:top\">Arkansas</td><td style=\"vertical-align:top\">POLYGON ((-94.473842 36.501861, -90.1<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">3011524</td></tr><tr><td style=\"vertical-align:top\">California</td><td style=\"vertical-align:top\">POLYGON ((-123.233256 42.006186, -122<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">39538223</td></tr><tr><td style=\"vertical-align:top\">Colorado</td><td style=\"vertical-align:top\">POLYGON ((-107.919731 41.003906, -105<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">5773714</td></tr><tr><td style=\"vertical-align:top\">Connecticut</td><td style=\"vertical-align:top\">POLYGON ((-73.053528 42.039048, -71.7<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">3605944</td></tr><tr><td style=\"vertical-align:top\">Delaware</td><td style=\"vertical-align:top\">POLYGON ((-75.414089 39.804456, -75.5<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">989948</td></tr><tr><td style=\"vertical-align:top\">Florida</td><td style=\"vertical-align:top\">POLYGON ((-85.497137 30.997536, -85.0<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">21538187</td></tr><tr><td style=\"vertical-align:top\">Georgia</td><td style=\"vertical-align:top\">POLYGON ((-83.109191 35.00118, -83.32<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">10711908</td></tr><tr><td style=\"vertical-align:top\">Hawaii</td><td style=\"vertical-align:top\">MULTIPOLYGON (((-155.634835 18.948267<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">1455271</td></tr><tr><td style=\"vertical-align:top\">Idaho</td><td style=\"vertical-align:top\">POLYGON ((-116.04751 49.000239, -116.<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">1839106</td></tr><tr><td style=\"vertical-align:top\">Illinois</td><td style=\"vertical-align:top\">POLYGON ((-90.639984 42.510065, -88.7<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">12801989</td></tr><tr><td style=\"vertical-align:top\">Indiana</td><td style=\"vertical-align:top\">POLYGON ((-85.990061 41.759724, -84.8<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">6785528</td></tr><tr><td style=\"vertical-align:top\">Iowa</td><td style=\"vertical-align:top\">POLYGON ((-91.368417 43.501391, -91.2<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">3271616</td></tr><tr><td style=\"vertical-align:top\">Kansas</td><td style=\"vertical-align:top\">POLYGON ((-101.90605 40.001626, -95.3<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">2937880</td></tr><tr><td style=\"vertical-align:top\">Kentucky</td><td style=\"vertical-align:top\">POLYGON ((-83.903347 38.769315, -83.6<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">4505836</td></tr><tr><td style=\"vertical-align:top\">Louisiana</td><td style=\"vertical-align:top\">POLYGON ((-93.608485 33.018527, -91.1<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">4657757</td></tr><tr><td style=\"vertical-align:top\">Maine</td><td style=\"vertical-align:top\">POLYGON ((-70.703921 43.057759, -70.8<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">1362359</td></tr><tr><td style=\"vertical-align:top\">Maryland</td><td style=\"vertical-align:top\">MULTIPOLYGON (((-75.994645 37.95325, <span class=\"structural\">...</span></td><td style=\"vertical-align:top\">6177224</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202589\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"name\",\"geometry\",\"population\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"org.locationtech.jts.geom.Geometry\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"}],\"nrow\":50,\"ncol\":3},\"kotlin_dataframe\":[{\"name\":\"Alabama\",\"geometry\":\"POLYGON ((-87.359296 35.00118, -85.606675 34.984749, -85.431413 34.124869, -85.184951 32.859696, -85.069935 32.580372, -84.960397 32.421541, -85.004212 32.322956, -84.889196 32.262709, -85.058981 32.13674, -85.053504 32.01077, -85.141136 31.840985, -85.042551 31.539753, -85.113751 31.27686, -85.004212 31.003013, -85.497137 30.997536, -87.600282 30.997536, -87.633143 30.86609, -87.408589 30.674397, -87.446927 30.510088, -87.37025 30.427934, -87.518128 30.280057, -87.655051 30.247195, -87.90699 30.411504, -87.934375 30.657966, -88.011052 30.685351, -88.10416 30.499135, -88.137022 30.318396, -88.394438 30.367688, -88.471115 31.895754, -88.241084 33.796253, -88.098683 34.891641, -88.202745 34.995703, -87.359296 35.00118))\",\"population\":5024279},{\"name\":\"Alaska\",\"geometry\":\"MULTIPOLYGON (((-131.602021 55.117982, -131.569159 55.28229, -131.355558 55.183705, -131.38842 55.01392, -131.645836 55.035827, -131.602021 55.117982)), ((-131.832052 55.42469, -131.645836 55.304197, -131.749898 55.128935, -131.832052 55.189182, -131.832052 55.42469)), ((-132.976733 56.437924, -132.735747 56.459832, -132.631685 56.421493, -132.664547 56.273616, -132.878148 56.240754, -133.069841 56.333862, -132.976733 56.437924)), ((-133.595627 56.350293, -133.162949 56.317431, -133.05341 56.125739, -132.620732 55.912138, -132.472854 55.780691, -132.4619 55.671152, -132.357838 55.649245, -132.341408 55.506844, -132.166146 55.364444, -132.144238 55.238474, -132.029222 55.276813, -131.97993 55.178228, -131.958022 54.789365, -132.029222 54.701734, -132.308546 54.718165, -132.385223 54.915335, -132.483808 54.898904, -132.686455 55.046781, -132.746701 54.997489, -132.916486 55.046781, -132.889102 54.898904, -132.73027 54.937242, -132.626209 54.882473, -132.675501 54.679826, -132.867194 54.701734, -133.157472 54.95915, -133.239626 55.090597, -133.223195 55.22752, -133.453227 55.216566, -133.453227 55.320628, -133.277964 55.331582, -133.102702 55.42469, -133.17938 55.588998, -133.387503 55.62186, -133.420365 55.884753, -133.497042 56.0162, -133.639442 55.923092, -133.694212 56.070969, -133.546335 56.142169, -133.666827 56.311955, -133.595627 56.350293)), ((-133.738027 55.556137, -133.546335 55.490413, -133.414888 55.572568, -133.283441 55.534229, -133.420365 55.386352, -133.633966 55.430167, -133.738027 55.556137)), ((-133.907813 56.930849, -134.050213 57.029434, -133.885905 57.095157, -133.343688 57.002049, -133.102702 57.007526, -132.932917 56.82131, -132.620732 56.667956, -132.653593 56.55294, -132.817901 56.492694, -133.042456 56.520078, -133.201287 56.448878, -133.420365 56.492694, -133.66135 56.448878, -133.710643 56.684386, -133.688735 56.837741, -133.869474 56.843218, -133.907813 56.930849)), ((-134.115936 56.48174, -134.25286 56.558417, -134.400737 56.722725, -134.417168 56.848695, -134.296675 56.908941, -134.170706 56.848695, -134.143321 56.952757, -133.748981 56.772017, -133.710643 56.596755, -133.847566 56.574848, -133.935197 56.377678, -133.836612 56.322908, -133.957105 56.092877, -134.110459 56.142169, -134.132367 55.999769, -134.230952 56.070969, -134.291198 56.350293, -134.115936 56.48174)), ((-134.636246 56.28457, -134.669107 56.169554, -134.806031 56.235277, -135.178463 56.67891, -135.413971 56.810356, -135.331817 56.914418, -135.424925 57.166357, -135.687818 57.369004, -135.419448 57.566174, -135.298955 57.48402, -135.063447 57.418296, -134.849846 57.407343, -134.844369 57.248511, -134.636246 56.728202, -134.636246 56.28457)), ((-134.712923 58.223407, -134.373353 58.14673, -134.176183 58.157683, -134.187137 58.081006, -133.902336 57.807159, -134.099505 57.850975, -134.148798 57.757867, -133.935197 57.615466, -133.869474 57.363527, -134.083075 57.297804, -134.154275 57.210173, -134.499322 57.029434, -134.603384 57.034911, -134.6472 57.226604, -134.575999 57.341619, -134.608861 57.511404, -134.729354 57.719528, -134.707446 57.829067, -134.784123 58.097437, -134.91557 58.212453, -134.953908 58.409623, -134.712923 58.223407)), ((-135.857603 57.330665, -135.715203 57.330665, -135.567326 57.149926, -135.633049 57.023957, -135.857603 56.996572, -135.824742 57.193742, -135.857603 57.330665)), ((-136.279328 58.206976, -135.978096 58.201499, -135.780926 58.28913, -135.496125 58.168637, -135.64948 58.037191, -135.59471 57.987898, -135.45231 58.135776, -135.107263 58.086483, -134.91557 57.976944, -135.025108 57.779775, -134.937477 57.763344, -134.822462 57.500451, -135.085355 57.462112, -135.572802 57.675713, -135.556372 57.456635, -135.709726 57.369004, -135.890465 57.407343, -136.000004 57.544266, -136.208128 57.637374, -136.366959 57.829067, -136.569606 57.916698, -136.558652 58.075529, -136.421728 58.130299, -136.377913 58.267222, -136.279328 58.206976)), ((-147.079854 60.200582, -147.501579 59.948643, -147.53444 59.850058, -147.874011 59.784335, -147.80281 59.937689, -147.435855 60.09652, -147.205824 60.271782, -147.079854 60.200582)), ((-147.561825 60.578491, -147.616594 60.370367, -147.758995 60.156767, -147.956165 60.227967, -147.791856 60.474429, -147.561825 60.578491)), ((-147.786379 70.245291, -147.682318 70.201475, -147.162008 70.15766, -146.888161 70.185044, -146.510252 70.185044, -146.099482 70.146706, -145.858496 70.168614, -145.622988 70.08646, -145.195787 69.993352, -144.620708 69.971444, -144.461877 70.026213, -144.078491 70.059075, -143.914183 70.130275, -143.497935 70.141229, -143.503412 70.091936, -143.25695 70.119321, -142.747594 70.042644, -142.402547 69.916674, -142.079408 69.856428, -142.008207 69.801659, -141.712453 69.790705, -141.433129 69.697597, -141.378359 69.63735, -141.208574 69.686643, -141.00045 69.648304, -141.00045 60.304644, -140.53491 60.22249, -140.474664 60.310121, -139.987216 60.184151, -139.696939 60.342983, -139.088998 60.359413, -139.198537 60.091043, -139.045183 59.997935, -138.700135 59.910304, -138.623458 59.767904, -137.604747 59.242118, -137.445916 58.908024, -137.265177 59.001132, -136.827022 59.159963, -136.580559 59.16544, -136.465544 59.285933, -136.476498 59.466672, -136.301236 59.466672, -136.25742 59.625503, -135.945234 59.663842, -135.479694 59.800766, -135.025108 59.565257, -135.068924 59.422857, -134.959385 59.280456, -134.701969 59.247595, -134.378829 59.033994, -134.400737 58.973748, -134.25286 58.858732, -133.842089 58.727285, -133.173903 58.152206, -133.075318 57.998852, -132.867194 57.845498, -132.560485 57.505928, -132.253777 57.21565, -132.368792 57.095157, -132.05113 57.051341, -132.127807 56.876079, -131.870391 56.804879, -131.837529 56.602232, -131.580113 56.613186, -131.087188 56.405062, -130.78048 56.366724, -130.621648 56.268139, -130.468294 56.240754, -130.424478 56.142169, -130.101339 56.114785, -130.002754 55.994292, -130.150631 55.769737, -130.128724 55.583521, -129.986323 55.276813, -130.095862 55.200136, -130.336847 54.920812, -130.687372 54.718165, -130.785957 54.822227, -130.917403 54.789365, -131.010511 54.997489, -130.983126 55.08512, -131.092665 55.189182, -130.862634 55.298721, -130.928357 55.337059, -131.158389 55.200136, -131.284358 55.287767, -131.426759 55.238474, -131.843006 55.457552, -131.700606 55.698537, -131.963499 55.616383, -131.974453 55.49589, -132.182576 55.588998, -132.226392 55.704014, -132.083991 55.829984, -132.127807 55.955953, -132.324977 55.851892, -132.522147 56.076446, -132.642639 56.032631, -132.719317 56.218847, -132.527624 56.339339, -132.341408 56.339339, -132.396177 56.487217, -132.297592 56.67891, -132.450946 56.673433, -132.768609 56.837741, -132.993164 57.034911, -133.51895 57.177311, -133.507996 57.577128, -133.677781 57.62642, -133.639442 57.790728, -133.814705 57.834544, -134.072121 58.053622, -134.143321 58.168637, -134.586953 58.206976, -135.074401 58.502731, -135.282525 59.192825, -135.38111 59.033994, -135.337294 58.891593, -135.140124 58.617746, -135.189417 58.573931, -135.05797 58.349376, -135.085355 58.201499, -135.277048 58.234361, -135.430402 58.398669, -135.633049 58.426053, -135.91785 58.382238, -135.912373 58.617746, -136.087635 58.814916, -136.246466 58.75467, -136.876314 58.962794, -136.931084 58.902547, -136.586036 58.836824, -136.317666 58.672516, -136.213604 58.667039, -136.180743 58.535592, -136.043819 58.382238, -136.388867 58.294607, -136.591513 58.349376, -136.59699 58.212453, -136.859883 58.316515, -136.947514 58.393192, -137.111823 58.393192, -137.566409 58.590362, -137.900502 58.765624, -137.933364 58.869686, -138.11958 59.02304, -138.634412 59.132579, -138.919213 59.247595, -139.417615 59.379041, -139.746231 59.505011, -139.718846 59.641934, -139.625738 59.598119, -139.5162 59.68575, -139.625738 59.88292, -139.488815 59.992458, -139.554538 60.041751, -139.801 59.833627, -140.315833 59.696704, -140.92925 59.745996, -141.444083 59.871966, -141.46599 59.970551, -141.706976 59.948643, -141.964392 60.019843, -142.539471 60.085566, -142.873564 60.091043, -143.623905 60.036274, -143.892275 59.997935, -144.231845 60.140336, -144.65357 60.206059, -144.785016 60.29369, -144.834309 60.441568, -145.124586 60.430614, -145.223171 60.299167, -145.738004 60.474429, -145.820158 60.551106, -146.351421 60.408706, -146.608837 60.238921, -146.718376 60.397752, -146.608837 60.485383, -146.455483 60.463475, -145.951604 60.578491, -146.017328 60.666122, -146.252836 60.622307, -146.345944 60.737322, -146.565022 60.753753, -146.784099 61.044031, -146.866253 60.972831, -147.172962 60.934492, -147.271547 60.972831, -147.375609 60.879723, -147.758995 60.912584, -147.775426 60.808523, -148.032842 60.781138, -148.153334 60.819476, -148.065703 61.005692, -148.175242 61.000215, -148.350504 60.803046, -148.109519 60.737322, -148.087611 60.594922, -147.939734 60.441568, -148.027365 60.277259, -148.219058 60.332029, -148.273827 60.249875, -148.087611 60.217013, -147.983549 59.997935, -148.251919 59.95412, -148.399797 59.997935, -148.635305 59.937689, -148.755798 59.986981, -149.067984 59.981505, -149.05703 60.063659, -149.204907 60.008889, -149.287061 59.904827, -149.418508 59.997935, -149.582816 59.866489, -149.511616 59.806242, -149.741647 59.729565, -149.949771 59.718611, -150.031925 59.61455, -150.25648 59.521442, -150.409834 59.554303, -150.579619 59.444764, -150.716543 59.450241, -151.001343 59.225687, -151.308052 59.209256, -151.406637 59.280456, -151.592853 59.159963, -151.976239 59.253071, -151.888608 59.422857, -151.636669 59.483103, -151.47236 59.472149, -151.423068 59.537872, -151.127313 59.669319, -151.116359 59.778858, -151.505222 59.63098, -151.828361 59.718611, -151.8667 59.778858, -151.702392 60.030797, -151.423068 60.211536, -151.379252 60.359413, -151.297098 60.386798, -151.264237 60.545629, -151.406637 60.720892, -151.06159 60.786615, -150.404357 61.038554, -150.245526 60.939969, -150.042879 60.912584, -149.741647 61.016646, -150.075741 61.15357, -150.207187 61.257632, -150.47008 61.246678, -150.656296 61.29597, -150.711066 61.252155, -151.023251 61.180954, -151.165652 61.044031, -151.477837 61.011169, -151.800977 60.852338, -151.833838 60.748276, -152.080301 60.693507, -152.13507 60.578491, -152.310332 60.507291, -152.392486 60.304644, -152.732057 60.173197, -152.567748 60.069136, -152.704672 59.915781, -153.022334 59.888397, -153.049719 59.691227, -153.345474 59.620026, -153.438582 59.702181, -153.586459 59.548826, -153.761721 59.543349, -153.72886 59.433811, -154.117723 59.368087, -154.1944 59.066856, -153.750768 59.050425, -153.400243 58.968271, -153.301658 58.869686, -153.444059 58.710854, -153.679567 58.612269, -153.898645 58.606793, -153.920553 58.519161, -154.062953 58.4863, -153.99723 58.376761, -154.145107 58.212453, -154.46277 58.059098, -154.643509 58.059098, -154.818771 58.004329, -154.988556 58.015283, -155.120003 57.955037, -155.081664 57.872883, -155.328126 57.829067, -155.377419 57.708574, -155.547204 57.785251, -155.73342 57.549743, -156.045606 57.566174, -156.023698 57.440204, -156.209914 57.473066, -156.34136 57.418296, -156.34136 57.248511, -156.549484 56.985618, -156.883577 56.952757, -157.157424 56.832264, -157.20124 56.766541, -157.376502 56.859649, -157.672257 56.607709, -157.754411 56.67891, -157.918719 56.657002, -157.957058 56.514601, -158.126843 56.459832, -158.32949 56.48174, -158.488321 56.339339, -158.208997 56.295524, -158.510229 55.977861, -159.375585 55.873799, -159.616571 55.594475, -159.676817 55.654722, -159.643955 55.829984, -159.813741 55.857368, -160.027341 55.791645, -160.060203 55.720445, -160.394296 55.605429, -160.536697 55.473983, -160.580512 55.567091, -160.668143 55.457552, -160.865313 55.528752, -161.232268 55.358967, -161.506115 55.364444, -161.467776 55.49589, -161.588269 55.62186, -161.697808 55.517798, -161.686854 55.408259, -162.053809 55.074166, -162.179779 55.15632, -162.218117 55.03035, -162.470057 55.052258, -162.508395 55.249428, -162.661749 55.293244, -162.716519 55.222043, -162.579595 55.134412, -162.645319 54.997489, -162.847965 54.926289, -163.00132 55.079643, -163.187536 55.090597, -163.220397 55.03035, -163.034181 54.942719, -163.373752 54.800319, -163.14372 54.76198, -163.138243 54.696257, -163.329936 54.74555, -163.587352 54.614103, -164.085754 54.61958, -164.332216 54.531949, -164.354124 54.466226, -164.638925 54.389548, -164.847049 54.416933, -164.918249 54.603149, -164.710125 54.663395, -164.551294 54.88795, -164.34317 54.893427, -163.894061 55.041304, -163.532583 55.046781, -163.39566 54.904381, -163.291598 55.008443, -163.313505 55.128935, -163.105382 55.183705, -162.880827 55.183705, -162.579595 55.446598, -162.245502 55.682106, -161.807347 55.89023, -161.292514 55.983338, -161.078914 55.939523, -160.87079 55.999769, -160.816021 55.912138, -160.931036 55.813553, -160.805067 55.736876, -160.766728 55.857368, -160.509312 55.868322, -160.438112 55.791645, -160.27928 55.76426, -160.273803 55.857368, -160.536697 55.939523, -160.558604 55.994292, -160.383342 56.251708, -160.147834 56.399586, -159.830171 56.541986, -159.326293 56.667956, -158.959338 56.848695, -158.784076 56.782971, -158.641675 56.810356, -158.701922 56.925372, -158.658106 57.034911, -158.378782 57.264942, -157.995396 57.41282, -157.688688 57.609989, -157.705118 57.719528, -157.458656 58.497254, -157.07527 58.705377, -157.119086 58.869686, -158.039212 58.634177, -158.32949 58.661562, -158.40069 58.760147, -158.564998 58.803962, -158.619768 58.913501, -158.767645 58.864209, -158.860753 58.694424, -158.701922 58.480823, -158.893615 58.387715, -159.0634 58.420577, -159.392016 58.760147, -159.616571 58.929932, -159.731586 58.929932, -159.808264 58.803962, -159.906848 58.782055, -160.054726 58.886116, -160.235465 58.902547, -160.317619 59.072332, -160.854359 58.88064, -161.33633 58.743716, -161.374669 58.667039, -161.752577 58.552023, -161.938793 58.656085, -161.769008 58.776578, -161.829255 59.061379, -161.955224 59.36261, -161.703285 59.48858, -161.911409 59.740519, -162.092148 59.88292, -162.234548 60.091043, -162.448149 60.178674, -162.502918 59.997935, -162.760334 59.959597, -163.171105 59.844581, -163.66403 59.795289, -163.9324 59.806242, -164.162431 59.866489, -164.189816 60.02532, -164.386986 60.074613, -164.699171 60.29369, -164.962064 60.337506, -165.268773 60.578491, -165.060649 60.68803, -165.016834 60.890677, -165.175665 60.846861, -165.197573 60.972831, -165.120896 61.076893, -165.323543 61.170001, -165.34545 61.071416, -165.591913 61.109754, -165.624774 61.279539, -165.816467 61.301447, -165.920529 61.416463, -165.915052 61.558863, -166.106745 61.49314, -166.139607 61.630064, -165.904098 61.662925, -166.095791 61.81628, -165.756221 61.827233, -165.756221 62.013449, -165.674067 62.139419, -165.044219 62.539236, -164.912772 62.659728, -164.819664 62.637821, -164.874433 62.807606, -164.633448 63.097884, -164.425324 63.212899, -164.036462 63.262192, -163.73523 63.212899, -163.313505 63.037637, -163.039658 63.059545, -162.661749 63.22933, -162.272887 63.486746, -162.075717 63.514131, -162.026424 63.448408, -161.555408 63.448408, -161.13916 63.503177, -160.766728 63.771547, -160.766728 63.837271, -160.952944 64.08921, -160.974852 64.237087, -161.26513 64.395918, -161.374669 64.532842, -161.078914 64.494503, -160.79959 64.609519, -160.783159 64.719058, -161.144637 64.921705, -161.413007 64.762873, -161.664946 64.790258, -161.900455 64.702627, -162.168825 64.680719, -162.234548 64.620473, -162.541257 64.532842, -162.634365 64.384965, -162.787719 64.324718, -162.858919 64.49998, -163.045135 64.538319, -163.176582 64.401395, -163.253259 64.467119, -163.598306 64.565704, -164.304832 64.560227, -164.80871 64.450688, -165.000403 64.434257, -165.411174 64.49998, -166.188899 64.576658, -166.391546 64.636904, -166.484654 64.735489, -166.413454 64.872412, -166.692778 64.987428, -166.638008 65.113398, -166.462746 65.179121, -166.517516 65.337952, -166.796839 65.337952, -167.026871 65.381768, -167.47598 65.414629, -167.711489 65.496784, -168.072967 65.578938, -168.105828 65.682999, -167.541703 65.819923, -166.829701 66.049954, -166.3313 66.186878, -166.046499 66.110201, -165.756221 66.09377, -165.690498 66.203309, -165.86576 66.21974, -165.88219 66.312848, -165.186619 66.466202, -164.403417 66.581218, -163.981692 66.592172, -163.751661 66.553833, -163.872153 66.389525, -163.828338 66.274509, -163.915969 66.192355, -163.768091 66.060908, -163.494244 66.082816, -163.149197 66.060908, -162.749381 66.088293, -162.634365 66.039001, -162.371472 66.028047, -162.14144 66.077339, -161.840208 66.02257, -161.549931 66.241647, -161.341807 66.252601, -161.199406 66.208786, -161.128206 66.334755, -161.528023 66.395002, -161.911409 66.345709, -161.87307 66.510017, -162.174302 66.68528, -162.502918 66.740049, -162.601503 66.89888, -162.344087 66.937219, -162.015471 66.778388, -162.075717 66.652418, -161.916886 66.553833, -161.571838 66.438817, -161.489684 66.55931, -161.884024 66.718141, -161.714239 67.002942, -161.851162 67.052235, -162.240025 66.991988, -162.639842 67.008419, -162.700088 67.057712, -162.902735 67.008419, -163.740707 67.128912, -163.757138 67.254881, -164.009077 67.534205, -164.211724 67.638267, -164.534863 67.725898, -165.192096 67.966884, -165.493328 68.059992, -165.794559 68.081899, -166.243668 68.246208, -166.681824 68.339316, -166.703731 68.372177, -166.375115 68.42147, -166.227238 68.574824, -166.216284 68.881533, -165.329019 68.859625, -164.255539 68.930825, -163.976215 68.985595, -163.532583 69.138949, -163.110859 69.374457, -163.023228 69.609966, -162.842489 69.812613, -162.470057 69.982398, -162.311225 70.108367, -161.851162 70.311014, -161.779962 70.256245, -161.396576 70.239814, -160.837928 70.343876, -160.487404 70.453415, -159.649432 70.792985, -159.33177 70.809416, -159.298908 70.760123, -158.975769 70.798462, -158.658106 70.787508, -158.033735 70.831323, -157.420318 70.979201, -156.812377 71.285909, -156.565915 71.351633, -156.522099 71.296863, -155.585543 71.170894, -155.508865 71.083263, -155.832005 70.968247, -155.979882 70.96277, -155.974405 70.809416, -155.503388 70.858708, -155.476004 70.940862, -155.262403 71.017539, -155.191203 70.973724, -155.032372 71.148986, -154.566832 70.990155, -154.643509 70.869662, -154.353231 70.8368, -154.183446 70.7656, -153.931507 70.880616, -153.487874 70.886093, -153.235935 70.924431, -152.589656 70.886093, -152.26104 70.842277, -152.419871 70.606769, -151.817408 70.546523, -151.773592 70.486276, -151.187559 70.382214, -151.182082 70.431507, -150.760358 70.49723, -150.355064 70.491753, -150.349588 70.436984, -150.114079 70.431507, -149.867617 70.508184, -149.462323 70.519138, -149.177522 70.486276, -148.78866 70.404122, -148.607921 70.420553, -148.350504 70.305537, -148.202627 70.349353, -147.961642 70.316491, -147.786379 70.245291)), ((-152.94018 58.026237, -152.945657 57.982421, -153.290705 58.048145, -153.044242 58.305561, -152.819688 58.327469, -152.666333 58.562977, -152.496548 58.354853, -152.354148 58.426053, -152.080301 58.311038, -152.080301 58.152206, -152.480117 58.130299, -152.655379 58.059098, -152.94018 58.026237)), ((-153.958891 57.538789, -153.67409 57.670236, -153.931507 57.69762, -153.936983 57.812636, -153.723383 57.889313, -153.570028 57.834544, -153.548121 57.719528, -153.46049 57.796205, -153.455013 57.96599, -153.268797 57.889313, -153.235935 57.998852, -153.071627 57.933129, -152.874457 57.933129, -152.721103 57.993375, -152.469163 57.889313, -152.469163 57.599035, -152.151501 57.620943, -152.359625 57.42925, -152.74301 57.505928, -152.60061 57.379958, -152.710149 57.275896, -152.907319 57.325188, -152.912796 57.128019, -153.214027 57.073249, -153.312612 56.991095, -153.498828 57.067772, -153.695998 56.859649, -153.849352 56.837741, -154.013661 56.744633, -154.073907 56.969187, -154.303938 56.848695, -154.314892 56.919895, -154.523016 56.991095, -154.539447 57.193742, -154.742094 57.275896, -154.627078 57.511404, -154.227261 57.659282, -153.980799 57.648328, -153.958891 57.538789)), ((-154.53397 56.602232, -154.742094 56.399586, -154.807817 56.432447, -154.53397 56.602232)), ((-155.634835 55.923092, -155.476004 55.912138, -155.530773 55.704014, -155.793666 55.731399, -155.837482 55.802599, -155.634835 55.923092)), ((-159.890418 55.28229, -159.950664 55.068689, -160.257373 54.893427, -160.109495 55.161797, -160.005433 55.134412, -159.890418 55.28229)), ((-160.520266 55.358967, -160.33405 55.358967, -160.339527 55.249428, -160.525743 55.128935, -160.690051 55.211089, -160.794113 55.134412, -160.854359 55.320628, -160.79959 55.380875, -160.520266 55.358967)), ((-162.256456 54.981058, -162.234548 54.893427, -162.349564 54.838658, -162.437195 54.931766, -162.256456 54.981058)), ((-162.415287 63.634624, -162.563165 63.536039, -162.612457 63.62367, -162.415287 63.634624)), ((-162.80415 54.488133, -162.590549 54.449795, -162.612457 54.367641, -162.782242 54.373118, -162.80415 54.488133)), ((-165.548097 54.29644, -165.476897 54.181425, -165.630251 54.132132, -165.685021 54.252625, -165.548097 54.29644)), ((-165.73979 54.15404, -166.046499 54.044501, -166.112222 54.121178, -165.980775 54.219763, -165.73979 54.15404)), ((-166.364161 60.359413, -166.13413 60.397752, -166.084837 60.326552, -165.88219 60.342983, -165.685021 60.277259, -165.646682 59.992458, -165.750744 59.89935, -166.00816 59.844581, -166.062929 59.745996, -166.440838 59.855535, -166.6161 59.850058, -166.994009 59.992458, -167.125456 59.992458, -167.344534 60.074613, -167.421211 60.206059, -167.311672 60.238921, -166.93924 60.206059, -166.763978 60.310121, -166.577762 60.321075, -166.495608 60.392275, -166.364161 60.359413)), ((-166.375115 54.01164, -166.210807 53.934962, -166.5449 53.748746, -166.539423 53.715885, -166.117699 53.852808, -166.112222 53.776131, -166.282007 53.683023, -166.555854 53.622777, -166.583239 53.529669, -166.878994 53.431084, -167.13641 53.425607, -167.306195 53.332499, -167.623857 53.250345, -167.793643 53.337976, -167.459549 53.442038, -167.355487 53.425607, -167.103548 53.513238, -167.163794 53.611823, -167.021394 53.715885, -166.807793 53.666592, -166.785886 53.732316, -167.015917 53.754223, -167.141887 53.825424, -167.032348 53.945916, -166.643485 54.017116, -166.561331 53.880193, -166.375115 54.01164)), ((-168.790446 53.157237, -168.40706 53.34893, -168.385152 53.431084, -168.237275 53.524192, -168.007243 53.568007, -167.886751 53.518715, -167.842935 53.387268, -168.270136 53.244868, -168.500168 53.036744, -168.686384 52.965544, -168.790446 53.157237)), ((-169.74891 52.894344, -169.705095 52.795759, -169.962511 52.790282, -169.989896 52.856005, -169.74891 52.894344)), ((-170.148727 57.221127, -170.28565 57.128019, -170.313035 57.221127, -170.148727 57.221127)), ((-170.669036 52.697174, -170.603313 52.604066, -170.789529 52.538343, -170.816914 52.636928, -170.669036 52.697174)), ((-171.742517 63.716778, -170.94836 63.5689, -170.488297 63.69487, -170.280174 63.683916, -170.093958 63.612716, -170.044665 63.492223, -169.644848 63.4265, -169.518879 63.366254, -168.99857 63.338869, -168.686384 63.295053, -168.856169 63.147176, -169.108108 63.180038, -169.376478 63.152653, -169.513402 63.08693, -169.639372 62.939052, -169.831064 63.075976, -170.055619 63.169084, -170.263743 63.180038, -170.362328 63.2841, -170.866206 63.415546, -171.101715 63.421023, -171.463193 63.306007, -171.73704 63.366254, -171.852055 63.486746, -171.742517 63.716778)), ((-172.432611 52.390465, -172.41618 52.275449, -172.607873 52.253542, -172.569535 52.352127, -172.432611 52.390465)), ((-173.626584 52.14948, -173.495138 52.105664, -173.122706 52.111141, -173.106275 52.07828, -173.549907 52.028987, -173.626584 52.14948)), ((-174.322156 52.280926, -174.327632 52.379511, -174.185232 52.41785, -173.982585 52.319265, -174.059262 52.226157, -174.179755 52.231634, -174.141417 52.127572, -174.333109 52.116618, -174.738403 52.007079, -174.968435 52.039941, -174.902711 52.116618, -174.656249 52.105664, -174.322156 52.280926)), ((-176.469116 51.853725, -176.288377 51.870156, -176.288377 51.744186, -176.518409 51.760617, -176.80321 51.61274, -176.912748 51.80991, -176.792256 51.815386, -176.775825 51.963264, -176.627947 51.968741, -176.627947 51.859202, -176.469116 51.853725)), ((-177.153734 51.946833, -177.044195 51.897541, -177.120872 51.727755, -177.274226 51.678463, -177.279703 51.782525, -177.153734 51.946833)), ((-178.123152 51.919448, -177.953367 51.913971, -177.800013 51.793479, -177.964321 51.651078, -178.123152 51.919448)), ((-186.892443 52.992929, -186.706227 52.927205, -186.695274 52.823143, -187.09509 52.762897, -187.357983 52.927205, -187.357983 53.003883, -186.892443 52.992929)))\",\"population\":733391},{\"name\":\"Arizona\",\"geometry\":\"POLYGON ((-109.042503 37.000263, -109.04798 31.331629, -111.074448 31.331629, -112.246513 31.704061, -114.815198 32.492741, -114.72209 32.717295, -114.524921 32.755634, -114.470151 32.843265, -114.524921 33.029481, -114.661844 33.034958, -114.727567 33.40739, -114.524921 33.54979, -114.497536 33.697668, -114.535874 33.933176, -114.415382 34.108438, -114.256551 34.174162, -114.136058 34.305608, -114.333228 34.448009, -114.470151 34.710902, -114.634459 34.87521, -114.634459 35.00118, -114.574213 35.138103, -114.596121 35.324319, -114.678275 35.516012, -114.738521 36.102045, -114.371566 36.140383, -114.251074 36.01989, -114.152489 36.025367, -114.048427 36.195153, -114.048427 37.000263, -110.499369 37.00574, -109.042503 37.000263))\",\"population\":7151502},{\"name\":\"Arkansas\",\"geometry\":\"POLYGON ((-94.473842 36.501861, -90.152536 36.496384, -90.064905 36.304691, -90.218259 36.184199, -90.377091 35.997983, -89.730812 35.997983, -89.763673 35.811767, -89.911551 35.756997, -89.944412 35.603643, -90.130628 35.439335, -90.114197 35.198349, -90.212782 35.023087, -90.311367 34.995703, -90.251121 34.908072, -90.409952 34.831394, -90.481152 34.661609, -90.585214 34.617794, -90.568783 34.420624, -90.749522 34.365854, -90.744046 34.300131, -90.952169 34.135823, -90.891923 34.026284, -91.072662 33.867453, -91.231493 33.560744, -91.056231 33.429298, -91.143862 33.347144, -91.089093 33.13902, -91.16577 33.002096, -93.608485 33.018527, -94.041164 33.018527, -94.041164 33.54979, -94.183564 33.593606, -94.380734 33.544313, -94.484796 33.637421, -94.430026 35.395519, -94.616242 36.501861, -94.473842 36.501861))\",\"population\":3011524},{\"name\":\"California\",\"geometry\":\"POLYGON ((-123.233256 42.006186, -122.378853 42.011663, -121.037003 41.995232, -120.001861 41.995232, -119.996384 40.264519, -120.001861 38.999346, -118.71478 38.101128, -117.498899 37.21934, -116.540435 36.501861, -115.85034 35.970598, -114.634459 35.00118, -114.634459 34.87521, -114.470151 34.710902, -114.333228 34.448009, -114.136058 34.305608, -114.256551 34.174162, -114.415382 34.108438, -114.535874 33.933176, -114.497536 33.697668, -114.524921 33.54979, -114.727567 33.40739, -114.661844 33.034958, -114.524921 33.029481, -114.470151 32.843265, -114.524921 32.755634, -114.72209 32.717295, -116.04751 32.624187, -117.126467 32.536556, -117.24696 32.668003, -117.252437 32.876127, -117.329114 33.122589, -117.471515 33.297851, -117.7837 33.538836, -118.183517 33.763391, -118.260194 33.703145, -118.413548 33.741483, -118.391641 33.840068, -118.566903 34.042715, -118.802411 33.998899, -119.218659 34.146777, -119.278905 34.26727, -119.558229 34.415147, -119.875891 34.40967, -120.138784 34.475393, -120.472878 34.448009, -120.64814 34.579455, -120.609801 34.858779, -120.670048 34.902595, -120.631709 35.099764, -120.894602 35.247642, -120.905556 35.450289, -121.004141 35.461243, -121.168449 35.636505, -121.283465 35.674843, -121.332757 35.784382, -121.716143 36.195153, -121.896882 36.315645, -121.935221 36.638785, -121.858544 36.6114, -121.787344 36.803093, -121.929744 36.978355, -122.105006 36.956447, -122.335038 37.115279, -122.417192 37.241248, -122.400761 37.361741, -122.515777 37.520572, -122.515777 37.783465, -122.329561 37.783465, -122.406238 38.15042, -122.488392 38.112082, -122.504823 37.931343, -122.701993 37.893004, -122.937501 38.029928, -122.97584 38.265436, -123.129194 38.451652, -123.331841 38.566668, -123.44138 38.698114, -123.737134 38.95553, -123.687842 39.032208, -123.824765 39.366301, -123.764519 39.552517, -123.85215 39.831841, -124.109566 40.105688, -124.361506 40.259042, -124.410798 40.439781, -124.158859 40.877937, -124.109566 41.025814, -124.158859 41.14083, -124.065751 41.442061, -124.147905 41.715908, -124.257444 41.781632, -124.213628 42.000709, -123.233256 42.006186))\",\"population\":39538223},{\"name\":\"Colorado\",\"geometry\":\"POLYGON ((-107.919731 41.003906, -105.728954 40.998429, -104.053011 41.003906, -102.053927 41.003906, -102.053927 40.001626, -102.042974 36.994786, -103.001438 37.000263, -104.337812 36.994786, -106.868158 36.994786, -107.421329 37.000263, -109.042503 37.000263, -109.042503 38.166851, -109.058934 38.27639, -109.053457 39.125316, -109.04798 40.998429, -107.919731 41.003906))\",\"population\":5773714},{\"name\":\"Connecticut\",\"geometry\":\"POLYGON ((-73.053528 42.039048, -71.799309 42.022617, -71.799309 42.006186, -71.799309 41.414677, -71.859555 41.321569, -71.947186 41.338, -72.385341 41.261322, -72.905651 41.28323, -73.130205 41.146307, -73.371191 41.102491, -73.655992 40.987475, -73.727192 41.102491, -73.48073 41.21203, -73.55193 41.294184, -73.486206 42.050002, -73.053528 42.039048))\",\"population\":3605944},{\"name\":\"Delaware\",\"geometry\":\"POLYGON ((-75.414089 39.804456, -75.507197 39.683964, -75.611259 39.61824, -75.589352 39.459409, -75.441474 39.311532, -75.403136 39.065069, -75.189535 38.807653, -75.09095 38.796699, -75.047134 38.451652, -75.693413 38.462606, -75.786521 39.722302, -75.616736 39.831841, -75.414089 39.804456))\",\"population\":989948},{\"name\":\"Florida\",\"geometry\":\"POLYGON ((-85.497137 30.997536, -85.004212 31.003013, -84.867289 30.712735, -83.498053 30.647012, -82.216449 30.570335, -82.167157 30.356734, -82.046664 30.362211, -82.002849 30.564858, -82.041187 30.751074, -81.948079 30.827751, -81.718048 30.745597, -81.444201 30.707258, -81.383954 30.27458, -81.257985 29.787132, -80.967707 29.14633, -80.524075 28.461713, -80.589798 28.41242, -80.56789 28.094758, -80.381674 27.738757, -80.091397 27.021277, -80.03115 26.796723, -80.036627 26.566691, -80.146166 25.739673, -80.239274 25.723243, -80.337859 25.465826, -80.304997 25.383672, -80.49669 25.197456, -80.573367 25.241272, -80.759583 25.164595, -81.077246 25.120779, -81.170354 25.224841, -81.126538 25.378195, -81.351093 25.821827, -81.526355 25.903982, -81.679709 25.843735, -81.800202 26.090198, -81.833064 26.292844, -82.041187 26.517399, -82.09048 26.665276, -82.057618 26.878877, -82.172634 26.917216, -82.145249 26.791246, -82.249311 26.758384, -82.566974 27.300601, -82.692943 27.437525, -82.391711 27.837342, -82.588881 27.815434, -82.720328 27.689464, -82.851774 27.886634, -82.676512 28.434328, -82.643651 28.888914, -82.764143 28.998453, -82.802482 29.14633, -82.994175 29.179192, -83.218729 29.420177, -83.399469 29.518762, -83.410422 29.66664, -83.536392 29.721409, -83.640454 29.885717, -84.02384 30.104795, -84.357933 30.055502, -84.341502 29.902148, -84.451041 29.929533, -84.867289 29.743317, -85.310921 29.699501, -85.299967 29.80904, -85.404029 29.940487, -85.924338 30.236241, -86.29677 30.362211, -86.630863 30.395073, -86.910187 30.373165, -87.518128 30.280057, -87.37025 30.427934, -87.446927 30.510088, -87.408589 30.674397, -87.633143 30.86609, -87.600282 30.997536, -85.497137 30.997536))\",\"population\":21538187},{\"name\":\"Georgia\",\"geometry\":\"POLYGON ((-83.109191 35.00118, -83.322791 34.787579, -83.339222 34.683517, -83.005129 34.469916, -82.901067 34.486347, -82.747713 34.26727, -82.714851 34.152254, -82.55602 33.94413, -82.325988 33.81816, -82.194542 33.631944, -81.926172 33.462159, -81.937125 33.347144, -81.761863 33.160928, -81.493493 33.007573, -81.42777 32.843265, -81.416816 32.629664, -81.279893 32.558464, -81.121061 32.290094, -81.115584 32.120309, -80.885553 32.032678, -81.132015 31.693108, -81.175831 31.517845, -81.279893 31.364491, -81.290846 31.20566, -81.400385 31.13446, -81.444201 30.707258, -81.718048 30.745597, -81.948079 30.827751, -82.041187 30.751074, -82.002849 30.564858, -82.046664 30.362211, -82.167157 30.356734, -82.216449 30.570335, -83.498053 30.647012, -84.867289 30.712735, -85.004212 31.003013, -85.113751 31.27686, -85.042551 31.539753, -85.141136 31.840985, -85.053504 32.01077, -85.058981 32.13674, -84.889196 32.262709, -85.004212 32.322956, -84.960397 32.421541, -85.069935 32.580372, -85.184951 32.859696, -85.431413 34.124869, -85.606675 34.984749, -84.319594 34.990226, -83.618546 34.984749, -83.109191 35.00118))\",\"population\":10711908},{\"name\":\"Hawaii\",\"geometry\":\"MULTIPOLYGON (((-155.634835 18.948267, -155.881297 19.035898, -155.919636 19.123529, -155.886774 19.348084, -156.062036 19.73147, -155.925113 19.857439, -155.826528 20.032702, -155.897728 20.147717, -155.87582 20.26821, -155.596496 20.12581, -155.284311 20.021748, -155.092618 19.868393, -155.092618 19.736947, -154.807817 19.523346, -154.983079 19.348084, -155.295265 19.26593, -155.514342 19.134483, -155.634835 18.948267)), ((-156.587823 21.029505, -156.472807 20.892581, -156.324929 20.952827, -156.00179 20.793996, -156.051082 20.651596, -156.379699 20.580396, -156.445422 20.60778, -156.461853 20.783042, -156.631638 20.821381, -156.697361 20.919966, -156.587823 21.029505)), ((-156.982162 21.210244, -157.080747 21.106182, -157.310779 21.106182, -157.239579 21.221198, -156.982162 21.210244)), ((-157.951581 21.697691, -157.842042 21.462183, -157.896811 21.325259, -158.110412 21.303352, -158.252813 21.582676, -158.126843 21.588153, -157.951581 21.697691)), ((-159.468693 22.228955, -159.353678 22.218001, -159.298908 22.113939, -159.33177 21.966061, -159.446786 21.872953, -159.764448 21.987969, -159.726109 22.152277, -159.468693 22.228955)))\",\"population\":1455271},{\"name\":\"Idaho\",\"geometry\":\"POLYGON ((-116.04751 49.000239, -116.04751 47.976051, -115.724371 47.696727, -115.718894 47.42288, -115.527201 47.302388, -115.324554 47.258572, -115.302646 47.187372, -114.930214 46.919002, -114.886399 46.809463, -114.623506 46.705401, -114.612552 46.639678, -114.322274 46.645155, -114.464674 46.272723, -114.492059 46.037214, -114.387997 45.88386, -114.568736 45.774321, -114.497536 45.670259, -114.546828 45.560721, -114.333228 45.456659, -114.086765 45.593582, -113.98818 45.703121, -113.807441 45.604536, -113.834826 45.522382, -113.736241 45.330689, -113.571933 45.128042, -113.45144 45.056842, -113.456917 44.865149, -113.341901 44.782995, -113.133778 44.772041, -113.002331 44.448902, -112.887315 44.394132, -112.783254 44.48724, -112.471068 44.481763, -112.241036 44.569394, -112.104113 44.520102, -111.868605 44.563917, -111.819312 44.509148, -111.616665 44.547487, -111.386634 44.75561, -111.227803 44.580348, -111.047063 44.476286, -111.047063 42.000709, -112.164359 41.995232, -114.04295 41.995232, -117.027882 42.000709, -117.027882 43.830007, -116.896436 44.158624, -116.97859 44.240778, -117.170283 44.257209, -117.241483 44.394132, -117.038836 44.750133, -116.934774 44.782995, -116.830713 44.930872, -116.847143 45.02398, -116.732128 45.144473, -116.671881 45.319735, -116.463758 45.61549, -116.545912 45.752413, -116.78142 45.823614, -116.918344 45.993399, -116.92382 46.168661, -117.055267 46.343923, -117.038836 46.426077, -117.044313 47.762451, -117.033359 49.000239, -116.04751 49.000239))\",\"population\":1839106},{\"name\":\"Illinois\",\"geometry\":\"POLYGON ((-90.639984 42.510065, -88.788778 42.493634, -87.802929 42.493634, -87.83579 42.301941, -87.682436 42.077386, -87.523605 41.710431, -87.529082 39.34987, -87.63862 39.169131, -87.512651 38.95553, -87.49622 38.780268, -87.62219 38.637868, -87.655051 38.506421, -87.83579 38.292821, -87.950806 38.27639, -87.923421 38.15042, -88.000098 38.101128, -88.060345 37.865619, -88.027483 37.799896, -88.15893 37.657496, -88.065822 37.482234, -88.476592 37.389126, -88.514931 37.285064, -88.421823 37.153617, -88.547792 37.071463, -88.914747 37.224817, -89.029763 37.213863, -89.183118 37.038601, -89.133825 36.983832, -89.292656 36.994786, -89.517211 37.279587, -89.435057 37.34531, -89.517211 37.537003, -89.517211 37.690357, -89.84035 37.903958, -89.949889 37.88205, -90.059428 38.013497, -90.355183 38.216144, -90.349706 38.374975, -90.179921 38.632391, -90.207305 38.725499, -90.10872 38.845992, -90.251121 38.917192, -90.470199 38.961007, -90.585214 38.867899, -90.661891 38.928146, -90.727615 39.256762, -91.061708 39.470363, -91.368417 39.727779, -91.494386 40.034488, -91.50534 40.237135, -91.417709 40.379535, -91.401278 40.560274, -91.121954 40.669813, -91.09457 40.823167, -90.963123 40.921752, -90.946692 41.097014, -91.111001 41.239415, -91.045277 41.414677, -90.656414 41.463969, -90.344229 41.589939, -90.311367 41.743293, -90.179921 41.809016, -90.141582 42.000709, -90.168967 42.126679, -90.393521 42.225264, -90.420906 42.329326, -90.639984 42.510065))\",\"population\":12801989},{\"name\":\"Indiana\",\"geometry\":\"POLYGON ((-85.990061 41.759724, -84.807042 41.759724, -84.807042 41.694001, -84.801565 40.500028, -84.817996 39.103408, -84.894673 39.059592, -84.812519 38.785745, -84.987781 38.780268, -85.173997 38.68716, -85.431413 38.730976, -85.42046 38.533806, -85.590245 38.451652, -85.655968 38.325682, -85.83123 38.27639, -85.924338 38.024451, -86.039354 37.958727, -86.263908 38.051835, -86.302247 38.166851, -86.521325 38.040881, -86.504894 37.931343, -86.729448 37.893004, -86.795172 37.991589, -87.047111 37.893004, -87.129265 37.788942, -87.381204 37.93682, -87.512651 37.903958, -87.600282 37.975158, -87.682436 37.903958, -87.934375 37.893004, -88.027483 37.799896, -88.060345 37.865619, -88.000098 38.101128, -87.923421 38.15042, -87.950806 38.27639, -87.83579 38.292821, -87.655051 38.506421, -87.62219 38.637868, -87.49622 38.780268, -87.512651 38.95553, -87.63862 39.169131, -87.529082 39.34987, -87.523605 41.710431, -87.42502 41.644708, -87.118311 41.644708, -86.822556 41.759724, -85.990061 41.759724))\",\"population\":6785528},{\"name\":\"Iowa\",\"geometry\":\"POLYGON ((-91.368417 43.501391, -91.215062 43.501391, -91.204109 43.353514, -91.056231 43.254929, -91.176724 43.134436, -91.143862 42.909881, -91.067185 42.75105, -90.711184 42.636034, -90.639984 42.510065, -90.420906 42.329326, -90.393521 42.225264, -90.168967 42.126679, -90.141582 42.000709, -90.179921 41.809016, -90.311367 41.743293, -90.344229 41.589939, -90.656414 41.463969, -91.045277 41.414677, -91.111001 41.239415, -90.946692 41.097014, -90.963123 40.921752, -91.09457 40.823167, -91.121954 40.669813, -91.401278 40.560274, -91.417709 40.379535, -91.527248 40.412397, -91.729895 40.615043, -91.833957 40.609566, -93.257961 40.582182, -94.632673 40.571228, -95.7664 40.587659, -95.881416 40.719105, -95.826646 40.976521, -95.925231 41.201076, -95.919754 41.453015, -96.095016 41.540646, -96.122401 41.67757, -96.062155 41.798063, -96.127878 41.973325, -96.264801 42.039048, -96.44554 42.488157, -96.631756 42.707235, -96.544125 42.855112, -96.511264 43.052282, -96.434587 43.123482, -96.560556 43.222067, -96.527695 43.397329, -96.582464 43.479483, -96.451017 43.501391, -91.368417 43.501391))\",\"population\":3271616},{\"name\":\"Kansas\",\"geometry\":\"POLYGON ((-101.90605 40.001626, -95.306337 40.001626, -95.207752 39.908518, -94.884612 39.831841, -95.109167 39.541563, -94.983197 39.442978, -94.824366 39.20747, -94.610765 39.158177, -94.616242 37.000263, -100.087706 37.000263, -102.042974 36.994786, -102.053927 40.001626, -101.90605 40.001626))\",\"population\":2937880},{\"name\":\"Kentucky\",\"geometry\":\"POLYGON ((-83.903347 38.769315, -83.678792 38.632391, -83.519961 38.703591, -83.142052 38.626914, -83.032514 38.725499, -82.890113 38.758361, -82.846298 38.588575, -82.731282 38.561191, -82.594358 38.424267, -82.621743 38.123036, -82.50125 37.931343, -82.342419 37.783465, -82.293127 37.668449, -82.101434 37.553434, -81.969987 37.537003, -82.353373 37.268633, -82.720328 37.120755, -82.720328 37.044078, -82.868205 36.978355, -82.879159 36.890724, -83.070852 36.852385, -83.136575 36.742847, -83.673316 36.600446, -83.689746 36.584015, -84.544149 36.594969, -85.289013 36.627831, -85.486183 36.616877, -86.592525 36.655216, -87.852221 36.633308, -88.071299 36.677123, -88.054868 36.496384, -89.298133 36.507338, -89.418626 36.496384, -89.363857 36.622354, -89.215979 36.578538, -89.133825 36.983832, -89.183118 37.038601, -89.029763 37.213863, -88.914747 37.224817, -88.547792 37.071463, -88.421823 37.153617, -88.514931 37.285064, -88.476592 37.389126, -88.065822 37.482234, -88.15893 37.657496, -88.027483 37.799896, -87.934375 37.893004, -87.682436 37.903958, -87.600282 37.975158, -87.512651 37.903958, -87.381204 37.93682, -87.129265 37.788942, -87.047111 37.893004, -86.795172 37.991589, -86.729448 37.893004, -86.504894 37.931343, -86.521325 38.040881, -86.302247 38.166851, -86.263908 38.051835, -86.039354 37.958727, -85.924338 38.024451, -85.83123 38.27639, -85.655968 38.325682, -85.590245 38.451652, -85.42046 38.533806, -85.431413 38.730976, -85.173997 38.68716, -84.987781 38.780268, -84.812519 38.785745, -84.894673 39.059592, -84.817996 39.103408, -84.43461 39.103408, -84.231963 38.895284, -84.215533 38.807653, -83.903347 38.769315))\",\"population\":4505836},{\"name\":\"Louisiana\",\"geometry\":\"POLYGON ((-93.608485 33.018527, -91.16577 33.002096, -91.072662 32.887081, -91.143862 32.843265, -91.154816 32.640618, -91.006939 32.514649, -90.985031 32.218894, -91.105524 31.988862, -91.341032 31.846462, -91.401278 31.621907, -91.499863 31.643815, -91.516294 31.27686, -91.636787 31.265906, -91.565587 31.068736, -91.636787 30.997536, -89.747242 30.997536, -89.845827 30.66892, -89.681519 30.449842, -89.643181 30.285534, -89.522688 30.181472, -89.818443 30.044549, -89.84035 29.945964, -89.599365 29.88024, -89.495303 30.039072, -89.287179 29.88024, -89.30361 29.754271, -89.424103 29.699501, -89.648657 29.748794, -89.621273 29.655686, -89.69795 29.513285, -89.506257 29.387316, -89.199548 29.348977, -89.09001 29.2011, -89.002379 29.179192, -89.16121 29.009407, -89.336472 29.042268, -89.484349 29.217531, -89.851304 29.310638, -89.851304 29.480424, -90.032043 29.425654, -90.021089 29.283254, -90.103244 29.151807, -90.23469 29.129899, -90.333275 29.277777, -90.563307 29.283254, -90.645461 29.129899, -90.798815 29.086084, -90.963123 29.179192, -91.09457 29.190146, -91.220539 29.436608, -91.445094 29.546147, -91.532725 29.529716, -91.620356 29.73784, -91.883249 29.710455, -91.888726 29.836425, -92.146142 29.715932, -92.113281 29.622824, -92.31045 29.535193, -92.617159 29.579009, -92.97316 29.715932, -93.2251 29.776178, -93.767317 29.726886, -93.838517 29.688547, -93.926148 29.787132, -93.690639 30.143133, -93.767317 30.334826, -93.696116 30.438888, -93.728978 30.575812, -93.630393 30.679874, -93.526331 30.93729, -93.542762 31.15089, -93.816609 31.556184, -93.822086 31.775262, -94.041164 31.994339, -94.041164 33.018527, -93.608485 33.018527))\",\"population\":4657757},{\"name\":\"Maine\",\"geometry\":\"POLYGON ((-70.703921 43.057759, -70.824413 43.128959, -70.807983 43.227544, -70.966814 43.34256, -71.032537 44.657025, -71.08183 45.303304, -70.649151 45.440228, -70.720352 45.511428, -70.556043 45.664782, -70.386258 45.735983, -70.41912 45.796229, -70.260289 45.889337, -70.309581 46.064599, -70.210996 46.327492, -70.057642 46.415123, -69.997395 46.694447, -69.225147 47.461219, -69.044408 47.428357, -69.033454 47.242141, -68.902007 47.176418, -68.578868 47.285957, -68.376221 47.285957, -68.233821 47.357157, -67.954497 47.198326, -67.790188 47.066879, -67.779235 45.944106, -67.801142 45.675736, -67.456095 45.604536, -67.505388 45.48952, -67.417757 45.379982, -67.488957 45.281397, -67.346556 45.128042, -67.16034 45.160904, -66.979601 44.804903, -67.187725 44.646072, -67.308218 44.706318, -67.406803 44.596779, -67.549203 44.624164, -67.565634 44.531056, -67.75185 44.54201, -68.047605 44.328409, -68.118805 44.476286, -68.222867 44.48724, -68.173574 44.328409, -68.403606 44.251732, -68.458375 44.377701, -68.567914 44.311978, -68.82533 44.311978, -68.830807 44.459856, -68.984161 44.426994, -68.956777 44.322932, -69.099177 44.103854, -69.071793 44.043608, -69.258008 43.923115, -69.444224 43.966931, -69.553763 43.840961, -69.707118 43.82453, -69.833087 43.720469, -69.986442 43.742376, -70.030257 43.851915, -70.254812 43.676653, -70.194565 43.567114, -70.358873 43.528776, -70.369827 43.435668, -70.556043 43.320652, -70.703921 43.057759))\",\"population\":1362359},{\"name\":\"Maryland\",\"geometry\":\"MULTIPOLYGON (((-75.994645 37.95325, -76.016553 37.95325, -76.043938 37.95325, -75.994645 37.95325)), ((-79.477979 39.722302, -75.786521 39.722302, -75.693413 38.462606, -75.047134 38.451652, -75.244304 38.029928, -75.397659 38.013497, -75.671506 37.95325, -75.885106 37.909435, -75.879629 38.073743, -75.961783 38.139466, -75.846768 38.210667, -76.000122 38.374975, -76.049415 38.303775, -76.257538 38.320205, -76.328738 38.500944, -76.263015 38.500944, -76.257538 38.736453, -76.191815 38.829561, -76.279446 39.147223, -76.169907 39.333439, -76.000122 39.366301, -75.972737 39.557994, -76.098707 39.536086, -76.104184 39.437501, -76.367077 39.311532, -76.443754 39.196516, -76.460185 38.906238, -76.55877 38.769315, -76.514954 38.539283, -76.383508 38.380452, -76.399939 38.259959, -76.317785 38.139466, -76.3616 38.057312, -76.591632 38.216144, -76.920248 38.292821, -77.018833 38.446175, -77.205049 38.358544, -77.276249 38.479037, -77.128372 38.632391, -77.040741 38.791222, -76.909294 38.895284, -77.035264 38.993869, -77.117418 38.933623, -77.248864 39.026731, -77.456988 39.076023, -77.456988 39.223901, -77.566527 39.306055, -77.719881 39.322485, -77.834897 39.601809, -78.004682 39.601809, -78.174467 39.694917, -78.267575 39.61824, -78.431884 39.623717, -78.470222 39.514178, -78.765977 39.585379, -78.963147 39.437501, -79.094593 39.470363, -79.291763 39.300578, -79.488933 39.20747, -79.477979 39.722302)))\",\"population\":6177224}]}"
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 16
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:50.826567Z",
"start_time": "2024-12-06T13:22:49.773783Z"
}
},
"cell_type": "code",
"source": [
"usaGeoPopulation.plot {\n",
" // crop out alaska and hawaii\n",
" x.axis.limits = -130..-65\n",
" y.axis.limits = 25..50\n",
"\n",
" geoMap {\n",
" tooltips(name, population)\n",
" fillColor(population) {\n",
" scale = continuousColorViridis()\n",
" }\n",
" borderLine {\n",
" width = 0.1\n",
" color = Color.BLACK\n",
" }\n",
" alpha = 0.5\n",
" layout.style(Style.Void)\n",
" }\n",
"}"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe src='about:blank' style='border:none !important;' width='600' height='400' srcdoc=\"&lt;html lang=&quot;en&quot;>\n",
" &lt;head>\n",
" &lt;meta charset=&quot;UTF-8&quot;>\n",
" &lt;style> html, body { margin: 0; overflow: hidden; } &lt;/style>\n",
" &lt;script type=&quot;text/javascript&quot; data-lets-plot-script=&quot;library&quot; src=&quot;https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.3.3/js-package/distr/lets-plot.min.js&quot;>&lt;/script>\n",
" &lt;/head>\n",
" &lt;body>\n",
" &lt;div id=&quot;NrdOnQ&quot;>&lt;/div>\n",
" &lt;script type=&quot;text/javascript&quot; data-lets-plot-script=&quot;plot&quot;>\n",
" var plotSpec={\n",
"&quot;mapping&quot;:{\n",
"},\n",
"&quot;coord&quot;:{\n",
"&quot;name&quot;:&quot;map&quot;,\n",
"&quot;xlim&quot;:[-130.0,-65.0],\n",
"&quot;flip&quot;:false,\n",
"&quot;ylim&quot;:[25.0,50.0]\n",
"},\n",
"&quot;kind&quot;:&quot;plot&quot;,\n",
"&quot;scales&quot;:[{\n",
"&quot;aesthetic&quot;:&quot;x&quot;,\n",
"&quot;limits&quot;:[null,null]\n",
"},{\n",
"&quot;aesthetic&quot;:&quot;y&quot;,\n",
"&quot;limits&quot;:[null,null]\n",
"},{\n",
"&quot;aesthetic&quot;:&quot;fill&quot;,\n",
"&quot;scale_mapper_kind&quot;:&quot;color_cmap&quot;,\n",
"&quot;end&quot;:1.0,\n",
"&quot;begin&quot;:0.0,\n",
"&quot;limits&quot;:[null,null],\n",
"&quot;option&quot;:&quot;viridis&quot;,\n",
"&quot;direction&quot;:1.0\n",
"},{\n",
"&quot;aesthetic&quot;:&quot;x&quot;,\n",
"&quot;limits&quot;:[null,null]\n",
"},{\n",
"&quot;aesthetic&quot;:&quot;y&quot;,\n",
"&quot;limits&quot;:[null,null]\n",
"}],\n",
"&quot;layers&quot;:[{\n",
"&quot;mapping&quot;:{\n",
"&quot;fill&quot;:&quot;population&quot;\n",
"},\n",
"&quot;stat&quot;:&quot;identity&quot;,\n",
"&quot;size&quot;:0.1,\n",
"&quot;color&quot;:&quot;#000000&quot;,\n",
"&quot;sampling&quot;:&quot;none&quot;,\n",
"&quot;alpha&quot;:0.5,\n",
"&quot;position&quot;:&quot;identity&quot;,\n",
"&quot;map_data_meta&quot;:{\n",
"&quot;geodataframe&quot;:{\n",
"&quot;geometry&quot;:&quot;geometry&quot;\n",
"}\n",
"},\n",
"&quot;geom&quot;:&quot;polygon&quot;,\n",
"&quot;map&quot;:{\n",
"&quot;name&quot;:[&quot;Alabama&quot;,&quot;Alaska&quot;,&quot;Arizona&quot;,&quot;Arkansas&quot;,&quot;California&quot;,&quot;Colorado&quot;,&quot;Connecticut&quot;,&quot;Delaware&quot;,&quot;Florida&quot;,&quot;Georgia&quot;,&quot;Hawaii&quot;,&quot;Idaho&quot;,&quot;Illinois&quot;,&quot;Indiana&quot;,&quot;Iowa&quot;,&quot;Kansas&quot;,&quot;Kentucky&quot;,&quot;Louisiana&quot;,&quot;Maine&quot;,&quot;Maryland&quot;,&quot;Massachusetts&quot;,&quot;Michigan&quot;,&quot;Minnesota&quot;,&quot;Mississippi&quot;,&quot;Missouri&quot;,&quot;Montana&quot;,&quot;Nebraska&quot;,&quot;Nevada&quot;,&quot;New Hampshire&quot;,&quot;New Jersey&quot;,&quot;New Mexico&quot;,&quot;New York&quot;,&quot;North Carolina&quot;,&quot;North Dakota&quot;,&quot;Ohio&quot;,&quot;Oklahoma&quot;,&quot;Oregon&quot;,&quot;Pennsylvania&quot;,&quot;Rhode Island&quot;,&quot;South Carolina&quot;,&quot;South Dakota&quot;,&quot;Tennessee&quot;,&quot;Texas&quot;,&quot;Utah&quot;,&quot;Vermont&quot;,&quot;Virginia&quot;,&quot;Washington&quot;,&quot;West Virginia&quot;,&quot;Wisconsin&quot;,&quot;Wyoming&quot;],\n",
"&quot;population&quot;:[5024279.0,733391.0,7151502.0,3011524.0,3.9538223E7,5773714.0,3605944.0,989948.0,2.1538187E7,1.0711908E7,1455271.0,1839106.0,1.2801989E7,6785528.0,3271616.0,2937880.0,4505836.0,4657757.0,1362359.0,6177224.0,7029917.0,1.0077331E7,5706494.0,2961279.0,6154913.0,1084225.0,1961504.0,3104614.0,1377529.0,9288994.0,2117522.0,2.0201249E7,1.0439388E7,779094.0,1.1799448E7,3959353.0,4237256.0,1.30027E7,1097379.0,5118425.0,886667.0,6910840.0,2.9145505E7,3205958.0,643077.0,8631393.0,7705281.0,1793716.0,5893718.0,576851.0],\n",
"&quot;geometry&quot;:[&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-87.359296,35.00118],[-85.606675,34.984749],[-85.431413,34.124869],[-85.184951,32.859696],[-85.069935,32.580372],[-84.960397,32.421541],[-85.004212,32.322956],[-84.889196,32.262709],[-85.058981,32.13674],[-85.053504,32.01077],[-85.141136,31.840985],[-85.042551,31.539753],[-85.113751,31.27686],[-85.004212,31.003013],[-85.497137,30.997536],[-87.600282,30.997536],[-87.633143,30.86609],[-87.408589,30.674397],[-87.446927,30.510088],[-87.37025,30.427934],[-87.518128,30.280057],[-87.655051,30.247195],[-87.90699,30.411504],[-87.934375,30.657966],[-88.011052,30.685351],[-88.10416,30.499135],[-88.137022,30.318396],[-88.394438,30.367688],[-88.471115,31.895754],[-88.241084,33.796253],[-88.098683,34.891641],[-88.202745,34.995703],[-87.359296,35.00118]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-131.602021,55.117982],[-131.569159,55.28229],[-131.355558,55.183705],[-131.38842,55.01392],[-131.645836,55.035827],[-131.602021,55.117982]]],[[[-131.832052,55.42469],[-131.645836,55.304197],[-131.749898,55.128935],[-131.832052,55.189182],[-131.832052,55.42469]]],[[[-132.976733,56.437924],[-132.735747,56.459832],[-132.631685,56.421493],[-132.664547,56.273616],[-132.878148,56.240754],[-133.069841,56.333862],[-132.976733,56.437924]]],[[[-133.595627,56.350293],[-133.162949,56.317431],[-133.05341,56.125739],[-132.620732,55.912138],[-132.472854,55.780691],[-132.4619,55.671152],[-132.357838,55.649245],[-132.341408,55.506844],[-132.166146,55.364444],[-132.144238,55.238474],[-132.029222,55.276813],[-131.97993,55.178228],[-131.958022,54.789365],[-132.029222,54.701734],[-132.308546,54.718165],[-132.385223,54.915335],[-132.483808,54.898904],[-132.686455,55.046781],[-132.746701,54.997489],[-132.916486,55.046781],[-132.889102,54.898904],[-132.73027,54.937242],[-132.626209,54.882473],[-132.675501,54.679826],[-132.867194,54.701734],[-133.157472,54.95915],[-133.239626,55.090597],[-133.223195,55.22752],[-133.453227,55.216566],[-133.453227,55.320628],[-133.277964,55.331582],[-133.102702,55.42469],[-133.17938,55.588998],[-133.387503,55.62186],[-133.420365,55.884753],[-133.497042,56.0162],[-133.639442,55.923092],[-133.694212,56.070969],[-133.546335,56.142169],[-133.666827,56.311955],[-133.595627,56.350293]]],[[[-133.738027,55.556137],[-133.546335,55.490413],[-133.414888,55.572568],[-133.283441,55.534229],[-133.420365,55.386352],[-133.633966,55.430167],[-133.738027,55.556137]]],[[[-133.907813,56.930849],[-134.050213,57.029434],[-133.885905,57.095157],[-133.343688,57.002049],[-133.102702,57.007526],[-132.932917,56.82131],[-132.620732,56.667956],[-132.653593,56.55294],[-132.817901,56.492694],[-133.042456,56.520078],[-133.201287,56.448878],[-133.420365,56.492694],[-133.66135,56.448878],[-133.710643,56.684386],[-133.688735,56.837741],[-133.869474,56.843218],[-133.907813,56.930849]]],[[[-134.115936,56.48174],[-134.25286,56.558417],[-134.400737,56.722725],[-134.417168,56.848695],[-134.296675,56.908941],[-134.170706,56.848695],[-134.143321,56.952757],[-133.748981,56.772017],[-133.710643,56.596755],[-133.847566,56.574848],[-133.935197,56.377678],[-133.836612,56.322908],[-133.957105,56.092877],[-134.110459,56.142169],[-134.132367,55.999769],[-134.230952,56.070969],[-134.291198,56.350293],[-134.115936,56.48174]]],[[[-134.636246,56.28457],[-134.669107,56.169554],[-134.806031,56.235277],[-135.178463,56.67891],[-135.413971,56.810356],[-135.331817,56.914418],[-135.424925,57.166357],[-135.687818,57.369004],[-135.419448,57.566174],[-135.298955,57.48402],[-135.063447,57.418296],[-134.849846,57.407343],[-134.844369,57.248511],[-134.636246,56.728202],[-134.636246,56.28457]]],[[[-134.712923,58.223407],[-134.373353,58.14673],[-134.176183,58.157683],[-134.187137,58.081006],[-133.902336,57.807159],[-134.099505,57.850975],[-134.148798,57.757867],[-133.935197,57.615466],[-133.869474,57.363527],[-134.083075,57.297804],[-134.154275,57.210173],[-134.499322,57.029434],[-134.603384,57.034911],[-134.6472,57.226604],[-134.575999,57.341619],[-134.608861,57.511404],[-134.729354,57.719528],[-134.707446,57.829067],[-134.784123,58.097437],[-134.91557,58.212453],[-134.953908,58.409623],[-134.712923,58.223407]]],[[[-135.857603,57.330665],[-135.715203,57.330665],[-135.567326,57.149926],[-135.633049,57.023957],[-135.857603,56.996572],[-135.824742,57.193742],[-135.857603,57.330665]]],[[[-136.279328,58.206976],[-135.978096,58.201499],[-135.780926,58.28913],[-135.496125,58.168637],[-135.64948,58.037191],[-135.59471,57.987898],[-135.45231,58.135776],[-135.107263,58.086483],[-134.91557,57.976944],[-135.025108,57.779775],[-134.937477,57.763344],[-134.822462,57.500451],[-135.085355,57.462112],[-135.572802,57.675713],[-135.556372,57.456635],[-135.709726,57.369004],[-135.890465,57.407343],[-136.000004,57.544266],[-136.208128,57.637374],[-136.366959,57.829067],[-136.569606,57.916698],[-136.558652,58.075529],[-136.421728,58.130299],[-136.377913,58.267222],[-136.279328,58.206976]]],[[[-147.079854,60.200582],[-147.501579,59.948643],[-147.53444,59.850058],[-147.874011,59.784335],[-147.80281,59.937689],[-147.435855,60.09652],[-147.205824,60.271782],[-147.079854,60.200582]]],[[[-147.561825,60.578491],[-147.616594,60.370367],[-147.758995,60.156767],[-147.956165,60.227967],[-147.791856,60.474429],[-147.561825,60.578491]]],[[[-147.786379,70.245291],[-147.682318,70.201475],[-147.162008,70.15766],[-146.888161,70.185044],[-146.510252,70.185044],[-146.099482,70.146706],[-145.858496,70.168614],[-145.622988,70.08646],[-145.195787,69.993352],[-144.620708,69.971444],[-144.461877,70.026213],[-144.078491,70.059075],[-143.914183,70.130275],[-143.497935,70.141229],[-143.503412,70.091936],[-143.25695,70.119321],[-142.747594,70.042644],[-142.402547,69.916674],[-142.079408,69.856428],[-142.008207,69.801659],[-141.712453,69.790705],[-141.433129,69.697597],[-141.378359,69.63735],[-141.208574,69.686643],[-141.00045,69.648304],[-141.00045,60.304644],[-140.53491,60.22249],[-140.474664,60.310121],[-139.987216,60.184151],[-139.696939,60.342983],[-139.088998,60.359413],[-139.198537,60.091043],[-139.045183,59.997935],[-138.700135,59.910304],[-138.623458,59.767904],[-137.604747,59.242118],[-137.445916,58.908024],[-137.265177,59.001132],[-136.827022,59.159963],[-136.580559,59.16544],[-136.465544,59.285933],[-136.476498,59.466672],[-136.301236,59.466672],[-136.25742,59.625503],[-135.945234,59.663842],[-135.479694,59.800766],[-135.025108,59.565257],[-135.068924,59.422857],[-134.959385,59.280456],[-134.701969,59.247595],[-134.378829,59.033994],[-134.400737,58.973748],[-134.25286,58.858732],[-133.842089,58.727285],[-133.173903,58.152206],[-133.075318,57.998852],[-132.867194,57.845498],[-132.560485,57.505928],[-132.253777,57.21565],[-132.368792,57.095157],[-132.05113,57.051341],[-132.127807,56.876079],[-131.870391,56.804879],[-131.837529,56.602232],[-131.580113,56.613186],[-131.087188,56.405062],[-130.78048,56.366724],[-130.621648,56.268139],[-130.468294,56.240754],[-130.424478,56.142169],[-130.101339,56.114785],[-130.002754,55.994292],[-130.150631,55.769737],[-130.128724,55.583521],[-129.986323,55.276813],[-130.095862,55.200136],[-130.336847,54.920812],[-130.687372,54.718165],[-130.785957,54.822227],[-130.917403,54.789365],[-131.010511,54.997489],[-130.983126,55.08512],[-131.092665,55.189182],[-130.862634,55.298721],[-130.928357,55.337059],[-131.158389,55.200136],[-131.284358,55.287767],[-131.426759,55.238474],[-131.843006,55.457552],[-131.700606,55.698537],[-131.963499,55.616383],[-131.974453,55.49589],[-132.182576,55.588998],[-132.226392,55.704014],[-132.083991,55.829984],[-132.127807,55.955953],[-132.324977,55.851892],[-132.522147,56.076446],[-132.642639,56.032631],[-132.719317,56.218847],[-132.527624,56.339339],[-132.341408,56.339339],[-132.396177,56.487217],[-132.297592,56.67891],[-132.450946,56.673433],[-132.768609,56.837741],[-132.993164,57.034911],[-133.51895,57.177311],[-133.507996,57.577128],[-133.677781,57.62642],[-133.639442,57.790728],[-133.814705,57.834544],[-134.072121,58.053622],[-134.143321,58.168637],[-134.586953,58.206976],[-135.074401,58.502731],[-135.282525,59.192825],[-135.38111,59.033994],[-135.337294,58.891593],[-135.140124,58.617746],[-135.189417,58.573931],[-135.05797,58.349376],[-135.085355,58.201499],[-135.277048,58.234361],[-135.430402,58.398669],[-135.633049,58.426053],[-135.91785,58.382238],[-135.912373,58.617746],[-136.087635,58.814916],[-136.246466,58.75467],[-136.876314,58.962794],[-136.931084,58.902547],[-136.586036,58.836824],[-136.317666,58.672516],[-136.213604,58.667039],[-136.180743,58.535592],[-136.043819,58.382238],[-136.388867,58.294607],[-136.591513,58.349376],[-136.59699,58.212453],[-136.859883,58.316515],[-136.947514,58.393192],[-137.111823,58.393192],[-137.566409,58.590362],[-137.900502,58.765624],[-137.933364,58.869686],[-138.11958,59.02304],[-138.634412,59.132579],[-138.919213,59.247595],[-139.417615,59.379041],[-139.746231,59.505011],[-139.718846,59.641934],[-139.625738,59.598119],[-139.5162,59.68575],[-139.625738,59.88292],[-139.488815,59.992458],[-139.554538,60.041751],[-139.801,59.833627],[-140.315833,59.696704],[-140.92925,59.745996],[-141.444083,59.871966],[-141.46599,59.970551],[-141.706976,59.948643],[-141.964392,60.019843],[-142.539471,60.085566],[-142.873564,60.091043],[-143.623905,60.036274],[-143.892275,59.997935],[-144.231845,60.140336],[-144.65357,60.206059],[-144.785016,60.29369],[-144.834309,60.441568],[-145.124586,60.430614],[-145.223171,60.299167],[-145.738004,60.474429],[-145.820158,60.551106],[-146.351421,60.408706],[-146.608837,60.238921],[-146.718376,60.397752],[-146.608837,60.485383],[-146.455483,60.463475],[-145.951604,60.578491],[-146.017328,60.666122],[-146.252836,60.622307],[-146.345944,60.737322],[-146.565022,60.753753],[-146.784099,61.044031],[-146.866253,60.972831],[-147.172962,60.934492],[-147.271547,60.972831],[-147.375609,60.879723],[-147.758995,60.912584],[-147.775426,60.808523],[-148.032842,60.781138],[-148.153334,60.819476],[-148.065703,61.005692],[-148.175242,61.000215],[-148.350504,60.803046],[-148.109519,60.737322],[-148.087611,60.594922],[-147.939734,60.441568],[-148.027365,60.277259],[-148.219058,60.332029],[-148.273827,60.249875],[-148.087611,60.217013],[-147.983549,59.997935],[-148.251919,59.95412],[-148.399797,59.997935],[-148.635305,59.937689],[-148.755798,59.986981],[-149.067984,59.981505],[-149.05703,60.063659],[-149.204907,60.008889],[-149.287061,59.904827],[-149.418508,59.997935],[-149.582816,59.866489],[-149.511616,59.806242],[-149.741647,59.729565],[-149.949771,59.718611],[-150.031925,59.61455],[-150.25648,59.521442],[-150.409834,59.554303],[-150.579619,59.444764],[-150.716543,59.450241],[-151.001343,59.225687],[-151.308052,59.209256],[-151.406637,59.280456],[-151.592853,59.159963],[-151.976239,59.253071],[-151.888608,59.422857],[-151.636669,59.483103],[-151.47236,59.472149],[-151.423068,59.537872],[-151.127313,59.669319],[-151.116359,59.778858],[-151.505222,59.63098],[-151.828361,59.718611],[-151.8667,59.778858],[-151.702392,60.030797],[-151.423068,60.211536],[-151.379252,60.359413],[-151.297098,60.386798],[-151.264237,60.545629],[-151.406637,60.720892],[-151.06159,60.786615],[-150.404357,61.038554],[-150.245526,60.939969],[-150.042879,60.912584],[-149.741647,61.016646],[-150.075741,61.15357],[-150.207187,61.257632],[-150.47008,61.246678],[-150.656296,61.29597],[-150.711066,61.252155],[-151.023251,61.180954],[-151.165652,61.044031],[-151.477837,61.011169],[-151.800977,60.852338],[-151.833838,60.748276],[-152.080301,60.693507],[-152.13507,60.578491],[-152.310332,60.507291],[-152.392486,60.304644],[-152.732057,60.173197],[-152.567748,60.069136],[-152.704672,59.915781],[-153.022334,59.888397],[-153.049719,59.691227],[-153.345474,59.620026],[-153.438582,59.702181],[-153.586459,59.548826],[-153.761721,59.543349],[-153.72886,59.433811],[-154.117723,59.368087],[-154.1944,59.066856],[-153.750768,59.050425],[-153.400243,58.968271],[-153.301658,58.869686],[-153.444059,58.710854],[-153.679567,58.612269],[-153.898645,58.606793],[-153.920553,58.519161],[-154.062953,58.4863],[-153.99723,58.376761],[-154.145107,58.212453],[-154.46277,58.059098],[-154.643509,58.059098],[-154.818771,58.004329],[-154.988556,58.015283],[-155.120003,57.955037],[-155.081664,57.872883],[-155.328126,57.829067],[-155.377419,57.708574],[-155.547204,57.785251],[-155.73342,57.549743],[-156.045606,57.566174],[-156.023698,57.440204],[-156.209914,57.473066],[-156.34136,57.418296],[-156.34136,57.248511],[-156.549484,56.985618],[-156.883577,56.952757],[-157.157424,56.832264],[-157.20124,56.766541],[-157.376502,56.859649],[-157.672257,56.607709],[-157.754411,56.67891],[-157.918719,56.657002],[-157.957058,56.514601],[-158.126843,56.459832],[-158.32949,56.48174],[-158.488321,56.339339],[-158.208997,56.295524],[-158.510229,55.977861],[-159.375585,55.873799],[-159.616571,55.594475],[-159.676817,55.654722],[-159.643955,55.829984],[-159.813741,55.857368],[-160.027341,55.791645],[-160.060203,55.720445],[-160.394296,55.605429],[-160.536697,55.473983],[-160.580512,55.567091],[-160.668143,55.457552],[-160.865313,55.528752],[-161.232268,55.358967],[-161.506115,55.364444],[-161.467776,55.49589],[-161.588269,55.62186],[-161.697808,55.517798],[-161.686854,55.408259],[-162.053809,55.074166],[-162.179779,55.15632],[-162.218117,55.03035],[-162.470057,55.052258],[-162.508395,55.249428],[-162.661749,55.293244],[-162.716519,55.222043],[-162.579595,55.134412],[-162.645319,54.997489],[-162.847965,54.926289],[-163.00132,55.079643],[-163.187536,55.090597],[-163.220397,55.03035],[-163.034181,54.942719],[-163.373752,54.800319],[-163.14372,54.76198],[-163.138243,54.696257],[-163.329936,54.74555],[-163.587352,54.614103],[-164.085754,54.61958],[-164.332216,54.531949],[-164.354124,54.466226],[-164.638925,54.389548],[-164.847049,54.416933],[-164.918249,54.603149],[-164.710125,54.663395],[-164.551294,54.88795],[-164.34317,54.893427],[-163.894061,55.041304],[-163.532583,55.046781],[-163.39566,54.904381],[-163.291598,55.008443],[-163.313505,55.128935],[-163.105382,55.183705],[-162.880827,55.183705],[-162.579595,55.446598],[-162.245502,55.682106],[-161.807347,55.89023],[-161.292514,55.983338],[-161.078914,55.939523],[-160.87079,55.999769],[-160.816021,55.912138],[-160.931036,55.813553],[-160.805067,55.736876],[-160.766728,55.857368],[-160.509312,55.868322],[-160.438112,55.791645],[-160.27928,55.76426],[-160.273803,55.857368],[-160.536697,55.939523],[-160.558604,55.994292],[-160.383342,56.251708],[-160.147834,56.399586],[-159.830171,56.541986],[-159.326293,56.667956],[-158.959338,56.848695],[-158.784076,56.782971],[-158.641675,56.810356],[-158.701922,56.925372],[-158.658106,57.034911],[-158.378782,57.264942],[-157.995396,57.41282],[-157.688688,57.609989],[-157.705118,57.719528],[-157.458656,58.497254],[-157.07527,58.705377],[-157.119086,58.869686],[-158.039212,58.634177],[-158.32949,58.661562],[-158.40069,58.760147],[-158.564998,58.803962],[-158.619768,58.913501],[-158.767645,58.864209],[-158.860753,58.694424],[-158.701922,58.480823],[-158.893615,58.387715],[-159.0634,58.420577],[-159.392016,58.760147],[-159.616571,58.929932],[-159.731586,58.929932],[-159.808264,58.803962],[-159.906848,58.782055],[-160.054726,58.886116],[-160.235465,58.902547],[-160.317619,59.072332],[-160.854359,58.88064],[-161.33633,58.743716],[-161.374669,58.667039],[-161.752577,58.552023],[-161.938793,58.656085],[-161.769008,58.776578],[-161.829255,59.061379],[-161.955224,59.36261],[-161.703285,59.48858],[-161.911409,59.740519],[-162.092148,59.88292],[-162.234548,60.091043],[-162.448149,60.178674],[-162.502918,59.997935],[-162.760334,59.959597],[-163.171105,59.844581],[-163.66403,59.795289],[-163.9324,59.806242],[-164.162431,59.866489],[-164.189816,60.02532],[-164.386986,60.074613],[-164.699171,60.29369],[-164.962064,60.337506],[-165.268773,60.578491],[-165.060649,60.68803],[-165.016834,60.890677],[-165.175665,60.846861],[-165.197573,60.972831],[-165.120896,61.076893],[-165.323543,61.170001],[-165.34545,61.071416],[-165.591913,61.109754],[-165.624774,61.279539],[-165.816467,61.301447],[-165.920529,61.416463],[-165.915052,61.558863],[-166.106745,61.49314],[-166.139607,61.630064],[-165.904098,61.662925],[-166.095791,61.81628],[-165.756221,61.827233],[-165.756221,62.013449],[-165.674067,62.139419],[-165.044219,62.539236],[-164.912772,62.659728],[-164.819664,62.637821],[-164.874433,62.807606],[-164.633448,63.097884],[-164.425324,63.212899],[-164.036462,63.262192],[-163.73523,63.212899],[-163.313505,63.037637],[-163.039658,63.059545],[-162.661749,63.22933],[-162.272887,63.486746],[-162.075717,63.514131],[-162.026424,63.448408],[-161.555408,63.448408],[-161.13916,63.503177],[-160.766728,63.771547],[-160.766728,63.837271],[-160.952944,64.08921],[-160.974852,64.237087],[-161.26513,64.395918],[-161.374669,64.532842],[-161.078914,64.494503],[-160.79959,64.609519],[-160.783159,64.719058],[-161.144637,64.921705],[-161.413007,64.762873],[-161.664946,64.790258],[-161.900455,64.702627],[-162.168825,64.680719],[-162.234548,64.620473],[-162.541257,64.532842],[-162.634365,64.384965],[-162.787719,64.324718],[-162.858919,64.49998],[-163.045135,64.538319],[-163.176582,64.401395],[-163.253259,64.467119],[-163.598306,64.565704],[-164.304832,64.560227],[-164.80871,64.450688],[-165.000403,64.434257],[-165.411174,64.49998],[-166.188899,64.576658],[-166.391546,64.636904],[-166.484654,64.735489],[-166.413454,64.872412],[-166.692778,64.987428],[-166.638008,65.113398],[-166.462746,65.179121],[-166.517516,65.337952],[-166.796839,65.337952],[-167.026871,65.381768],[-167.47598,65.414629],[-167.711489,65.496784],[-168.072967,65.578938],[-168.105828,65.682999],[-167.541703,65.819923],[-166.829701,66.049954],[-166.3313,66.186878],[-166.046499,66.110201],[-165.756221,66.09377],[-165.690498,66.203309],[-165.86576,66.21974],[-165.88219,66.312848],[-165.186619,66.466202],[-164.403417,66.581218],[-163.981692,66.592172],[-163.751661,66.553833],[-163.872153,66.389525],[-163.828338,66.274509],[-163.915969,66.192355],[-163.768091,66.060908],[-163.494244,66.082816],[-163.149197,66.060908],[-162.749381,66.088293],[-162.634365,66.039001],[-162.371472,66.028047],[-162.14144,66.077339],[-161.840208,66.02257],[-161.549931,66.241647],[-161.341807,66.252601],[-161.199406,66.208786],[-161.128206,66.334755],[-161.528023,66.395002],[-161.911409,66.345709],[-161.87307,66.510017],[-162.174302,66.68528],[-162.502918,66.740049],[-162.601503,66.89888],[-162.344087,66.937219],[-162.015471,66.778388],[-162.075717,66.652418],[-161.916886,66.553833],[-161.571838,66.438817],[-161.489684,66.55931],[-161.884024,66.718141],[-161.714239,67.002942],[-161.851162,67.052235],[-162.240025,66.991988],[-162.639842,67.008419],[-162.700088,67.057712],[-162.902735,67.008419],[-163.740707,67.128912],[-163.757138,67.254881],[-164.009077,67.534205],[-164.211724,67.638267],[-164.534863,67.725898],[-165.192096,67.966884],[-165.493328,68.059992],[-165.794559,68.081899],[-166.243668,68.246208],[-166.681824,68.339316],[-166.703731,68.372177],[-166.375115,68.42147],[-166.227238,68.574824],[-166.216284,68.881533],[-165.329019,68.859625],[-164.255539,68.930825],[-163.976215,68.985595],[-163.532583,69.138949],[-163.110859,69.374457],[-163.023228,69.609966],[-162.842489,69.812613],[-162.470057,69.982398],[-162.311225,70.108367],[-161.851162,70.311014],[-161.779962,70.256245],[-161.396576,70.239814],[-160.837928,70.343876],[-160.487404,70.453415],[-159.649432,70.792985],[-159.33177,70.809416],[-159.298908,70.760123],[-158.975769,70.798462],[-158.658106,70.787508],[-158.033735,70.831323],[-157.420318,70.979201],[-156.812377,71.285909],[-156.565915,71.351633],[-156.522099,71.296863],[-155.585543,71.170894],[-155.508865,71.083263],[-155.832005,70.968247],[-155.979882,70.96277],[-155.974405,70.809416],[-155.503388,70.858708],[-155.476004,70.940862],[-155.262403,71.017539],[-155.191203,70.973724],[-155.032372,71.148986],[-154.566832,70.990155],[-154.643509,70.869662],[-154.353231,70.8368],[-154.183446,70.7656],[-153.931507,70.880616],[-153.487874,70.886093],[-153.235935,70.924431],[-152.589656,70.886093],[-152.26104,70.842277],[-152.419871,70.606769],[-151.817408,70.546523],[-151.773592,70.486276],[-151.187559,70.382214],[-151.182082,70.431507],[-150.760358,70.49723],[-150.355064,70.491753],[-150.349588,70.436984],[-150.114079,70.431507],[-149.867617,70.508184],[-149.462323,70.519138],[-149.177522,70.486276],[-148.78866,70.404122],[-148.607921,70.420553],[-148.350504,70.305537],[-148.202627,70.349353],[-147.961642,70.316491],[-147.786379,70.245291]]],[[[-152.94018,58.026237],[-152.945657,57.982421],[-153.290705,58.048145],[-153.044242,58.305561],[-152.819688,58.327469],[-152.666333,58.562977],[-152.496548,58.354853],[-152.354148,58.426053],[-152.080301,58.311038],[-152.080301,58.152206],[-152.480117,58.130299],[-152.655379,58.059098],[-152.94018,58.026237]]],[[[-153.958891,57.538789],[-153.67409,57.670236],[-153.931507,57.69762],[-153.936983,57.812636],[-153.723383,57.889313],[-153.570028,57.834544],[-153.548121,57.719528],[-153.46049,57.796205],[-153.455013,57.96599],[-153.268797,57.889313],[-153.235935,57.998852],[-153.071627,57.933129],[-152.874457,57.933129],[-152.721103,57.993375],[-152.469163,57.889313],[-152.469163,57.599035],[-152.151501,57.620943],[-152.359625,57.42925],[-152.74301,57.505928],[-152.60061,57.379958],[-152.710149,57.275896],[-152.907319,57.325188],[-152.912796,57.128019],[-153.214027,57.073249],[-153.312612,56.991095],[-153.498828,57.067772],[-153.695998,56.859649],[-153.849352,56.837741],[-154.013661,56.744633],[-154.073907,56.969187],[-154.303938,56.848695],[-154.314892,56.919895],[-154.523016,56.991095],[-154.539447,57.193742],[-154.742094,57.275896],[-154.627078,57.511404],[-154.227261,57.659282],[-153.980799,57.648328],[-153.958891,57.538789]]],[[[-154.53397,56.602232],[-154.742094,56.399586],[-154.807817,56.432447],[-154.53397,56.602232]]],[[[-155.634835,55.923092],[-155.476004,55.912138],[-155.530773,55.704014],[-155.793666,55.731399],[-155.837482,55.802599],[-155.634835,55.923092]]],[[[-159.890418,55.28229],[-159.950664,55.068689],[-160.257373,54.893427],[-160.109495,55.161797],[-160.005433,55.134412],[-159.890418,55.28229]]],[[[-160.520266,55.358967],[-160.33405,55.358967],[-160.339527,55.249428],[-160.525743,55.128935],[-160.690051,55.211089],[-160.794113,55.134412],[-160.854359,55.320628],[-160.79959,55.380875],[-160.520266,55.358967]]],[[[-162.256456,54.981058],[-162.234548,54.893427],[-162.349564,54.838658],[-162.437195,54.931766],[-162.256456,54.981058]]],[[[-162.415287,63.634624],[-162.563165,63.536039],[-162.612457,63.62367],[-162.415287,63.634624]]],[[[-162.80415,54.488133],[-162.590549,54.449795],[-162.612457,54.367641],[-162.782242,54.373118],[-162.80415,54.488133]]],[[[-165.548097,54.29644],[-165.476897,54.181425],[-165.630251,54.132132],[-165.685021,54.252625],[-165.548097,54.29644]]],[[[-165.73979,54.15404],[-166.046499,54.044501],[-166.112222,54.121178],[-165.980775,54.219763],[-165.73979,54.15404]]],[[[-166.364161,60.359413],[-166.13413,60.397752],[-166.084837,60.326552],[-165.88219,60.342983],[-165.685021,60.277259],[-165.646682,59.992458],[-165.750744,59.89935],[-166.00816,59.844581],[-166.062929,59.745996],[-166.440838,59.855535],[-166.6161,59.850058],[-166.994009,59.992458],[-167.125456,59.992458],[-167.344534,60.074613],[-167.421211,60.206059],[-167.311672,60.238921],[-166.93924,60.206059],[-166.763978,60.310121],[-166.577762,60.321075],[-166.495608,60.392275],[-166.364161,60.359413]]],[[[-166.375115,54.01164],[-166.210807,53.934962],[-166.5449,53.748746],[-166.539423,53.715885],[-166.117699,53.852808],[-166.112222,53.776131],[-166.282007,53.683023],[-166.555854,53.622777],[-166.583239,53.529669],[-166.878994,53.431084],[-167.13641,53.425607],[-167.306195,53.332499],[-167.623857,53.250345],[-167.793643,53.337976],[-167.459549,53.442038],[-167.355487,53.425607],[-167.103548,53.513238],[-167.163794,53.611823],[-167.021394,53.715885],[-166.807793,53.666592],[-166.785886,53.732316],[-167.015917,53.754223],[-167.141887,53.825424],[-167.032348,53.945916],[-166.643485,54.017116],[-166.561331,53.880193],[-166.375115,54.01164]]],[[[-168.790446,53.157237],[-168.40706,53.34893],[-168.385152,53.431084],[-168.237275,53.524192],[-168.007243,53.568007],[-167.886751,53.518715],[-167.842935,53.387268],[-168.270136,53.244868],[-168.500168,53.036744],[-168.686384,52.965544],[-168.790446,53.157237]]],[[[-169.74891,52.894344],[-169.705095,52.795759],[-169.962511,52.790282],[-169.989896,52.856005],[-169.74891,52.894344]]],[[[-170.148727,57.221127],[-170.28565,57.128019],[-170.313035,57.221127],[-170.148727,57.221127]]],[[[-170.669036,52.697174],[-170.603313,52.604066],[-170.789529,52.538343],[-170.816914,52.636928],[-170.669036,52.697174]]],[[[-171.742517,63.716778],[-170.94836,63.5689],[-170.488297,63.69487],[-170.280174,63.683916],[-170.093958,63.612716],[-170.044665,63.492223],[-169.644848,63.4265],[-169.518879,63.366254],[-168.99857,63.338869],[-168.686384,63.295053],[-168.856169,63.147176],[-169.108108,63.180038],[-169.376478,63.152653],[-169.513402,63.08693],[-169.639372,62.939052],[-169.831064,63.075976],[-170.055619,63.169084],[-170.263743,63.180038],[-170.362328,63.2841],[-170.866206,63.415546],[-171.101715,63.421023],[-171.463193,63.306007],[-171.73704,63.366254],[-171.852055,63.486746],[-171.742517,63.716778]]],[[[-172.432611,52.390465],[-172.41618,52.275449],[-172.607873,52.253542],[-172.569535,52.352127],[-172.432611,52.390465]]],[[[-173.626584,52.14948],[-173.495138,52.105664],[-173.122706,52.111141],[-173.106275,52.07828],[-173.549907,52.028987],[-173.626584,52.14948]]],[[[-174.322156,52.280926],[-174.327632,52.379511],[-174.185232,52.41785],[-173.982585,52.319265],[-174.059262,52.226157],[-174.179755,52.231634],[-174.141417,52.127572],[-174.333109,52.116618],[-174.738403,52.007079],[-174.968435,52.039941],[-174.902711,52.116618],[-174.656249,52.105664],[-174.322156,52.280926]]],[[[-176.469116,51.853725],[-176.288377,51.870156],[-176.288377,51.744186],[-176.518409,51.760617],[-176.80321,51.61274],[-176.912748,51.80991],[-176.792256,51.815386],[-176.775825,51.963264],[-176.627947,51.968741],[-176.627947,51.859202],[-176.469116,51.853725]]],[[[-177.153734,51.946833],[-177.044195,51.897541],[-177.120872,51.727755],[-177.274226,51.678463],[-177.279703,51.782525],[-177.153734,51.946833]]],[[[-178.123152,51.919448],[-177.953367,51.913971],[-177.800013,51.793479],[-177.964321,51.651078],[-178.123152,51.919448]]],[[[-186.892443,52.992929],[-186.706227,52.927205],[-186.695274,52.823143],[-187.09509,52.762897],[-187.357983,52.927205],[-187.357983,53.003883],[-186.892443,52.992929]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-109.042503,37.000263],[-109.04798,31.331629],[-111.074448,31.331629],[-112.246513,31.704061],[-114.815198,32.492741],[-114.72209,32.717295],[-114.524921,32.755634],[-114.470151,32.843265],[-114.524921,33.029481],[-114.661844,33.034958],[-114.727567,33.40739],[-114.524921,33.54979],[-114.497536,33.697668],[-114.535874,33.933176],[-114.415382,34.108438],[-114.256551,34.174162],[-114.136058,34.305608],[-114.333228,34.448009],[-114.470151,34.710902],[-114.634459,34.87521],[-114.634459,35.00118],[-114.574213,35.138103],[-114.596121,35.324319],[-114.678275,35.516012],[-114.738521,36.102045],[-114.371566,36.140383],[-114.251074,36.01989],[-114.152489,36.025367],[-114.048427,36.195153],[-114.048427,37.000263],[-110.499369,37.00574],[-109.042503,37.000263]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-94.473842,36.501861],[-90.152536,36.496384],[-90.064905,36.304691],[-90.218259,36.184199],[-90.377091,35.997983],[-89.730812,35.997983],[-89.763673,35.811767],[-89.911551,35.756997],[-89.944412,35.603643],[-90.130628,35.439335],[-90.114197,35.198349],[-90.212782,35.023087],[-90.311367,34.995703],[-90.251121,34.908072],[-90.409952,34.831394],[-90.481152,34.661609],[-90.585214,34.617794],[-90.568783,34.420624],[-90.749522,34.365854],[-90.744046,34.300131],[-90.952169,34.135823],[-90.891923,34.026284],[-91.072662,33.867453],[-91.231493,33.560744],[-91.056231,33.429298],[-91.143862,33.347144],[-91.089093,33.13902],[-91.16577,33.002096],[-93.608485,33.018527],[-94.041164,33.018527],[-94.041164,33.54979],[-94.183564,33.593606],[-94.380734,33.544313],[-94.484796,33.637421],[-94.430026,35.395519],[-94.616242,36.501861],[-94.473842,36.501861]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-123.233256,42.006186],[-122.378853,42.011663],[-121.037003,41.995232],[-120.001861,41.995232],[-119.996384,40.264519],[-120.001861,38.999346],[-118.71478,38.101128],[-117.498899,37.21934],[-116.540435,36.501861],[-115.85034,35.970598],[-114.634459,35.00118],[-114.634459,34.87521],[-114.470151,34.710902],[-114.333228,34.448009],[-114.136058,34.305608],[-114.256551,34.174162],[-114.415382,34.108438],[-114.535874,33.933176],[-114.497536,33.697668],[-114.524921,33.54979],[-114.727567,33.40739],[-114.661844,33.034958],[-114.524921,33.029481],[-114.470151,32.843265],[-114.524921,32.755634],[-114.72209,32.717295],[-116.04751,32.624187],[-117.126467,32.536556],[-117.24696,32.668003],[-117.252437,32.876127],[-117.329114,33.122589],[-117.471515,33.297851],[-117.7837,33.538836],[-118.183517,33.763391],[-118.260194,33.703145],[-118.413548,33.741483],[-118.391641,33.840068],[-118.566903,34.042715],[-118.802411,33.998899],[-119.218659,34.146777],[-119.278905,34.26727],[-119.558229,34.415147],[-119.875891,34.40967],[-120.138784,34.475393],[-120.472878,34.448009],[-120.64814,34.579455],[-120.609801,34.858779],[-120.670048,34.902595],[-120.631709,35.099764],[-120.894602,35.247642],[-120.905556,35.450289],[-121.004141,35.461243],[-121.168449,35.636505],[-121.283465,35.674843],[-121.332757,35.784382],[-121.716143,36.195153],[-121.896882,36.315645],[-121.935221,36.638785],[-121.858544,36.6114],[-121.787344,36.803093],[-121.929744,36.978355],[-122.105006,36.956447],[-122.335038,37.115279],[-122.417192,37.241248],[-122.400761,37.361741],[-122.515777,37.520572],[-122.515777,37.783465],[-122.329561,37.783465],[-122.406238,38.15042],[-122.488392,38.112082],[-122.504823,37.931343],[-122.701993,37.893004],[-122.937501,38.029928],[-122.97584,38.265436],[-123.129194,38.451652],[-123.331841,38.566668],[-123.44138,38.698114],[-123.737134,38.95553],[-123.687842,39.032208],[-123.824765,39.366301],[-123.764519,39.552517],[-123.85215,39.831841],[-124.109566,40.105688],[-124.361506,40.259042],[-124.410798,40.439781],[-124.158859,40.877937],[-124.109566,41.025814],[-124.158859,41.14083],[-124.065751,41.442061],[-124.147905,41.715908],[-124.257444,41.781632],[-124.213628,42.000709],[-123.233256,42.006186]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-107.919731,41.003906],[-105.728954,40.998429],[-104.053011,41.003906],[-102.053927,41.003906],[-102.053927,40.001626],[-102.042974,36.994786],[-103.001438,37.000263],[-104.337812,36.994786],[-106.868158,36.994786],[-107.421329,37.000263],[-109.042503,37.000263],[-109.042503,38.166851],[-109.058934,38.27639],[-109.053457,39.125316],[-109.04798,40.998429],[-107.919731,41.003906]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-73.053528,42.039048],[-71.799309,42.022617],[-71.799309,42.006186],[-71.799309,41.414677],[-71.859555,41.321569],[-71.947186,41.338],[-72.385341,41.261322],[-72.905651,41.28323],[-73.130205,41.146307],[-73.371191,41.102491],[-73.655992,40.987475],[-73.727192,41.102491],[-73.48073,41.21203],[-73.55193,41.294184],[-73.486206,42.050002],[-73.053528,42.039048]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-75.414089,39.804456],[-75.507197,39.683964],[-75.611259,39.61824],[-75.589352,39.459409],[-75.441474,39.311532],[-75.403136,39.065069],[-75.189535,38.807653],[-75.09095,38.796699],[-75.047134,38.451652],[-75.693413,38.462606],[-75.786521,39.722302],[-75.616736,39.831841],[-75.414089,39.804456]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-85.497137,30.997536],[-85.004212,31.003013],[-84.867289,30.712735],[-83.498053,30.647012],[-82.216449,30.570335],[-82.167157,30.356734],[-82.046664,30.362211],[-82.002849,30.564858],[-82.041187,30.751074],[-81.948079,30.827751],[-81.718048,30.745597],[-81.444201,30.707258],[-81.383954,30.27458],[-81.257985,29.787132],[-80.967707,29.14633],[-80.524075,28.461713],[-80.589798,28.41242],[-80.56789,28.094758],[-80.381674,27.738757],[-80.091397,27.021277],[-80.03115,26.796723],[-80.036627,26.566691],[-80.146166,25.739673],[-80.239274,25.723243],[-80.337859,25.465826],[-80.304997,25.383672],[-80.49669,25.197456],[-80.573367,25.241272],[-80.759583,25.164595],[-81.077246,25.120779],[-81.170354,25.224841],[-81.126538,25.378195],[-81.351093,25.821827],[-81.526355,25.903982],[-81.679709,25.843735],[-81.800202,26.090198],[-81.833064,26.292844],[-82.041187,26.517399],[-82.09048,26.665276],[-82.057618,26.878877],[-82.172634,26.917216],[-82.145249,26.791246],[-82.249311,26.758384],[-82.566974,27.300601],[-82.692943,27.437525],[-82.391711,27.837342],[-82.588881,27.815434],[-82.720328,27.689464],[-82.851774,27.886634],[-82.676512,28.434328],[-82.643651,28.888914],[-82.764143,28.998453],[-82.802482,29.14633],[-82.994175,29.179192],[-83.218729,29.420177],[-83.399469,29.518762],[-83.410422,29.66664],[-83.536392,29.721409],[-83.640454,29.885717],[-84.02384,30.104795],[-84.357933,30.055502],[-84.341502,29.902148],[-84.451041,29.929533],[-84.867289,29.743317],[-85.310921,29.699501],[-85.299967,29.80904],[-85.404029,29.940487],[-85.924338,30.236241],[-86.29677,30.362211],[-86.630863,30.395073],[-86.910187,30.373165],[-87.518128,30.280057],[-87.37025,30.427934],[-87.446927,30.510088],[-87.408589,30.674397],[-87.633143,30.86609],[-87.600282,30.997536],[-85.497137,30.997536]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-83.109191,35.00118],[-83.322791,34.787579],[-83.339222,34.683517],[-83.005129,34.469916],[-82.901067,34.486347],[-82.747713,34.26727],[-82.714851,34.152254],[-82.55602,33.94413],[-82.325988,33.81816],[-82.194542,33.631944],[-81.926172,33.462159],[-81.937125,33.347144],[-81.761863,33.160928],[-81.493493,33.007573],[-81.42777,32.843265],[-81.416816,32.629664],[-81.279893,32.558464],[-81.121061,32.290094],[-81.115584,32.120309],[-80.885553,32.032678],[-81.132015,31.693108],[-81.175831,31.517845],[-81.279893,31.364491],[-81.290846,31.20566],[-81.400385,31.13446],[-81.444201,30.707258],[-81.718048,30.745597],[-81.948079,30.827751],[-82.041187,30.751074],[-82.002849,30.564858],[-82.046664,30.362211],[-82.167157,30.356734],[-82.216449,30.570335],[-83.498053,30.647012],[-84.867289,30.712735],[-85.004212,31.003013],[-85.113751,31.27686],[-85.042551,31.539753],[-85.141136,31.840985],[-85.053504,32.01077],[-85.058981,32.13674],[-84.889196,32.262709],[-85.004212,32.322956],[-84.960397,32.421541],[-85.069935,32.580372],[-85.184951,32.859696],[-85.431413,34.124869],[-85.606675,34.984749],[-84.319594,34.990226],[-83.618546,34.984749],[-83.109191,35.00118]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-155.634835,18.948267],[-155.881297,19.035898],[-155.919636,19.123529],[-155.886774,19.348084],[-156.062036,19.73147],[-155.925113,19.857439],[-155.826528,20.032702],[-155.897728,20.147717],[-155.87582,20.26821],[-155.596496,20.12581],[-155.284311,20.021748],[-155.092618,19.868393],[-155.092618,19.736947],[-154.807817,19.523346],[-154.983079,19.348084],[-155.295265,19.26593],[-155.514342,19.134483],[-155.634835,18.948267]]],[[[-156.587823,21.029505],[-156.472807,20.892581],[-156.324929,20.952827],[-156.00179,20.793996],[-156.051082,20.651596],[-156.379699,20.580396],[-156.445422,20.60778],[-156.461853,20.783042],[-156.631638,20.821381],[-156.697361,20.919966],[-156.587823,21.029505]]],[[[-156.982162,21.210244],[-157.080747,21.106182],[-157.310779,21.106182],[-157.239579,21.221198],[-156.982162,21.210244]]],[[[-157.951581,21.697691],[-157.842042,21.462183],[-157.896811,21.325259],[-158.110412,21.303352],[-158.252813,21.582676],[-158.126843,21.588153],[-157.951581,21.697691]]],[[[-159.468693,22.228955],[-159.353678,22.218001],[-159.298908,22.113939],[-159.33177,21.966061],[-159.446786,21.872953],[-159.764448,21.987969],[-159.726109,22.152277],[-159.468693,22.228955]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-116.04751,49.000239],[-116.04751,47.976051],[-115.724371,47.696727],[-115.718894,47.42288],[-115.527201,47.302388],[-115.324554,47.258572],[-115.302646,47.187372],[-114.930214,46.919002],[-114.886399,46.809463],[-114.623506,46.705401],[-114.612552,46.639678],[-114.322274,46.645155],[-114.464674,46.272723],[-114.492059,46.037214],[-114.387997,45.88386],[-114.568736,45.774321],[-114.497536,45.670259],[-114.546828,45.560721],[-114.333228,45.456659],[-114.086765,45.593582],[-113.98818,45.703121],[-113.807441,45.604536],[-113.834826,45.522382],[-113.736241,45.330689],[-113.571933,45.128042],[-113.45144,45.056842],[-113.456917,44.865149],[-113.341901,44.782995],[-113.133778,44.772041],[-113.002331,44.448902],[-112.887315,44.394132],[-112.783254,44.48724],[-112.471068,44.481763],[-112.241036,44.569394],[-112.104113,44.520102],[-111.868605,44.563917],[-111.819312,44.509148],[-111.616665,44.547487],[-111.386634,44.75561],[-111.227803,44.580348],[-111.047063,44.476286],[-111.047063,42.000709],[-112.164359,41.995232],[-114.04295,41.995232],[-117.027882,42.000709],[-117.027882,43.830007],[-116.896436,44.158624],[-116.97859,44.240778],[-117.170283,44.257209],[-117.241483,44.394132],[-117.038836,44.750133],[-116.934774,44.782995],[-116.830713,44.930872],[-116.847143,45.02398],[-116.732128,45.144473],[-116.671881,45.319735],[-116.463758,45.61549],[-116.545912,45.752413],[-116.78142,45.823614],[-116.918344,45.993399],[-116.92382,46.168661],[-117.055267,46.343923],[-117.038836,46.426077],[-117.044313,47.762451],[-117.033359,49.000239],[-116.04751,49.000239]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-90.639984,42.510065],[-88.788778,42.493634],[-87.802929,42.493634],[-87.83579,42.301941],[-87.682436,42.077386],[-87.523605,41.710431],[-87.529082,39.34987],[-87.63862,39.169131],[-87.512651,38.95553],[-87.49622,38.780268],[-87.62219,38.637868],[-87.655051,38.506421],[-87.83579,38.292821],[-87.950806,38.27639],[-87.923421,38.15042],[-88.000098,38.101128],[-88.060345,37.865619],[-88.027483,37.799896],[-88.15893,37.657496],[-88.065822,37.482234],[-88.476592,37.389126],[-88.514931,37.285064],[-88.421823,37.153617],[-88.547792,37.071463],[-88.914747,37.224817],[-89.029763,37.213863],[-89.183118,37.038601],[-89.133825,36.983832],[-89.292656,36.994786],[-89.517211,37.279587],[-89.435057,37.34531],[-89.517211,37.537003],[-89.517211,37.690357],[-89.84035,37.903958],[-89.949889,37.88205],[-90.059428,38.013497],[-90.355183,38.216144],[-90.349706,38.374975],[-90.179921,38.632391],[-90.207305,38.725499],[-90.10872,38.845992],[-90.251121,38.917192],[-90.470199,38.961007],[-90.585214,38.867899],[-90.661891,38.928146],[-90.727615,39.256762],[-91.061708,39.470363],[-91.368417,39.727779],[-91.494386,40.034488],[-91.50534,40.237135],[-91.417709,40.379535],[-91.401278,40.560274],[-91.121954,40.669813],[-91.09457,40.823167],[-90.963123,40.921752],[-90.946692,41.097014],[-91.111001,41.239415],[-91.045277,41.414677],[-90.656414,41.463969],[-90.344229,41.589939],[-90.311367,41.743293],[-90.179921,41.809016],[-90.141582,42.000709],[-90.168967,42.126679],[-90.393521,42.225264],[-90.420906,42.329326],[-90.639984,42.510065]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-85.990061,41.759724],[-84.807042,41.759724],[-84.807042,41.694001],[-84.801565,40.500028],[-84.817996,39.103408],[-84.894673,39.059592],[-84.812519,38.785745],[-84.987781,38.780268],[-85.173997,38.68716],[-85.431413,38.730976],[-85.42046,38.533806],[-85.590245,38.451652],[-85.655968,38.325682],[-85.83123,38.27639],[-85.924338,38.024451],[-86.039354,37.958727],[-86.263908,38.051835],[-86.302247,38.166851],[-86.521325,38.040881],[-86.504894,37.931343],[-86.729448,37.893004],[-86.795172,37.991589],[-87.047111,37.893004],[-87.129265,37.788942],[-87.381204,37.93682],[-87.512651,37.903958],[-87.600282,37.975158],[-87.682436,37.903958],[-87.934375,37.893004],[-88.027483,37.799896],[-88.060345,37.865619],[-88.000098,38.101128],[-87.923421,38.15042],[-87.950806,38.27639],[-87.83579,38.292821],[-87.655051,38.506421],[-87.62219,38.637868],[-87.49622,38.780268],[-87.512651,38.95553],[-87.63862,39.169131],[-87.529082,39.34987],[-87.523605,41.710431],[-87.42502,41.644708],[-87.118311,41.644708],[-86.822556,41.759724],[-85.990061,41.759724]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-91.368417,43.501391],[-91.215062,43.501391],[-91.204109,43.353514],[-91.056231,43.254929],[-91.176724,43.134436],[-91.143862,42.909881],[-91.067185,42.75105],[-90.711184,42.636034],[-90.639984,42.510065],[-90.420906,42.329326],[-90.393521,42.225264],[-90.168967,42.126679],[-90.141582,42.000709],[-90.179921,41.809016],[-90.311367,41.743293],[-90.344229,41.589939],[-90.656414,41.463969],[-91.045277,41.414677],[-91.111001,41.239415],[-90.946692,41.097014],[-90.963123,40.921752],[-91.09457,40.823167],[-91.121954,40.669813],[-91.401278,40.560274],[-91.417709,40.379535],[-91.527248,40.412397],[-91.729895,40.615043],[-91.833957,40.609566],[-93.257961,40.582182],[-94.632673,40.571228],[-95.7664,40.587659],[-95.881416,40.719105],[-95.826646,40.976521],[-95.925231,41.201076],[-95.919754,41.453015],[-96.095016,41.540646],[-96.122401,41.67757],[-96.062155,41.798063],[-96.127878,41.973325],[-96.264801,42.039048],[-96.44554,42.488157],[-96.631756,42.707235],[-96.544125,42.855112],[-96.511264,43.052282],[-96.434587,43.123482],[-96.560556,43.222067],[-96.527695,43.397329],[-96.582464,43.479483],[-96.451017,43.501391],[-91.368417,43.501391]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-101.90605,40.001626],[-95.306337,40.001626],[-95.207752,39.908518],[-94.884612,39.831841],[-95.109167,39.541563],[-94.983197,39.442978],[-94.824366,39.20747],[-94.610765,39.158177],[-94.616242,37.000263],[-100.087706,37.000263],[-102.042974,36.994786],[-102.053927,40.001626],[-101.90605,40.001626]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-83.903347,38.769315],[-83.678792,38.632391],[-83.519961,38.703591],[-83.142052,38.626914],[-83.032514,38.725499],[-82.890113,38.758361],[-82.846298,38.588575],[-82.731282,38.561191],[-82.594358,38.424267],[-82.621743,38.123036],[-82.50125,37.931343],[-82.342419,37.783465],[-82.293127,37.668449],[-82.101434,37.553434],[-81.969987,37.537003],[-82.353373,37.268633],[-82.720328,37.120755],[-82.720328,37.044078],[-82.868205,36.978355],[-82.879159,36.890724],[-83.070852,36.852385],[-83.136575,36.742847],[-83.673316,36.600446],[-83.689746,36.584015],[-84.544149,36.594969],[-85.289013,36.627831],[-85.486183,36.616877],[-86.592525,36.655216],[-87.852221,36.633308],[-88.071299,36.677123],[-88.054868,36.496384],[-89.298133,36.507338],[-89.418626,36.496384],[-89.363857,36.622354],[-89.215979,36.578538],[-89.133825,36.983832],[-89.183118,37.038601],[-89.029763,37.213863],[-88.914747,37.224817],[-88.547792,37.071463],[-88.421823,37.153617],[-88.514931,37.285064],[-88.476592,37.389126],[-88.065822,37.482234],[-88.15893,37.657496],[-88.027483,37.799896],[-87.934375,37.893004],[-87.682436,37.903958],[-87.600282,37.975158],[-87.512651,37.903958],[-87.381204,37.93682],[-87.129265,37.788942],[-87.047111,37.893004],[-86.795172,37.991589],[-86.729448,37.893004],[-86.504894,37.931343],[-86.521325,38.040881],[-86.302247,38.166851],[-86.263908,38.051835],[-86.039354,37.958727],[-85.924338,38.024451],[-85.83123,38.27639],[-85.655968,38.325682],[-85.590245,38.451652],[-85.42046,38.533806],[-85.431413,38.730976],[-85.173997,38.68716],[-84.987781,38.780268],[-84.812519,38.785745],[-84.894673,39.059592],[-84.817996,39.103408],[-84.43461,39.103408],[-84.231963,38.895284],[-84.215533,38.807653],[-83.903347,38.769315]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-93.608485,33.018527],[-91.16577,33.002096],[-91.072662,32.887081],[-91.143862,32.843265],[-91.154816,32.640618],[-91.006939,32.514649],[-90.985031,32.218894],[-91.105524,31.988862],[-91.341032,31.846462],[-91.401278,31.621907],[-91.499863,31.643815],[-91.516294,31.27686],[-91.636787,31.265906],[-91.565587,31.068736],[-91.636787,30.997536],[-89.747242,30.997536],[-89.845827,30.66892],[-89.681519,30.449842],[-89.643181,30.285534],[-89.522688,30.181472],[-89.818443,30.044549],[-89.84035,29.945964],[-89.599365,29.88024],[-89.495303,30.039072],[-89.287179,29.88024],[-89.30361,29.754271],[-89.424103,29.699501],[-89.648657,29.748794],[-89.621273,29.655686],[-89.69795,29.513285],[-89.506257,29.387316],[-89.199548,29.348977],[-89.09001,29.2011],[-89.002379,29.179192],[-89.16121,29.009407],[-89.336472,29.042268],[-89.484349,29.217531],[-89.851304,29.310638],[-89.851304,29.480424],[-90.032043,29.425654],[-90.021089,29.283254],[-90.103244,29.151807],[-90.23469,29.129899],[-90.333275,29.277777],[-90.563307,29.283254],[-90.645461,29.129899],[-90.798815,29.086084],[-90.963123,29.179192],[-91.09457,29.190146],[-91.220539,29.436608],[-91.445094,29.546147],[-91.532725,29.529716],[-91.620356,29.73784],[-91.883249,29.710455],[-91.888726,29.836425],[-92.146142,29.715932],[-92.113281,29.622824],[-92.31045,29.535193],[-92.617159,29.579009],[-92.97316,29.715932],[-93.2251,29.776178],[-93.767317,29.726886],[-93.838517,29.688547],[-93.926148,29.787132],[-93.690639,30.143133],[-93.767317,30.334826],[-93.696116,30.438888],[-93.728978,30.575812],[-93.630393,30.679874],[-93.526331,30.93729],[-93.542762,31.15089],[-93.816609,31.556184],[-93.822086,31.775262],[-94.041164,31.994339],[-94.041164,33.018527],[-93.608485,33.018527]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-70.703921,43.057759],[-70.824413,43.128959],[-70.807983,43.227544],[-70.966814,43.34256],[-71.032537,44.657025],[-71.08183,45.303304],[-70.649151,45.440228],[-70.720352,45.511428],[-70.556043,45.664782],[-70.386258,45.735983],[-70.41912,45.796229],[-70.260289,45.889337],[-70.309581,46.064599],[-70.210996,46.327492],[-70.057642,46.415123],[-69.997395,46.694447],[-69.225147,47.461219],[-69.044408,47.428357],[-69.033454,47.242141],[-68.902007,47.176418],[-68.578868,47.285957],[-68.376221,47.285957],[-68.233821,47.357157],[-67.954497,47.198326],[-67.790188,47.066879],[-67.779235,45.944106],[-67.801142,45.675736],[-67.456095,45.604536],[-67.505388,45.48952],[-67.417757,45.379982],[-67.488957,45.281397],[-67.346556,45.128042],[-67.16034,45.160904],[-66.979601,44.804903],[-67.187725,44.646072],[-67.308218,44.706318],[-67.406803,44.596779],[-67.549203,44.624164],[-67.565634,44.531056],[-67.75185,44.54201],[-68.047605,44.328409],[-68.118805,44.476286],[-68.222867,44.48724],[-68.173574,44.328409],[-68.403606,44.251732],[-68.458375,44.377701],[-68.567914,44.311978],[-68.82533,44.311978],[-68.830807,44.459856],[-68.984161,44.426994],[-68.956777,44.322932],[-69.099177,44.103854],[-69.071793,44.043608],[-69.258008,43.923115],[-69.444224,43.966931],[-69.553763,43.840961],[-69.707118,43.82453],[-69.833087,43.720469],[-69.986442,43.742376],[-70.030257,43.851915],[-70.254812,43.676653],[-70.194565,43.567114],[-70.358873,43.528776],[-70.369827,43.435668],[-70.556043,43.320652],[-70.703921,43.057759]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-75.994645,37.95325],[-76.016553,37.95325],[-76.043938,37.95325],[-75.994645,37.95325]]],[[[-79.477979,39.722302],[-75.786521,39.722302],[-75.693413,38.462606],[-75.047134,38.451652],[-75.244304,38.029928],[-75.397659,38.013497],[-75.671506,37.95325],[-75.885106,37.909435],[-75.879629,38.073743],[-75.961783,38.139466],[-75.846768,38.210667],[-76.000122,38.374975],[-76.049415,38.303775],[-76.257538,38.320205],[-76.328738,38.500944],[-76.263015,38.500944],[-76.257538,38.736453],[-76.191815,38.829561],[-76.279446,39.147223],[-76.169907,39.333439],[-76.000122,39.366301],[-75.972737,39.557994],[-76.098707,39.536086],[-76.104184,39.437501],[-76.367077,39.311532],[-76.443754,39.196516],[-76.460185,38.906238],[-76.55877,38.769315],[-76.514954,38.539283],[-76.383508,38.380452],[-76.399939,38.259959],[-76.317785,38.139466],[-76.3616,38.057312],[-76.591632,38.216144],[-76.920248,38.292821],[-77.018833,38.446175],[-77.205049,38.358544],[-77.276249,38.479037],[-77.128372,38.632391],[-77.040741,38.791222],[-76.909294,38.895284],[-77.035264,38.993869],[-77.117418,38.933623],[-77.248864,39.026731],[-77.456988,39.076023],[-77.456988,39.223901],[-77.566527,39.306055],[-77.719881,39.322485],[-77.834897,39.601809],[-78.004682,39.601809],[-78.174467,39.694917],[-78.267575,39.61824],[-78.431884,39.623717],[-78.470222,39.514178],[-78.765977,39.585379],[-78.963147,39.437501],[-79.094593,39.470363],[-79.291763,39.300578],[-79.488933,39.20747],[-79.477979,39.722302]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-70.917521,42.887974],[-70.818936,42.871543],[-70.780598,42.696281],[-70.824413,42.55388],[-70.983245,42.422434],[-70.988722,42.269079],[-70.769644,42.247172],[-70.638197,42.08834],[-70.660105,41.962371],[-70.550566,41.929509],[-70.539613,41.814493],[-70.260289,41.715908],[-69.937149,41.809016],[-70.008349,41.672093],[-70.484843,41.5516],[-70.660105,41.546123],[-70.764167,41.639231],[-70.928475,41.611847],[-70.933952,41.540646],[-71.120168,41.496831],[-71.196845,41.67757],[-71.22423,41.710431],[-71.328292,41.781632],[-71.383061,42.01714],[-71.530939,42.01714],[-71.799309,42.006186],[-71.799309,42.022617],[-73.053528,42.039048],[-73.486206,42.050002],[-73.508114,42.08834],[-73.267129,42.745573],[-72.456542,42.729142],[-71.29543,42.696281],[-71.185891,42.789389],[-70.917521,42.887974]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-83.454238,41.732339],[-84.807042,41.694001],[-84.807042,41.759724],[-85.990061,41.759724],[-86.822556,41.759724],[-86.619909,41.891171],[-86.482986,42.115725],[-86.357016,42.252649],[-86.263908,42.444341],[-86.209139,42.718189],[-86.231047,43.013943],[-86.526801,43.594499],[-86.433693,43.813577],[-86.499417,44.07647],[-86.269385,44.34484],[-86.220093,44.569394],[-86.252954,44.689887],[-86.088646,44.73918],[-86.066738,44.903488],[-85.809322,44.947303],[-85.612152,45.128042],[-85.628583,44.766564],[-85.524521,44.750133],[-85.393075,44.930872],[-85.387598,45.237581],[-85.305444,45.314258],[-85.031597,45.363551],[-85.119228,45.577151],[-84.938489,45.75789],[-84.713934,45.768844],[-84.461995,45.653829],[-84.215533,45.637398],[-84.09504,45.494997],[-83.908824,45.484043],[-83.596638,45.352597],[-83.4871,45.358074],[-83.317314,45.144473],[-83.454238,45.029457],[-83.322791,44.88158],[-83.273499,44.711795],[-83.333745,44.339363],[-83.536392,44.246255],[-83.585684,44.054562],[-83.82667,43.988839],[-83.958116,43.758807],[-83.908824,43.671176],[-83.667839,43.589022],[-83.481623,43.714992],[-83.262545,43.972408],[-82.917498,44.070993],[-82.747713,43.994316],[-82.643651,43.851915],[-82.539589,43.435668],[-82.523158,43.227544],[-82.413619,42.975605],[-82.517681,42.614127],[-82.681989,42.559357],[-82.687466,42.690804],[-82.797005,42.652465],[-82.922975,42.351234],[-83.125621,42.236218],[-83.185868,42.006186],[-83.437807,41.814493],[-83.454238,41.732339]]],[[[-85.508091,45.730506],[-85.49166,45.610013],[-85.623106,45.588105],[-85.568337,45.75789],[-85.508091,45.730506]]],[[[-87.589328,45.095181],[-87.742682,45.199243],[-87.649574,45.341643],[-87.885083,45.363551],[-87.791975,45.500474],[-87.781021,45.675736],[-87.989145,45.796229],[-88.10416,45.922199],[-88.531362,46.020784],[-88.662808,45.987922],[-89.09001,46.135799],[-90.119674,46.338446],[-90.229213,46.508231],[-90.415429,46.568478],[-90.026566,46.672539],[-89.851304,46.793032],[-89.413149,46.842325],[-89.128348,46.990202],[-88.996902,46.995679],[-88.887363,47.099741],[-88.575177,47.247618],[-88.416346,47.373588],[-88.180837,47.455742],[-87.956283,47.384542],[-88.350623,47.077833],[-88.443731,46.973771],[-88.438254,46.787555],[-88.246561,46.929956],[-87.901513,46.908048],[-87.633143,46.809463],[-87.392158,46.535616],[-87.260711,46.486323],[-87.008772,46.530139],[-86.948526,46.469893],[-86.696587,46.437031],[-86.159846,46.667063],[-85.880522,46.68897],[-85.508091,46.678016],[-85.256151,46.754694],[-85.064458,46.760171],[-85.02612,46.480847],[-84.82895,46.442508],[-84.63178,46.486323],[-84.549626,46.4206],[-84.418179,46.502754],[-84.127902,46.530139],[-84.122425,46.179615],[-83.990978,46.031737],[-83.793808,45.993399],[-83.7719,46.091984],[-83.580208,46.091984],[-83.476146,45.987922],[-83.563777,45.911245],[-84.111471,45.976968],[-84.374364,45.933153],[-84.659165,46.053645],[-84.741319,45.944106],[-84.70298,45.850998],[-84.82895,45.872906],[-85.015166,46.00983],[-85.338305,46.091984],[-85.502614,46.097461],[-85.661445,45.966014],[-85.924338,45.933153],[-86.209139,45.960537],[-86.324155,45.905768],[-86.351539,45.796229],[-86.663725,45.703121],[-86.647294,45.834568],[-86.784218,45.861952],[-86.838987,45.725029],[-87.069019,45.719552],[-87.17308,45.659305],[-87.326435,45.423797],[-87.611236,45.122565],[-87.589328,45.095181]]],[[[-88.805209,47.976051],[-89.057148,47.850082],[-89.188594,47.833651],[-89.177641,47.937713],[-88.547792,48.173221],[-88.668285,48.008913],[-88.805209,47.976051]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-92.014696,46.705401],[-92.091373,46.749217],[-92.29402,46.667063],[-92.29402,46.075553],[-92.354266,46.015307],[-92.639067,45.933153],[-92.869098,45.719552],[-92.885529,45.577151],[-92.770513,45.566198],[-92.644544,45.440228],[-92.75956,45.286874],[-92.737652,45.117088],[-92.808852,44.750133],[-92.545959,44.569394],[-92.337835,44.552964],[-92.233773,44.443425],[-91.927065,44.333886],[-91.877772,44.202439],[-91.592971,44.032654],[-91.43414,43.994316],[-91.242447,43.775238],[-91.269832,43.616407],[-91.215062,43.501391],[-91.368417,43.501391],[-96.451017,43.501391],[-96.451017,45.297827],[-96.681049,45.412843],[-96.856311,45.604536],[-96.582464,45.818137],[-96.560556,45.933153],[-96.598895,46.332969],[-96.719387,46.437031],[-96.801542,46.656109],[-96.785111,46.924479],[-96.823449,46.968294],[-96.856311,47.609096],[-97.053481,47.948667],[-97.130158,48.140359],[-97.16302,48.545653],[-97.097296,48.682577],[-97.228743,49.000239],[-95.152983,49.000239],[-95.152983,49.383625],[-94.955813,49.372671],[-94.824366,49.295994],[-94.69292,48.775685],[-94.588858,48.715438],[-94.260241,48.699007],[-94.221903,48.649715],[-93.838517,48.627807],[-93.794701,48.518268],[-93.466085,48.545653],[-93.466085,48.589469],[-93.208669,48.644238],[-92.984114,48.62233],[-92.726698,48.540176],[-92.655498,48.436114],[-92.50762,48.447068],[-92.370697,48.222514],[-92.304974,48.315622],[-92.053034,48.359437],[-92.009219,48.266329],[-91.713464,48.200606],[-91.713464,48.112975],[-91.565587,48.041775],[-91.264355,48.080113],[-91.083616,48.178698],[-90.837154,48.238944],[-90.749522,48.091067],[-90.579737,48.123929],[-90.377091,48.091067],[-90.141582,48.112975],[-89.873212,47.987005],[-89.615796,48.008913],[-89.637704,47.954144],[-89.971797,47.828174],[-90.437337,47.729589],[-90.738569,47.625527],[-91.171247,47.368111],[-91.357463,47.20928],[-91.642264,47.028541],[-92.091373,46.787555],[-92.014696,46.705401]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-88.471115,34.995703],[-88.202745,34.995703],[-88.098683,34.891641],[-88.241084,33.796253],[-88.471115,31.895754],[-88.394438,30.367688],[-88.503977,30.323872],[-88.744962,30.34578],[-88.843547,30.411504],[-89.084533,30.367688],[-89.418626,30.252672],[-89.522688,30.181472],[-89.643181,30.285534],[-89.681519,30.449842],[-89.845827,30.66892],[-89.747242,30.997536],[-91.636787,30.997536],[-91.565587,31.068736],[-91.636787,31.265906],[-91.516294,31.27686],[-91.499863,31.643815],[-91.401278,31.621907],[-91.341032,31.846462],[-91.105524,31.988862],[-90.985031,32.218894],[-91.006939,32.514649],[-91.154816,32.640618],[-91.143862,32.843265],[-91.072662,32.887081],[-91.16577,33.002096],[-91.089093,33.13902],[-91.143862,33.347144],[-91.056231,33.429298],[-91.231493,33.560744],[-91.072662,33.867453],[-90.891923,34.026284],[-90.952169,34.135823],[-90.744046,34.300131],[-90.749522,34.365854],[-90.568783,34.420624],[-90.585214,34.617794],[-90.481152,34.661609],[-90.409952,34.831394],[-90.251121,34.908072],[-90.311367,34.995703],[-88.471115,34.995703]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-91.833957,40.609566],[-91.729895,40.615043],[-91.527248,40.412397],[-91.417709,40.379535],[-91.50534,40.237135],[-91.494386,40.034488],[-91.368417,39.727779],[-91.061708,39.470363],[-90.727615,39.256762],[-90.661891,38.928146],[-90.585214,38.867899],[-90.470199,38.961007],[-90.251121,38.917192],[-90.10872,38.845992],[-90.207305,38.725499],[-90.179921,38.632391],[-90.349706,38.374975],[-90.355183,38.216144],[-90.059428,38.013497],[-89.949889,37.88205],[-89.84035,37.903958],[-89.517211,37.690357],[-89.517211,37.537003],[-89.435057,37.34531],[-89.517211,37.279587],[-89.292656,36.994786],[-89.133825,36.983832],[-89.215979,36.578538],[-89.363857,36.622354],[-89.418626,36.496384],[-89.484349,36.496384],[-89.539119,36.496384],[-89.533642,36.249922],[-89.730812,35.997983],[-90.377091,35.997983],[-90.218259,36.184199],[-90.064905,36.304691],[-90.152536,36.496384],[-94.473842,36.501861],[-94.616242,36.501861],[-94.616242,37.000263],[-94.610765,39.158177],[-94.824366,39.20747],[-94.983197,39.442978],[-95.109167,39.541563],[-94.884612,39.831841],[-95.207752,39.908518],[-95.306337,40.001626],[-95.552799,40.264519],[-95.7664,40.587659],[-94.632673,40.571228],[-93.257961,40.582182],[-91.833957,40.609566]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-104.047534,49.000239],[-104.042057,47.861036],[-104.047534,45.944106],[-104.042057,44.996596],[-104.058488,44.996596],[-105.91517,45.002073],[-109.080842,45.002073],[-111.05254,45.002073],[-111.047063,44.476286],[-111.227803,44.580348],[-111.386634,44.75561],[-111.616665,44.547487],[-111.819312,44.509148],[-111.868605,44.563917],[-112.104113,44.520102],[-112.241036,44.569394],[-112.471068,44.481763],[-112.783254,44.48724],[-112.887315,44.394132],[-113.002331,44.448902],[-113.133778,44.772041],[-113.341901,44.782995],[-113.456917,44.865149],[-113.45144,45.056842],[-113.571933,45.128042],[-113.736241,45.330689],[-113.834826,45.522382],[-113.807441,45.604536],[-113.98818,45.703121],[-114.086765,45.593582],[-114.333228,45.456659],[-114.546828,45.560721],[-114.497536,45.670259],[-114.568736,45.774321],[-114.387997,45.88386],[-114.492059,46.037214],[-114.464674,46.272723],[-114.322274,46.645155],[-114.612552,46.639678],[-114.623506,46.705401],[-114.886399,46.809463],[-114.930214,46.919002],[-115.302646,47.187372],[-115.324554,47.258572],[-115.527201,47.302388],[-115.718894,47.42288],[-115.724371,47.696727],[-116.04751,47.976051],[-116.04751,49.000239],[-111.50165,48.994762],[-109.453274,49.000239],[-104.047534,49.000239]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-103.324578,43.002989],[-101.626726,42.997512],[-98.499393,42.997512],[-98.466531,42.94822],[-97.951699,42.767481],[-97.831206,42.866066],[-97.688806,42.844158],[-97.217789,42.844158],[-96.692003,42.657942],[-96.626279,42.515542],[-96.44554,42.488157],[-96.264801,42.039048],[-96.127878,41.973325],[-96.062155,41.798063],[-96.122401,41.67757],[-96.095016,41.540646],[-95.919754,41.453015],[-95.925231,41.201076],[-95.826646,40.976521],[-95.881416,40.719105],[-95.7664,40.587659],[-95.552799,40.264519],[-95.306337,40.001626],[-101.90605,40.001626],[-102.053927,40.001626],[-102.053927,41.003906],[-104.053011,41.003906],[-104.053011,43.002989],[-103.324578,43.002989]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-117.027882,42.000709],[-114.04295,41.995232],[-114.048427,37.000263],[-114.048427,36.195153],[-114.152489,36.025367],[-114.251074,36.01989],[-114.371566,36.140383],[-114.738521,36.102045],[-114.678275,35.516012],[-114.596121,35.324319],[-114.574213,35.138103],[-114.634459,35.00118],[-115.85034,35.970598],[-116.540435,36.501861],[-117.498899,37.21934],[-118.71478,38.101128],[-120.001861,38.999346],[-119.996384,40.264519],[-120.001861,41.995232],[-118.698349,41.989755],[-117.027882,42.000709]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-71.08183,45.303304],[-71.032537,44.657025],[-70.966814,43.34256],[-70.807983,43.227544],[-70.824413,43.128959],[-70.703921,43.057759],[-70.818936,42.871543],[-70.917521,42.887974],[-71.185891,42.789389],[-71.29543,42.696281],[-72.456542,42.729142],[-72.544173,42.80582],[-72.533219,42.953697],[-72.445588,43.008466],[-72.456542,43.150867],[-72.379864,43.572591],[-72.204602,43.769761],[-72.116971,43.994316],[-72.02934,44.07647],[-72.034817,44.322932],[-71.700724,44.41604],[-71.536416,44.585825],[-71.629524,44.750133],[-71.4926,44.914442],[-71.503554,45.013027],[-71.361154,45.270443],[-71.131122,45.243058],[-71.08183,45.303304]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-74.236547,41.14083],[-73.902454,40.998429],[-74.022947,40.708151],[-74.187255,40.642428],[-74.274886,40.489074],[-74.001039,40.412397],[-73.979131,40.297381],[-74.099624,39.760641],[-74.411809,39.360824],[-74.614456,39.245808],[-74.795195,38.993869],[-74.888303,39.158177],[-75.178581,39.240331],[-75.534582,39.459409],[-75.55649,39.607286],[-75.561967,39.629194],[-75.507197,39.683964],[-75.414089,39.804456],[-75.145719,39.88661],[-75.129289,39.963288],[-74.82258,40.127596],[-74.773287,40.215227],[-75.058088,40.417874],[-75.069042,40.543843],[-75.195012,40.576705],[-75.205966,40.691721],[-75.052611,40.866983],[-75.134765,40.971045],[-74.882826,41.179168],[-74.828057,41.288707],[-74.69661,41.359907],[-74.236547,41.14083]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-107.421329,37.000263],[-106.868158,36.994786],[-104.337812,36.994786],[-103.001438,37.000263],[-103.001438,36.501861],[-103.039777,36.501861],[-103.045254,34.01533],[-103.067161,33.002096],[-103.067161,31.999816],[-106.616219,31.999816],[-106.643603,31.901231],[-106.528588,31.786216],[-108.210008,31.786216],[-108.210008,31.331629],[-109.04798,31.331629],[-109.042503,37.000263],[-107.421329,37.000263]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-73.343806,45.013027],[-73.332852,44.804903],[-73.387622,44.618687],[-73.294514,44.437948],[-73.321898,44.246255],[-73.436914,44.043608],[-73.349283,43.769761],[-73.404052,43.687607],[-73.245221,43.523299],[-73.278083,42.833204],[-73.267129,42.745573],[-73.508114,42.08834],[-73.486206,42.050002],[-73.55193,41.294184],[-73.48073,41.21203],[-73.727192,41.102491],[-73.655992,40.987475],[-73.22879,40.905321],[-73.141159,40.965568],[-72.774204,40.965568],[-72.587988,40.998429],[-72.28128,41.157261],[-72.259372,41.042245],[-72.100541,40.992952],[-72.467496,40.845075],[-73.239744,40.625997],[-73.562884,40.582182],[-73.776484,40.593136],[-73.935316,40.543843],[-74.022947,40.708151],[-73.902454,40.998429],[-74.236547,41.14083],[-74.69661,41.359907],[-74.740426,41.431108],[-74.89378,41.436584],[-75.074519,41.60637],[-75.052611,41.754247],[-75.173104,41.869263],[-75.249781,41.863786],[-75.35932,42.000709],[-79.76278,42.000709],[-79.76278,42.252649],[-79.76278,42.269079],[-79.149363,42.55388],[-79.050778,42.690804],[-78.853608,42.783912],[-78.930285,42.953697],[-79.012439,42.986559],[-79.072686,43.260406],[-78.486653,43.375421],[-77.966344,43.369944],[-77.75822,43.34256],[-77.533665,43.233021],[-77.391265,43.276836],[-76.958587,43.271359],[-76.695693,43.34256],[-76.41637,43.523299],[-76.235631,43.528776],[-76.230154,43.802623],[-76.137046,43.961454],[-76.3616,44.070993],[-76.312308,44.196962],[-75.912491,44.366748],[-75.764614,44.514625],[-75.282643,44.848718],[-74.828057,45.018503],[-74.148916,44.991119],[-73.343806,45.013027]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-80.978661,36.562108],[-80.294043,36.545677],[-79.510841,36.5402],[-75.868676,36.551154],[-75.75366,36.151337],[-76.032984,36.189676],[-76.071322,36.140383],[-76.410893,36.080137],[-76.460185,36.025367],[-76.68474,36.008937],[-76.673786,35.937736],[-76.399939,35.987029],[-76.3616,35.943213],[-76.060368,35.992506],[-75.961783,35.899398],[-75.781044,35.937736],[-75.715321,35.696751],[-75.775568,35.581735],[-75.89606,35.570781],[-76.147999,35.324319],[-76.482093,35.313365],[-76.536862,35.14358],[-76.394462,34.973795],[-76.279446,34.940933],[-76.493047,34.661609],[-76.673786,34.694471],[-76.991448,34.667086],[-77.210526,34.60684],[-77.555573,34.415147],[-77.82942,34.163208],[-77.971821,33.845545],[-78.179944,33.916745],[-78.541422,33.851022],[-79.675149,34.80401],[-80.797922,34.820441],[-80.781491,34.935456],[-80.934845,35.105241],[-81.038907,35.044995],[-81.044384,35.149057],[-82.276696,35.198349],[-82.550543,35.160011],[-82.764143,35.066903],[-83.109191,35.00118],[-83.618546,34.984749],[-84.319594,34.990226],[-84.29221,35.225734],[-84.09504,35.247642],[-84.018363,35.41195],[-83.7719,35.559827],[-83.498053,35.565304],[-83.251591,35.718659],[-82.994175,35.773428],[-82.775097,35.997983],[-82.638174,36.063706],[-82.610789,35.965121],[-82.216449,36.156814],[-82.03571,36.118475],[-81.909741,36.304691],[-81.723525,36.353984],[-81.679709,36.589492],[-80.978661,36.562108]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-97.228743,49.000239],[-97.097296,48.682577],[-97.16302,48.545653],[-97.130158,48.140359],[-97.053481,47.948667],[-96.856311,47.609096],[-96.823449,46.968294],[-96.785111,46.924479],[-96.801542,46.656109],[-96.719387,46.437031],[-96.598895,46.332969],[-96.560556,45.933153],[-104.047534,45.944106],[-104.042057,47.861036],[-104.047534,49.000239],[-97.228743,49.000239]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-80.518598,41.978802],[-80.518598,40.636951],[-80.666475,40.582182],[-80.595275,40.472643],[-80.600752,40.319289],[-80.737675,40.078303],[-80.830783,39.711348],[-81.219646,39.388209],[-81.345616,39.344393],[-81.455155,39.410117],[-81.57017,39.267716],[-81.685186,39.273193],[-81.811156,39.0815],[-81.783771,38.966484],[-81.887833,38.873376],[-82.03571,39.026731],[-82.221926,38.785745],[-82.172634,38.632391],[-82.293127,38.577622],[-82.331465,38.446175],[-82.594358,38.424267],[-82.731282,38.561191],[-82.846298,38.588575],[-82.890113,38.758361],[-83.032514,38.725499],[-83.142052,38.626914],[-83.519961,38.703591],[-83.678792,38.632391],[-83.903347,38.769315],[-84.215533,38.807653],[-84.231963,38.895284],[-84.43461,39.103408],[-84.817996,39.103408],[-84.801565,40.500028],[-84.807042,41.694001],[-83.454238,41.732339],[-83.065375,41.595416],[-82.933929,41.513262],[-82.835344,41.589939],[-82.616266,41.431108],[-82.479343,41.381815],[-82.013803,41.513262],[-81.739956,41.485877],[-81.444201,41.672093],[-81.011523,41.852832],[-80.518598,41.978802],[-80.518598,41.978802]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-100.087706,37.000263],[-94.616242,37.000263],[-94.616242,36.501861],[-94.430026,35.395519],[-94.484796,33.637421],[-94.868182,33.74696],[-94.966767,33.861976],[-95.224183,33.960561],[-95.289906,33.87293],[-95.547322,33.878407],[-95.602092,33.933176],[-95.8376,33.834591],[-95.936185,33.889361],[-96.149786,33.840068],[-96.346956,33.686714],[-96.423633,33.774345],[-96.631756,33.845545],[-96.850834,33.845545],[-96.922034,33.960561],[-97.173974,33.736006],[-97.256128,33.861976],[-97.371143,33.823637],[-97.458774,33.905791],[-97.694283,33.982469],[-97.869545,33.851022],[-97.946222,33.987946],[-98.088623,34.004376],[-98.170777,34.113915],[-98.36247,34.157731],[-98.488439,34.064623],[-98.570593,34.146777],[-98.767763,34.135823],[-98.986841,34.223454],[-99.189488,34.2125],[-99.260688,34.404193],[-99.57835,34.415147],[-99.698843,34.382285],[-99.923398,34.573978],[-100.000075,34.563024],[-100.000075,36.501861],[-101.812942,36.501861],[-103.001438,36.501861],[-103.001438,37.000263],[-102.042974,36.994786],[-100.087706,37.000263]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-123.211348,46.174138],[-123.11824,46.185092],[-122.904639,46.08103],[-122.811531,45.960537],[-122.762239,45.659305],[-122.247407,45.549767],[-121.809251,45.708598],[-121.535404,45.725029],[-121.217742,45.670259],[-121.18488,45.604536],[-120.637186,45.746937],[-120.505739,45.697644],[-120.209985,45.725029],[-119.963522,45.823614],[-119.525367,45.911245],[-119.125551,45.933153],[-118.988627,45.998876],[-116.918344,45.993399],[-116.78142,45.823614],[-116.545912,45.752413],[-116.463758,45.61549],[-116.671881,45.319735],[-116.732128,45.144473],[-116.847143,45.02398],[-116.830713,44.930872],[-116.934774,44.782995],[-117.038836,44.750133],[-117.241483,44.394132],[-117.170283,44.257209],[-116.97859,44.240778],[-116.896436,44.158624],[-117.027882,43.830007],[-117.027882,42.000709],[-118.698349,41.989755],[-120.001861,41.995232],[-121.037003,41.995232],[-122.378853,42.011663],[-123.233256,42.006186],[-124.213628,42.000709],[-124.356029,42.115725],[-124.432706,42.438865],[-124.416275,42.663419],[-124.553198,42.838681],[-124.454613,43.002989],[-124.383413,43.271359],[-124.235536,43.55616],[-124.169813,43.8081],[-124.060274,44.657025],[-124.076705,44.772041],[-123.97812,45.144473],[-123.939781,45.659305],[-123.994551,45.944106],[-123.945258,46.113892],[-123.545441,46.261769],[-123.370179,46.146753],[-123.211348,46.174138]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-79.76278,42.252649],[-79.76278,42.000709],[-75.35932,42.000709],[-75.249781,41.863786],[-75.173104,41.869263],[-75.052611,41.754247],[-75.074519,41.60637],[-74.89378,41.436584],[-74.740426,41.431108],[-74.69661,41.359907],[-74.828057,41.288707],[-74.882826,41.179168],[-75.134765,40.971045],[-75.052611,40.866983],[-75.205966,40.691721],[-75.195012,40.576705],[-75.069042,40.543843],[-75.058088,40.417874],[-74.773287,40.215227],[-74.82258,40.127596],[-75.129289,39.963288],[-75.145719,39.88661],[-75.414089,39.804456],[-75.616736,39.831841],[-75.786521,39.722302],[-79.477979,39.722302],[-80.518598,39.722302],[-80.518598,40.636951],[-80.518598,41.978802],[-80.518598,41.978802],[-80.332382,42.033571],[-79.76278,42.269079],[-79.76278,42.252649]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-71.196845,41.67757],[-71.120168,41.496831],[-71.317338,41.474923],[-71.196845,41.67757]]],[[[-71.530939,42.01714],[-71.383061,42.01714],[-71.328292,41.781632],[-71.22423,41.710431],[-71.344723,41.726862],[-71.448785,41.578985],[-71.481646,41.370861],[-71.859555,41.321569],[-71.799309,41.414677],[-71.799309,42.006186],[-71.530939,42.01714]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-82.764143,35.066903],[-82.550543,35.160011],[-82.276696,35.198349],[-81.044384,35.149057],[-81.038907,35.044995],[-80.934845,35.105241],[-80.781491,34.935456],[-80.797922,34.820441],[-79.675149,34.80401],[-78.541422,33.851022],[-78.716684,33.80173],[-78.935762,33.637421],[-79.149363,33.380005],[-79.187701,33.171881],[-79.357487,33.007573],[-79.582041,33.007573],[-79.631334,32.887081],[-79.866842,32.755634],[-79.998289,32.613234],[-80.206412,32.552987],[-80.430967,32.399633],[-80.452875,32.328433],[-80.660998,32.246279],[-80.885553,32.032678],[-81.115584,32.120309],[-81.121061,32.290094],[-81.279893,32.558464],[-81.416816,32.629664],[-81.42777,32.843265],[-81.493493,33.007573],[-81.761863,33.160928],[-81.937125,33.347144],[-81.926172,33.462159],[-82.194542,33.631944],[-82.325988,33.81816],[-82.55602,33.94413],[-82.714851,34.152254],[-82.747713,34.26727],[-82.901067,34.486347],[-83.005129,34.469916],[-83.339222,34.683517],[-83.322791,34.787579],[-83.109191,35.00118],[-82.764143,35.066903]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-104.047534,45.944106],[-96.560556,45.933153],[-96.582464,45.818137],[-96.856311,45.604536],[-96.681049,45.412843],[-96.451017,45.297827],[-96.451017,43.501391],[-96.582464,43.479483],[-96.527695,43.397329],[-96.560556,43.222067],[-96.434587,43.123482],[-96.511264,43.052282],[-96.544125,42.855112],[-96.631756,42.707235],[-96.44554,42.488157],[-96.626279,42.515542],[-96.692003,42.657942],[-97.217789,42.844158],[-97.688806,42.844158],[-97.831206,42.866066],[-97.951699,42.767481],[-98.466531,42.94822],[-98.499393,42.997512],[-101.626726,42.997512],[-103.324578,43.002989],[-104.053011,43.002989],[-104.058488,44.996596],[-104.042057,44.996596],[-104.047534,45.944106]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-88.054868,36.496384],[-88.071299,36.677123],[-87.852221,36.633308],[-86.592525,36.655216],[-85.486183,36.616877],[-85.289013,36.627831],[-84.544149,36.594969],[-83.689746,36.584015],[-83.673316,36.600446],[-81.679709,36.589492],[-81.723525,36.353984],[-81.909741,36.304691],[-82.03571,36.118475],[-82.216449,36.156814],[-82.610789,35.965121],[-82.638174,36.063706],[-82.775097,35.997983],[-82.994175,35.773428],[-83.251591,35.718659],[-83.498053,35.565304],[-83.7719,35.559827],[-84.018363,35.41195],[-84.09504,35.247642],[-84.29221,35.225734],[-84.319594,34.990226],[-85.606675,34.984749],[-87.359296,35.00118],[-88.202745,34.995703],[-88.471115,34.995703],[-90.311367,34.995703],[-90.212782,35.023087],[-90.114197,35.198349],[-90.130628,35.439335],[-89.944412,35.603643],[-89.911551,35.756997],[-89.763673,35.811767],[-89.730812,35.997983],[-89.533642,36.249922],[-89.539119,36.496384],[-89.484349,36.496384],[-89.418626,36.496384],[-89.298133,36.507338],[-88.054868,36.496384]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-101.812942,36.501861],[-100.000075,36.501861],[-100.000075,34.563024],[-99.923398,34.573978],[-99.698843,34.382285],[-99.57835,34.415147],[-99.260688,34.404193],[-99.189488,34.2125],[-98.986841,34.223454],[-98.767763,34.135823],[-98.570593,34.146777],[-98.488439,34.064623],[-98.36247,34.157731],[-98.170777,34.113915],[-98.088623,34.004376],[-97.946222,33.987946],[-97.869545,33.851022],[-97.694283,33.982469],[-97.458774,33.905791],[-97.371143,33.823637],[-97.256128,33.861976],[-97.173974,33.736006],[-96.922034,33.960561],[-96.850834,33.845545],[-96.631756,33.845545],[-96.423633,33.774345],[-96.346956,33.686714],[-96.149786,33.840068],[-95.936185,33.889361],[-95.8376,33.834591],[-95.602092,33.933176],[-95.547322,33.878407],[-95.289906,33.87293],[-95.224183,33.960561],[-94.966767,33.861976],[-94.868182,33.74696],[-94.484796,33.637421],[-94.380734,33.544313],[-94.183564,33.593606],[-94.041164,33.54979],[-94.041164,33.018527],[-94.041164,31.994339],[-93.822086,31.775262],[-93.816609,31.556184],[-93.542762,31.15089],[-93.526331,30.93729],[-93.630393,30.679874],[-93.728978,30.575812],[-93.696116,30.438888],[-93.767317,30.334826],[-93.690639,30.143133],[-93.926148,29.787132],[-93.838517,29.688547],[-94.002825,29.68307],[-94.523134,29.546147],[-94.70935,29.622824],[-94.742212,29.787132],[-94.873659,29.672117],[-94.966767,29.699501],[-95.016059,29.557101],[-94.911997,29.496854],[-94.895566,29.310638],[-95.081782,29.113469],[-95.383014,28.867006],[-95.985477,28.604113],[-96.045724,28.647929],[-96.226463,28.582205],[-96.23194,28.642452],[-96.478402,28.598636],[-96.593418,28.724606],[-96.664618,28.697221],[-96.401725,28.439805],[-96.593418,28.357651],[-96.774157,28.406943],[-96.801542,28.226204],[-97.026096,28.039988],[-97.256128,27.694941],[-97.404005,27.333463],[-97.513544,27.360848],[-97.540929,27.229401],[-97.425913,27.262263],[-97.480682,26.99937],[-97.557359,26.988416],[-97.562836,26.840538],[-97.469728,26.758384],[-97.442344,26.457153],[-97.332805,26.353091],[-97.30542,26.161398],[-97.217789,25.991613],[-97.524498,25.887551],[-97.650467,26.018997],[-97.885976,26.06829],[-98.198161,26.057336],[-98.466531,26.221644],[-98.669178,26.238075],[-98.822533,26.369522],[-99.030656,26.413337],[-99.173057,26.539307],[-99.266165,26.840538],[-99.446904,27.021277],[-99.424996,27.174632],[-99.50715,27.33894],[-99.479765,27.48134],[-99.605735,27.640172],[-99.709797,27.656603],[-99.879582,27.799003],[-99.934351,27.979742],[-100.082229,28.14405],[-100.29583,28.280974],[-100.399891,28.582205],[-100.498476,28.66436],[-100.629923,28.905345],[-100.673738,29.102515],[-100.799708,29.244915],[-101.013309,29.370885],[-101.062601,29.458516],[-101.259771,29.535193],[-101.413125,29.754271],[-101.851281,29.803563],[-102.114174,29.792609],[-102.338728,29.869286],[-102.388021,29.765225],[-102.629006,29.732363],[-102.809745,29.524239],[-102.919284,29.190146],[-102.97953,29.184669],[-103.116454,28.987499],[-103.280762,28.982022],[-103.527224,29.135376],[-104.146119,29.381839],[-104.266611,29.513285],[-104.507597,29.639255],[-104.677382,29.924056],[-104.688336,30.181472],[-104.858121,30.389596],[-104.896459,30.570335],[-105.005998,30.685351],[-105.394861,30.855136],[-105.602985,31.085167],[-105.77277,31.167321],[-105.953509,31.364491],[-106.205448,31.468553],[-106.38071,31.731446],[-106.528588,31.786216],[-106.643603,31.901231],[-106.616219,31.999816],[-103.067161,31.999816],[-103.067161,33.002096],[-103.045254,34.01533],[-103.039777,36.501861],[-103.001438,36.501861],[-101.812942,36.501861]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-112.164359,41.995232],[-111.047063,42.000709],[-111.047063,40.998429],[-109.04798,40.998429],[-109.053457,39.125316],[-109.058934,38.27639],[-109.042503,38.166851],[-109.042503,37.000263],[-110.499369,37.00574],[-114.048427,37.000263],[-114.04295,41.995232],[-112.164359,41.995232]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-71.503554,45.013027],[-71.4926,44.914442],[-71.629524,44.750133],[-71.536416,44.585825],[-71.700724,44.41604],[-72.034817,44.322932],[-72.02934,44.07647],[-72.116971,43.994316],[-72.204602,43.769761],[-72.379864,43.572591],[-72.456542,43.150867],[-72.445588,43.008466],[-72.533219,42.953697],[-72.544173,42.80582],[-72.456542,42.729142],[-73.267129,42.745573],[-73.278083,42.833204],[-73.245221,43.523299],[-73.404052,43.687607],[-73.349283,43.769761],[-73.436914,44.043608],[-73.321898,44.246255],[-73.294514,44.437948],[-73.387622,44.618687],[-73.332852,44.804903],[-73.343806,45.013027],[-72.308664,45.002073],[-71.503554,45.013027]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-75.397659,38.013497],[-75.244304,38.029928],[-75.375751,37.860142],[-75.512674,37.799896],[-75.594828,37.569865],[-75.802952,37.197433],[-75.972737,37.120755],[-76.027507,37.257679],[-75.939876,37.564388],[-75.671506,37.95325],[-75.397659,38.013497]]],[[[-76.016553,37.95325],[-75.994645,37.95325],[-76.043938,37.95325],[-76.016553,37.95325]]],[[[-78.349729,39.464886],[-77.82942,39.130793],[-77.719881,39.322485],[-77.566527,39.306055],[-77.456988,39.223901],[-77.456988,39.076023],[-77.248864,39.026731],[-77.117418,38.933623],[-77.040741,38.791222],[-77.128372,38.632391],[-77.248864,38.588575],[-77.325542,38.446175],[-77.281726,38.342113],[-77.013356,38.374975],[-76.964064,38.216144],[-76.613539,38.15042],[-76.514954,38.024451],[-76.235631,37.887527],[-76.3616,37.608203],[-76.246584,37.389126],[-76.383508,37.285064],[-76.399939,37.159094],[-76.273969,37.082417],[-76.410893,36.961924],[-76.619016,37.120755],[-76.668309,37.065986],[-76.48757,36.95097],[-75.994645,36.923586],[-75.868676,36.551154],[-79.510841,36.5402],[-80.294043,36.545677],[-80.978661,36.562108],[-81.679709,36.589492],[-83.673316,36.600446],[-83.136575,36.742847],[-83.070852,36.852385],[-82.879159,36.890724],[-82.868205,36.978355],[-82.720328,37.044078],[-82.720328,37.120755],[-82.353373,37.268633],[-81.969987,37.537003],[-81.986418,37.454849],[-81.849494,37.285064],[-81.679709,37.20291],[-81.55374,37.208387],[-81.362047,37.339833],[-81.225123,37.235771],[-80.967707,37.290541],[-80.513121,37.482234],[-80.474782,37.421987],[-80.29952,37.509618],[-80.294043,37.690357],[-80.184505,37.849189],[-79.998289,37.997066],[-79.921611,38.177805],[-79.724442,38.364021],[-79.647764,38.594052],[-79.477979,38.457129],[-79.313671,38.413313],[-79.209609,38.495467],[-78.996008,38.851469],[-78.870039,38.763838],[-78.404499,39.169131],[-78.349729,39.464886]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;MultiPolygon\\&quot;,\\&quot;coordinates\\&quot;:[[[[-117.033359,49.000239],[-117.044313,47.762451],[-117.038836,46.426077],[-117.055267,46.343923],[-116.92382,46.168661],[-116.918344,45.993399],[-118.988627,45.998876],[-119.125551,45.933153],[-119.525367,45.911245],[-119.963522,45.823614],[-120.209985,45.725029],[-120.505739,45.697644],[-120.637186,45.746937],[-121.18488,45.604536],[-121.217742,45.670259],[-121.535404,45.725029],[-121.809251,45.708598],[-122.247407,45.549767],[-122.762239,45.659305],[-122.811531,45.960537],[-122.904639,46.08103],[-123.11824,46.185092],[-123.211348,46.174138],[-123.370179,46.146753],[-123.545441,46.261769],[-123.72618,46.300108],[-123.874058,46.239861],[-124.065751,46.327492],[-124.027412,46.464416],[-123.895966,46.535616],[-124.098612,46.74374],[-124.235536,47.285957],[-124.31769,47.357157],[-124.427229,47.740543],[-124.624399,47.88842],[-124.706553,48.184175],[-124.597014,48.381345],[-124.394367,48.288237],[-123.983597,48.162267],[-123.704273,48.167744],[-123.424949,48.118452],[-123.162056,48.167744],[-123.036086,48.080113],[-122.800578,48.08559],[-122.636269,47.866512],[-122.515777,47.882943],[-122.493869,47.587189],[-122.422669,47.318818],[-122.324084,47.346203],[-122.422669,47.576235],[-122.395284,47.800789],[-122.230976,48.030821],[-122.362422,48.123929],[-122.373376,48.288237],[-122.471961,48.468976],[-122.422669,48.600422],[-122.488392,48.753777],[-122.647223,48.775685],[-122.795101,48.8907],[-122.756762,49.000239],[-117.033359,49.000239]]],[[[-122.718423,48.310145],[-122.586977,48.35396],[-122.608885,48.151313],[-122.767716,48.227991],[-122.718423,48.310145]]],[[[-123.025132,48.583992],[-122.915593,48.715438],[-122.767716,48.556607],[-122.811531,48.419683],[-123.041563,48.458022],[-123.025132,48.583992]]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-80.518598,40.636951],[-80.518598,39.722302],[-79.477979,39.722302],[-79.488933,39.20747],[-79.291763,39.300578],[-79.094593,39.470363],[-78.963147,39.437501],[-78.765977,39.585379],[-78.470222,39.514178],[-78.431884,39.623717],[-78.267575,39.61824],[-78.174467,39.694917],[-78.004682,39.601809],[-77.834897,39.601809],[-77.719881,39.322485],[-77.82942,39.130793],[-78.349729,39.464886],[-78.404499,39.169131],[-78.870039,38.763838],[-78.996008,38.851469],[-79.209609,38.495467],[-79.313671,38.413313],[-79.477979,38.457129],[-79.647764,38.594052],[-79.724442,38.364021],[-79.921611,38.177805],[-79.998289,37.997066],[-80.184505,37.849189],[-80.294043,37.690357],[-80.29952,37.509618],[-80.474782,37.421987],[-80.513121,37.482234],[-80.967707,37.290541],[-81.225123,37.235771],[-81.362047,37.339833],[-81.55374,37.208387],[-81.679709,37.20291],[-81.849494,37.285064],[-81.986418,37.454849],[-81.969987,37.537003],[-82.101434,37.553434],[-82.293127,37.668449],[-82.342419,37.783465],[-82.50125,37.931343],[-82.621743,38.123036],[-82.594358,38.424267],[-82.331465,38.446175],[-82.293127,38.577622],[-82.172634,38.632391],[-82.221926,38.785745],[-82.03571,39.026731],[-81.887833,38.873376],[-81.783771,38.966484],[-81.811156,39.0815],[-81.685186,39.273193],[-81.57017,39.267716],[-81.455155,39.410117],[-81.345616,39.344393],[-81.219646,39.388209],[-80.830783,39.711348],[-80.737675,40.078303],[-80.600752,40.319289],[-80.595275,40.472643],[-80.666475,40.582182],[-80.518598,40.636951]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-90.415429,46.568478],[-90.229213,46.508231],[-90.119674,46.338446],[-89.09001,46.135799],[-88.662808,45.987922],[-88.531362,46.020784],[-88.10416,45.922199],[-87.989145,45.796229],[-87.781021,45.675736],[-87.791975,45.500474],[-87.885083,45.363551],[-87.649574,45.341643],[-87.742682,45.199243],[-87.589328,45.095181],[-87.627666,44.974688],[-87.819359,44.95278],[-87.983668,44.722749],[-88.043914,44.563917],[-87.928898,44.536533],[-87.775544,44.640595],[-87.611236,44.837764],[-87.403112,44.914442],[-87.238804,45.166381],[-87.03068,45.22115],[-87.047111,45.089704],[-87.189511,44.969211],[-87.468835,44.552964],[-87.545512,44.322932],[-87.540035,44.158624],[-87.644097,44.103854],[-87.737205,43.8793],[-87.704344,43.687607],[-87.791975,43.561637],[-87.912467,43.249452],[-87.885083,43.002989],[-87.76459,42.783912],[-87.802929,42.493634],[-88.788778,42.493634],[-90.639984,42.510065],[-90.711184,42.636034],[-91.067185,42.75105],[-91.143862,42.909881],[-91.176724,43.134436],[-91.056231,43.254929],[-91.204109,43.353514],[-91.215062,43.501391],[-91.269832,43.616407],[-91.242447,43.775238],[-91.43414,43.994316],[-91.592971,44.032654],[-91.877772,44.202439],[-91.927065,44.333886],[-92.233773,44.443425],[-92.337835,44.552964],[-92.545959,44.569394],[-92.808852,44.750133],[-92.737652,45.117088],[-92.75956,45.286874],[-92.644544,45.440228],[-92.770513,45.566198],[-92.885529,45.577151],[-92.869098,45.719552],[-92.639067,45.933153],[-92.354266,46.015307],[-92.29402,46.075553],[-92.29402,46.667063],[-92.091373,46.749217],[-92.014696,46.705401],[-91.790141,46.694447],[-91.09457,46.864232],[-90.837154,46.95734],[-90.749522,46.88614],[-90.886446,46.754694],[-90.55783,46.584908],[-90.415429,46.568478]]]}&quot;,&quot;{\\&quot;type\\&quot;:\\&quot;Polygon\\&quot;,\\&quot;coordinates\\&quot;:[[[-109.080842,45.002073],[-105.91517,45.002073],[-104.058488,44.996596],[-104.053011,43.002989],[-104.053011,41.003906],[-105.728954,40.998429],[-107.919731,41.003906],[-109.04798,40.998429],[-111.047063,40.998429],[-111.047063,42.000709],[-111.047063,44.476286],[-111.05254,45.002073],[-109.080842,45.002073]]]}&quot;]\n",
"},\n",
"&quot;tooltips&quot;:{\n",
"&quot;variables&quot;:[&quot;name&quot;,&quot;population&quot;],\n",
"&quot;disable_splitting&quot;:true\n",
"},\n",
"&quot;data&quot;:{\n",
"}\n",
"}],\n",
"&quot;theme&quot;:{\n",
"&quot;name&quot;:&quot;classic&quot;,\n",
"&quot;axis&quot;:{\n",
"&quot;blank&quot;:true\n",
"},\n",
"&quot;line&quot;:{\n",
"&quot;blank&quot;:true\n",
"},\n",
"&quot;axis_ontop&quot;:false,\n",
"&quot;axis_ontop_y&quot;:false,\n",
"&quot;axis_ontop_x&quot;:false\n",
"}\n",
"};\n",
" var plotContainer = document.getElementById(&quot;NrdOnQ&quot;);\n",
" LetsPlot.buildPlotFromProcessedSpecs(plotSpec, -1, -1, plotContainer);\n",
" &lt;/script>\n",
" &lt;/body>\n",
"&lt;/html>\"></iframe> <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" display=\"block\" class=\"plt-container\" id=e392a335-70c9-4f9f-8abd-0d3cb2c9d7cd width=\"100%\" height=\"100%\" style=\"max-width: 600.0px; max-height: 400.0px;\" viewBox=\"0 0 600.0 400.0\" preserveAspectRatio=\"xMinYMin meet\">\n",
" <style type=\"text/css\">\n",
" .plt-container {\n",
" font-family: Lucida Grande, sans-serif;\n",
" user-select: none;\n",
" -webkit-user-select: none;\n",
" -moz-user-select: none;\n",
" -ms-user-select: none;\n",
"}\n",
"text {\n",
" text-rendering: optimizeLegibility;\n",
"}\n",
"#pggacWL .plot-title {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 16.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .plot-subtitle {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 15.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .plot-caption {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .legend-title {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 15.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .legend-item {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .axis-title-x {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 15.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .axis-text-x {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#dNuuk3u .axis-tooltip-text-x {\n",
" fill: #ffffff;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .axis-title-y {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 15.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .axis-text-y {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#dNuuk3u .axis-tooltip-text-y {\n",
" fill: #ffffff;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .facet-strip-text-x {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#pggacWL .facet-strip-text-y {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#dNuuk3u .tooltip-text {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: normal;\n",
" font-style: normal; \n",
"}\n",
"#dNuuk3u .tooltip-title {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: bold;\n",
" font-style: normal; \n",
"}\n",
"#dNuuk3u .tooltip-label {\n",
" fill: #474747;\n",
" font-family: Lucida Grande, sans-serif;\n",
" font-size: 13.0px;\n",
" font-weight: bold;\n",
" font-style: normal; \n",
"}\n",
"\n",
" </style>\n",
" <g id=\"pggacWL\">\n",
" <path fill-rule=\"evenodd\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\" d=\"M0.0 73.84210253264433 L0.0 326.15789746735567 L600.0 326.15789746735567 L600.0 73.84210253264433 Z\">\n",
" </path>\n",
" <g transform=\"translate(6.5 80.34210253264433 ) \">\n",
" <g>\n",
" <g transform=\"\">\n",
" <g>\n",
" </g>\n",
" </g>\n",
" <g transform=\"\">\n",
" <g>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(0.0 239.31579493471133 ) \">\n",
" </g>\n",
" <g transform=\"\">\n",
" </g>\n",
" </g>\n",
" <g clip-path=\"url(#cwTxx5y)\" clip-bounds-jfx=\"[rect (0.0, 0.0), (484.9791817888703, 239.31579493471133)]\">\n",
" <g transform=\"\">\n",
" <g>\n",
" <g>\n",
" <g>\n",
" <path d=\"M318.15159595109867 152.96735746172175 L318.15159595109867 152.96735746172175 L331.22828362134453 153.11700579461956 L334.3748583976635 172.2267836992031 L336.0503047851622 176.10910184006005 L335.72339151054575 176.98001750331224 L336.5815509808939 177.51178232308797 L335.31474805197047 178.6224976115092 L335.35561314394977 179.73168871525806 L334.7017716722802 181.2242710139054 L335.4373358666901 183.86566689473733 L334.906097132177 186.16392337565924 L335.72339151054575 188.55114063181944 L316.35354682644356 188.59881535017462 L316.1083637357857 189.74217154065676 L317.7838101232845 191.40676842164814 L317.49776194064725 192.8309441083519 L318.06986576713985 193.54212462649008 L316.9665157449157 194.82074079000628 L315.9449033678683 195.1046195766413 L314.06513152047285 193.68428188706076 L313.8608060605761 191.54929563497473 L313.2887022340833 191.31173681059383 L312.3488125797767 194.4894286862622 L310.42817564040183 194.0632740603269 L309.8560718139091 180.7430969270246 L312.6348682236321 153.96443740596527 L311.8584389372427 153.01724357748697 L318.15159595109867 152.96735746172175 Z\" fill=\"rgb(72,41,121)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M-11.953028212132153 -62.90467907735439 L-11.953028212132153 -62.90467907735439 L-11.707837660256132 -65.05276920981356 L-10.114113995497632 -63.76284928444852 L-10.359304547373767 -61.54878514302413 L-12.279941486748726 -61.833933415355716 L-11.953028212132153 -62.90467907735439 ZM-13.669339691610048 -66.92164686188408 L-13.669339691610048 -66.92164686188408 L-12.279941486748726 -65.33984273788809 L-13.056370773138156 -63.047598436512146 L-13.669339691610048 -63.834428424168664 L-13.669339691610048 -66.92164686188408 ZM-22.210054380675615 -80.41802710475292 L-22.210054380675615 -80.41802710475292 L-20.41200525602096 -80.71378620129917 L-19.63557596963153 -80.19631962527683 L-19.880766521507553 -78.2052760004795 L-21.474490186265825 -77.76386178680349 L-22.90475348310656 -79.01550789948686 L-22.210054380675615 -80.41802710475292 ZM-26.827757545815075 -79.23670586543767 L-26.827757545815075 -79.23670586543767 L-23.599452585537165 -78.79440515028591 L-22.78215820716855 -76.22191512854482 L-19.553853246890867 -73.3704659976512 L-18.450503224666818 -71.62352467471743 L-18.368773040708106 -70.17223856773785 L-17.59234375431845 -69.88247970092061 L-17.469755939598713 -68.00291477226324 L-16.162087918695875 -66.13014940233836 L-15.998627550778451 -64.47907087080864 L-15.140468080430423 -64.98102230667013 L-14.772689713834325 -63.69127998296108 L-14.609229345917015 -58.63485070266677 L-15.140468080430423 -57.502098514364434 L-17.22456538772269 -57.71430537885607 L-17.796669214215285 -60.26749675950367 L-18.53223340862553 -60.054251823866366 L-20.044226889424863 -61.97657253333921 L-20.49373543997956 -61.33501640153537 L-21.760538368902985 -61.97657253333921 L-21.556220370224423 -60.054251823866366 L-20.37114016404132 -60.55194582504282 L-19.594718338870166 -59.841093879331424 L-19.96249670546615 -57.219289694059626 L-21.392760002307114 -57.502098514364434 L-23.558587493558093 -60.83656289008974 L-24.17155641202976 -62.547519461255376 L-24.04896113609209 -64.33574507258197 L-25.765280076788144 -64.19245873496271 L-25.765280076788144 -65.55526177879028 L-24.45760459466726 -65.6989240805126 L-23.149936573764535 -66.92164686188408 L-23.722047861475403 -69.0864414429335 L-25.274898973035988 -69.52049246625484 L-25.52008952491201 -73.0060295512535 L-26.09219335140483 -74.75766316967145 L-27.15467082043142 -73.51631264536536 L-27.563321740224865 -75.48926229489985 L-26.459979179218976 -76.4419009995824 L-27.358996280328483 -78.7207388274714 L-26.827757545815075 -79.23670586543767 ZM-27.89023501484155 -68.65276689190881 L-27.89023501484155 -68.65276689190881 L-26.459979179218976 -67.78647822817396 L-25.47922443293271 -68.86956540565455 L-24.498469686646786 -68.36384317480446 L-25.52008952491201 -66.41783190331824 L-27.11381318967028 -66.99366222658307 L-27.89023501484155 -68.65276689190881 ZM-29.15704540498325 -87.11421476064857 L-29.15704540498325 -87.11421476064857 L-30.219522874009954 -88.46404894779073 L-28.993585037065827 -89.3659241989784 L-24.94798569841919 -88.08873255473384 L-23.149936573764535 -88.16377372561738 L-21.883133644840882 -85.61857451176263 L-19.553853246890867 -83.5320155816205 L-19.799036337548728 -81.97265551585849 L-21.024974174492854 -81.15774488479838 L-22.700428023209724 -81.52799081445653 L-23.885500768174666 -80.56588533712375 L-25.52008952491201 -81.15774488479838 L-27.318131188348957 -80.56588533712375 L-27.522456648245793 -85.84264345514441 L-28.870989761127817 -85.91735495520288 L-29.15704540498325 -87.11421476064857 ZM-30.709896516543836 -81.00971594509247 L-30.709896516543836 -81.00971594509247 L-31.731516354809287 -82.04680383060645 L-32.834858915815516 -84.27623412589787 L-32.95745419175353 -85.99207738786072 L-32.05842962942609 -86.81473314459606 L-31.118547436337394 -85.99207738786072 L-30.914221976440444 -87.41387229603754 L-27.971965198800262 -84.94695678635878 L-27.685917016163103 -82.56612922492991 L-28.70752939321028 -82.26931318966649 L-29.361363403661585 -79.60558100715474 L-28.625799209251795 -78.86809549322965 L-29.52482377157935 -75.78219838202273 L-30.669031424564537 -76.4419009995824 L-30.832491792481733 -74.5383817508939 L-31.568055986891977 -75.48926229489985 L-32.01756453744656 -79.23670586543767 L-30.709896516543836 -81.00971594509247 ZM-34.592042948490985 -78.35249834383188 L-34.592042948490985 -78.35249834383188 L-34.83722603914907 -76.80877549469676 L-35.858845877414524 -77.69032958154526 L-38.63764228713751 -83.68077541292791 L-40.39481885859493 -85.46924980806784 L-39.7818499401227 -86.88958706986068 L-40.476549042553756 -90.34476292827298 L-42.43805107390767 -93.14105731715858 L-40.435683950574116 -95.87664055581638 L-38.658071102517965 -94.27908844481601 L-36.18575915203121 -93.67182734550397 L-36.1448940600518 -91.47653950268796 L-34.592042948490985 -84.35071693697012 L-34.592042948490985 -78.35249834383188 ZM-35.164146774983806 -105.10363478190447 L-35.164146774983806 -105.10363478190447 L-32.63054091713673 -104.01841329892977 L-31.159412528316807 -104.1732895796664 L-31.241142712275632 -103.09007026595964 L-29.116180313003724 -99.24031626046553 L-30.58730124060571 -99.85431320753924 L-30.955087068419857 -98.55047453153577 L-29.361363403661585 -96.56284291344866 L-28.870989761127817 -93.06527831693461 L-30.464713425885975 -92.15682515537696 L-30.995952160399384 -90.94807097711794 L-33.57042311022576 -88.46404894779073 L-34.34685239661496 -88.53914540771223 L-34.67377313244981 -91.17449613625217 L-34.14252693671813 -92.76227537703232 L-34.387717488594376 -95.11526678399582 L-35.28674205092193 -98.01457030405766 L-35.12328168300439 -99.54722142614389 L-35.6953855094971 -103.32199560543313 L-36.676140255783366 -104.9484577047283 L-36.96218843842075 -107.74897410977928 L-35.164146774983806 -105.10363478190447 ZM-43.704854002831325 -92.61084168677917 L-43.704854002831325 -92.61084168677917 L-42.64237653380462 -92.61084168677917 L-41.53903397279851 -90.11870674242266 L-42.029407615332616 -88.38896355356644 L-43.704854002831325 -88.01370242983376 L-43.704854002831325 -92.61084168677917 ZM-46.85143624036823 -104.87088711743957 L-46.85143624036823 -104.87088711743957 L-44.60387856515865 -104.7933284918173 L-43.132750176338504 -106.03569017471045 L-41.00778777706705 -104.32822768700612 L-42.15200289127063 -102.47213835877267 L-41.743351971476955 -101.77785369768469 L-40.68087450245059 -103.86357052963649 L-38.10640355262399 -103.16736684554974 L-36.676140255783366 -101.62369799100486 L-37.49342717293382 -98.85696081212006 L-36.839593162482515 -98.62707867844051 L-35.981441153352534 -94.96314309764796 L-37.94294318470668 -94.43102085581154 L-41.579891603559645 -97.40281693904296 L-41.457303788839795 -94.35504896049918 L-42.60151144182521 -93.14105731715858 L-43.95004455470723 -93.67182734550397 L-44.76733893307619 -95.5719537335558 L-46.32019750585482 -96.86812672882274 L-47.50527025081976 -99.54722142614389 L-49.01726373161932 -100.77669692191466 L-48.9355335476605 -103.01278554747307 L-47.91391370939493 -103.7861670041973 L-47.587000434778474 -105.72480825227274 L-46.85143624036823 -104.87088711743957 ZM-127.43651719989793 -133.93359800578605 L-127.43651719989793 -133.93359800578605 L-130.58309943743484 -130.16553079915832 L-130.8282825280928 -128.6988614206506 L-133.36189584715794 -127.72349878857574 L-132.83064965142626 -130.0023507074618 L-130.0927183336828 -132.373727786931 L-128.3764068542048 -135.00372550572604 L-127.43651719989793 -133.93359800578605 ZM-131.03260798798965 -139.64032653497725 L-131.03260798798965 -139.64032653497725 L-131.44125144656505 -136.48929752239826 L-132.50373637680968 -133.2762174246617 L-133.97486476562972 -134.34491614312344 L-132.74891946746743 -138.06228582201732 L-131.03260798798965 -139.64032653497725 ZM-132.70805437548847 -315.2030400690571 L-132.70805437548847 -315.2030400690571 L-131.9316325503171 -314.2368302560209 L-128.0494861183697 -313.27269276845095 L-126.00625390305709 -313.8750306783486 L-123.18659240135457 -313.8750306783486 L-120.12174780899454 -313.03197217109437 L-118.32369868433943 -313.51354093421935 L-116.56652211288201 -311.7103046604292 L-113.37908224458374 -309.6752419795564 L-109.08829235406142 -309.1977188256402 L-107.90321960909637 -310.39244598487744 L-105.0426930154149 -311.1108045194617 L-103.81675517847088 -312.67113015121606 L-100.71103803291317 -312.91165966560686 L-100.75190312489235 -311.83027768390036 L-98.91299636947633 -312.43072784604703 L-95.11258012148778 -310.75148342369266 L-92.53810917166152 -308.0060987072552 L-90.12709858975268 -306.6989313066365 L-89.59585239402122 -305.51384683597666 L-87.38916727200922 -305.2771951922456 L-85.30506996471695 -303.2706251247639 L-84.89641904492328 -301.97693392084443 L-83.62961611600008 -303.03513531405827 L-82.07675754322099 -302.21187762648265 L-82.07675754322099 -135.49842303737682 L-78.60326203106752 -134.26262503278792 L-78.1537534805127 -135.58092099006217 L-74.5167976004418 -133.68697187113332 L-72.35097757040899 -136.07619938119376 L-67.81499712801042 -136.32401059574227 L-68.63229150637903 -132.29176512779804 L-67.48808385339385 -130.90049430736167 L-64.91360544234931 -129.59463616042115 L-64.34150161585649 -127.47995465109886 L-56.74067658109789 -119.74915028789883 L-55.55560383613329 -114.898593946088 L-50.93790067099394 -118.55199386960362 L-49.09898645435976 -118.63171478014385 L-48.24083444522989 -120.38879888177678 L-48.32256462918849 -123.0361169296126 L-47.01489660828577 -123.0361169296126 L-46.68797587245092 -125.3742578458041 L-44.35868801328263 -125.94029996268046 L-40.88519250112893 -127.96716288138998 L-37.49342717293382 -124.48608208773783 L-37.820347908768554 -122.3930535756374 L-37.003053530399825 -120.30879597639296 L-35.082416591025094 -119.82906321474104 L-32.67139854789798 -116.72195465253117 L-32.834858915815516 -115.84908862946725 L-31.731516354809287 -114.18692318129717 L-28.66666430123098 -112.29405166382946 L-23.68118276949599 -104.09583841144809 L-22.945618575085973 -101.93205655448548 L-21.392760002307114 -99.77752275209946 L-16.815921929147294 -91.02353482777858 L-17.674073938277388 -89.3659241989784 L-15.303928448347847 -88.76448750283544 L-15.876032274840327 -86.36584002216955 L-13.95539533546571 -85.39460382216816 L-13.710204783589575 -82.64036351004393 L-11.789567844214844 -82.78886437491678 L-8.111746872164417 -79.97470789890224 L-5.823331566193474 -79.45799914839063 L-4.638251360010486 -78.13168063904828 L-3.4940437070249573 -77.76386178680349 L-3.1671229711902242 -76.4419009995824 L-0.7561123892813839 -76.0753011588161 L-0.02054819487148052 -74.46530866263748 L-1.1238907558774827 -71.47821135747517 L-0.9604378491784473 -69.01413494493926 L0.10204708106664384 -64.98102230667013 L-2.5132889607390325 -60.338597751379325 L-5.128632463762756 -57.71430537885607 L-5.864196658172773 -59.060270529229115 L-6.844943943240878 -58.63485070266677 L-7.539643045671596 -61.33501640153537 L-7.33531758577476 -62.4761168954563 L-8.152611964143716 -63.834428424168664 L-6.436300484665708 -65.26806932645178 L-6.926674127199362 -65.77077012390674 L-8.642993067895759 -63.97761623174631 L-9.582875260984338 -65.12452601189972 L-10.645360191229315 -64.47907087080864 L-13.751069875568874 -67.35388898326812 L-12.688592406542284 -70.53468193438476 L-14.650094437896314 -69.44812536932358 L-14.73182462185514 -67.85861370947379 L-16.284675733415725 -69.0864414429335 L-16.611596469250458 -70.60720107666765 L-15.549111539005594 -72.27794059594811 L-15.876032274840327 -73.95408672721362 L-17.34716066366059 -72.56905835160944 L-18.818289052480736 -75.5624807022337 L-19.71730615359013 -74.97703789520091 L-20.289417441300884 -77.4698094488324 L-18.859154144460376 -79.08922997021733 L-17.469755939598713 -79.08922997021733 L-17.87839939817411 -81.08372507282911 L-17.14283520376398 -83.68077541292791 L-18.287042856749167 -83.60639009069166 L-20.657195807896983 -85.84264345514441 L-22.332649656613967 -88.53914540771223 L-26.25565371932214 -90.49552287049585 L-26.173923535363542 -96.02905272303849 L-27.440726464286968 -96.7154618054791 L-27.15467082043142 -99.01025968943486 L-28.462346302552533 -99.62397686565191 L-30.38298324192749 -102.70377929872336 L-30.914221976440444 -104.32822768700612 L-34.22425712067684 -104.87088711743957 L-37.86121300074808 -109.07688932146903 L-39.414071573526826 -119.03051093842339 L-40.14963576793707 -116.72195465253117 L-39.82271503210234 -114.6612528248703 L-38.351586643282076 -110.72211533774248 L-38.71937247109611 -110.09472879556381 L-37.73861772481007 -106.89159439817468 L-37.94294318470668 -104.7933284918173 L-39.37320648154764 -105.25885975856681 L-40.51741413453283 -107.592977930497 L-42.029407615332616 -107.9830450846664 L-44.154370014603955 -107.35907452781544 L-44.11350492262466 -110.72211533774248 L-45.42117294352772 -113.55516430809678 L-46.60624568849221 -112.68781225520786 L-51.30567903759004 -115.6905470671262 L-51.71432995738371 -114.8194677016412 L-49.13985154633906 -113.87094388267951 L-47.1374844230055 -111.5074734960723 L-46.36105513661607 -111.42888220884345 L-46.11587204595833 -109.54639684181984 L-45.09425220769299 -107.35907452781544 L-47.66873061873707 -106.1134407139748 L-49.180716638318245 -106.89159439817468 L-49.221581730297885 -104.9484577047283 L-51.1830837616518 -106.42456323864906 L-51.83691777210356 -107.51499801858097 L-53.062863070265394 -107.51499801858097 L-58.947369164328165 -112.84540335040106 L-59.192559716204414 -114.34498782055095 L-60.58195792106562 -116.56313542106068 L-64.42323179981531 -118.15359520035747 L-70.26688026311672 -121.75080731521905 L-72.71875593700497 -123.59949450964518 L-72.51443047710836 -125.616768136887 L-71.81973137467753 -124.97035232628775 L-71.00244445752674 -126.26404325175508 L-71.81973137467753 -129.18727265343364 L-70.79811899763013 -130.81877598919493 L-71.28849264016412 -131.5547283746513 L-73.12739939558014 -128.4548366385617 L-76.96868073554788 -126.42599429624704 L-81.54551880870781 -127.15541549306636 L-85.38680014867577 -129.02441528051975 L-85.55025305537492 -130.49205282190462 L-87.3483021800298 -130.16553079915832 L-89.26893911940442 -131.22750293299987 L-93.5597290099272 -132.2098160879989 L-96.05246977579463 -132.29176512779804 L-103.65329481055369 -130.90049430736167 L-106.18690066840009 -133.0299199898377 L-109.33348290593744 -134.01583416106666 L-110.31423019100566 -135.33346860846586 L-110.68201601881947 -137.56501897491205 L-112.84783604885229 -137.39937007441188 L-113.58340024326253 -135.4159389119742 L-117.42468158323027 -138.06228582201732 L-118.03765050170227 -139.22455670860825 L-122.00151965638975 -137.06823965405795 L-123.92215659576482 -134.50953962551193 L-124.73945097413366 -136.90275804697228 L-123.92215659576482 -138.22815838715235 L-122.7779489427794 -137.89646924001704 L-119.01839778677049 -139.64032653497725 L-119.50877889052231 -140.97314705349095 L-121.26595546197996 -140.30629177155254 L-121.96065456441056 -142.05873448523516 L-123.59524332114825 -142.30960002590984 L-125.22982461666766 -146.76284278872686 L-125.84279353513966 -145.66678355885847 L-128.13121630232854 -145.07760585607616 L-128.86678049673878 -145.66678355885847 L-129.6432097831282 -144.23716798136104 L-132.50373637680968 -144.7412512881674 L-132.6263316527477 -143.14674751023972 L-134.54696859212254 -142.72799492295587 L-135.44598569323193 -143.31433355384183 L-134.7921516827805 -146.17234334356158 L-135.60944606114958 -146.0880444949605 L-136.91711408205197 -143.0629683436116 L-135.11907241861536 -142.05873448523516 L-134.95561205069816 -139.8899575924521 L-133.8522694896917 -137.56501897491205 L-134.50610350014335 -135.08614057547493 L-135.93636679698398 -135.9110511814862 L-136.3450102555596 -134.6742181592018 L-134.95561205069816 -134.18034766922858 L-134.1791827643085 -130.90049430736167 L-136.18154988764195 -130.24714106712077 L-137.28489990986623 -130.90049430736167 L-139.04207648132365 -130.0023507074618 L-139.9411010436511 -130.73707119587073 L-142.2703889028196 -130.65539483626424 L-142.18865871886078 -131.88217096792255 L-143.29200127986678 -131.0639715391261 L-143.90497019833902 -129.5131336121625 L-144.88572494462505 -130.90049430736167 L-146.11166278156907 -128.94300671254723 L-145.58042404705589 -128.04839609067187 L-147.2967355265339 -126.91215071486715 L-148.84959409931275 -126.75004059122068 L-149.46256301778476 -125.2126649833026 L-151.13801686650186 -123.84113800847626 L-152.28222451948704 -124.3247637352656 L-153.5490274484107 -122.71447378836558 L-154.57064728667615 -122.79486503681039 L-156.69560222472933 -119.50948849780877 L-158.98402499191866 -119.2699420915601 L-159.71958918632845 -120.30879597639296 L-161.10898739118988 -118.55199386960362 L-163.96951398487158 -119.9089743872562 L-163.3156799744204 -122.3930535756374 L-161.43590812702496 -123.27748614773202 L-160.20996282886267 -123.11656029289122 L-159.8421844622667 -124.08288456294679 L-157.63549187903618 -126.02121594762207 L-157.55376169507758 -127.64230408786841 L-160.4551533807387 -125.45508142165977 L-162.86616396264753 -126.75004059122068 L-163.15221960650297 -127.64230408786841 L-161.92628176955895 -131.39108853086566 L-159.8421844622667 -134.09808404710168 L-159.51526372643184 -136.32401059574227 L-158.90229480795983 -136.7373321172065 L-158.65711171730186 -139.14144498394148 L-159.71958918632845 -141.8080125628211 L-157.14511823650219 -142.81171680256818 L-152.24135942750763 -146.6784420233074 L-151.05628668254326 -145.16173065171108 L-149.54429320174336 -144.7412512881674 L-147.2967355265339 -146.34098467304057 L-149.78948375361938 -148.4539127596962 L-150.77023103868783 -150.06587387664445 L-152.73173307004163 -149.89594103446962 L-154.1211312749033 -150.6610901750978 L-154.5297821946965 -149.9809000525952 L-156.85906259264675 -148.87758552210346 L-157.92154752289161 -146.76284278872686 L-160.25082792084186 -146.25665673432536 L-162.66184596396874 -143.8174820945119 L-162.90702905462672 -142.22596390717 L-164.74594327126124 -141.3904020891 L-165.1545867298364 -139.64032653497725 L-166.46225475073902 -138.5600716424019 L-167.07522366921103 -135.49842303737682 L-169.60883698827638 -133.52262300407426 L-168.3828916901141 -131.96406558557908 L-169.40451152837932 -129.67615215548358 L-171.7746570183092 -129.2687214687046 L-171.9789824782058 -126.34501215311548 L-174.1856750614361 -125.29344745106675 L-174.88037416386692 -126.50698968622203 L-175.9837167248727 -124.24412423530919 L-177.29138474577576 -124.16349784620252 L-177.04620165511778 -122.55374500753112 L-179.94759334077867 -121.5903754197509 L-180.5196971672715 -117.19871615660009 L-177.20966202303498 -116.96027840454462 L-174.59431852001148 -115.7698115505541 L-173.85875432560124 -114.34498782055095 L-174.9212392558461 -112.0579440245383 L-176.67841582730352 -110.64364723627375 L-178.31300458404098 -110.56520575167815 L-178.47646495195886 -109.31158096884758 L-179.538942420985 -108.84229320882525 L-179.04856877845123 -107.28113094001878 L-180.15191133945723 -104.9484577047283 L-182.52206429060493 -102.78100251518947 L-183.87059740348695 -102.78100251518947 L-185.1782654243898 -102.00917567495821 L-186.44506835331322 -102.16344932162212 L-187.42582309959948 -101.31554195247566 L-187.13976745574405 -100.16159187668984 L-188.97867421116007 -99.54722142614389 L-189.34646003897433 -97.86155908445267 L-190.61326296789775 -98.9335974390184 L-192.0026611727592 -95.64810826045357 L-194.33194903192748 -95.87664055581638 L-194.16848866401006 -94.1272015359292 L-195.5578868688715 -94.58299880174343 L-196.53863415393948 -93.82356409333363 L-196.53863415393948 -91.47653950268796 L-198.09149272671834 -87.86367530223845 L-200.58423349258624 -87.41387229603754 L-202.62746570789886 -85.76794288380404 L-202.9543864437337 -84.87240067167545 L-204.26205446463632 -86.14155506650741 L-206.46874704786683 -82.7146085587724 L-207.0817159663386 -83.68077541292791 L-208.30765380328285 -83.3832989876845 L-208.59370944713805 -81.45391752681473 L-209.8605123760617 -80.71378620129917 L-211.37250585686115 -81.00971594509247 L-212.55757860182598 -79.08922997021733 L-210.47348129453394 -78.4997628724575 L-212.7210389697434 -74.2461515014432 L-219.17764889029877 -72.86032696684612 L-220.97569801495365 -69.15875803204989 L-221.42520656550823 -69.95490752229415 L-221.1800160136322 -72.27794059594811 L-222.44682640377368 -72.64185013766445 L-224.0405426073139 -71.76887884730371 L-224.28573315918993 -70.82481950460704 L-226.77847392505737 -69.30342149756302 L-227.84095885530223 -67.57014510748843 L-228.1678721299188 -68.79728915833545 L-228.82170614037022 -67.35388898326812 L-230.2928345291905 -68.2916373952662 L-233.03076584693395 -66.05825366043717 L-235.0739980622468 -66.13014940233836 L-234.7879424183916 -67.85861370947379 L-235.68696698071903 -69.52049246625484 L-236.50426135908765 -68.1472559916491 L-236.42253117512928 -66.70566067932202 L-239.16046249287274 -62.33334109461856 L-240.10035214717936 -63.40510109220463 L-240.38640032981675 -61.762628480197634 L-242.26617963843023 -62.04790672280143 L-242.55222782106762 -64.62243615662516 L-243.69643547405303 -65.1962927163159 L-244.1050863938467 -64.26409697288176 L-243.08346655558125 -63.11907934482218 L-243.57384765933307 -61.33501640153537 L-245.08583367891447 -60.40970842205854 L-246.23004879311793 -62.40472410768734 L-247.6194469979796 -62.547519461255376 L-247.8646300886371 -61.762628480197634 L-246.4752318837759 -60.62308555008212 L-249.00884520284103 -58.776618875216684 L-247.29252626214475 -58.280598221605885 L-247.25166117016533 -57.43138199441273 L-248.6819244670064 -58.0681746955031 L-250.60256140638126 -56.371790725631286 L-254.32124747041098 -56.442364404031196 L-256.160154225827 -55.31433628471325 L-256.32361459374465 -54.46990657809124 L-258.4485769930159 -53.48643606536638 L-260.00143556579474 -53.83746432386573 L-260.53267430030814 -56.2306718572807 L-258.9798157275293 -57.00728321533296 L-257.7947429825647 -59.912136867294976 L-256.2418844097856 -59.98318951438131 L-252.8909841735699 -61.90524809863024 L-250.19391794780563 -61.97657253333921 L-249.17230557075868 -60.12532379902888 L-248.39587628436925 -61.477519165411366 L-248.55932919106817 -63.047598436512146 L-247.00647807950736 -63.76284928444852 L-245.33102423079072 -63.76284928444852 L-240.59072578971336 -70.31718545947263 L-237.3215557374565 -73.07889626363743 L-233.48027439748876 -74.31919354151194 L-231.88655819394853 -73.73515992330562 L-230.3336996211699 -74.5383817508939 L-229.92505616259473 -73.3704659976512 L-230.78320817172448 -72.05970987171662 L-229.84332597863568 -71.04252950800219 L-229.55727033478047 -72.64185013766445 L-227.63663339540562 -72.78749108769131 L-227.10539466089222 -71.76887884730371 L-225.92031445470934 -71.40557001077303 L-225.8794493627297 -72.64185013766445 L-227.84095885530223 -73.73515992330562 L-228.0044117620016 -74.46530866263748 L-226.69674374109854 -77.91095775146238 L-222.56941421849365 -81.82439107106529 L-218.80987052370233 -83.5320155816205 L-216.07193920595887 -85.99207738786072 L-214.76427118505626 -85.09612889461278 L-213.70178625481117 -85.46924980806784 L-214.15130226658425 -87.0393278739781 L-213.8243815307494 -88.53914540771223 L-211.74028422345714 -91.70320021527982 L-208.87975762977544 -93.74769697374188 L-206.59134232380484 -96.48655071876101 L-206.71393013852457 -98.01457030405766 L-204.87502338310856 -108.99867842079254 L-202.01449678942663 -111.97926623632111 L-202.3414175252617 -114.34498782055095 L-209.20667836561006 -110.95759344826206 L-211.37250585686115 -111.35030326082483 L-211.90374459137456 -112.76660159398546 L-213.1296824283188 -113.39734932403405 L-213.53833334811202 -114.9777327341726 L-214.64167590911802 -114.26594924786457 L-215.33637501154885 -111.82196212901681 L-214.15130226658425 -108.76411888849975 L-215.5815655634251 -107.43703021917872 L-216.8483684923483 -107.90501879286717 L-219.30024416623678 -112.76660159398546 L-220.97569801495365 -115.2152244072771 L-221.83385002408363 -115.2152244072771 L-222.4059613117945 -113.39734932403405 L-223.14151804498601 -113.08188317183783 L-224.2448680672103 -114.58216418315601 L-225.59340118009277 -114.8194677016412 L-226.20637009856478 -117.27820624562924 L-233.80719513332338 -112.53027081203811 L-234.09325077717904 -111.42888220884345 L-236.91290481766305 -109.78132278177372 L-238.30230302252448 -111.27173664742475 L-237.03550009360106 -113.00304413468871 L-238.42489829846227 -121.51017889540094 L-236.54512645106706 -123.35796864922577 L-238.09798502384592 -127.07431394784692 L-239.4465181367284 -129.18727265343364 L-240.50899560575476 -132.29176512779804 L-242.10271927051303 -133.6047905855495 L-242.5113627290882 -130.90049430736167 L-244.43199966846305 -130.32876482342851 L-247.4968517220418 -128.61750644350934 L-251.17467269409212 -127.88592818021607 L-253.17703981742534 -128.04839609067187 L-254.89335129690357 -128.94300671254723 L-255.0976767568004 -131.3092889538143 L-256.5688051456207 -132.04597380149232 L-258.8980855435707 -135.33346860846586 L-260.85958757492494 -135.9936183515042 L-263.1480103421138 -139.64032653497725 L-261.5951517693352 -141.30692266934727 L-261.26823849471816 -144.40514316556107 L-262.4533112396832 -143.73358808412286 L-262.61677160760064 -145.66678355885847 L-262.0446677811078 -147.26955382258245 L-263.55666126190704 -148.70808155821123 L-263.7201141686064 -147.18506547340348 L-265.5590283852407 -147.77677564960504 L-265.8042114758989 -150.40590182404424 L-267.2344747727393 -150.74618265787853 L-268.01090405912873 -152.53655095955855 L-267.9700389671498 -154.76234775031742 L-269.4003022639906 -153.7337925827918 L-269.64549281586665 -155.87909397965302 L-267.8883087831907 -156.39536652932065 L-269.3185720800316 -158.8119817851633 L-266.78496622218495 -158.98504392174073 L-266.78496622218495 -161.9368327607159 L-266.17199730371317 -163.94388955420152 L-261.47256395461477 -170.36989595713328 L-260.49180920832873 -172.3234014772945 L-259.79711010589835 -171.96763892265096 L-260.2057535644735 -174.73179883060527 L-258.40771190103646 -179.49477995200095 L-256.8548533282576 -181.39514718394707 L-253.95346910381477 -182.2119182748636 L-251.70591142860553 -181.39514718394707 L-248.55932919106817 -178.50233122384213 L-246.51609697575532 -178.86298405408718 L-243.69643547405303 -181.66724943005 L-240.7950512496102 -185.95046125028 L-239.32392286078993 -186.4083940503824 L-238.95613703297568 -185.31010853541443 L-235.4417838900613 -185.31010853541443 L-232.33606674450334 -186.22516824662432 L-229.55727033478047 -190.73452383598396 L-229.55727033478047 -191.84539938168132 L-230.9466685396419 -196.12788236128938 L-231.1101289075591 -198.65959408477306 L-233.2759563988102 -201.3939680471592 L-234.09325077717904 -203.76392453592348 L-231.88655819394853 -203.09913588980407 L-229.8024608866565 -205.0962913271802 L-229.6798656107187 -207.006211800463 L-232.37693183648275 -210.56003743754422 L-234.3792989598162 -207.77233473958677 L-236.25907080721163 -208.25180393243556 L-238.01625483988732 -206.7192289422527 L-240.01862196322077 -206.33685587229547 L-240.50899560575476 -205.2869384815964 L-242.79741837294364 -203.76392453592348 L-243.49211747537447 -201.2048984475781 L-244.6363251283601 -200.16626641413131 L-245.1675638628733 -203.1940485832555 L-246.55696206773473 -203.85897057277703 L-247.53771681402077 -201.48853976673786 L-248.10982064051382 -202.6248747890104 L-250.68429159033963 -204.33448717468377 L-255.95583622714844 -204.23934563681155 L-259.7153799219393 -202.3405354720303 L-261.1456432187804 -202.05636668109082 L-264.21049527235846 -203.1940485832555 L-270.01327118246263 -204.52482763653347 L-271.5252646632621 -205.57305332256578 L-272.2199637656929 -207.29336896758957 L-271.68872503117973 -209.69312055940406 L-273.77282233847154 -211.71839153654685 L-273.3641714186781 -213.94656970804215 L-272.0565033977755 -215.1132839969456 L-272.46515431756916 -217.94484320140236 L-274.5492441636429 -217.94484320140236 L-276.2655631043392 -218.72898078192566 L-279.6164633405549 -219.31792529686425 L-281.3736473732306 -220.79356800848439 L-284.07071359899487 -222.27384219785745 L-284.3158966896526 -224.1555681369257 L-280.1068369830891 -226.64310993124286 L-271.0757561127075 -233.37559471080488 L-268.95079371343604 -231.96077986581645 L-266.78496622218495 -231.65815759147006 L-266.2945925796507 -233.6793313267557 L-267.60226060055356 -233.98326552925778 L-267.7248484152735 -235.70928661999096 L-262.5350414236418 -238.56612623390436 L-256.69140042155846 -240.72030986904485 L-253.54481818402155 -240.92599232396424 L-251.82850670454354 -240.20650065257553 L-252.72752380565294 -237.13551976591577 L-252.4006105310359 -234.99779163622293 L-253.05444454148733 -233.47681831279385 L-251.95109451926328 -231.05349992381855 L-249.90786230395042 -231.4565181588605 L-247.33339135412416 -231.05349992381855 L-244.3502769457225 -231.55732700700366 L-243.49211747537447 -230.65084702018623 L-241.53061544402044 -230.44964127911692 L-239.81429650332393 -231.35573103675006 L-237.56673882811447 -230.34907084897043 L-235.40091879808165 -234.3888004577018 L-233.8480602253028 -234.59170929581092 L-232.78557529505792 -233.7806207596018 L-232.25433656054452 -236.11632397746826 L-235.23745843016422 -237.23756189196104 L-238.09798502384592 -236.31998514053282 L-237.8119293799905 -239.3855824875444 L-240.05948705520018 -242.67795154591556 L-242.5113627290882 -243.7115961974324 L-243.24692692349845 -246.72223652372293 L-241.3262899841236 -247.45188237154298 L-238.87441431023535 -244.43652926730965 L-239.32392286078993 -242.05885341263001 L-238.13885011582533 -240.20650065257553 L-235.56437170478125 -238.05468479946114 L-234.9514027863088 -240.3092171772588 L-237.89365956394954 -243.2978552637536 L-236.62685663502566 -248.70535688519692 L-237.64846901207306 -249.6477022968494 L-240.54986069773418 -248.49620624034878 L-243.53298256735388 -248.80996754036767 L-243.98249111790847 -249.75252550494292 L-245.49448459870814 -248.80996754036767 L-251.7467765205845 -251.11736669925926 L-251.86937179652296 -253.54196184531418 L-253.74914364391816 -258.9639545613677 L-255.26113712471783 -261.0002671460454 L-257.67214770662645 -262.7220383818433 L-264.8234641908307 -269.3458506758341 L-267.0710144048219 -269.78352456720893 L-270.4219146410376 -273.07953216815474 L-273.69109215451294 -274.95778985645643 L-273.8545450612123 -275.62252639785595 L-271.40266938732384 -276.62146680853914 L-270.2993268263176 -279.74319841103204 L-270.21759664235924 -286.0510977381846 L-263.59751889266863 -285.59764047298756 L-255.5880503993344 -287.07299943611645 L-253.50395309204214 -288.2111488058206 L-250.19391794780563 -291.41305957976 L-247.04734317148677 -296.37434182815286 L-246.39350916103558 -301.39012510896373 L-245.04497604815356 -305.7506214918701 L-242.26617963843023 -309.43641775510116 L-241.0810994322478 -312.1904526068387 L-237.64846901207306 -316.6561974127201 L-237.1172302775601 -315.4449139778121 L-234.2567036838782 -315.0821513967405 L-230.08850906929365 -317.3845348423886 L-227.47317302748797 -319.820779841368 L-221.22088110561117 -327.45739385773027 L-218.85073561568174 -327.8301974280348 L-218.60554506380595 -326.7127064581831 L-216.1945344818971 -327.5816276037409 L-213.8243815307494 -327.33319419600684 L-209.1658132736311 -328.32772423919664 L-204.58897520047117 -331.7005475244422 L-200.0529947580726 -338.7772566310449 L-198.21408800265635 -340.30825113687786 L-197.88716726682173 -339.03206196875135 L-190.8993186117532 -336.11049391160157 L-190.32720732404232 -334.089179254193 L-192.73822536716943 -331.44984276814046 L-193.8415679281752 -331.32454249211673 L-193.80070283619602 -327.8301974280348 L-190.2863422320629 -328.9504313070289 L-190.08202423338435 -330.82368826010986 L-188.48830056862607 -332.5790875240916 L-187.95706183411312 -331.57517777211524 L-186.7719890891483 -335.6043109780883 L-183.29849357699436 -331.95139135584554 L-183.87059740348695 -329.1997542591646 L-181.7047699122361 -328.45219712567916 L-180.43796698331266 -326.83673599560734 L-178.55819513591746 -329.4492146661788 L-175.24815253046268 -329.57399646549607 L-173.36838068306724 -330.4484112325248 L-168.5463520580313 -329.57399646549607 L-166.09447638414326 -328.57670425571007 L-167.27954912910786 -323.25364266718316 L-162.78444123990698 -321.90192142775015 L-162.45752050407214 -320.55419595052376 L-158.08500042959076 -318.23571923142777 L-158.04413533761158 -319.33247885012497 L-154.8975605612925 -320.798939213208 L-151.8735735996936 -320.6765510727606 L-151.8327159689327 -319.45450483467584 L-150.07553193625677 -319.33247885012497 L-148.23662518084075 -321.043814624526 L-145.21263821924163 -321.288822336223 L-143.08767581997017 -320.55419595052376 L-140.1862915955271 -318.72284071567503 L-138.8377584826453 -319.08852529489866 L-136.91711408205197 -316.5349213553244 L-135.8137715210462 -317.50603810056657 L-134.01572985760936 -316.7775058720101 L-132.70805437548847 -315.2030400690571 ZM-171.16168809983697 -102.31777020470076 L-171.16168809983697 -102.31777020470076 L-171.20255319181638 -101.70076995273416 L-173.7770316028607 -102.62655381845332 L-171.9381173862264 -106.26897789391398 L-170.26267099872803 -106.58019678370943 L-169.1184558845241 -109.9380012839207 L-167.85165295560046 -106.96947753513894 L-166.7891754865741 -107.9830450846664 L-164.74594327126124 -106.34676454346265 L-164.74594327126124 -104.09583841144809 L-167.72905767966267 -103.7861670041973 L-169.0367257005655 -102.78100251518947 L-171.16168809983697 -102.31777020470076 ZM-178.76251313459557 -95.49581065220536 L-178.76251313459557 -95.49581065220536 L-176.63755073532434 -97.32639802049277 L-178.55819513591746 -97.70859414717006 L-178.59905276667837 -99.31702507151783 L-177.00533656313837 -100.39215965105416 L-175.8611214489349 -99.62397686565191 L-175.69766854223553 -98.01457030405766 L-175.0438345317841 -99.08693357365951 L-175.00296943980493 -101.46958939998922 L-173.61357123494327 -100.39215965105416 L-173.36838068306724 -101.93205655448548 L-172.14244284612323 -101.00756003056733 L-170.67131445730297 -101.00756003056733 L-169.52710680431755 -101.85494923016518 L-167.64732749570408 -100.39215965105416 L-167.64732749570408 -96.33400081122727 L-165.27718200577442 -96.63914660763317 L-166.83004057855305 -93.97536009635564 L-169.6905597110167 -95.03920617792721 L-168.6280822419901 -93.29264926438782 L-169.44537662035896 -91.85436353657337 L-170.91650500917922 -92.53514177236627 L-170.9573701011584 -89.81746836494438 L-173.2049203151496 -89.06511707217703 L-173.94048450956006 -87.93868334698027 L-175.3298827144215 -88.98994304373673 L-176.80101110324154 -86.14155506650741 L-177.94521875622695 -85.84264345514441 L-179.17116405438924 -84.57423049452848 L-179.62067260494382 -87.63871735736313 L-181.33698408442206 -85.99207738786072 L-181.41871426838043 -86.96445197835203 L-182.9715728411595 -87.93868334698027 L-183.09416811709752 -90.72174659128484 L-184.6061615978972 -91.85436353657337 L-183.74800212754894 -95.11526678399582 L-180.76488025792924 -97.17359480292043 L-178.92597350251322 -97.02083771683897 L-178.76251313459557 -95.49581065220536 ZM-183.05330302511834 -82.64036351004393 L-183.05330302511834 -82.64036351004393 L-184.6061615978972 -79.9008720670343 L-185.0965352404312 -80.34411396612745 L-183.05330302511834 -82.64036351004393 ZM-191.26709697834917 -73.51631264536536 L-191.26709697834917 -73.51631264536536 L-190.08202423338435 -73.3704659976512 L-190.49066769195997 -70.60720107666765 L-192.45216972331377 -70.96994932595703 L-192.77909045914862 -71.91427390352936 L-191.26709697834917 -73.51631264536536 ZM-223.0189302302665 -65.05276920981356 L-223.0189302302665 -65.05276920981356 L-223.46843878082086 -62.26196785292149 L-225.75686154800997 -59.98318951438131 L-224.65351152578592 -63.47663107432413 L-223.8770822393965 -63.11907934482218 L-223.0189302302665 -65.05276920981356 ZM-227.71836357936422 -66.05825366043717 L-227.71836357936422 -66.05825366043717 L-226.3289653745028 -66.05825366043717 L-226.3698304664822 -64.62243615662516 L-227.75922867134364 -63.047598436512146 L-228.98516650828765 -64.1208303554559 L-229.76159579467708 -63.11907934482218 L-230.21110434523143 -65.55526177879028 L-229.8024608866565 -66.34589634124035 L-227.71836357936422 -66.05825366043717 ZM-240.6724559736722 -61.121335184493944 L-240.6724559736722 -61.121335184493944 L-240.50899560575476 -59.98318951438131 L-241.3671550761028 -59.273110267566324 L-242.0209890865542 -60.48082877482665 L-240.6724559736722 -61.121335184493944 ZM-241.85752871863724 -188.42851531501094 L-241.85752871863724 -188.42851531501094 L-242.96087874086106 -186.7750566655999 L-243.32865710745705 -188.2445126947232 L-241.85752871863724 -188.42851531501094 ZM-244.7589204042979 -54.7512237370039 L-244.7589204042979 -54.7512237370039 L-243.16519673953962 -54.25900790518352 L-243.32865710745705 -53.20579489409272 L-244.59546003638047 -53.275944350607574 L-244.7589204042979 -54.7512237370039 ZM-265.2321076494061 -52.29470209162656 L-265.2321076494061 -52.29470209162656 L-264.7008689148927 -50.826284434513525 L-265.8450765678781 -50.19820188790658 L-266.25372748767154 -51.734825182055204 L-265.2321076494061 -52.29470209162656 ZM-266.66237094624694 -50.47725734202419 L-266.66237094624694 -50.47725734202419 L-268.95079371343604 -49.08346618941442 L-269.4411673559698 -50.05872949972593 L-268.46041260968354 -51.31529814031467 L-266.66237094624694 -50.47725734202419 ZM-271.32093920336524 -136.32401059574227 L-271.32093920336524 -136.32401059574227 L-269.60462772388723 -136.90275804697228 L-269.236841896073 -135.82849786573456 L-267.7248484152735 -136.07619938119376 L-266.25372748767154 -135.08614057547493 L-265.9676718438161 -130.81877598919493 L-266.7441011302053 -129.43164450552638 L-268.6647380695804 -128.61750644350934 L-269.07338152815555 -127.15541549306636 L-271.89304302985806 -128.78022978776937 L-273.2007110507609 -128.6988614206506 L-276.0203725524632 -130.81877598919493 L-277.0011272987492 -130.81877598919493 L-278.63571605548714 -132.04597380149232 L-279.2078198819795 -134.01583416106666 L-278.39052550361043 -134.50953962551193 L-275.611729093888 -134.01583416106666 L-274.30406107298495 -135.58092099006217 L-272.9146628681235 -135.7459583988457 L-272.3016939496515 -136.8200381251438 L-271.32093920336524 -136.32401059574227 ZM-271.40266938732384 -48.66605425388508 L-271.40266938732384 -48.66605425388508 L-270.1767315503798 -47.69334381338189 L-272.6694723162475 -45.33849067797934 L-272.62860722426785 -44.92402094517894 L-269.482032447949 -46.65314819141116 L-269.4411673559698 -45.68414035322837 L-270.70797028489324 -44.50986228164231 L-272.7512025002061 -43.751422538910276 L-272.9555279601029 -42.581408024076836 L-275.1622205433332 -41.34536869717067 L-277.08285748270805 -41.276783270827934 L-278.3496604116317 -40.112193000078605 L-280.7198059015607 -39.08672398273262 L-281.9866162917024 -40.18062861664788 L-279.4938680646169 -41.482566068286474 L-278.71743877822746 -41.276783270827934 L-276.8376669308318 -42.37519979508846 L-277.2871754813866 -43.61363846100954 L-276.2246980123598 -44.92402094517894 L-274.63097434760175 -44.30290413206262 L-274.4675214409026 -45.131221619434314 L-276.18383292038015 -45.40760258278044 L-277.12372257468724 -46.306878536991405 L-276.3064281963186 -47.83219291853874 L-273.4050365106573 -48.735589426502145 L-272.7920675921855 -46.99965713745246 L-271.40266938732384 -48.66605425388508 ZM-289.423980958544 -37.926901725990206 L-289.423980958544 -37.926901725990206 L-286.5634543648621 -40.31752622061572 L-286.3999939969451 -41.34536869717067 L-285.29665143593866 -42.5126630606502 L-283.5803324952426 -43.062859316389165 L-282.6813153941332 -42.443926985295946 L-282.3543946582986 -40.79693252089055 L-285.54183452659663 -39.01842860248513 L-287.2581534672929 -36.42967963111164 L-288.6475516721546 -35.546928378443965 L-289.423980958544 -37.926901725990206 ZM-296.57528998152975 -34.665629842242765 L-296.57528998152975 -34.665629842242765 L-296.2483767069132 -33.44775244499141 L-298.169013646288 -33.38017289659615 L-298.37333910618463 -34.19167739004348 L-296.57528998152975 -34.665629842242765 ZM-299.5584118511497 -91.09900987948481 L-299.5584118511497 -91.09900987948481 L-300.5800242281971 -89.81746836494438 L-300.7843496880937 -91.09900987948481 L-299.5584118511497 -91.09900987948481 ZM-303.44055082187856 -32.2326322487001 L-303.44055082187856 -32.2326322487001 L-302.9501771793448 -31.087536647170737 L-304.3395753842062 -30.28070229640406 L-304.54390084410284 -31.491414025770894 L-303.44055082187856 -32.2326322487001 ZM-311.45002677643083 -189.81078509915903 L-311.45002677643083 -189.81078509915903 L-305.5246481291708 -187.32556225701558 L-302.0920177089963 -189.44178344218528 L-300.5391665974355 -189.25738963487743 L-299.14976839257406 -188.06058100044208 L-298.78198256476026 -186.0420126979152 L-295.7988606951403 -184.94456805524794 L-294.85897850205174 -183.94078723783252 L-290.97683953132287 -183.48521128235336 L-288.6475516721546 -182.75719097862566 L-289.9143546010778 -180.3082979415541 L-291.79412644847343 -180.85142259066322 L-293.7964935718069 -180.39877597081932 L-294.81811341007256 -179.3141818671004 L-295.7580030643794 -176.88275670921962 L-297.18825890000176 -179.1336517880593 L-298.8637127487191 -180.67031261886575 L-300.4165713214977 -180.85142259066322 L-301.15213551590773 -182.5753754406884 L-304.9116792106988 -184.76190259441887 L-306.6688632433745 -184.85322659948645 L-309.3659294691388 -182.93909223038042 L-311.4091616844519 -183.94078723783252 L-312.2673136935816 -185.95046125028 L-311.45002677643083 -189.81078509915903 ZM-316.59896867608336 -28.469715399362883 L-316.59896867608336 -28.469715399362883 L-316.47637340014535 -27.06536313048116 L-317.9066366969862 -26.79829072544584 L-317.6205885143488 -28.00120020766815 L-316.59896867608336 -28.469715399362883 ZM-325.5074617317448 -25.53144913528274 L-325.5074617317448 -25.53144913528274 L-324.5267144466768 -24.99892284068676 L-321.74791803695393 -25.065459999928976 L-321.6253227610159 -24.666371704324092 L-324.935357905252 -24.0682715530358 L-325.5074617317448 -25.53144913528274 ZM-330.6972761845948 -27.132154904823494 L-330.6972761845948 -27.132154904823494 L-330.7381338153559 -28.335808921178682 L-329.67565634632956 -28.80462704852164 L-328.1636628655299 -27.59992863380694 L-328.7357666920225 -26.464620412261525 L-329.6347912543499 -26.531338005812074 L-329.34874307171276 -25.26512053256073 L-330.77899890733534 -25.132005333244024 L-333.80298586893446 -23.802660885171747 L-335.5193048096305 -24.20112568629895 L-335.0289237058787 -25.132005333244024 L-333.1900169504622 -24.99892284068676 L-330.6972761845948 -27.132154904823494 ZM-346.71621317126323 -21.9470409008768 L-346.71621317126323 -21.9470409008768 L-345.36768005838076 -22.14555696604009 L-345.36768005838076 -20.62546121674052 L-347.08399899907727 -20.823495451152837 L-349.2089613983485 -19.043798024509897 L-350.0262483154993 -21.41803090949378 L-349.1272312143901 -21.484118460730826 L-349.0046359384519 -23.27184147172801 L-347.9012859162276 -23.33816702291307 L-347.9012859162276 -22.013204866849662 L-346.71621317126323 -21.9470409008768 ZM-351.8242974401544 -23.07291343085768 L-351.8242974401544 -23.07291343085768 L-351.00700306178555 -22.47657830944985 L-351.5791068882784 -20.427498993594327 L-352.7233145412638 -19.834055738768143 L-352.7641796332432 -21.087653233326478 L-351.8242974401544 -23.07291343085768 ZM-359.05733664709896 -22.741528583334457 L-359.05733664709896 -22.741528583334457 L-357.7905337181753 -22.67527587369011 L-356.6463260651906 -21.21978022869166 L-357.87226390213436 -19.50463744613353 L-359.05733664709896 -22.741528583334457 ZM-373.06090906836175 -35.88628060357422 L-373.06090906836175 -35.88628060357422 L-373.06090906836175 -33.04240270835669 L-373.06090906836175 -35.88628060357422 Z\" fill=\"rgb(68,2,86)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M156.36845765234932 134.528577255274 L156.36845765234932 134.528577255274 L156.32759256037002 185.6856535291132 L141.20767267481085 185.6856535291132 L113.29712076286182 175.47951766862138 L113.99181986529231 173.49063117840973 L115.4629407928943 173.15056110263248 L115.87159171268775 172.37271663922564 L115.4629407928943 170.71724073393392 L114.4413284158469 170.66849689001413 L113.95095477331301 167.34679948196316 L115.4629407928943 166.07298559769117 L115.38121807015375 162.6329890080567 L116.28023517126314 161.05526863135697 L117.46530791622786 160.46277470169662 L118.3643324785553 159.2764185410823 L116.89320408973515 157.9890912071512 L115.87159171268775 155.60671507892897 L114.6456538757435 154.1138860023102 L115.09516242629832 151.7191351795674 L114.318733139909 148.2630816719481 L113.86922458935408 142.87132837432728 L116.60715590709799 142.51720826574694 L117.50617300820716 143.62959562906815 L118.2417372026174 143.57906909530874 L119.01816648900672 142.01100885693637 L119.01816648900672 134.528577255274 L156.36845765234932 134.528577255274 Z\" fill=\"rgb(68,58,131)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M265.068415983725 139.1697562156756 L265.068415983725 139.1697562156756 L297.31062287817645 139.22059191903554 L297.96445688862775 140.9975649634352 L295.63516902945946 143.83165743546397 L300.4571976544953 143.83165743546397 L300.21201456383744 145.5469828867329 L299.10866454161305 146.05072948994473 L298.8634814509553 147.45936054460077 L297.47408324609376 148.96561708764852 L297.59667852203165 151.1692536555489 L296.86111432762175 152.76778870730368 L296.1255501332116 153.01724357748697 L296.5750586837663 153.81495891768014 L295.3899859388016 154.51226963846227 L294.8587472042883 156.05399044814618 L294.08231791789876 156.45133616795425 L294.2049131938368 158.2368260085039 L292.85638008095475 158.73205234808188 L292.8972377117159 159.32588782153778 L291.3443866001552 160.80845216441844 L291.7938951507098 161.79523016490072 L290.44536203782764 163.22379412173967 L289.26028929286304 165.97491169599385 L290.56795731376576 167.15096153285486 L289.9141233033142 167.8850904392155 L290.32276676188974 169.74179611703823 L289.75066293539703 170.96091453145243 L268.2967209440026 170.81471933489274 L268.2967209440026 166.07298559769117 L267.23424347497587 165.68061532503344 L265.7631150861557 166.1220178857149 L264.9866857997663 165.2880546532404 L265.39533671955985 149.36677068500512 L264.0059385146984 139.1697562156756 L265.068415983725 139.1697562156756 Z\" fill=\"rgb(72,24,106)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M50.48815336145776 86.0852186048212 L50.48815336145776 86.0852186048212 L74.59829648663685 86.19519864119161 L74.59829648663685 115.5983340786197 L93.27344206830821 132.47889332537898 L114.6456538757435 152.96735746172175 L114.6456538757435 154.1138860023102 L115.87159171268775 155.60671507892897 L116.89320408973515 157.9890912071512 L118.3643324785553 159.2764185410823 L117.46530791622786 160.46277470169662 L116.28023517126314 161.05526863135697 L115.38121807015375 162.6329890080567 L115.4629407928943 166.07298559769117 L113.95095477331301 167.34679948196316 L114.4413284158469 170.66849689001413 L115.4629407928943 170.71724073393392 L115.87159171268775 172.37271663922564 L115.4629407928943 173.15056110263248 L96.05223847803109 175.091837005672 L95.15321391570353 173.92764055255049 L94.54024499723153 169.8881916489105 L93.47776006698678 168.32524062272807 L91.14847966903653 166.17104706631164 L88.16535779941705 164.15831152344185 L87.59325397292412 164.6988254616553 L86.44904631993859 164.3549092261389 L86.61249922663808 163.4698323883414 L85.30483120573524 161.64729343159934 L83.54765463427782 162.0417277512551 L80.44193748871999 160.7097031862461 L79.99242893816529 159.62262676643536 L77.90833163087325 158.28636323035238 L75.53818614094382 158.33589720810846 L73.57668410958968 157.74128422256194 L71.08393588250385 157.9890912071512 L69.77626786160101 156.79884956659248 L70.06232350545633 154.26330473095408 L69.89886313753891 152.06885371466234 L67.93736110618488 150.71903970009333 L67.85563092222606 148.8652945832236 L67.12006672781592 148.7649584220046 L65.89412889087214 147.15773483918048 L65.03596942052388 146.8056905728019 L64.66819105392801 145.7988995755922 L61.8076644602462 142.01100885693637 L60.45913134736395 140.89614050281267 L60.173075703508744 137.8977016331762 L60.74517953000145 138.15229494731454 L61.27641826451463 136.36825526795104 L60.21394079548804 134.73322304202333 L58.90627277458543 134.9378099181747 L57.189953833889035 133.45322719395728 L56.576984915416915 132.27359529855164 L56.69958019135504 131.14339698672535 L55.841420721006784 129.65081988894121 L55.841420721006784 127.17334335369793 L57.230818925868334 127.17334335369793 L56.65871509937563 123.70041039301526 L56.04574618090362 124.06406255851181 L55.92315090496561 125.7758841644951 L54.45202251614546 126.13846020613812 L52.69484594468793 124.84268590975711 L52.40879030083261 122.60828629178081 L51.26458264784719 120.83641540865057 L49.75258916704763 119.73973765907823 L46.72860966666667 116.01886841999413 L47.096388033262656 115.28276240156367 L46.074775656215365 112.06611581679027 L46.52428420677006 110.26655021218642 L45.87045019631853 107.55811860012352 L43.949813256943685 104.89208143700108 L42.07003394833009 103.39441588256648 L41.70225558173411 101.62494163228087 L43.58202742912965 97.31544125328867 L43.949813256943685 95.85456313827189 L43.58202742912965 94.71604974850072 L44.27672653156037 91.72474222543104 L43.66375761308825 88.99329343045264 L42.84646323471941 88.3360091595697 L43.173383970554255 86.1402109895921 L50.48815336145776 86.0852186048212 Z\" fill=\"rgb(253,231,37)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M164.7457045122793 96.07119910185037 L164.7457045122793 96.07119910185037 L208.51174796541613 96.07119910185037 L208.59347068815657 134.57974422832177 L156.36845765234932 134.528577255274 L156.32759256037002 96.12534683889083 L164.7457045122793 96.07119910185037 Z\" fill=\"rgb(71,47,125)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M424.8900522511202 85.75516482578911 L424.8900522511202 85.75516482578911 L434.24805385733634 85.92021303830347 L434.24805385733634 91.99724487793458 L433.7985453067819 92.92291955830257 L433.14471129633034 92.75965965869199 L429.8755412440735 93.52118732523292 L425.9933948121262 93.3036993264314 L424.3179484246275 94.66178459952096 L422.5198992999726 95.09577897969365 L420.39493690070094 96.23362881704611 L419.86369816618753 95.09577897969365 L421.7026049216038 94.01025881712098 L421.1713661870905 93.19492794690376 L421.66174729084264 85.64510897429892 L424.8900522511202 85.75516482578911 Z\" fill=\"rgb(72,29,111)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M407.27739159969383 107.82413941885562 L407.27739159969383 107.82413941885562 L405.80626321087357 109.6302597607231 L405.9697161175727 111.16693481145069 L407.073066139797 112.59448186735563 L407.35911432243427 114.96705356365891 L408.95283798719254 117.43623696305747 L409.68840218160244 117.54111146387737 L410.0153229174374 120.83641540865057 L405.19329429240145 120.732044413555 L404.49859518997084 108.62155717158419 L405.76539811889415 107.55811860012352 L407.27739159969383 107.82413941885562 Z\" fill=\"rgb(69,5,88)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M332.0455705384952 188.59881535017462 L332.0455705384952 188.59881535017462 L335.72339151054575 188.55114063181944 L336.74500388759316 191.0741192773394 L356.52349949148845 192.30902344046237 L356.89127785808444 194.1579955603847 L357.7903024204119 194.11063613642344 L358.1172156950287 192.35648415914804 L357.8311675123914 190.741329197388 L358.525866614822 190.07535992670776 L362.285410309613 191.12164991462052 L363.6748085144744 199.06898334555694 L365.8406360057254 204.56057143315147 L369.1506711499618 210.38994921955296 L368.6602975074278 210.80820104063457 L368.8237578753451 213.49892073729194 L370.21315608020666 216.50494317612603 L372.8284921220122 224.4125115352739 L371.9703326516641 233.20783176647916 L371.2756335492335 233.34391362387845 L370.54006935482323 235.47353185460778 L370.78525990669937 236.1522331142272 L369.3549966098584 237.68891906718005 L368.7828927833658 237.32755413553585 L367.39349457850415 237.95984919241982 L365.0233416273567 238.3209868250617 L364.32864252492584 237.46308123875917 L364.6555632607607 236.19746398079286 L362.9801094120437 232.52710677321647 L361.6724413911411 231.84590101514343 L360.52823373815556 232.34549818749448 L359.6292091758281 230.30009116235925 L359.3840186239521 228.61509477310946 L357.8311675123914 226.74448206307622 L357.46338168457726 225.5106238983262 L357.7085722364534 223.7255484867155 L356.85041276610514 223.40479103372857 L357.054738226002 224.4582919232683 L356.27830893961243 224.73292786968813 L352.96827379537615 219.0408374166801 L355.21583147058584 215.673494737311 L353.7447030817656 215.85832811401826 L352.7639483354794 216.9203893750433 L351.7832010504113 215.25749154787675 L353.09086907131416 210.6223353982532 L353.336052161972 206.75691702062005 L352.43703506086274 205.8229683357985 L352.1509794170073 204.56057143315147 L350.72071612016657 204.2797885493686 L349.04526973266775 202.21798185096745 L347.69672915856745 201.37310571304428 L347.6150064358271 200.10424185256062 L346.67511678152005 199.63382468247747 L345.8986874951306 198.22102103515599 L343.03816090144915 196.33364881858017 L340.5454201355816 196.75867501324916 L340.6680154115195 198.0796111006791 L339.85072103315065 197.8438760384184 L336.74500388759316 199.44558251822517 L333.43496874335665 199.82202576029513 L333.51669892731536 198.88061765085274 L332.74026964092593 197.74956385345962 L328.85813067019683 195.19922473632604 L326.07933426047396 194.11063613642344 L323.5865934946065 193.82642387226244 L316.9665157449157 194.82074079000628 L318.06986576713985 193.54212462649008 L317.49776194064725 192.8309441083519 L317.7838101232845 191.40676842164814 L316.1083637357857 189.74217154065676 L316.35354682644356 188.59881535017462 L332.0455705384952 188.59881535017462 Z\" fill=\"rgb(31,153,138)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M349.86255664981843 152.96735746172175 L349.86255664981843 152.96735746172175 L348.26884044627843 154.91043225601857 L348.1462451703402 155.85523427184938 L350.63898593620786 157.79085393304922 L351.4154152225974 157.64213503942938 L353.98988617242344 162.53447568289334 L355.70620511311984 163.66660623874043 L356.6869523981876 165.337136774192 L358.68931952152127 166.85712084220108 L358.60759679878083 167.8850904392155 L359.91526481968344 169.54655943068394 L361.917631943017 170.9121858254877 L362.4897357695098 174.26737697510788 L363.5113481465571 174.89792133057836 L364.6964283527401 177.27011484749306 L364.7372934447194 178.7672625940627 L366.4536049241974 179.53889408626077 L364.6146981687814 182.52202304158857 L363.5113481465571 185.39855279729406 L363.42962542381645 186.78526184209704 L362.61233104544783 187.4061327666716 L362.285410309613 191.12164991462052 L358.525866614822 190.07535992670776 L357.8311675123914 190.741329197388 L358.1172156950287 192.35648415914804 L357.7903024204119 194.11063613642344 L356.89127785808444 194.1579955603847 L356.52349949148845 192.30902344046237 L336.74500388759316 191.0741192773394 L334.906097132177 186.16392337565924 L335.4373358666901 183.86566689473733 L334.7017716722802 181.2242710139054 L335.35561314394977 179.73168871525806 L335.31474805197047 178.6224976115092 L336.5815509808939 177.51178232308797 L335.72339151054575 176.98001750331224 L336.0503047851622 176.10910184006005 L334.3748583976635 172.2267836992031 L331.22828362134453 153.11700579461956 L349.86255664981843 152.96735746172175 Z\" fill=\"rgb(58,84,140)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M-191.26709697834917 288.03635735114153 L-191.26709697834917 288.03635735114153 L-193.1060037337652 287.3448817910367 L-193.39205937762063 286.65304124012357 L-193.14686882574483 284.8785154610889 L-194.45453684664744 281.8431755076892 L-192.6973602751898 279.45315628447713 L-193.2285990097032 278.5394050355029 L-193.06513864178578 277.58141095718656 L-188.6517609365435 279.5401467842538 L-187.22149763970265 280.75737135784595 L-187.22149763970265 281.7997606209238 L-185.0965352404312 283.4918269462838 L-186.40420326133426 284.8785154610889 L-188.7334911205021 285.5280117773222 L-190.3680724160215 286.56653442081563 L-191.26709697834917 288.03635735114153 ZM-198.37754837057378 271.51121477730896 L-198.37754837057378 271.51121477730896 L-197.51938890022575 272.605232803635 L-196.41603887800147 272.1239927181165 L-194.00502829609263 273.3923054161659 L-194.37280666268862 274.5282768132605 L-196.82468979779492 275.0958630956985 L-197.3150634403289 274.87759698073137 L-197.43765871626692 273.47972702554546 L-198.70446164519058 273.1737236150972 L-199.19483528772435 272.3865076607552 L-198.37754837057378 271.51121477730896 ZM-201.31979768699603 270.0655753188455 L-201.31979768699603 270.0655753188455 L-202.05536188140604 270.8981294727146 L-203.77168082210233 270.8981294727146 L-203.24044208758892 269.97790311069986 L-201.31979768699603 270.0655753188455 ZM-208.5528443551591 266.15785320629647 L-208.5528443551591 266.15785320629647 L-207.73554997679003 268.04748447567334 L-208.14419343536565 269.1447079401835 L-209.73791710012347 269.3201618042897 L-210.80040203036856 267.08107591504 L-209.8605123760617 267.03712882066804 L-208.5528443551591 266.15785320629647 ZM-219.87234799272937 261.8837588014836 L-219.87234799272937 261.8837588014836 L-219.0141959835994 261.97204744766543 L-218.60554506380595 262.81043829010457 L-218.85073561568174 264.0007761018851 L-219.70889508603022 264.7496090276483 L-222.07904057595965 263.8245069702599 L-221.79298493210422 262.5016346962425 L-219.87234799272937 261.8837588014836 Z\" fill=\"rgb(70,9,93)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M104.1025720633445 11.486380343019164 L104.1025720633445 11.486380343019164 L104.1025720633445 23.016766442678374 L106.51358264525334 26.12157764433607 L106.55444773723264 29.14940421144314 L107.9847110340736 30.476649882464415 L109.49670451487304 30.958542482770667 L109.66016488279058 31.740757222216473 L112.43896129251345 34.679722246507595 L112.76587456712991 35.87507047073569 L114.72737659848406 37.008397957934505 L114.80910678244277 37.72305441025651 L116.97493427369398 37.66353197819859 L115.91245680466704 41.6973773185091 L115.70813134477055 44.234062768768524 L116.48456063115987 45.8800423481768 L115.13602751827761 47.05296653120536 L115.66726625279102 48.165111906276536 L115.29948788619504 49.33354960765632 L116.89320408973515 50.44146687324388 L118.73211830636956 48.98326211520305 L119.46768250077957 47.814128443745915 L120.81621561366171 48.86645048747715 L120.61189015376488 49.741971937486085 L121.34745434817489 51.77990015965099 L122.57339218511902 53.92679682611049 L123.47241674744646 54.67929707074745 L123.43155165546727 56.70062208535256 L124.28971112581553 57.56484173609971 L125.84256223737611 57.6799794556141 L126.82331698366238 61.066730069647576 L127.68147645401041 61.63890217060117 L128.45789827918156 60.66590076506793 L130.78718613834997 60.72317971065792 L132.50350507904636 59.80608077378179 L133.52511745609365 60.32211408916794 L135.28229402755085 59.86344055728449 L135.6500798553651 60.436731182291226 L137.16207333616467 60.03547704438836 L138.8783848156428 57.85264509651205 L140.06345756060762 59.69134500052786 L141.4119981347078 60.780453279273445 L141.4119981347078 86.1402109895921 L96.7878026724411 86.1402109895921 L96.7878026724411 67.50133637157899 L97.76854995750932 64.09313084608863 L97.1555810390372 63.23812053785878 L95.72531774219635 63.06697318806846 L95.19407900768283 61.63890217060117 L96.7060724884825 57.91018939948788 L97.48250177487193 57.56484173609971 L98.2589236000432 56.00836008129613 L98.13633578532324 55.02629371361752 L98.99448779445322 53.753007134788334 L99.44400380622619 51.896145776267645 L100.99685491778678 48.74961604877501 L100.38388599931488 47.2872768878633 L98.62670942785746 46.52543145175923 L97.60508958959167 44.70480318997721 L97.56423195883053 42.819576043766915 L96.58347721254438 40.92833238916535 L96.74693758046192 11.486380343019164 L104.1025720633445 11.486380343019164 Z\" fill=\"rgb(71,13,96)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M293.6736669981053 81.00554339171435 L293.6736669981053 81.00554339171435 L314.8415533456441 81.17182939748886 L314.59637025498625 83.10859465347858 L316.92565065293627 89.04803676469572 L316.8847855609571 112.22467200070196 L316.0674986438063 113.96631710461736 L317.007380836895 116.01886841999413 L317.1299761128332 117.69839299719769 L316.19008645852625 119.05996583112415 L314.59637025498625 122.34799976892805 L313.7382107846381 122.50418346328388 L313.94253624453484 123.70041039301526 L313.3704324180421 124.16793082054164 L312.92091640626927 126.39732749633748 L313.1661069581453 127.01820737430836 L312.18535221185914 128.36155675142822 L312.88005131428986 130.01138252178544 L309.8152067219298 130.88627870330703 L309.5291510780743 131.86282013449159 L310.223850180505 133.09442059956046 L309.2839679874164 133.8630801758091 L306.54603666967273 132.42757441031034 L305.6878771993246 132.53020851437242 L304.54366208512124 134.17031452988 L304.91144791293516 134.68206712069826 L303.72637516797056 134.57974422832177 L302.0509213192536 131.9141801031198 L302.6638902377256 131.29762291943467 L302.0509213192536 129.49623230622274 L302.0509213192536 128.05178725080117 L299.63991073734474 126.03488632970942 L298.8226163589759 126.24201867246899 L298.00532198060716 124.99830763556582 L295.7986293973769 123.07654538944564 L295.8394944893563 121.56655972289366 L297.1062974182797 119.11228066154075 L296.90197941960105 118.2223936792006 L297.6375436140112 117.06904915648153 L294.94046992702874 115.96631585390787 L294.08231791789876 116.85914829482562 L293.51021409140606 116.28156076032303 L293.0198329876538 113.12244415491335 L288.23866945459747 108.56842492267793 L287.2987872615088 105.58627753266813 L287.21705707754995 103.6085685810105 L287.8708910880014 102.2152902707956 L287.9934863639394 100.44264509740555 L290.07758367123176 99.36598294575964 L290.2819016699102 97.85568596479118 L291.2626564161965 96.88293344678334 L291.3852516921345 95.1500079117846 L290.1593063939722 93.73859245533305 L290.64968749772447 91.99724487793458 L293.55107918338547 91.50664933391738 L295.8803595813356 90.251192475908 L296.1255501332116 88.71950675464029 L297.1062974182797 88.06195191739465 L297.18802760223844 84.87419603648357 L295.5125812147396 83.8816469923375 L295.3082557548428 82.83227282687204 L293.6736669981053 81.00554339171435 Z\" fill=\"rgb(51,99,141)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M328.36775702766306 88.55517869879651 L328.36775702766306 88.55517869879651 L337.1945198993659 88.55517869879651 L337.1127897154073 114.59852955756332 L336.54068588891437 115.01968350676822 L337.1536548073866 117.64596984701456 L335.84598678648376 117.69839299719769 L334.4565885816223 118.58896188863037 L332.53595164224737 118.17001074021329 L332.6176743649879 120.05325570324334 L331.3508714360645 120.83641540865057 L330.8604977935305 122.03553575942118 L329.55282977262766 122.50418346328388 L328.85813067019683 124.8945636957348 L327.9999711998488 125.516794965945 L326.3245248123501 124.63514544262591 L326.03846916849466 123.54449689138238 L324.403880411757 124.73892817411297 L324.5264756876952 125.7758841644951 L322.8510293001964 126.13846020613812 L322.36064819644423 125.20574901621922 L320.4808763490487 126.13846020613812 L319.86790743057657 127.12163519361224 L317.98813558318125 125.72407215607461 L317.007380836895 126.03488632970942 L316.35354682644356 125.3612893982293 L315.74057790797167 126.03488632970942 L313.8608060605761 126.13846020613812 L313.1661069581453 127.01820737430836 L312.92091640626927 126.39732749633748 L313.3704324180421 124.16793082054164 L313.94253624453484 123.70041039301526 L313.7382107846381 122.50418346328388 L314.59637025498625 122.34799976892805 L316.19008645852625 119.05996583112415 L317.1299761128332 117.69839299719769 L317.007380836895 116.01886841999413 L316.0674986438063 113.96631710461736 L316.8847855609571 112.22467200070196 L316.92565065293627 89.04803676469572 L317.6612148473465 89.70458337299522 L319.9496376145354 89.70458337299522 L322.15633019776567 88.55517869879651 L328.36775702766306 88.55517869879651 Z\" fill=\"rgb(69,56,130)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M288.23866945459747 70.89081775580439 L288.23866945459747 70.89081775580439 L289.38288456880093 70.89081775580439 L289.4646072915415 72.41006104203427 L290.56795731376576 73.42083743563256 L289.6689327514382 74.65401352135831 L290.48622712980705 78.56167049185308 L293.1424282635919 79.72924917901616 L293.6736669981053 81.00554339171435 L295.3082557548428 82.83227282687204 L295.5125812147396 83.8816469923375 L297.18802760223844 84.87419603648357 L297.39235306213527 86.1402109895921 L297.1062974182797 88.06195191739465 L296.1255501332116 88.71950675464029 L295.8803595813356 90.251192475908 L293.55107918338547 91.50664933391738 L290.64968749772447 91.99724487793458 L290.1593063939722 93.73859245533305 L291.3852516921345 95.1500079117846 L291.2626564161965 96.88293344678334 L290.2819016699102 97.85568596479118 L290.07758367123176 99.36598294575964 L287.9934863639394 100.44264509740555 L287.8708910880014 102.2152902707956 L287.05359670963276 101.89334209409083 L285.5416032288331 99.90453958402708 L255.42435873365343 100.1736425132587 L254.5661992633053 98.880913494798 L254.97485018309874 96.34189280891434 L254.2392859886886 94.11889351835396 L254.28015108066802 91.61570498676355 L252.97248305976518 90.74275327711354 L252.76815759986857 89.37638888290138 L253.21766615042316 88.1715828610889 L252.72729250788916 86.41509190635975 L251.70568013084164 85.75516482578911 L250.35714701795973 81.22724835731492 L248.9677488130983 79.00671111333656 L249.62158282354972 77.5034223831097 L249.86676591420746 75.49341951190127 L250.43886974070017 74.766000776554 L249.49898754761136 73.75740256806273 L249.74417063826957 71.96030580375327 L249.33552717969405 71.11612828991832 L288.23866945459747 70.89081775580439 Z\" fill=\"rgb(72,27,109)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M209.61509052642202 105.90643575729655 L209.61509052642202 105.90643575729655 L258.8569891538277 105.90643575729655 L259.59255334823797 106.81270524730286 L262.00357139136474 107.55811860012352 L260.3281175426479 110.37254160309408 L261.2680071969547 111.32570281632928 L262.45307994191944 113.59724804813948 L264.0468036066777 114.07172844575342 L264.0059385146984 134.528577255274 L208.59347068815657 134.57974422832177 L208.51174796541613 105.90643575729655 L209.61509052642202 105.90643575729655 Z\" fill=\"rgb(72,23,105)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M343.9371854637767 117.80321765060984 L343.9371854637767 117.80321765060984 L345.61263931249346 119.11228066154075 L346.79771205745817 118.43188529440124 L349.61737355916046 119.1645914953429 L350.434660476311 118.2223936792006 L351.4971454065558 117.90803577943149 L351.8240586811726 119.53065551814922 L352.68221815152083 119.79200061904766 L353.7038379897863 121.09727360015017 L353.49951252988944 123.96017871798051 L354.3985370922169 125.7758841644951 L355.5836098371817 127.17334335369793 L355.9513882037777 128.25832177652956 L357.38165150061866 129.34161065720548 L358.3624062469046 129.49623230622274 L355.501879653223 132.01688882978073 L352.7639483354794 133.40198825789088 L352.7639483354794 134.11911804229328 L351.6606057744733 134.73322304202333 L351.5788755905146 135.55120839162652 L350.14861229367386 135.90878571597005 L349.65823865114 136.9294298073038 L345.53090912853463 138.40679786865604 L323.8726416772438 137.7449022052246 L314.47377497904824 137.94862753330182 L312.8391862223107 137.54112820343403 L312.9617814982487 139.22059191903554 L302.7864855136635 139.22059191903554 L303.195128972239 138.05046847564728 L304.29847899446304 138.45768761655063 L304.91144791293516 134.68206712069826 L304.54366208512124 134.17031452988 L305.6878771993246 132.53020851437242 L306.54603666967273 132.42757441031034 L309.2839679874164 133.8630801758091 L310.223850180505 133.09442059956046 L309.5291510780743 131.86282013449159 L309.8152067219298 130.88627870330703 L312.88005131428986 130.01138252178544 L312.18535221185914 128.36155675142822 L313.8608060605761 126.13846020613812 L315.74057790797167 126.03488632970942 L316.35354682644356 125.3612893982293 L317.007380836895 126.03488632970942 L317.98813558318125 125.72407215607461 L319.86790743057657 127.12163519361224 L320.4808763490487 126.13846020613812 L322.36064819644423 125.20574901621922 L322.8510293001964 126.13846020613812 L324.5264756876952 125.7758841644951 L324.403880411757 124.73892817411297 L326.03846916849466 123.54449689138238 L326.3245248123501 124.63514544262591 L327.9999711998488 125.516794965945 L328.85813067019683 124.8945636957348 L329.55282977262766 122.50418346328388 L330.8604977935305 122.03553575942118 L331.3508714360645 120.83641540865057 L332.6176743649879 120.05325570324334 L332.53595164224737 118.17001074021329 L334.4565885816223 118.58896188863037 L335.84598678648376 117.69839299719769 L337.1536548073866 117.64596984701456 L336.54068588891437 115.01968350676822 L337.1127897154073 114.59852955756332 L339.9733163090888 114.59852955756332 L341.48530978988833 116.59666925062896 L341.6078976046083 117.43623696305747 L343.9371854637767 117.80321765060984 Z\" fill=\"rgb(72,37,118)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M271.52503336549853 170.81471933489274 L271.52503336549853 170.81471933489274 L289.75066293539703 170.96091453145243 L290.44536203782764 171.9835020445214 L289.9141233033142 172.37271663922564 L289.83239311935574 174.1703242868408 L290.93573568036163 175.28569653508447 L291.09919604827917 177.89828986506276 L290.2001714859517 179.92443726621363 L288.4429949144942 181.17616558967813 L287.9934863639394 183.14613710644585 L287.2579221695295 182.9541529320948 L287.13532689359135 186.16392337565924 L286.2363023312638 186.25954575024642 L286.7675410657772 187.97883888815537 L286.2363023312638 188.59881535017462 L300.33460983977545 188.59881535017462 L299.5990456453653 191.45428018578454 L300.82498348230956 193.35253282087976 L301.1110316649467 194.7734184189146 L302.01005622727416 195.67208389581648 L299.803363644044 196.85308791402522 L299.63991073734474 197.70240386667396 L301.43795240078146 198.26815250046187 L302.2143816871709 196.9002947590631 L303.76724025994986 198.26815250046187 L303.64464498401173 199.35144601447584 L302.7456204216843 199.82202576029513 L301.0701740341856 199.3985155520781 L301.27449203286403 200.19829625248593 L300.70238820637144 201.4200653190094 L302.1326515032122 202.49941922899265 L304.4210742704013 202.82765795883188 L305.23836118755185 204.09255000188952 L305.89219519800315 204.2797885493686 L304.70712245303844 205.72951824399914 L303.3994544321357 205.44911703461622 L302.2961118711296 203.95209483157285 L299.558180553386 203.15577320965508 L299.558180553386 201.70176104685697 L298.2096474405039 202.1710653464114 L298.2913776244626 203.39005722497643 L297.67840124477243 204.5137805254346 L296.6976539597042 204.70092919379462 L295.9620897652943 203.43690820178372 L294.2457708245979 203.39005722497643 L293.632801906126 204.70092919379462 L292.4885942531406 205.07509841448228 L291.2626564161965 204.2797885493686 L290.2819016699102 204.1861742751618 L289.3420194768215 202.0772247472429 L287.66656562810476 201.13826954311713 L287.01273161765323 201.27917887520698 L286.3588976072019 199.49264691362785 L284.39739557584767 199.72793035435 L284.35653048386837 198.6451024931666 L282.4358935444935 199.6808788020096 L282.6810766351515 200.48039804953956 L281.2099557075495 201.2322116419262 L278.92153294036063 200.85638213794238 L274.38555249796184 199.16315073143923 L269.80871442480213 199.91611090599082 L269.1548804143508 199.06898334555694 L270.9120644470264 196.00293493496173 L270.33995315931566 194.34740674946823 L270.8711993550471 193.44733404842356 L270.626008803171 192.2615600417851 L271.3615729975811 191.35925396349754 L272.13800228397054 189.12304801280612 L272.01540700803264 187.26290297821117 L269.97217479271967 183.7218099037101 L269.93130970074014 181.8013048098913 L268.2967209440026 179.87625444554564 L268.2967209440026 170.81471933489274 L271.52503336549853 170.81471933489274 Z\" fill=\"rgb(72,38,119)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M442.420982718588 75.43749344270782 L442.420982718588 75.43749344270782 L441.5219656174786 74.71000965589678 L441.64455343219845 73.70132098237798 L440.45948068723374 72.52245166943453 L439.6013212168856 52.070472071186146 L442.82963363838144 50.61621584342737 L442.29838744264976 49.85861290421974 L443.52433274081216 48.22358911143937 L444.7911356697356 47.46293861151611 L444.54594511785945 46.81856410906005 L445.73101786282416 45.82133494652231 L445.3632394962283 43.93965371947871 L446.0988036906384 41.105895607623665 L447.2430113436237 40.15828521628964 L447.6925273553967 37.12756955632051 L453.454438173521 28.7264548989819 L454.80297128640314 29.08900174754649 L454.88470147036185 31.139149388918725 L455.8654562166481 31.86100647381585 L458.2764667985569 30.65740638028268 L459.7884602793564 30.65740638028268 L460.85093774838316 29.873733154525667 L464.1609803538376 33.06212625114898 L464.079250169879 48.10662897856008 L466.6537211197051 48.86645048747715 L466.28593529189106 50.09182675287832 L466.93976930234237 51.25651645293925 L466.4085305678291 52.302817952308544 L467.47101549807394 53.92679682611049 L468.8604137029354 53.57916734572245 L470.20894681581746 57.3345007394372 L468.6560882430386 59.002475937773454 L467.75706368071127 58.37033715785486 L467.02149948630114 59.519200801889895 L465.95902201727444 59.232185597893306 L465.83642674133625 60.20747544517195 L464.44702853647493 60.09281523800564 L462.24033595324454 62.32479186293244 L461.7090972187313 60.780453279273445 L460.9326679323419 60.66590076506793 L461.3004537601559 62.32479186293244 L459.5841348194596 63.124027617217905 L459.1754913608844 61.81044935740488 L458.35819698251555 62.496146773062094 L456.4375600431408 62.496146773062094 L456.3966949511615 60.95223128492523 L455.252487298176 61.29566323788407 L455.45680529685455 62.3819154985448 L454.39432782782785 64.66248341672843 L454.5986458265064 65.28815195353366 L453.20925508286314 66.53759349523125 L451.8198568780016 66.08354067891713 L451.00256249963286 67.38803175160206 L449.8583473854294 67.55798088347427 L448.9184651923406 68.63322025067339 L447.77425007813713 68.40701544514945 L447.44733680352044 67.27470632689574 L445.7718829548036 69.08540250289093 L446.22139896657643 70.21440544157588 L444.9954611296322 70.60906458363485 L444.9137309456736 71.56649413195788 L443.52433274081216 72.74717210508413 L442.420982718588 75.43749344270782 Z\" fill=\"rgb(70,8,92)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M402.94573661719187 125.56862242357698 L402.94573661719187 125.56862242357698 L402.57795078937795 125.56862242357698 L402.94573661719187 125.56862242357698 ZM376.95582164461723 108.62155717158419 L376.95582164461723 108.62155717158419 L404.49859518997084 108.62155717158419 L405.19329429240145 120.732044413555 L410.0153229174374 120.83641540865057 L408.54419452861714 124.84268590975711 L403.7630309955608 125.98309361009177 L403.8038960875401 124.42753337522498 L403.1909271690681 123.80433321545104 L404.049079178198 123.12855564577103 L402.90487152521257 121.56655972289366 L402.5370856973984 122.24385765915173 L400.9842345858377 122.0876245128872 L400.45299585132443 120.36663057284392 L400.94336949385854 120.36663057284392 L400.9842345858377 118.1176237849628 L401.4746082283717 117.2264395732036 L400.8207742179204 114.17712337634777 L401.63806859628926 112.38319090612856 L402.90487152521257 112.06611581679027 L403.1091969851093 110.21354824103486 L402.16930733080244 110.42553102513926 L402.12844223882314 111.37861716040379 L400.1669402074691 112.59448186735563 L399.5948363809763 113.70271689680897 L399.47224110503817 116.49164929596009 L398.73667691062815 117.80321765060984 L399.063597646463 120.00101264487819 L400.04434493153076 121.51443155969542 L399.92174965559286 122.66033181891095 L400.534718574065 123.80433321545104 L400.2078052994483 124.58324825291231 L398.4914863587519 123.07654538944564 L396.0396106848639 122.34799976892805 L395.30404649045386 120.88859496436538 L393.9146482855923 121.72292054198044 L393.383409551079 120.57545819556566 L396.1213408688226 116.59666925062896 L395.18145121451573 115.65091510564224 L394.5684822960436 116.22902848948553 L393.58773501097585 115.33536786697817 L392.0348764381969 114.86178142541013 L392.0348764381969 113.43901392683597 L391.21758205982803 112.64729668109919 L390.0733744068426 112.48884948123407 L389.2152149364945 109.78939138754646 L387.94841200757116 109.78939138754646 L386.6816090786476 108.88715514160617 L385.9869099762169 109.6302597607231 L384.76096467805473 109.57720749075833 L384.47491649541735 110.63744691728971 L382.26822391218707 109.94847558248568 L380.7970955233668 111.37861716040379 L379.81634823829893 111.06106865293225 L378.34521984947867 112.70010736183565 L376.8740914606585 113.59724804813948 L376.95582164461723 108.62155717158419 Z\" fill=\"rgb(70,51,127)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M440.8272665150479 77.16886521192595 L440.8272665150479 77.16886521192595 L441.5628307094581 77.33616606418173 L441.8488788920953 79.11792471420159 L441.5219656174786 80.56191033983538 L440.3368854112957 81.89188768973787 L440.2960203193164 83.44002225314313 L441.9306090760539 83.66086792441041 L442.91136382234004 85.25977400981941 L442.7479034544227 86.52501519379211 L443.56519783279145 86.85467172306147 L443.6469205555319 88.00712441102843 L445.73101786282416 88.99329343045264 L448.14203590595116 88.06195191739465 L447.61079717143787 89.43109959751843 L444.05557147532556 90.63354994448832 L442.7479034544227 90.68815392344516 L441.9714741680333 89.75926617760592 L440.74553633108917 90.03260053975725 L440.70467123910976 90.74275327711354 L439.3152730342483 91.17937178819398 L438.7431692077557 89.37638888290138 L437.76241446146946 88.3360091595697 L437.3537710028943 85.97521963049502 L421.66174729084264 85.64510897429892 L423.29632858636194 78.61731903634234 L438.0076050133456 79.11792471420159 L438.8248993917143 78.17199290683806 L440.8272665150479 77.16886521192595 Z\" fill=\"rgb(68,57,131)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M347.28808569999217 88.82903543106892 L347.28808569999217 88.82903543106892 L337.1945198993659 89.21222879675048 L337.1945198993659 88.55517869879651 L322.15633019776567 88.55517869879651 L323.6683236785651 87.2390464223351 L325.6298257099194 83.60566117856013 L326.7331682709254 78.89547788558309 L326.56970790300795 75.88476223736637 L324.36302278099595 69.93234488752023 L325.05772188342667 67.67124397855679 L324.5673407796745 64.94695150576274 L326.2836597203707 62.15338894446262 L326.65143808696666 59.80608077378179 L326.4062549963088 58.5428066997124 L327.63219283325293 58.025251144763274 L327.79565320117024 56.29689260737808 L329.7162901405452 55.83516820408215 L331.18741852936535 53.92679682611049 L331.0648232534272 57.737540126135514 L331.84125253981676 57.91018939948788 L332.82199982488476 56.00836008129613 L332.86286491686394 52.76726191858603 L333.4758338353362 51.95426015695773 L335.5190660506489 51.43102835138245 L334.8652320401975 49.15843681502571 L336.21376515307963 47.22870792401022 L337.8892190017966 47.11155274734563 L339.76899084919205 48.34051568646419 L341.6078976046083 48.515878685699874 L342.5069221669356 50.03353179722342 L343.8963203717972 50.15011604025301 L346.2256082309656 51.54734146016415 L347.04289514811614 51.48918772037689 L348.30970553825773 53.753007134788334 L347.28808569999217 54.96847477749941 L348.26884044627843 56.527628111209594 L348.6366188128743 58.31283643209622 L348.1871102623196 62.21052858741001 L346.67511678152005 63.1810767333111 L346.3073384149243 65.17443951092031 L344.5092892902693 65.85638867373933 L343.5285420052012 68.23729976834352 L343.8963203717972 69.14190206157946 L345.6943620352339 69.98876726336516 L347.08376024009533 68.68976110803027 L348.718348996833 66.02676053411415 L351.2928199466594 65.003831400776 L352.5596228755827 65.79958757334111 L353.336052161972 67.27470632689574 L354.2350767242996 73.70132098237798 L355.0523711026684 76.27585053006362 L354.2759418162789 79.95139208310536 L353.05000397933475 80.50643304951797 L353.00913888735533 79.17352415798501 L352.19184450898683 79.56258306843989 L351.25195485467987 82.61112873994165 L349.7399688350986 83.7712670387964 L349.2904528233257 86.0852186048212 L347.4106809759302 88.00712441102843 L347.28808569999217 88.82903543106892 ZM331.9638403545366 47.52148459665426 L331.9638403545366 47.52148459665426 L332.08643563047474 48.80803612032173 L331.1056883454065 49.04165937906697 L331.5143318039819 47.22870792401022 L331.9638403545366 47.52148459665426 ZM316.4352770104024 54.27421551875352 L316.4352770104024 54.27421551875352 L315.29106935741686 53.17334610394772 L315.9857684598477 51.6636320586004 L314.2285844271721 51.43102835138245 L314.92328352960294 49.97523117165258 L315.00501371356154 48.10662897856008 L313.45215514078257 46.81856410906005 L312.5940031316527 45.46896890459681 L309.40655580213627 44.41062742310521 L308.4258085170683 44.76362087300288 L305.23836118755185 43.17351677231659 L297.55581343005247 40.987526056939146 L296.73851905168374 39.14977851780105 L295.3491208468221 38.49628754989436 L298.2505125324832 37.36584025648949 L299.558180553386 36.05416423772772 L302.827350605643 35.51671873183477 L304.95231300491446 33.901438834233886 L305.93306028998256 33.841527115941346 L306.7503546683513 32.70204659371228 L309.0796425275196 31.07895331219106 L310.2647152724842 29.69273281841265 L312.02189930516 28.78689510509787 L313.6973456926587 29.57203459500721 L310.0603898125877 34.08113716171806 L310.101254904567 36.11385000862197 L311.5315182014077 34.560052025620564 L314.10599661245226 34.79936800465117 L316.1083637357857 35.87507047073569 L317.90640539922254 38.852827050070346 L318.8871601455087 39.387231991916906 L320.76693199290423 38.91222931961903 L321.2164405434588 39.56524851263816 L323.09621239085436 39.921142069732525 L327.1009540987395 37.42538196573025 L331.9638403545366 37.306281639099325 L333.8436196631502 36.47182627824992 L335.27388295999094 36.41217691603936 L335.5599311426281 39.44656958127473 L337.03105953144836 39.86184138724019 L338.5021879202685 39.387231991916906 L339.11515683874075 40.09900836368422 L340.0959115850269 39.20915085609113 L342.2617316150595 38.91222931961903 L342.3025967070389 42.70154881451526 L343.28335145332517 44.29292706764835 L344.7544798421453 44.70480318997721 L344.91794021006274 43.64509858983973 L346.3481960456854 43.64509858983973 L347.12462533207486 44.76362087300288 L346.47079132162344 45.58644743110199 L342.3843268909977 44.88123878222359 L340.42282485964347 45.35146718096553 L338.2978624603719 44.057434856955524 L337.6848935418998 45.23395297675978 L337.97094918575533 46.2321652787918 L337.03105953144836 45.997439790591955 L335.64166132658704 44.528315206965715 L333.2306507446781 43.64509858983973 L332.004705446516 43.58617001558616 L330.8196327015511 44.99883342692635 L328.85813067019683 45.35146718096553 L326.7331682709254 45.05762202930197 L325.87500880057723 45.64517799963562 L325.6706908018987 46.81856410906005 L323.3414029427304 47.814128443745915 L323.4639982186684 46.408138016781436 L322.44237838040283 46.114814096328246 L322.03373492182754 47.58002484100575 L320.3174159811314 47.63855934623081 L319.5409941559601 48.28206059570334 L318.39677904175653 50.790913931306136 L316.27181664248496 53.98471559784548 L316.4352770104024 54.27421551875352 ZM307.3633235868232 23.016766442678374 L307.3633235868232 23.016766442678374 L305.48355173942787 24.419037956006036 L304.50280445436 24.60169453418115 L304.5845271771004 23.443901895669455 L309.2839679874164 20.81500856643288 L308.38494342508886 22.65038828355472 L307.3633235868232 23.016766442678374 Z\" fill=\"rgb(60,80,139)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M283.4166408295615 37.008397957934505 L283.4166408295615 37.008397957934505 L282.84453700306904 36.531469578387146 L281.33254352226925 37.42538196573025 L281.33254352226925 43.82184920915034 L280.8830349717148 44.46947422901496 L278.7580725724431 45.35146718096553 L277.0417610929652 47.63855934623081 L276.91916581702696 49.15843681502571 L277.7773252873751 49.27518081533094 L278.7172074804638 50.61621584342737 L277.85904801011566 52.24473724389799 L278.0225083780331 54.04262880955656 L277.4912696435197 57.91018939948788 L279.45277167487393 59.80608077378179 L281.0056302476529 59.97813345536326 L281.7820595340422 61.123971409563694 L284.07047484001293 62.267662893060276 L284.4382606678272 63.6372785731989 L286.56322306709865 65.40184337208655 L287.74829581206336 65.79958757334111 L289.1785591089043 68.06753747919544 L288.9742336490076 69.70660401546775 L289.38288456880093 70.89081775580439 L250.31628192598032 70.89081775580439 L250.31628192598032 52.12856960795608 L248.59996298528404 50.907351076999305 L247.2922949643812 48.86645048747715 L249.33552717969405 46.584069514752116 L249.21293190375616 41.0467137958492 L248.31391480264676 39.921142069732525 L247.7009384229566 37.54446903234191 L247.53748551625733 34.141024334430426 L247.2922949643812 27.092205120597384 L245.24906274906846 21.182558544149515 L245.0038721971922 16.632916817830505 L245.49425330094448 15.087645446860279 L244.51349855465833 11.486380343019164 L260.00119680681314 11.486380343019164 L260.00119680681314 7.109292012756839 L261.4723251956332 7.234825318340086 L262.45307994191944 8.112764781952365 L263.43382722698755 14.034463642597132 L264.21025651337686 14.716164160795074 L266.6621396484833 14.901940769743362 L266.94818783112066 15.458895736889076 L269.80871442480213 15.70626153297394 L270.135635160637 16.941471330948445 L272.5875108345251 16.632916817830505 L272.5875108345251 16.138882122623386 L274.50814777389996 15.520747258618258 L276.18360162261695 15.76808620089082 L278.1042385619918 16.694641072785203 L278.6354772965051 17.866124104103903 L279.73882731872925 17.74292203474687 L280.76043969577654 20.263241661014774 L281.25081333831065 19.21957493412816 L283.13059264692436 18.727784557180428 L283.4575059215409 19.772347162849314 L285.6641985047712 20.50853694103222 L285.6641985047712 21.48865932670617 L286.7675410657772 22.283776597046483 L289.0150987409869 21.85577841952454 L290.3636318538689 20.753727339749446 L292.20253860928506 20.0792124996629 L292.85638008095475 21.73343145774561 L294.1231830098782 21.36623412626915 L295.63516902945946 21.73343145774561 L297.39235306213527 21.48865932670617 L299.3947201854686 22.894666311321316 L301.31535712484344 22.65038828355472 L301.151896756926 23.26087787691398 L298.65915599105847 24.662567207099983 L295.1856604789049 25.75716767818892 L292.9381028036953 26.91033439907511 L286.1954372392846 33.481927783857316 L282.84453700306904 36.11385000862197 L283.4166408295615 37.008397957934505 Z\" fill=\"rgb(71,47,125)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M309.8560718139091 153.01724357748697 L309.8560718139091 153.01724357748697 L311.8584389372427 153.01724357748697 L312.6348682236321 153.96443740596527 L309.8560718139091 180.7430969270246 L310.42817564040183 194.0632740603269 L309.610881262033 194.4420964501627 L307.81283959859616 194.25270645481996 L307.077275404186 193.68428188706076 L305.27922627953114 194.0632740603269 L302.01005622727416 195.67208389581648 L301.1110316649467 194.7734184189146 L300.82498348230956 193.35253282087976 L299.5990456453653 191.45428018578454 L300.33460983977545 188.59881535017462 L286.2363023312638 188.59881535017462 L286.7675410657772 187.97883888815537 L286.2363023312638 186.25954575024642 L287.13532689359135 186.16392337565924 L287.2579221695295 182.9541529320948 L287.9934863639394 183.14613710644585 L288.4429949144942 181.17616558967813 L290.2001714859517 179.92443726621363 L291.09919604827917 177.89828986506276 L290.93573568036163 175.28569653508447 L289.83239311935574 174.1703242868408 L289.9141233033142 172.37271663922564 L290.44536203782764 171.9835020445214 L289.75066293539703 170.96091453145243 L290.32276676188974 169.74179611703823 L289.9141233033142 167.8850904392155 L290.56795731376576 167.15096153285486 L289.26028929286304 165.97491169599385 L290.44536203782764 163.22379412173967 L291.7938951507098 161.79523016490072 L291.3443866001552 160.80845216441844 L292.8972377117159 159.32588782153778 L292.85638008095475 158.73205234808188 L294.2049131938368 158.2368260085039 L294.08231791789876 156.45133616795425 L294.8587472042883 156.05399044814618 L295.3899859388016 154.51226963846227 L296.5750586837663 153.81495891768014 L296.1255501332116 153.01724357748697 L309.8560718139091 153.01724357748697 Z\" fill=\"rgb(72,24,106)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M284.76517394244377 99.95837095608539 L284.76517394244377 99.95837095608539 L285.5416032288331 99.90453958402708 L287.05359670963276 101.89334209409083 L287.8708910880014 102.2152902707956 L287.21705707754995 103.6085685810105 L287.2987872615088 105.58627753266813 L288.23866945459747 108.56842492267793 L293.0198329876538 113.12244415491335 L293.51021409140606 116.28156076032303 L294.08231791789876 116.85914829482562 L294.94046992702874 115.96631585390787 L297.6375436140112 117.06904915648153 L296.90197941960105 118.2223936792006 L297.1062974182797 119.11228066154075 L295.8394944893563 121.56655972289366 L295.7986293973769 123.07654538944564 L298.00532198060716 124.99830763556582 L298.8226163589759 126.24201867246899 L299.63991073734474 126.03488632970942 L302.0509213192536 128.05178725080117 L302.0509213192536 129.49623230622274 L302.6638902377256 131.29762291943467 L302.0509213192536 131.9141801031198 L303.72637516797056 134.57974422832177 L304.91144791293516 134.68206712069826 L304.29847899446304 138.45768761655063 L303.195128972239 138.05046847564728 L302.7864855136635 139.22059191903554 L301.88746095133615 139.22059191903554 L301.92832604331545 141.50446448902727 L300.4571976544953 143.83165743546397 L295.63516902945946 143.83165743546397 L297.96445688862775 140.9975649634352 L297.31062287817645 139.22059191903554 L264.0059385146984 139.1697562156756 L264.0468036066777 114.07172844575342 L262.45307994191944 113.59724804813948 L261.2680071969547 111.32570281632928 L260.3281175426479 110.37254160309408 L262.00357139136474 107.55811860012352 L259.59255334823797 106.81270524730286 L257.0180823984116 103.34086443037563 L255.42435873365343 100.1736425132587 L284.76517394244377 99.95837095608539 Z\" fill=\"rgb(70,51,127)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M193.63701117051494 11.486380343019164 L193.63701117051494 11.486380343019164 L193.67787626249435 55.31529490420047 L141.37113304272862 55.25750360808121 L141.4119981347078 60.780453279273445 L140.06345756060762 59.69134500052786 L138.8783848156428 57.85264509651205 L137.16207333616467 60.03547704438836 L135.6500798553651 60.436731182291226 L135.28229402755085 59.86344055728449 L133.52511745609365 60.32211408916794 L132.50350507904636 59.80608077378179 L130.78718613834997 60.72317971065792 L128.45789827918156 60.66590076506793 L127.68147645401041 61.63890217060117 L126.82331698366238 61.066730069647576 L125.84256223737611 57.6799794556141 L124.28971112581553 57.56484173609971 L123.43155165546727 56.70062208535256 L123.47241674744646 54.67929707074745 L122.57339218511902 53.92679682611049 L121.34745434817489 51.77990015965099 L120.61189015376488 49.741971937486085 L120.81621561366171 48.86645048747715 L119.46768250077957 47.814128443745915 L118.73211830636956 48.98326211520305 L116.89320408973515 50.44146687324388 L115.29948788619504 49.33354960765632 L115.66726625279102 48.165111906276536 L115.13602751827761 47.05296653120536 L116.48456063115987 45.8800423481768 L115.70813134477055 44.234062768768524 L115.91245680466704 41.6973773185091 L116.97493427369398 37.66353197819859 L114.80910678244277 37.72305441025651 L114.72737659848406 37.008397957934505 L112.76587456712991 35.87507047073569 L112.43896129251345 34.679722246507595 L109.66016488279058 31.740757222216473 L109.49670451487304 30.958542482770667 L107.9847110340736 30.476649882464415 L106.55444773723264 29.14940421144314 L106.51358264525334 26.12157764433607 L104.1025720633445 23.016766442678374 L104.1025720633445 11.486380343019164 L193.63701117051494 11.486380343019164 Z\" fill=\"rgb(69,6,89)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M199.0311436220436 75.99652956417998 L199.0311436220436 75.99652956417998 L235.03290167250395 76.05240575450983 L235.2780922243801 76.55505733342454 L239.11936610312966 78.39469534650254 L240.01839066545733 77.39192311678846 L244.59522873861704 77.61490187348613 L248.51823280132533 79.5070179140647 L249.00861390507748 80.95010500983335 L250.35714701795973 81.22724835731492 L251.70568013084164 85.75516482578911 L252.72729250788916 86.41509190635975 L253.21766615042316 88.1715828610889 L252.76815759986857 89.37638888290138 L252.97248305976518 90.74275327711354 L254.28015108066802 91.61570498676355 L254.2392859886886 94.11889351835396 L254.97485018309874 96.34189280891434 L254.5661992633053 98.880913494798 L258.8569891538277 105.90643575729655 L208.51174796541613 105.90643575729655 L208.51174796541613 96.07119910185037 L193.59614607853575 96.07119910185037 L193.59614607853575 75.99652956417998 L199.0311436220436 75.99652956417998 Z\" fill=\"rgb(71,14,97)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M96.7878026724411 86.1402109895921 L96.7878026724411 86.1402109895921 L119.05903158098602 86.19519864119161 L119.01816648900672 142.01100885693637 L118.2417372026174 143.57906909530874 L117.50617300820716 143.62959562906815 L116.60715590709799 142.51720826574694 L113.86922458935408 142.87132837432728 L114.318733139909 148.2630816719481 L115.09516242629832 151.7191351795674 L114.6456538757435 152.96735746172175 L93.27344206830821 132.47889332537898 L74.59829648663685 115.5983340786197 L74.59829648663685 86.19519864119161 L96.7878026724411 86.1402109895921 Z\" fill=\"rgb(72,25,107)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M439.6013212168856 52.070472071186146 L439.6013212168856 52.070472071186146 L440.45948068723374 72.52245166943453 L441.64455343219845 73.70132098237798 L441.5219656174786 74.71000965589678 L442.420982718588 75.43749344270782 L441.5628307094581 77.33616606418173 L440.8272665150479 77.16886521192595 L438.8248993917143 78.17199290683806 L438.0076050133456 79.11792471420159 L429.3442950483419 78.78423517721109 L428.6904610378905 78.00491434439351 L428.7721912218492 76.49922591357216 L429.4260252323006 75.9406483922653 L429.9164063360528 70.15800359290012 L431.2240743569556 68.124130090503 L431.8779083674069 65.79958757334111 L432.5317423778582 64.94695150576274 L432.4908772858789 62.3819154985448 L434.9836180517466 61.410097645858 L436.2095558886906 59.6339690076922 L435.5148567862599 57.91018939948788 L436.53647662452545 56.181491882154376 L436.45474644056685 55.141904439164875 L437.51722390959344 52.418962551040806 L439.2335428502897 52.709226017583944 L439.6013212168856 52.070472071186146 Z\" fill=\"rgb(70,8,92)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M416.06328937941737 94.71604974850072 L416.06328937941737 94.71604974850072 L418.5560301452848 96.12534683889083 L417.65700558295737 98.98873991416929 L416.43106774601335 99.63531650387665 L415.77723373556194 101.14152747781463 L417.8204659508747 101.89334209409083 L417.9839263187921 103.01946461912155 L417.08490175646455 108.2495427478184 L414.7556213585144 112.11897202203534 L413.24362787771497 113.22798710208303 L411.89509476483283 115.65091510564224 L411.2003956624021 114.07172844575342 L409.03456817115125 113.28075239419928 L406.3783670373664 111.16693481145069 L406.17404157746967 109.52415102169994 L407.27739159969383 107.82413941885562 L409.27975872302727 107.02576831385034 L409.40234653774723 106.2797492632651 L411.6907693049361 104.67833350516173 L412.05855513275026 103.82266177551446 L409.9335927334787 101.83966878251272 L409.8518625495201 100.60399382738467 L408.9119728952131 100.28125675931727 L408.8302427112544 99.15043645280173 L409.9744578254581 97.42352593067449 L409.361488906986 96.39600818122295 L411.2412607543815 94.33610838732727 L411.6499042129568 93.2493159193973 L412.63065895924296 92.54192565145672 L416.06328937941737 94.71604974850072 Z\" fill=\"rgb(62,74,137)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M168.46439057630926 134.528577255274 L168.46439057630926 134.528577255274 L201.4421616651706 134.528577255274 L201.4421616651706 139.1697562156756 L200.9517880226366 179.8280687473531 L174.4714919463097 179.8280687473531 L174.26717394763114 180.69496290397328 L175.125325956761 181.70515954618978 L162.5798844822466 181.70515954618978 L162.5798844822466 185.6856535291132 L156.32759256037002 185.6856535291132 L156.36845765234932 134.528577255274 L168.46439057630926 134.528577255274 Z\" fill=\"rgb(71,16,99)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M422.72422475986934 55.141904439164875 L422.72422475986934 55.141904439164875 L422.80595494382794 57.3345007394372 L422.3973040240346 59.2895994665289 L423.0920031264652 61.18120738322267 L422.88768512778665 63.1810767333111 L422.0295256574385 65.28815195353366 L422.68335966788993 68.124130090503 L422.27471620931465 68.97238791237453 L423.45978895427925 70.6654254483878 L423.29632858636194 78.61731903634234 L421.4982869229251 85.25977400981941 L421.1713661870905 93.19492794690376 L421.7026049216038 94.01025881712098 L419.86369816618753 95.09577897969365 L420.39493690070094 96.23362881704611 L423.5823842302174 97.04516115346576 L424.2362182406688 96.45012894337447 L428.3635477632739 96.12534683889083 L430.65196306924474 94.55324070207371 L430.81542343716205 95.69203886457382 L432.00049618212677 96.17949007687508 L429.2625648643832 97.63964166310438 L423.50065404625866 99.79686359958652 L419.49591979959155 100.11982878039043 L418.3108395934087 100.60399382738467 L417.65700558295737 98.98873991416929 L418.5560301452848 96.12534683889083 L412.63065895924296 92.54192565145672 L412.3037382234081 91.83375110853876 L411.1595305704227 91.7792539426361 L409.8109974575407 90.08725548164034 L409.9744578254581 88.60995939130146 L409.07543326313066 87.45859125760205 L408.50332943663784 87.51346570895174 L407.6860350582691 86.1402109895921 L374.83085924534555 86.1402109895921 L374.83085924534555 83.44002225314313 L379.4076973185056 80.56191033983538 L380.1432615129156 79.17352415798501 L381.61438990173565 78.22767590437815 L381.04228607524306 76.49922591357216 L380.42931715677105 76.16413299631091 L379.9798011449982 73.36472559268486 L384.3523212194792 72.18522917580856 L389.7873187629873 72.52245166943453 L391.46277261170417 73.64523435736317 L392.52525008073087 73.1963700192972 L395.75355504100844 73.2524970091277 L397.71506453358074 72.52245166943453 L399.79915437965485 70.6654254483878 L401.147687492537 70.60906458363485 L401.1885525845164 67.78449664011367 L401.8832516869471 66.14031558853424 L400.2078052994483 65.003831400776 L400.5755836660443 63.69427993970231 L403.558705535664 61.92477696930422 L408.2581388847618 56.873566689161976 L411.6499042129568 55.08410711836234 L416.7171233898687 55.3730806768728 L422.72422475986934 55.141904439164875 Z\" fill=\"rgb(33,145,140)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M365.7589058217667 138.61032591585075 L365.7589058217667 138.61032591585075 L403.88561881028056 138.71207293999367 L404.7437782806288 142.41599667490038 L402.65968097333644 142.0616447215059 L402.3736327906993 142.51720826574694 L399.84001947163415 143.07361041169503 L399.47224110503817 143.57906909530874 L397.7967872563213 143.73062893917836 L397.87851744028 144.3870635618939 L400.2078052994483 144.33658960159954 L402.455362974658 143.88216642145767 L403.1909271690681 144.74027419991097 L404.53946028195026 144.3870635618939 L405.02983392448425 146.60444124545103 L404.58031791271117 147.6603755329076 L403.681300811602 147.76086240478764 L401.80152896420657 150.01817156520008 L399.30878073712086 150.11833754737893 L398.9001372785457 151.66916194816912 L399.9626147475723 153.2167546652372 L400.8207742179204 153.51592127013862 L399.22705055316214 156.05399044814618 L397.87851744028 155.7558364630229 L393.873783193613 156.5506420807406 L391.29931224378674 158.28636323035238 L389.2560800284739 160.5615557065559 L388.1935950982289 163.42063104485413 L386.6407439866682 162.78073523978827 L383.94367776090405 163.37142654730457 L375.4846932557971 154.7611426726529 L367.10743893464894 154.6118233263942 L367.23003421058684 153.56577071273597 L366.08582655760165 152.0189039980794 L365.3093972712121 152.56815735708904 L365.2685321792328 151.61918535387701 L356.0739834797157 151.1692536555489 L352.43703506086274 152.36847246179462 L349.86255664981843 152.96735746172175 L340.8314757794369 153.0671263548187 L341.0357937781156 150.91916855396857 L342.5069221669356 150.71903970009333 L343.07902599342844 149.21636364867652 L344.91794021006274 147.86133553839528 L346.9611724253756 147.81110068841133 L348.8000791807917 146.40313662218097 L350.72071612016657 145.8996419477043 L352.35530487690403 143.83165743546397 L353.3769172539513 143.22528495492344 L353.58124271384827 144.13465876787274 L356.52349949148845 142.36538557827873 L357.8720326043707 142.71958906461026 L358.8119147974593 140.9975649634352 L360.2013130023207 140.54104259747544 L360.52823373815556 138.3559045099404 L365.7589058217667 138.61032591585075 Z\" fill=\"rgb(58,83,139)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M244.51349855465833 11.486380343019164 L244.51349855465833 11.486380343019164 L245.49425330094448 15.087645446860279 L245.0038721971922 16.632916817830505 L245.24906274906846 21.182558544149515 L247.2922949643812 27.092205120597384 L247.53748551625733 34.141024334430426 L247.7009384229566 37.54446903234191 L248.31391480264676 39.921142069732525 L249.21293190375616 41.0467137958492 L249.49898754761136 45.35146718096553 L193.63701117051494 45.23395297675978 L193.63701117051494 11.486380343019164 L244.51349855465833 11.486380343019164 Z\" fill=\"rgb(68,3,86)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M369.1915362419411 86.36012317341545 L369.1915362419411 86.36012317341545 L369.1915362419411 99.68916995327504 L368.0881936809351 100.22745183916317 L368.6194324154484 101.3027049525245 L368.5785673234691 102.80511123070318 L367.5569549464217 105.15916957419978 L366.86225584399097 108.72780901102874 L363.96086415832997 111.85464952995653 L363.020974504023 112.27751577638861 L362.2036801256543 111.64311684331722 L361.3455281165244 113.01688471632042 L360.48736864617626 112.9640988099236 L359.5474789918695 114.80913922804052 L359.75180445176613 115.91375922530062 L358.9753751653768 116.80666057785413 L357.8720326043707 115.33536786697817 L356.48263439950927 117.64596984701456 L356.85041276610514 119.11228066154075 L355.9513882037777 119.63519978733405 L355.6653400211404 120.88859496436538 L353.7038379897863 121.09727360015017 L352.68221815152083 119.79200061904766 L351.8240586811726 119.53065551814922 L351.4971454065558 117.90803577943149 L350.434660476311 118.2223936792006 L349.61737355916046 119.1645914953429 L346.79771205745817 118.43188529440124 L345.61263931249346 119.11228066154075 L343.9371854637767 117.80321765060984 L341.6078976046083 117.43623696305747 L341.48530978988833 116.59666925062896 L339.9733163090888 114.59852955756332 L337.1127897154073 114.59852955756332 L337.1945198993659 89.21222879675048 L347.28808569999217 88.82903543106892 L351.17022467072104 91.01567074679247 L351.9057888651313 90.251192475908 L354.56198999891615 92.3241083961774 L358.03548551106985 91.01567074679247 L360.0787177263827 91.28848274485063 L362.285410309613 89.43109959751843 L365.51371526989055 87.62320051184037 L369.1915362419411 86.36012317341545 ZM369.1915362419411 86.36012317341545 L369.1915362419411 86.36012317341545 L369.1915362419411 86.36012317341545 Z\" fill=\"rgb(54,92,141)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M223.18215183920222 134.528577255274 L223.18215183920222 134.528577255274 L264.0059385146984 134.528577255274 L264.0059385146984 139.1697562156756 L265.39533671955985 149.36677068500512 L264.9866857997663 165.2880546532404 L262.1261592060847 164.30576450940498 L261.3905950116746 163.27300808660175 L259.46995807229996 162.38668192197838 L258.97958442976574 163.1745769993978 L257.058947490391 163.12535671872047 L256.65029657059745 162.6329890080567 L254.89311999914003 163.51903057862 L254.15755580473012 163.0269066789403 L252.56383213997162 163.4698323883414 L251.09270375115148 164.84617498345114 L250.520599924659 164.05999382782784 L248.9677488130983 163.42063104485413 L247.3331600563606 163.42063104485413 L246.80192132184732 162.38668192197838 L244.9221420132335 164.4040508049959 L244.3091730947615 163.27300808660175 L243.45102108563162 163.61741750296625 L242.7971870751801 162.87921690026718 L241.04000304250462 162.18957916145524 L239.7323350216019 163.37142654730457 L239.16023119510908 162.14029553476968 L238.0977462648642 161.9924345935475 L237.48477734639232 161.00591173204936 L236.05451404955124 160.61094140259894 L235.11463185646267 161.4499998605429 L234.50166293799066 160.7097031862461 L233.0305345491705 160.80845216441844 L231.39594579243305 160.01811042093306 L229.88395231163327 160.11694918196463 L229.35271357712008 158.38542794264993 L226.08354352486322 158.58351846620832 L224.40808967614612 156.8484812486535 L223.83598584965353 156.947734804743 L223.83598584965353 139.1697562156756 L201.4421616651706 139.1697562156756 L201.4421616651706 134.528577255274 L223.18215183920222 134.528577255274 Z\" fill=\"rgb(72,32,113)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M50.65161372937496 42.760565367784864 L50.65161372937496 42.760565367784864 L51.3463128318059 42.642526382247866 L52.94003649656395 43.76293818492195 L53.63473559899478 45.05762202930197 L54.002513965590765 48.28206059570334 L57.84378784434057 49.45027012519449 L61.11296535781548 47.75561114594194 L63.15619757312845 47.58002484100575 L65.52634306305788 48.165111906276536 L65.7715336149339 48.86645048747715 L69.85799804555984 47.34582941223425 L70.83875279184576 47.87264000906015 L73.04543791385811 47.58002484100575 L74.88435213049229 46.52543145175923 L78.15352218274927 45.58644743110199 L81.1366365911507 45.35146718096553 L82.15825642941627 44.64597968575566 L97.60508958959167 44.70480318997721 L98.62670942785746 46.52543145175923 L100.38388599931488 47.2872768878633 L100.99685491778678 48.74961604877501 L99.44400380622619 51.896145776267645 L98.99448779445322 53.753007134788334 L98.13633578532324 55.02629371361752 L98.2589236000432 56.00836008129613 L97.48250177487193 57.56484173609971 L96.7060724884825 57.91018939948788 L95.19407900768283 61.63890217060117 L95.72531774219635 63.06697318806846 L97.1555810390372 63.23812053785878 L97.76854995750932 64.09313084608863 L96.7878026724411 67.50133637157899 L96.7878026724411 86.1402109895921 L43.173383970554255 86.1402109895921 L42.11089904030939 84.9843849697362 L41.53879521381691 81.72579070278823 L41.66139048975481 79.45144786531534 L40.63977811270752 77.67063420615989 L43.500297245171055 67.72787290551304 L44.194996347601545 57.6799794556141 L44.930560542011904 53.753007134788334 L45.21661618586711 48.28206059570334 L44.807965266073666 45.23395297675978 L45.17575109388781 43.40934916556171 L48.158872963507406 41.81560486856063 L49.46654098441047 43.055560009003216 L50.65161372937496 42.760565367784864 Z\" fill=\"rgb(72,35,116)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M374.83085924534555 83.60566117856013 L374.83085924534555 83.60566117856013 L374.83085924534555 86.1402109895921 L407.6860350582691 86.1402109895921 L408.50332943663784 87.51346570895174 L409.07543326313066 87.45859125760205 L409.9744578254581 88.60995939130146 L409.8109974575407 90.08725548164034 L411.1595305704227 91.7792539426361 L412.3037382234081 91.83375110853876 L412.63065895924296 92.54192565145672 L411.6499042129568 93.2493159193973 L411.2412607543815 94.33610838732727 L409.361488906986 96.39600818122295 L409.9744578254581 97.42352593067449 L408.8302427112544 99.15043645280173 L408.9119728952131 100.28125675931727 L409.8518625495201 100.60399382738467 L409.9335927334787 101.83966878251272 L412.05855513275026 103.82266177551446 L411.6907693049361 104.67833350516173 L409.40234653774723 106.2797492632651 L409.27975872302727 107.02576831385034 L407.27739159969383 107.82413941885562 L405.76539811889415 107.55811860012352 L404.49859518997084 108.62155717158419 L369.1915362419411 108.62155717158419 L369.1915362419411 86.36012317341545 L374.83085924534555 83.60566117856013 Z\" fill=\"rgb(50,100,142)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M438.7431692077557 89.37638888290138 L438.7431692077557 89.37638888290138 L439.3152730342483 91.17937178819398 L437.8441446454282 91.39757525668477 L438.7431692077557 89.37638888290138 ZM436.2504209806699 85.97521963049502 L436.2504209806699 85.97521963049502 L437.3537710028943 85.97521963049502 L437.76241446146946 88.3360091595697 L438.5388437478589 89.04803676469572 L437.63981918553145 88.88379276493504 L436.863389899142 90.36046062546512 L436.61820680848405 92.43302619273027 L433.7985453067819 92.92291955830257 L434.24805385733634 91.99724487793458 L434.24805385733634 86.0852186048212 L436.2504209806699 85.97521963049502 Z\" fill=\"rgb(69,6,89)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M352.43703506086274 152.36847246179462 L352.43703506086274 152.36847246179462 L354.03075126440274 151.5192220729735 L356.0739834797157 151.1692536555489 L365.2685321792328 151.61918535387701 L365.3093972712121 152.56815735708904 L366.08582655760165 152.0189039980794 L367.23003421058684 153.56577071273597 L367.10743893464894 154.6118233263942 L375.4846932557971 154.7611426726529 L383.94367776090405 163.37142654730457 L382.6360097400013 163.81414457175072 L381.00142098326376 165.2880546532404 L379.4076973185056 167.59152747955062 L379.1216491358681 169.44893171057936 L377.8548387457266 170.9121858254877 L376.1793923582278 170.9121858254877 L375.81160653041377 171.9835020445214 L374.05442995895623 173.15056110263248 L373.0736752126701 174.41292487828184 L371.5208241011094 174.94640468631025 L369.8453702523925 176.30272275177376 L369.681909884475 176.9316577133916 L368.1290587729143 177.65673898613844 L366.4536049241974 179.53889408626077 L364.7372934447194 178.7672625940627 L364.6964283527401 177.27011484749306 L363.5113481465571 174.89792133057836 L362.4897357695098 174.26737697510788 L361.917631943017 170.9121858254877 L359.91526481968344 169.54655943068394 L358.60759679878083 167.8850904392155 L358.68931952152127 166.85712084220108 L356.6869523981876 165.337136774192 L355.70620511311984 163.66660623874043 L353.98988617242344 162.53447568289334 L351.4154152225974 157.64213503942938 L350.63898593620786 157.79085393304922 L348.1462451703402 155.85523427184938 L348.26884044627843 154.91043225601857 L349.86255664981843 152.96735746172175 L352.43703506086274 152.36847246179462 Z\" fill=\"rgb(71,42,122)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M193.63701117051494 45.23395297675978 L193.63701117051494 45.23395297675978 L249.49898754761136 45.35146718096553 L249.33552717969405 46.584069514752116 L247.2922949643812 48.86645048747715 L248.59996298528404 50.907351076999305 L250.31628192598032 52.12856960795608 L250.31628192598032 70.89081775580439 L249.33552717969405 71.11612828991832 L249.74417063826957 71.96030580375327 L249.49898754761136 73.75740256806273 L250.43886974070017 74.766000776554 L249.86676591420746 75.49341951190127 L249.62158282354972 77.5034223831097 L248.9677488130983 79.00671111333656 L250.35714701795973 81.22724835731492 L249.00861390507748 80.95010500983335 L248.51823280132533 79.5070179140647 L244.59522873861704 77.61490187348613 L240.01839066545733 77.39192311678846 L239.11936610312966 78.39469534650254 L235.2780922243801 76.55505733342454 L235.03290167250395 76.05240575450983 L193.59614607853575 75.99652956417998 L193.63701117051494 45.23395297675978 Z\" fill=\"rgb(69,4,87)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M312.9617814982487 139.22059191903554 L312.9617814982487 139.22059191903554 L312.8391862223107 137.54112820343403 L314.47377497904824 137.94862753330182 L323.8726416772438 137.7449022052246 L339.15602193071993 138.3050075394264 L360.52823373815556 138.3559045099404 L360.2013130023207 140.54104259747544 L358.8119147974593 140.9975649634352 L357.8720326043707 142.71958906461026 L356.52349949148845 142.36538557827873 L353.58124271384827 144.13465876787274 L353.3769172539513 143.22528495492344 L352.35530487690403 143.83165743546397 L350.72071612016657 145.8996419477043 L348.8000791807917 146.40313662218097 L346.9611724253756 147.81110068841133 L344.91794021006274 147.86133553839528 L343.07902599342844 149.21636364867652 L342.5069221669356 150.71903970009333 L341.0357937781156 150.91916855396857 L340.8314757794369 153.0671263548187 L296.1255501332116 153.01724357748697 L296.86111432762175 152.76778870730368 L297.59667852203165 151.1692536555489 L297.47408324609376 148.96561708764852 L298.8634814509553 147.45936054460077 L299.10866454161305 146.05072948994473 L300.21201456383744 145.5469828867329 L300.4571976544953 143.83165743546397 L301.92832604331545 141.50446448902727 L301.88746095133615 139.22059191903554 L312.9617814982487 139.22059191903554 Z\" fill=\"rgb(69,56,130)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M210.30978962885274 139.1697562156756 L210.30978962885274 139.1697562156756 L223.83598584965353 139.1697562156756 L223.83598584965353 156.947734804743 L224.40808967614612 156.8484812486535 L226.08354352486322 158.58351846620832 L229.35271357712008 158.38542794264993 L229.88395231163327 160.11694918196463 L231.39594579243305 160.01811042093306 L233.0305345491705 160.80845216441844 L234.50166293799066 160.7097031862461 L235.11463185646267 161.4499998605429 L236.05451404955124 160.61094140259894 L237.48477734639232 161.00591173204936 L238.0977462648642 161.9924345935475 L239.16023119510908 162.14029553476968 L239.7323350216019 163.37142654730457 L241.04000304250462 162.18957916145524 L242.7971870751801 162.87921690026718 L243.45102108563162 163.61741750296625 L244.3091730947615 163.27300808660175 L244.9221420132335 164.4040508049959 L246.80192132184732 162.38668192197838 L247.3331600563606 163.42063104485413 L248.9677488130983 163.42063104485413 L250.520599924659 164.05999382782784 L251.09270375115148 164.84617498345114 L252.56383213997162 163.4698323883414 L254.15755580473012 163.0269066789403 L254.89311999914003 163.51903057862 L256.65029657059745 162.6329890080567 L257.058947490391 163.12535671872047 L258.97958442976574 163.1745769993978 L259.46995807229996 162.38668192197838 L261.3905950116746 163.27300808660175 L262.1261592060847 164.30576450940498 L264.9866857997663 165.2880546532404 L265.7631150861557 166.1220178857149 L267.23424347497587 165.68061532503344 L268.2967209440026 166.07298559769117 L268.2967209440026 179.87625444554564 L269.93130970074014 181.8013048098913 L269.97217479271967 183.7218099037101 L272.01540700803264 187.26290297821117 L272.13800228397054 189.12304801280612 L271.3615729975811 191.35925396349754 L270.626008803171 192.2615600417851 L270.8711993550471 193.44733404842356 L270.33995315931566 194.34740674946823 L270.9120644470264 196.00293493496173 L269.1548804143508 199.06898334555694 L269.80871442480213 199.91611090599082 L264.70063761712913 201.13826954311713 L263.3112394122677 200.48039804953956 L263.0660488603917 199.06898334555694 L262.0852941141053 200.0572108117405 L261.3905950116746 199.82202576029513 L261.0228166450787 201.04431726327837 L261.79924593146814 201.56092889354198 L261.92184120740626 203.15577320965508 L258.284885327335 206.94359012181326 L253.78977743813402 209.1805854625324 L253.34026142636117 208.8081388879361 L251.99172831347903 209.36675049649332 L251.95086322149973 208.85470321374902 L250.1119564660836 209.22713035880338 L249.25379699573546 208.15599119180152 L248.72255826122205 208.38895895137614 L250.6840602925763 210.57586297593426 L249.25379699573546 211.27268857522773 L247.9052638828532 210.8546614428732 L247.7009384229566 212.3864942796743 L246.0254920354579 213.96203643035017 L244.3091730947615 216.8742379553874 L243.2058305337556 219.91526199538993 L242.38853615538665 219.68522778352065 L242.18421069548992 220.78886607739216 L243.0423701658383 220.51307682633407 L242.6337267072629 222.7170947258709 L242.0616228807702 222.80881767509337 L242.02075778879066 224.046197168472 L242.71545689122138 224.73292786968813 L242.91977488990005 227.24670752960117 L243.7370692682689 228.11357557800505 L244.59522873861704 231.11876674094668 L242.30680597142805 231.98218006402956 L241.36692377833947 230.8914318687545 L239.60973974566377 230.48208042463108 L237.28045934771353 230.5730622886017 L235.2780922243801 229.20745519320968 L233.76609874358041 229.07078693437012 L232.62188362937684 227.97675229919844 L231.06903251781625 227.61180340391826 L230.0065475875715 226.5617862854737 L229.31184848514067 224.046197168472 L227.96331537225842 222.53363039229515 L228.12677574017607 221.2483256582713 L227.51380682170395 219.8692597013638 L227.71813228160067 218.6724169790652 L226.77824262729382 217.3356396286179 L226.0018133409044 217.19724087515988 L224.73501041198097 215.99692867739935 L224.32636695340568 214.47118300785547 L223.22301693118152 213.08192298229963 L221.62929326642325 211.92257215846715 L220.85287144125198 209.36675049649332 L220.11730724684185 208.66843131728845 L219.13655250055558 206.616886348304 L218.809639225939 204.9348004221297 L217.86974957163227 203.7179613580839 L216.276025906874 202.6401081056201 L215.908247540278 201.8895131690283 L214.43711915145786 201.2322116419262 L213.29291149847245 199.35144601447584 L208.06223195364316 199.0218957883168 L206.38678556614445 198.36240766608478 L206.0189997383303 199.25729922206068 L204.22095807489347 199.5397087389971 L202.87242496201122 201.3261435653448 L202.0551305836426 204.1861742751618 L201.6056220330879 204.23298266180086 L200.58400219482246 205.91640852541036 L199.35806435787833 205.9631249086188 L197.5191576024622 204.65414576663812 L192.90144697610503 202.54631804514636 L192.00242987499564 201.4200653190094 L190.20438075034065 200.33935865871328 L188.93757782141734 197.89102823802466 L188.8558476374584 195.67208389581648 L187.5890447085352 193.87379921998735 L187.30299652589792 192.30902344046237 L186.48570214752908 191.31173681059383 L183.5843104618682 189.83738181125062 L180.7646489601658 187.11963964161916 L179.41611584728355 185.39855279729406 L177.53634399988812 184.48874614384286 L176.2286759789854 182.18577207400224 L175.125325956761 181.70515954618978 L174.26717394763114 180.69496290397328 L174.4714919463097 179.8280687473531 L200.9517880226366 179.8280687473531 L201.15610602131505 139.1697562156756 L210.30978962885274 139.1697562156756 Z\" fill=\"rgb(84,197,104)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M133.07560890553884 86.19519864119161 L133.07560890553884 86.19519864119161 L141.4119981347078 86.1402109895921 L141.4119981347078 96.12534683889083 L156.32759256037002 96.12534683889083 L156.36845765234932 134.528577255274 L119.01816648900672 134.528577255274 L119.05903158098602 86.19519864119161 L133.07560890553884 86.19519864119161 Z\" fill=\"rgb(72,26,108)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M436.45474644056685 55.141904439164875 L436.45474644056685 55.141904439164875 L436.53647662452545 56.181491882154376 L435.5148567862599 57.91018939948788 L436.2095558886906 59.6339690076922 L434.9836180517466 61.410097645858 L432.4908772858789 62.3819154985448 L432.5317423778582 64.94695150576274 L431.8779083674069 65.79958757334111 L431.2240743569556 68.124130090503 L429.9164063360528 70.15800359290012 L429.4260252323006 75.9406483922653 L428.7721912218492 76.49922591357216 L428.6904610378905 78.00491434439351 L429.3442950483419 78.78423517721109 L423.29632858636194 78.61731903634234 L423.45978895427925 70.6654254483878 L422.27471620931465 68.97238791237453 L422.68335966788993 68.124130090503 L422.0295256574385 65.28815195353366 L422.88768512778665 63.1810767333111 L423.0920031264652 61.18120738322267 L422.3973040240346 59.2895994665289 L422.80595494382794 57.3345007394372 L422.72422475986934 55.141904439164875 L436.45474644056685 55.141904439164875 Z\" fill=\"rgb(68,1,85)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M407.39997941441356 124.99830763556582 L407.39997941441356 124.99830763556582 L408.54419452861714 124.84268590975711 L407.563439782331 126.44908940830794 L406.5418274052837 127.01820737430836 L404.3759999140327 132.68412236816465 L403.1091969851093 133.40198825789088 L402.70054606531585 132.1195826157342 L403.35438007576727 129.23851061844164 L405.3567471991007 125.56862242357698 L407.39997941441356 124.99830763556582 ZM402.78227624927456 125.56862242357698 L402.78227624927456 125.56862242357698 L402.78227624927456 125.56862242357698 ZM385.3739410577449 111.1140038151442 L385.3739410577449 111.1140038151442 L389.2560800284739 114.33517540347225 L390.0733744068426 112.48884948123407 L391.21758205982803 112.64729668109919 L392.0348764381969 113.43901392683597 L392.0348764381969 114.86178142541013 L393.58773501097585 115.33536786697817 L394.5684822960436 116.22902848948553 L395.14058612253643 117.59354266960713 L394.486752112085 119.11228066154075 L393.58773501097585 119.53065551814922 L393.01562372326475 120.88859496436538 L393.3425444590995 121.87924587783937 L395.34491158243316 121.56655972289366 L395.71268994902914 123.07654538944564 L398.32803345205286 123.70041039301526 L399.063597646463 124.8945636957348 L401.147687492537 126.19024136504254 L400.2078052994483 128.82596818808878 L401.06596476979655 130.88627870330703 L400.04434493153076 131.86282013449159 L399.92174965559286 133.0431463301261 L400.8616393098997 133.7606391438611 L399.84001947163415 134.88666871851507 L398.28716836007345 133.40198825789088 L397.9193825322594 133.91429514291747 L399.26791564514144 134.98894743990996 L402.94573661719187 135.24457058149062 L403.88561881028056 138.71207293999367 L376.7106310927412 138.81380554429074 L345.6534969432545 138.25410695613618 L349.65823865114 136.9294298073038 L350.14861229367386 135.90878571597005 L351.5788755905146 135.55120839162652 L351.6606057744733 134.73322304202333 L352.7639483354794 134.11911804229328 L352.7639483354794 133.40198825789088 L355.501879653223 132.01688882978073 L358.3624062469046 129.49623230622274 L358.2398109709666 130.26882071179955 L359.26143080923214 131.86282013449159 L360.52823373815556 132.63281835065857 L361.46811593124426 132.58151061010608 L362.898379228085 131.34902406355184 L363.91999906635067 132.32492539790746 L365.8406360057254 131.81145642764756 L369.2324013339204 130.01138252178544 L369.5184569777757 130.57762214851874 L370.82612499867867 129.7538593653864 L370.86699009065796 128.05178725080117 L371.68427700780865 126.55259224551611 L373.0736752126701 125.15389448079992 L375.11690742798294 121.67080421296288 L375.6890187156939 119.47837263018755 L376.95582164461723 120.78423189207342 L378.18175948156136 121.20158918087799 L378.9581887679508 120.41884581444344 L380.55191243270895 117.01657760706945 L381.49179462579764 117.85562872643862 L384.96529013795134 113.96631710461736 L385.3739410577449 111.1140038151442 Z\" fill=\"rgb(64,70,136)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M96.74693758046192 11.486380343019164 L96.74693758046192 11.486380343019164 L96.58347721254438 40.92833238916535 L97.56423195883053 42.819576043766915 L97.60508958959167 44.70480318997721 L82.15825642941627 44.64597968575566 L81.1366365911507 45.35146718096553 L78.15352218274927 45.58644743110199 L74.88435213049229 46.52543145175923 L73.04543791385811 47.58002484100575 L70.83875279184576 47.87264000906015 L69.85799804555984 47.34582941223425 L65.7715336149339 48.86645048747715 L65.52634306305788 48.165111906276536 L63.15619757312845 47.58002484100575 L61.11296535781548 47.75561114594194 L57.84378784434057 49.45027012519449 L54.002513965590765 48.28206059570334 L53.63473559899478 45.05762202930197 L52.94003649656395 43.76293818492195 L51.3463128318059 42.642526382247866 L49.46654098441047 43.055560009003216 L48.158872963507406 41.81560486856063 L46.810339850625496 41.40170502033709 L45.70698982840122 42.05198912571393 L44.27672653156037 41.105895607623665 L44.56278217541592 39.624579021649936 L45.543529460483796 38.852827050070346 L44.03154344090251 36.591106818227786 L43.00992360263706 30.65740638028268 L42.396954684164825 29.873733154525667 L41.5796603057961 25.63564659703553 L40.10853191697595 23.992625224495896 L39.49556299850394 20.692439565827215 L40.31285737687267 18.481725127394725 L44.88969545003238 20.937551385917573 L46.97379275732476 20.876283247836398 L49.0578900646168 21.427449989355637 L51.01939209597094 20.876283247836398 L51.95928175027791 21.85577841952454 L53.71645832173522 21.79460819565753 L54.94240361989739 24.23633462037543 L55.841420721006784 24.053562235352274 L56.536119823437616 30.295848202661773 L57.27168401784763 29.994368734213083 L56.536119823437616 27.455764172390616 L56.74044528333434 24.966834259183315 L57.966383120278465 22.406006465858866 L56.98563583521047 21.36623412626915 L56.903905651251875 19.526736489013103 L56.168341456841745 17.49643815049069 L56.536119823437616 16.015317808779287 L56.04574618090362 14.282449311318942 L54.86067343593879 14.034463642597132 L53.757323413714744 12.730782644464739 L54.043379057570064 11.486380343019164 L96.74693758046192 11.486380343019164 ZM54.3294347014255 19.28102043009011 L54.3294347014255 19.28102043009011 L55.310181986493376 18.789282878935296 L55.14672161857618 21.06006803994069 L53.961648873611466 20.20190143858565 L54.3294347014255 19.28102043009011 ZM52.04101193423662 16.20065987537805 L52.04101193423662 16.20065987537805 L52.85830631260535 14.716164160795074 L53.961648873611466 16.50944826536005 L53.63473559899478 18.050877412073646 L51.91841665829838 17.619693388867233 L52.04101193423662 16.20065987537805 Z\" fill=\"rgb(66,63,133)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M369.1915362419411 99.68916995327504 L369.1915362419411 99.68916995327504 L369.1915362419411 108.62155717158419 L376.95582164461723 108.62155717158419 L376.8740914606585 113.59724804813948 L378.34521984947867 112.70010736183565 L379.81634823829893 111.06106865293225 L380.7970955233668 111.37861716040379 L382.26822391218707 109.94847558248568 L384.47491649541735 110.63744691728971 L384.76096467805473 109.57720749075833 L385.9869099762169 109.6302597607231 L386.6816090786476 108.88715514160617 L387.94841200757116 109.78939138754646 L389.2152149364945 109.78939138754646 L390.0733744068426 112.48884948123407 L389.2560800284739 114.33517540347225 L385.3739410577449 111.1140038151442 L384.96529013795134 113.96631710461736 L381.49179462579764 117.85562872643862 L380.55191243270895 117.01657760706945 L378.9581887679508 120.41884581444344 L378.18175948156136 121.20158918087799 L376.95582164461723 120.78423189207342 L375.6890187156939 119.47837263018755 L375.11690742798294 121.67080421296288 L373.0736752126701 125.15389448079992 L371.68427700780865 126.55259224551611 L370.86699009065796 128.05178725080117 L370.82612499867867 129.7538593653864 L369.5184569777757 130.57762214851874 L369.2324013339204 130.01138252178544 L365.8406360057254 131.81145642764756 L363.91999906635067 132.32492539790746 L362.898379228085 131.34902406355184 L361.46811593124426 132.58151061010608 L360.52823373815556 132.63281835065857 L359.26143080923214 131.86282013449159 L358.2398109709666 130.26882071179955 L358.3624062469046 129.49623230622274 L357.38165150061866 129.34161065720548 L355.9513882037777 128.25832177652956 L355.5836098371817 127.17334335369793 L354.3985370922169 125.7758841644951 L353.49951252988944 123.96017871798051 L353.7038379897863 121.09727360015017 L355.6653400211404 120.88859496436538 L355.9513882037777 119.63519978733405 L356.85041276610514 119.11228066154075 L356.48263439950927 117.64596984701456 L357.8720326043707 115.33536786697817 L358.9753751653768 116.80666057785413 L359.75180445176613 115.91375922530062 L359.5474789918695 114.80913922804052 L360.48736864617626 112.9640988099236 L361.3455281165244 113.01688471632042 L362.2036801256543 111.64311684331722 L363.020974504023 112.27751577638861 L363.96086415832997 111.85464952995653 L366.86225584399097 108.72780901102874 L367.5569549464217 105.15916957419978 L368.5785673234691 102.80511123070318 L368.6194324154484 101.3027049525245 L368.0881936809351 100.22745183916317 L369.1915362419411 99.68916995327504 Z\" fill=\"rgb(71,13,96)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M295.3491208468221 38.49628754989436 L295.3491208468221 38.49628754989436 L296.73851905168374 39.14977851780105 L297.55581343005247 40.987526056939146 L305.23836118755185 43.17351677231659 L308.4258085170683 44.76362087300288 L309.40655580213627 44.41062742310521 L312.5940031316527 45.46896890459681 L313.45215514078257 46.81856410906005 L315.00501371356154 48.10662897856008 L314.92328352960294 49.97523117165258 L314.2285844271721 51.43102835138245 L315.9857684598477 51.6636320586004 L315.29106935741686 53.17334610394772 L316.4352770104024 54.27421551875352 L316.1492288277651 55.546404870041385 L314.71896553092415 55.77742656202071 L313.0435116822073 59.86344055728449 L313.9016711525554 60.150148037754036 L315.04587880554095 59.05991148373516 L316.27181664248496 56.988835684671415 L317.8246752152638 56.181491882154376 L319.05061305220795 53.521209609070695 L320.6034716249867 52.94133606594562 L320.4808763490487 54.332100955294095 L319.4183988800221 55.60416856475689 L317.3343015727298 59.97813345536326 L316.7621977462371 62.3819154985448 L316.8030628382164 64.09313084608863 L316.0266335518271 64.66248341672843 L315.3319344493964 66.99130166707613 L315.577117540054 68.97238791237453 L314.02426642849343 73.47694423215444 L314.2285844271721 75.99652956417998 L315.12760898949966 78.22767590437815 L314.8415533456441 81.17182939748886 L293.6736669981053 81.00554339171435 L293.1424282635919 79.72924917901616 L290.48622712980705 78.56167049185308 L289.6689327514382 74.65401352135831 L290.56795731376576 73.42083743563256 L289.4646072915415 72.41006104203427 L288.9742336490076 69.70660401546775 L289.1785591089043 68.06753747919544 L287.74829581206336 65.79958757334111 L286.56322306709865 65.40184337208655 L284.4382606678272 63.6372785731989 L284.07047484001293 62.267662893060276 L281.7820595340422 61.123971409563694 L281.0056302476529 59.97813345536326 L279.45277167487393 59.80608077378179 L277.4912696435197 57.91018939948788 L278.0225083780331 54.04262880955656 L277.85904801011566 52.24473724389799 L278.7172074804638 50.61621584342737 L277.7773252873751 49.27518081533094 L276.91916581702696 49.15843681502571 L277.0417610929652 47.63855934623081 L278.7580725724431 45.35146718096553 L280.8830349717148 44.46947422901496 L281.33254352226925 43.82184920915034 L281.33254352226925 37.42538196573025 L282.84453700306904 36.531469578387146 L283.4166408295615 37.008397957934505 L285.0920946782785 37.12756955632051 L292.20253860928506 34.26078028600239 L292.85638008095475 35.03858619018001 L291.8347602426892 36.47182627824992 L294.28663591657744 38.31794765235304 L295.3491208468221 38.49628754989436 Z\" fill=\"rgb(70,48,126)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" <g>\n",
" <path d=\"M156.0824020084939 55.25750360808121 L156.0824020084939 55.25750360808121 L193.55528098655634 55.31529490420047 L193.59614607853575 96.07119910185037 L141.4119981347078 96.12534683889083 L141.37113304272862 55.25750360808121 L156.0824020084939 55.25750360808121 Z\" fill=\"rgb(68,1,84)\" stroke-width=\"0.22000000000000003\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\" fill-opacity=\"0.5019607843137255\">\n",
" </path>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <defs>\n",
" <clipPath id=\"cwTxx5y\">\n",
" <rect x=\"0.0\" y=\"0.0\" width=\"484.9791817888703\" height=\"239.31579493471133\">\n",
" </rect>\n",
" </clipPath>\n",
" </defs>\n",
" </g>\n",
" <g>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(497.9791817888703 121.25 ) \">\n",
" <rect x=\"5.0\" y=\"5.0\" height=\"147.5\" width=\"92.02081821112974\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" stroke-width=\"0.0\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <g transform=\"translate(10.0 10.0 ) \">\n",
" <g transform=\"translate(0.0 12.0 ) \">\n",
" <text class=\"legend-title\" y=\"0.0\">\n",
" <tspan>population</tspan>\n",
" </text>\n",
" </g>\n",
" <g transform=\"translate(0.0 22.5 ) \">\n",
" <g>\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"115.0\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(238,229,28)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"7.55\" height=\"107.45\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(205,225,29)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"13.1\" height=\"101.9\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(170,220,50)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"18.65\" height=\"96.35\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(138,213,71)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"24.2\" height=\"90.8\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(107,205,90)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"29.75\" height=\"85.25\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(80,196,106)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"35.3\" height=\"79.7\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(56,185,119)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"40.849999999999994\" height=\"74.15\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(39,173,129)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"46.39999999999999\" height=\"68.60000000000001\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(31,162,135)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"51.94999999999999\" height=\"63.05000000000001\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(31,150,139)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"57.499999999999986\" height=\"57.500000000000014\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(35,138,141)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"63.04999999999998\" height=\"51.95000000000002\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(39,126,142)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"68.59999999999998\" height=\"46.40000000000002\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(44,114,142)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"74.14999999999998\" height=\"40.85000000000002\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(49,102,142)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"79.69999999999997\" height=\"35.300000000000026\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(56,89,140)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"85.24999999999997\" height=\"29.75000000000003\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(62,75,137)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"90.79999999999997\" height=\"24.20000000000003\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(67,60,132)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"96.34999999999997\" height=\"18.650000000000034\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(71,45,123)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"101.89999999999996\" height=\"13.100000000000037\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(72,28,110)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"107.44999999999996\" height=\"7.55000000000004\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(70,10,93)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <line x1=\"0.0\" y1=\"86.15367798136062\" x2=\"4.6\" y2=\"86.15367798136062\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"86.15367798136062\" x2=\"23.0\" y2=\"86.15367798136062\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.9903027277341 90.70367798136061 ) \">\n",
" <text class=\"legend-item\" y=\"0.0\">\n",
" <tspan>10M</tspan>\n",
" </text>\n",
" </g>\n",
" <line x1=\"0.0\" y1=\"57.66392151179892\" x2=\"4.6\" y2=\"57.66392151179892\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"57.66392151179892\" x2=\"23.0\" y2=\"57.66392151179892\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.9903027277341 62.213921511798915 ) \">\n",
" <text class=\"legend-item\" y=\"0.0\">\n",
" <tspan>20M</tspan>\n",
" </text>\n",
" </g>\n",
" <line x1=\"0.0\" y1=\"29.17416504223722\" x2=\"4.6\" y2=\"29.17416504223722\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"29.17416504223722\" x2=\"23.0\" y2=\"29.17416504223722\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.9903027277341 33.72416504223722 ) \">\n",
" <text class=\"legend-item\" y=\"0.0\">\n",
" <tspan>30M</tspan>\n",
" </text>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <path fill=\"rgb(0,0,0)\" fill-opacity=\"0.0\" stroke=\"rgb(71,71,71)\" stroke-opacity=\"1.0\" stroke-width=\"0.0\" d=\"M0.0 73.84210253264433 L0.0 326.15789746735567 L600.0 326.15789746735567 L600.0 73.84210253264433 Z\">\n",
" </path>\n",
" </g>\n",
" <g id=\"dNuuk3u\">\n",
" </g>\n",
"</svg>\n",
" <script>document.getElementById(\"e392a335-70c9-4f9f-8abd-0d3cb2c9d7cd\").style.display = \"none\";</script>"
],
"application/plot+json": {
"output_type": "lets_plot_spec",
"output": {
"mapping": {},
"coord": {
"name": "map",
"xlim": [
-130.0,
-65.0
],
"flip": false,
"ylim": [
25.0,
50.0
]
},
"kind": "plot",
"scales": [
{
"aesthetic": "x",
"limits": [
null,
null
]
},
{
"aesthetic": "y",
"limits": [
null,
null
]
},
{
"aesthetic": "fill",
"scale_mapper_kind": "color_cmap",
"end": 1.0,
"begin": 0.0,
"limits": [
null,
null
],
"option": "viridis",
"direction": 1.0
},
{
"aesthetic": "x",
"limits": [
null,
null
]
},
{
"aesthetic": "y",
"limits": [
null,
null
]
}
],
"layers": [
{
"mapping": {
"fill": "population"
},
"stat": "identity",
"size": 0.1,
"color": "#000000",
"sampling": "none",
"alpha": 0.5,
"position": "identity",
"map_data_meta": {
"geodataframe": {
"geometry": "geometry"
}
},
"geom": "polygon",
"map": {
"name": [
"Alabama",
"Alaska",
"Arizona",
"Arkansas",
"California",
"Colorado",
"Connecticut",
"Delaware",
"Florida",
"Georgia",
"Hawaii",
"Idaho",
"Illinois",
"Indiana",
"Iowa",
"Kansas",
"Kentucky",
"Louisiana",
"Maine",
"Maryland",
"Massachusetts",
"Michigan",
"Minnesota",
"Mississippi",
"Missouri",
"Montana",
"Nebraska",
"Nevada",
"New Hampshire",
"New Jersey",
"New Mexico",
"New York",
"North Carolina",
"North Dakota",
"Ohio",
"Oklahoma",
"Oregon",
"Pennsylvania",
"Rhode Island",
"South Carolina",
"South Dakota",
"Tennessee",
"Texas",
"Utah",
"Vermont",
"Virginia",
"Washington",
"West Virginia",
"Wisconsin",
"Wyoming"
],
"population": [
5024279.0,
733391.0,
7151502.0,
3011524.0,
3.9538223E7,
5773714.0,
3605944.0,
989948.0,
2.1538187E7,
1.0711908E7,
1455271.0,
1839106.0,
1.2801989E7,
6785528.0,
3271616.0,
2937880.0,
4505836.0,
4657757.0,
1362359.0,
6177224.0,
7029917.0,
1.0077331E7,
5706494.0,
2961279.0,
6154913.0,
1084225.0,
1961504.0,
3104614.0,
1377529.0,
9288994.0,
2117522.0,
2.0201249E7,
1.0439388E7,
779094.0,
1.1799448E7,
3959353.0,
4237256.0,
1.30027E7,
1097379.0,
5118425.0,
886667.0,
6910840.0,
2.9145505E7,
3205958.0,
643077.0,
8631393.0,
7705281.0,
1793716.0,
5893718.0,
576851.0
],
"geometry": [
"{\"type\":\"Polygon\",\"coordinates\":[[[-87.359296,35.00118],[-85.606675,34.984749],[-85.431413,34.124869],[-85.184951,32.859696],[-85.069935,32.580372],[-84.960397,32.421541],[-85.004212,32.322956],[-84.889196,32.262709],[-85.058981,32.13674],[-85.053504,32.01077],[-85.141136,31.840985],[-85.042551,31.539753],[-85.113751,31.27686],[-85.004212,31.003013],[-85.497137,30.997536],[-87.600282,30.997536],[-87.633143,30.86609],[-87.408589,30.674397],[-87.446927,30.510088],[-87.37025,30.427934],[-87.518128,30.280057],[-87.655051,30.247195],[-87.90699,30.411504],[-87.934375,30.657966],[-88.011052,30.685351],[-88.10416,30.499135],[-88.137022,30.318396],[-88.394438,30.367688],[-88.471115,31.895754],[-88.241084,33.796253],[-88.098683,34.891641],[-88.202745,34.995703],[-87.359296,35.00118]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-131.602021,55.117982],[-131.569159,55.28229],[-131.355558,55.183705],[-131.38842,55.01392],[-131.645836,55.035827],[-131.602021,55.117982]]],[[[-131.832052,55.42469],[-131.645836,55.304197],[-131.749898,55.128935],[-131.832052,55.189182],[-131.832052,55.42469]]],[[[-132.976733,56.437924],[-132.735747,56.459832],[-132.631685,56.421493],[-132.664547,56.273616],[-132.878148,56.240754],[-133.069841,56.333862],[-132.976733,56.437924]]],[[[-133.595627,56.350293],[-133.162949,56.317431],[-133.05341,56.125739],[-132.620732,55.912138],[-132.472854,55.780691],[-132.4619,55.671152],[-132.357838,55.649245],[-132.341408,55.506844],[-132.166146,55.364444],[-132.144238,55.238474],[-132.029222,55.276813],[-131.97993,55.178228],[-131.958022,54.789365],[-132.029222,54.701734],[-132.308546,54.718165],[-132.385223,54.915335],[-132.483808,54.898904],[-132.686455,55.046781],[-132.746701,54.997489],[-132.916486,55.046781],[-132.889102,54.898904],[-132.73027,54.937242],[-132.626209,54.882473],[-132.675501,54.679826],[-132.867194,54.701734],[-133.157472,54.95915],[-133.239626,55.090597],[-133.223195,55.22752],[-133.453227,55.216566],[-133.453227,55.320628],[-133.277964,55.331582],[-133.102702,55.42469],[-133.17938,55.588998],[-133.387503,55.62186],[-133.420365,55.884753],[-133.497042,56.0162],[-133.639442,55.923092],[-133.694212,56.070969],[-133.546335,56.142169],[-133.666827,56.311955],[-133.595627,56.350293]]],[[[-133.738027,55.556137],[-133.546335,55.490413],[-133.414888,55.572568],[-133.283441,55.534229],[-133.420365,55.386352],[-133.633966,55.430167],[-133.738027,55.556137]]],[[[-133.907813,56.930849],[-134.050213,57.029434],[-133.885905,57.095157],[-133.343688,57.002049],[-133.102702,57.007526],[-132.932917,56.82131],[-132.620732,56.667956],[-132.653593,56.55294],[-132.817901,56.492694],[-133.042456,56.520078],[-133.201287,56.448878],[-133.420365,56.492694],[-133.66135,56.448878],[-133.710643,56.684386],[-133.688735,56.837741],[-133.869474,56.843218],[-133.907813,56.930849]]],[[[-134.115936,56.48174],[-134.25286,56.558417],[-134.400737,56.722725],[-134.417168,56.848695],[-134.296675,56.908941],[-134.170706,56.848695],[-134.143321,56.952757],[-133.748981,56.772017],[-133.710643,56.596755],[-133.847566,56.574848],[-133.935197,56.377678],[-133.836612,56.322908],[-133.957105,56.092877],[-134.110459,56.142169],[-134.132367,55.999769],[-134.230952,56.070969],[-134.291198,56.350293],[-134.115936,56.48174]]],[[[-134.636246,56.28457],[-134.669107,56.169554],[-134.806031,56.235277],[-135.178463,56.67891],[-135.413971,56.810356],[-135.331817,56.914418],[-135.424925,57.166357],[-135.687818,57.369004],[-135.419448,57.566174],[-135.298955,57.48402],[-135.063447,57.418296],[-134.849846,57.407343],[-134.844369,57.248511],[-134.636246,56.728202],[-134.636246,56.28457]]],[[[-134.712923,58.223407],[-134.373353,58.14673],[-134.176183,58.157683],[-134.187137,58.081006],[-133.902336,57.807159],[-134.099505,57.850975],[-134.148798,57.757867],[-133.935197,57.615466],[-133.869474,57.363527],[-134.083075,57.297804],[-134.154275,57.210173],[-134.499322,57.029434],[-134.603384,57.034911],[-134.6472,57.226604],[-134.575999,57.341619],[-134.608861,57.511404],[-134.729354,57.719528],[-134.707446,57.829067],[-134.784123,58.097437],[-134.91557,58.212453],[-134.953908,58.409623],[-134.712923,58.223407]]],[[[-135.857603,57.330665],[-135.715203,57.330665],[-135.567326,57.149926],[-135.633049,57.023957],[-135.857603,56.996572],[-135.824742,57.193742],[-135.857603,57.330665]]],[[[-136.279328,58.206976],[-135.978096,58.201499],[-135.780926,58.28913],[-135.496125,58.168637],[-135.64948,58.037191],[-135.59471,57.987898],[-135.45231,58.135776],[-135.107263,58.086483],[-134.91557,57.976944],[-135.025108,57.779775],[-134.937477,57.763344],[-134.822462,57.500451],[-135.085355,57.462112],[-135.572802,57.675713],[-135.556372,57.456635],[-135.709726,57.369004],[-135.890465,57.407343],[-136.000004,57.544266],[-136.208128,57.637374],[-136.366959,57.829067],[-136.569606,57.916698],[-136.558652,58.075529],[-136.421728,58.130299],[-136.377913,58.267222],[-136.279328,58.206976]]],[[[-147.079854,60.200582],[-147.501579,59.948643],[-147.53444,59.850058],[-147.874011,59.784335],[-147.80281,59.937689],[-147.435855,60.09652],[-147.205824,60.271782],[-147.079854,60.200582]]],[[[-147.561825,60.578491],[-147.616594,60.370367],[-147.758995,60.156767],[-147.956165,60.227967],[-147.791856,60.474429],[-147.561825,60.578491]]],[[[-147.786379,70.245291],[-147.682318,70.201475],[-147.162008,70.15766],[-146.888161,70.185044],[-146.510252,70.185044],[-146.099482,70.146706],[-145.858496,70.168614],[-145.622988,70.08646],[-145.195787,69.993352],[-144.620708,69.971444],[-144.461877,70.026213],[-144.078491,70.059075],[-143.914183,70.130275],[-143.497935,70.141229],[-143.503412,70.091936],[-143.25695,70.119321],[-142.747594,70.042644],[-142.402547,69.916674],[-142.079408,69.856428],[-142.008207,69.801659],[-141.712453,69.790705],[-141.433129,69.697597],[-141.378359,69.63735],[-141.208574,69.686643],[-141.00045,69.648304],[-141.00045,60.304644],[-140.53491,60.22249],[-140.474664,60.310121],[-139.987216,60.184151],[-139.696939,60.342983],[-139.088998,60.359413],[-139.198537,60.091043],[-139.045183,59.997935],[-138.700135,59.910304],[-138.623458,59.767904],[-137.604747,59.242118],[-137.445916,58.908024],[-137.265177,59.001132],[-136.827022,59.159963],[-136.580559,59.16544],[-136.465544,59.285933],[-136.476498,59.466672],[-136.301236,59.466672],[-136.25742,59.625503],[-135.945234,59.663842],[-135.479694,59.800766],[-135.025108,59.565257],[-135.068924,59.422857],[-134.959385,59.280456],[-134.701969,59.247595],[-134.378829,59.033994],[-134.400737,58.973748],[-134.25286,58.858732],[-133.842089,58.727285],[-133.173903,58.152206],[-133.075318,57.998852],[-132.867194,57.845498],[-132.560485,57.505928],[-132.253777,57.21565],[-132.368792,57.095157],[-132.05113,57.051341],[-132.127807,56.876079],[-131.870391,56.804879],[-131.837529,56.602232],[-131.580113,56.613186],[-131.087188,56.405062],[-130.78048,56.366724],[-130.621648,56.268139],[-130.468294,56.240754],[-130.424478,56.142169],[-130.101339,56.114785],[-130.002754,55.994292],[-130.150631,55.769737],[-130.128724,55.583521],[-129.986323,55.276813],[-130.095862,55.200136],[-130.336847,54.920812],[-130.687372,54.718165],[-130.785957,54.822227],[-130.917403,54.789365],[-131.010511,54.997489],[-130.983126,55.08512],[-131.092665,55.189182],[-130.862634,55.298721],[-130.928357,55.337059],[-131.158389,55.200136],[-131.284358,55.287767],[-131.426759,55.238474],[-131.843006,55.457552],[-131.700606,55.698537],[-131.963499,55.616383],[-131.974453,55.49589],[-132.182576,55.588998],[-132.226392,55.704014],[-132.083991,55.829984],[-132.127807,55.955953],[-132.324977,55.851892],[-132.522147,56.076446],[-132.642639,56.032631],[-132.719317,56.218847],[-132.527624,56.339339],[-132.341408,56.339339],[-132.396177,56.487217],[-132.297592,56.67891],[-132.450946,56.673433],[-132.768609,56.837741],[-132.993164,57.034911],[-133.51895,57.177311],[-133.507996,57.577128],[-133.677781,57.62642],[-133.639442,57.790728],[-133.814705,57.834544],[-134.072121,58.053622],[-134.143321,58.168637],[-134.586953,58.206976],[-135.074401,58.502731],[-135.282525,59.192825],[-135.38111,59.033994],[-135.337294,58.891593],[-135.140124,58.617746],[-135.189417,58.573931],[-135.05797,58.349376],[-135.085355,58.201499],[-135.277048,58.234361],[-135.430402,58.398669],[-135.633049,58.426053],[-135.91785,58.382238],[-135.912373,58.617746],[-136.087635,58.814916],[-136.246466,58.75467],[-136.876314,58.962794],[-136.931084,58.902547],[-136.586036,58.836824],[-136.317666,58.672516],[-136.213604,58.667039],[-136.180743,58.535592],[-136.043819,58.382238],[-136.388867,58.294607],[-136.591513,58.349376],[-136.59699,58.212453],[-136.859883,58.316515],[-136.947514,58.393192],[-137.111823,58.393192],[-137.566409,58.590362],[-137.900502,58.765624],[-137.933364,58.869686],[-138.11958,59.02304],[-138.634412,59.132579],[-138.919213,59.247595],[-139.417615,59.379041],[-139.746231,59.505011],[-139.718846,59.641934],[-139.625738,59.598119],[-139.5162,59.68575],[-139.625738,59.88292],[-139.488815,59.992458],[-139.554538,60.041751],[-139.801,59.833627],[-140.315833,59.696704],[-140.92925,59.745996],[-141.444083,59.871966],[-141.46599,59.970551],[-141.706976,59.948643],[-141.964392,60.019843],[-142.539471,60.085566],[-142.873564,60.091043],[-143.623905,60.036274],[-143.892275,59.997935],[-144.231845,60.140336],[-144.65357,60.206059],[-144.785016,60.29369],[-144.834309,60.441568],[-145.124586,60.430614],[-145.223171,60.299167],[-145.738004,60.474429],[-145.820158,60.551106],[-146.351421,60.408706],[-146.608837,60.238921],[-146.718376,60.397752],[-146.608837,60.485383],[-146.455483,60.463475],[-145.951604,60.578491],[-146.017328,60.666122],[-146.252836,60.622307],[-146.345944,60.737322],[-146.565022,60.753753],[-146.784099,61.044031],[-146.866253,60.972831],[-147.172962,60.934492],[-147.271547,60.972831],[-147.375609,60.879723],[-147.758995,60.912584],[-147.775426,60.808523],[-148.032842,60.781138],[-148.153334,60.819476],[-148.065703,61.005692],[-148.175242,61.000215],[-148.350504,60.803046],[-148.109519,60.737322],[-148.087611,60.594922],[-147.939734,60.441568],[-148.027365,60.277259],[-148.219058,60.332029],[-148.273827,60.249875],[-148.087611,60.217013],[-147.983549,59.997935],[-148.251919,59.95412],[-148.399797,59.997935],[-148.635305,59.937689],[-148.755798,59.986981],[-149.067984,59.981505],[-149.05703,60.063659],[-149.204907,60.008889],[-149.287061,59.904827],[-149.418508,59.997935],[-149.582816,59.866489],[-149.511616,59.806242],[-149.741647,59.729565],[-149.949771,59.718611],[-150.031925,59.61455],[-150.25648,59.521442],[-150.409834,59.554303],[-150.579619,59.444764],[-150.716543,59.450241],[-151.001343,59.225687],[-151.308052,59.209256],[-151.406637,59.280456],[-151.592853,59.159963],[-151.976239,59.253071],[-151.888608,59.422857],[-151.636669,59.483103],[-151.47236,59.472149],[-151.423068,59.537872],[-151.127313,59.669319],[-151.116359,59.778858],[-151.505222,59.63098],[-151.828361,59.718611],[-151.8667,59.778858],[-151.702392,60.030797],[-151.423068,60.211536],[-151.379252,60.359413],[-151.297098,60.386798],[-151.264237,60.545629],[-151.406637,60.720892],[-151.06159,60.786615],[-150.404357,61.038554],[-150.245526,60.939969],[-150.042879,60.912584],[-149.741647,61.016646],[-150.075741,61.15357],[-150.207187,61.257632],[-150.47008,61.246678],[-150.656296,61.29597],[-150.711066,61.252155],[-151.023251,61.180954],[-151.165652,61.044031],[-151.477837,61.011169],[-151.800977,60.852338],[-151.833838,60.748276],[-152.080301,60.693507],[-152.13507,60.578491],[-152.310332,60.507291],[-152.392486,60.304644],[-152.732057,60.173197],[-152.567748,60.069136],[-152.704672,59.915781],[-153.022334,59.888397],[-153.049719,59.691227],[-153.345474,59.620026],[-153.438582,59.702181],[-153.586459,59.548826],[-153.761721,59.543349],[-153.72886,59.433811],[-154.117723,59.368087],[-154.1944,59.066856],[-153.750768,59.050425],[-153.400243,58.968271],[-153.301658,58.869686],[-153.444059,58.710854],[-153.679567,58.612269],[-153.898645,58.606793],[-153.920553,58.519161],[-154.062953,58.4863],[-153.99723,58.376761],[-154.145107,58.212453],[-154.46277,58.059098],[-154.643509,58.059098],[-154.818771,58.004329],[-154.988556,58.015283],[-155.120003,57.955037],[-155.081664,57.872883],[-155.328126,57.829067],[-155.377419,57.708574],[-155.547204,57.785251],[-155.73342,57.549743],[-156.045606,57.566174],[-156.023698,57.440204],[-156.209914,57.473066],[-156.34136,57.418296],[-156.34136,57.248511],[-156.549484,56.985618],[-156.883577,56.952757],[-157.157424,56.832264],[-157.20124,56.766541],[-157.376502,56.859649],[-157.672257,56.607709],[-157.754411,56.67891],[-157.918719,56.657002],[-157.957058,56.514601],[-158.126843,56.459832],[-158.32949,56.48174],[-158.488321,56.339339],[-158.208997,56.295524],[-158.510229,55.977861],[-159.375585,55.873799],[-159.616571,55.594475],[-159.676817,55.654722],[-159.643955,55.829984],[-159.813741,55.857368],[-160.027341,55.791645],[-160.060203,55.720445],[-160.394296,55.605429],[-160.536697,55.473983],[-160.580512,55.567091],[-160.668143,55.457552],[-160.865313,55.528752],[-161.232268,55.358967],[-161.506115,55.364444],[-161.467776,55.49589],[-161.588269,55.62186],[-161.697808,55.517798],[-161.686854,55.408259],[-162.053809,55.074166],[-162.179779,55.15632],[-162.218117,55.03035],[-162.470057,55.052258],[-162.508395,55.249428],[-162.661749,55.293244],[-162.716519,55.222043],[-162.579595,55.134412],[-162.645319,54.997489],[-162.847965,54.926289],[-163.00132,55.079643],[-163.187536,55.090597],[-163.220397,55.03035],[-163.034181,54.942719],[-163.373752,54.800319],[-163.14372,54.76198],[-163.138243,54.696257],[-163.329936,54.74555],[-163.587352,54.614103],[-164.085754,54.61958],[-164.332216,54.531949],[-164.354124,54.466226],[-164.638925,54.389548],[-164.847049,54.416933],[-164.918249,54.603149],[-164.710125,54.663395],[-164.551294,54.88795],[-164.34317,54.893427],[-163.894061,55.041304],[-163.532583,55.046781],[-163.39566,54.904381],[-163.291598,55.008443],[-163.313505,55.128935],[-163.105382,55.183705],[-162.880827,55.183705],[-162.579595,55.446598],[-162.245502,55.682106],[-161.807347,55.89023],[-161.292514,55.983338],[-161.078914,55.939523],[-160.87079,55.999769],[-160.816021,55.912138],[-160.931036,55.813553],[-160.805067,55.736876],[-160.766728,55.857368],[-160.509312,55.868322],[-160.438112,55.791645],[-160.27928,55.76426],[-160.273803,55.857368],[-160.536697,55.939523],[-160.558604,55.994292],[-160.383342,56.251708],[-160.147834,56.399586],[-159.830171,56.541986],[-159.326293,56.667956],[-158.959338,56.848695],[-158.784076,56.782971],[-158.641675,56.810356],[-158.701922,56.925372],[-158.658106,57.034911],[-158.378782,57.264942],[-157.995396,57.41282],[-157.688688,57.609989],[-157.705118,57.719528],[-157.458656,58.497254],[-157.07527,58.705377],[-157.119086,58.869686],[-158.039212,58.634177],[-158.32949,58.661562],[-158.40069,58.760147],[-158.564998,58.803962],[-158.619768,58.913501],[-158.767645,58.864209],[-158.860753,58.694424],[-158.701922,58.480823],[-158.893615,58.387715],[-159.0634,58.420577],[-159.392016,58.760147],[-159.616571,58.929932],[-159.731586,58.929932],[-159.808264,58.803962],[-159.906848,58.782055],[-160.054726,58.886116],[-160.235465,58.902547],[-160.317619,59.072332],[-160.854359,58.88064],[-161.33633,58.743716],[-161.374669,58.667039],[-161.752577,58.552023],[-161.938793,58.656085],[-161.769008,58.776578],[-161.829255,59.061379],[-161.955224,59.36261],[-161.703285,59.48858],[-161.911409,59.740519],[-162.092148,59.88292],[-162.234548,60.091043],[-162.448149,60.178674],[-162.502918,59.997935],[-162.760334,59.959597],[-163.171105,59.844581],[-163.66403,59.795289],[-163.9324,59.806242],[-164.162431,59.866489],[-164.189816,60.02532],[-164.386986,60.074613],[-164.699171,60.29369],[-164.962064,60.337506],[-165.268773,60.578491],[-165.060649,60.68803],[-165.016834,60.890677],[-165.175665,60.846861],[-165.197573,60.972831],[-165.120896,61.076893],[-165.323543,61.170001],[-165.34545,61.071416],[-165.591913,61.109754],[-165.624774,61.279539],[-165.816467,61.301447],[-165.920529,61.416463],[-165.915052,61.558863],[-166.106745,61.49314],[-166.139607,61.630064],[-165.904098,61.662925],[-166.095791,61.81628],[-165.756221,61.827233],[-165.756221,62.013449],[-165.674067,62.139419],[-165.044219,62.539236],[-164.912772,62.659728],[-164.819664,62.637821],[-164.874433,62.807606],[-164.633448,63.097884],[-164.425324,63.212899],[-164.036462,63.262192],[-163.73523,63.212899],[-163.313505,63.037637],[-163.039658,63.059545],[-162.661749,63.22933],[-162.272887,63.486746],[-162.075717,63.514131],[-162.026424,63.448408],[-161.555408,63.448408],[-161.13916,63.503177],[-160.766728,63.771547],[-160.766728,63.837271],[-160.952944,64.08921],[-160.974852,64.237087],[-161.26513,64.395918],[-161.374669,64.532842],[-161.078914,64.494503],[-160.79959,64.609519],[-160.783159,64.719058],[-161.144637,64.921705],[-161.413007,64.762873],[-161.664946,64.790258],[-161.900455,64.702627],[-162.168825,64.680719],[-162.234548,64.620473],[-162.541257,64.532842],[-162.634365,64.384965],[-162.787719,64.324718],[-162.858919,64.49998],[-163.045135,64.538319],[-163.176582,64.401395],[-163.253259,64.467119],[-163.598306,64.565704],[-164.304832,64.560227],[-164.80871,64.450688],[-165.000403,64.434257],[-165.411174,64.49998],[-166.188899,64.576658],[-166.391546,64.636904],[-166.484654,64.735489],[-166.413454,64.872412],[-166.692778,64.987428],[-166.638008,65.113398],[-166.462746,65.179121],[-166.517516,65.337952],[-166.796839,65.337952],[-167.026871,65.381768],[-167.47598,65.414629],[-167.711489,65.496784],[-168.072967,65.578938],[-168.105828,65.682999],[-167.541703,65.819923],[-166.829701,66.049954],[-166.3313,66.186878],[-166.046499,66.110201],[-165.756221,66.09377],[-165.690498,66.203309],[-165.86576,66.21974],[-165.88219,66.312848],[-165.186619,66.466202],[-164.403417,66.581218],[-163.981692,66.592172],[-163.751661,66.553833],[-163.872153,66.389525],[-163.828338,66.274509],[-163.915969,66.192355],[-163.768091,66.060908],[-163.494244,66.082816],[-163.149197,66.060908],[-162.749381,66.088293],[-162.634365,66.039001],[-162.371472,66.028047],[-162.14144,66.077339],[-161.840208,66.02257],[-161.549931,66.241647],[-161.341807,66.252601],[-161.199406,66.208786],[-161.128206,66.334755],[-161.528023,66.395002],[-161.911409,66.345709],[-161.87307,66.510017],[-162.174302,66.68528],[-162.502918,66.740049],[-162.601503,66.89888],[-162.344087,66.937219],[-162.015471,66.778388],[-162.075717,66.652418],[-161.916886,66.553833],[-161.571838,66.438817],[-161.489684,66.55931],[-161.884024,66.718141],[-161.714239,67.002942],[-161.851162,67.052235],[-162.240025,66.991988],[-162.639842,67.008419],[-162.700088,67.057712],[-162.902735,67.008419],[-163.740707,67.128912],[-163.757138,67.254881],[-164.009077,67.534205],[-164.211724,67.638267],[-164.534863,67.725898],[-165.192096,67.966884],[-165.493328,68.059992],[-165.794559,68.081899],[-166.243668,68.246208],[-166.681824,68.339316],[-166.703731,68.372177],[-166.375115,68.42147],[-166.227238,68.574824],[-166.216284,68.881533],[-165.329019,68.859625],[-164.255539,68.930825],[-163.976215,68.985595],[-163.532583,69.138949],[-163.110859,69.374457],[-163.023228,69.609966],[-162.842489,69.812613],[-162.470057,69.982398],[-162.311225,70.108367],[-161.851162,70.311014],[-161.779962,70.256245],[-161.396576,70.239814],[-160.837928,70.343876],[-160.487404,70.453415],[-159.649432,70.792985],[-159.33177,70.809416],[-159.298908,70.760123],[-158.975769,70.798462],[-158.658106,70.787508],[-158.033735,70.831323],[-157.420318,70.979201],[-156.812377,71.285909],[-156.565915,71.351633],[-156.522099,71.296863],[-155.585543,71.170894],[-155.508865,71.083263],[-155.832005,70.968247],[-155.979882,70.96277],[-155.974405,70.809416],[-155.503388,70.858708],[-155.476004,70.940862],[-155.262403,71.017539],[-155.191203,70.973724],[-155.032372,71.148986],[-154.566832,70.990155],[-154.643509,70.869662],[-154.353231,70.8368],[-154.183446,70.7656],[-153.931507,70.880616],[-153.487874,70.886093],[-153.235935,70.924431],[-152.589656,70.886093],[-152.26104,70.842277],[-152.419871,70.606769],[-151.817408,70.546523],[-151.773592,70.486276],[-151.187559,70.382214],[-151.182082,70.431507],[-150.760358,70.49723],[-150.355064,70.491753],[-150.349588,70.436984],[-150.114079,70.431507],[-149.867617,70.508184],[-149.462323,70.519138],[-149.177522,70.486276],[-148.78866,70.404122],[-148.607921,70.420553],[-148.350504,70.305537],[-148.202627,70.349353],[-147.961642,70.316491],[-147.786379,70.245291]]],[[[-152.94018,58.026237],[-152.945657,57.982421],[-153.290705,58.048145],[-153.044242,58.305561],[-152.819688,58.327469],[-152.666333,58.562977],[-152.496548,58.354853],[-152.354148,58.426053],[-152.080301,58.311038],[-152.080301,58.152206],[-152.480117,58.130299],[-152.655379,58.059098],[-152.94018,58.026237]]],[[[-153.958891,57.538789],[-153.67409,57.670236],[-153.931507,57.69762],[-153.936983,57.812636],[-153.723383,57.889313],[-153.570028,57.834544],[-153.548121,57.719528],[-153.46049,57.796205],[-153.455013,57.96599],[-153.268797,57.889313],[-153.235935,57.998852],[-153.071627,57.933129],[-152.874457,57.933129],[-152.721103,57.993375],[-152.469163,57.889313],[-152.469163,57.599035],[-152.151501,57.620943],[-152.359625,57.42925],[-152.74301,57.505928],[-152.60061,57.379958],[-152.710149,57.275896],[-152.907319,57.325188],[-152.912796,57.128019],[-153.214027,57.073249],[-153.312612,56.991095],[-153.498828,57.067772],[-153.695998,56.859649],[-153.849352,56.837741],[-154.013661,56.744633],[-154.073907,56.969187],[-154.303938,56.848695],[-154.314892,56.919895],[-154.523016,56.991095],[-154.539447,57.193742],[-154.742094,57.275896],[-154.627078,57.511404],[-154.227261,57.659282],[-153.980799,57.648328],[-153.958891,57.538789]]],[[[-154.53397,56.602232],[-154.742094,56.399586],[-154.807817,56.432447],[-154.53397,56.602232]]],[[[-155.634835,55.923092],[-155.476004,55.912138],[-155.530773,55.704014],[-155.793666,55.731399],[-155.837482,55.802599],[-155.634835,55.923092]]],[[[-159.890418,55.28229],[-159.950664,55.068689],[-160.257373,54.893427],[-160.109495,55.161797],[-160.005433,55.134412],[-159.890418,55.28229]]],[[[-160.520266,55.358967],[-160.33405,55.358967],[-160.339527,55.249428],[-160.525743,55.128935],[-160.690051,55.211089],[-160.794113,55.134412],[-160.854359,55.320628],[-160.79959,55.380875],[-160.520266,55.358967]]],[[[-162.256456,54.981058],[-162.234548,54.893427],[-162.349564,54.838658],[-162.437195,54.931766],[-162.256456,54.981058]]],[[[-162.415287,63.634624],[-162.563165,63.536039],[-162.612457,63.62367],[-162.415287,63.634624]]],[[[-162.80415,54.488133],[-162.590549,54.449795],[-162.612457,54.367641],[-162.782242,54.373118],[-162.80415,54.488133]]],[[[-165.548097,54.29644],[-165.476897,54.181425],[-165.630251,54.132132],[-165.685021,54.252625],[-165.548097,54.29644]]],[[[-165.73979,54.15404],[-166.046499,54.044501],[-166.112222,54.121178],[-165.980775,54.219763],[-165.73979,54.15404]]],[[[-166.364161,60.359413],[-166.13413,60.397752],[-166.084837,60.326552],[-165.88219,60.342983],[-165.685021,60.277259],[-165.646682,59.992458],[-165.750744,59.89935],[-166.00816,59.844581],[-166.062929,59.745996],[-166.440838,59.855535],[-166.6161,59.850058],[-166.994009,59.992458],[-167.125456,59.992458],[-167.344534,60.074613],[-167.421211,60.206059],[-167.311672,60.238921],[-166.93924,60.206059],[-166.763978,60.310121],[-166.577762,60.321075],[-166.495608,60.392275],[-166.364161,60.359413]]],[[[-166.375115,54.01164],[-166.210807,53.934962],[-166.5449,53.748746],[-166.539423,53.715885],[-166.117699,53.852808],[-166.112222,53.776131],[-166.282007,53.683023],[-166.555854,53.622777],[-166.583239,53.529669],[-166.878994,53.431084],[-167.13641,53.425607],[-167.306195,53.332499],[-167.623857,53.250345],[-167.793643,53.337976],[-167.459549,53.442038],[-167.355487,53.425607],[-167.103548,53.513238],[-167.163794,53.611823],[-167.021394,53.715885],[-166.807793,53.666592],[-166.785886,53.732316],[-167.015917,53.754223],[-167.141887,53.825424],[-167.032348,53.945916],[-166.643485,54.017116],[-166.561331,53.880193],[-166.375115,54.01164]]],[[[-168.790446,53.157237],[-168.40706,53.34893],[-168.385152,53.431084],[-168.237275,53.524192],[-168.007243,53.568007],[-167.886751,53.518715],[-167.842935,53.387268],[-168.270136,53.244868],[-168.500168,53.036744],[-168.686384,52.965544],[-168.790446,53.157237]]],[[[-169.74891,52.894344],[-169.705095,52.795759],[-169.962511,52.790282],[-169.989896,52.856005],[-169.74891,52.894344]]],[[[-170.148727,57.221127],[-170.28565,57.128019],[-170.313035,57.221127],[-170.148727,57.221127]]],[[[-170.669036,52.697174],[-170.603313,52.604066],[-170.789529,52.538343],[-170.816914,52.636928],[-170.669036,52.697174]]],[[[-171.742517,63.716778],[-170.94836,63.5689],[-170.488297,63.69487],[-170.280174,63.683916],[-170.093958,63.612716],[-170.044665,63.492223],[-169.644848,63.4265],[-169.518879,63.366254],[-168.99857,63.338869],[-168.686384,63.295053],[-168.856169,63.147176],[-169.108108,63.180038],[-169.376478,63.152653],[-169.513402,63.08693],[-169.639372,62.939052],[-169.831064,63.075976],[-170.055619,63.169084],[-170.263743,63.180038],[-170.362328,63.2841],[-170.866206,63.415546],[-171.101715,63.421023],[-171.463193,63.306007],[-171.73704,63.366254],[-171.852055,63.486746],[-171.742517,63.716778]]],[[[-172.432611,52.390465],[-172.41618,52.275449],[-172.607873,52.253542],[-172.569535,52.352127],[-172.432611,52.390465]]],[[[-173.626584,52.14948],[-173.495138,52.105664],[-173.122706,52.111141],[-173.106275,52.07828],[-173.549907,52.028987],[-173.626584,52.14948]]],[[[-174.322156,52.280926],[-174.327632,52.379511],[-174.185232,52.41785],[-173.982585,52.319265],[-174.059262,52.226157],[-174.179755,52.231634],[-174.141417,52.127572],[-174.333109,52.116618],[-174.738403,52.007079],[-174.968435,52.039941],[-174.902711,52.116618],[-174.656249,52.105664],[-174.322156,52.280926]]],[[[-176.469116,51.853725],[-176.288377,51.870156],[-176.288377,51.744186],[-176.518409,51.760617],[-176.80321,51.61274],[-176.912748,51.80991],[-176.792256,51.815386],[-176.775825,51.963264],[-176.627947,51.968741],[-176.627947,51.859202],[-176.469116,51.853725]]],[[[-177.153734,51.946833],[-177.044195,51.897541],[-177.120872,51.727755],[-177.274226,51.678463],[-177.279703,51.782525],[-177.153734,51.946833]]],[[[-178.123152,51.919448],[-177.953367,51.913971],[-177.800013,51.793479],[-177.964321,51.651078],[-178.123152,51.919448]]],[[[-186.892443,52.992929],[-186.706227,52.927205],[-186.695274,52.823143],[-187.09509,52.762897],[-187.357983,52.927205],[-187.357983,53.003883],[-186.892443,52.992929]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-109.042503,37.000263],[-109.04798,31.331629],[-111.074448,31.331629],[-112.246513,31.704061],[-114.815198,32.492741],[-114.72209,32.717295],[-114.524921,32.755634],[-114.470151,32.843265],[-114.524921,33.029481],[-114.661844,33.034958],[-114.727567,33.40739],[-114.524921,33.54979],[-114.497536,33.697668],[-114.535874,33.933176],[-114.415382,34.108438],[-114.256551,34.174162],[-114.136058,34.305608],[-114.333228,34.448009],[-114.470151,34.710902],[-114.634459,34.87521],[-114.634459,35.00118],[-114.574213,35.138103],[-114.596121,35.324319],[-114.678275,35.516012],[-114.738521,36.102045],[-114.371566,36.140383],[-114.251074,36.01989],[-114.152489,36.025367],[-114.048427,36.195153],[-114.048427,37.000263],[-110.499369,37.00574],[-109.042503,37.000263]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-94.473842,36.501861],[-90.152536,36.496384],[-90.064905,36.304691],[-90.218259,36.184199],[-90.377091,35.997983],[-89.730812,35.997983],[-89.763673,35.811767],[-89.911551,35.756997],[-89.944412,35.603643],[-90.130628,35.439335],[-90.114197,35.198349],[-90.212782,35.023087],[-90.311367,34.995703],[-90.251121,34.908072],[-90.409952,34.831394],[-90.481152,34.661609],[-90.585214,34.617794],[-90.568783,34.420624],[-90.749522,34.365854],[-90.744046,34.300131],[-90.952169,34.135823],[-90.891923,34.026284],[-91.072662,33.867453],[-91.231493,33.560744],[-91.056231,33.429298],[-91.143862,33.347144],[-91.089093,33.13902],[-91.16577,33.002096],[-93.608485,33.018527],[-94.041164,33.018527],[-94.041164,33.54979],[-94.183564,33.593606],[-94.380734,33.544313],[-94.484796,33.637421],[-94.430026,35.395519],[-94.616242,36.501861],[-94.473842,36.501861]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-123.233256,42.006186],[-122.378853,42.011663],[-121.037003,41.995232],[-120.001861,41.995232],[-119.996384,40.264519],[-120.001861,38.999346],[-118.71478,38.101128],[-117.498899,37.21934],[-116.540435,36.501861],[-115.85034,35.970598],[-114.634459,35.00118],[-114.634459,34.87521],[-114.470151,34.710902],[-114.333228,34.448009],[-114.136058,34.305608],[-114.256551,34.174162],[-114.415382,34.108438],[-114.535874,33.933176],[-114.497536,33.697668],[-114.524921,33.54979],[-114.727567,33.40739],[-114.661844,33.034958],[-114.524921,33.029481],[-114.470151,32.843265],[-114.524921,32.755634],[-114.72209,32.717295],[-116.04751,32.624187],[-117.126467,32.536556],[-117.24696,32.668003],[-117.252437,32.876127],[-117.329114,33.122589],[-117.471515,33.297851],[-117.7837,33.538836],[-118.183517,33.763391],[-118.260194,33.703145],[-118.413548,33.741483],[-118.391641,33.840068],[-118.566903,34.042715],[-118.802411,33.998899],[-119.218659,34.146777],[-119.278905,34.26727],[-119.558229,34.415147],[-119.875891,34.40967],[-120.138784,34.475393],[-120.472878,34.448009],[-120.64814,34.579455],[-120.609801,34.858779],[-120.670048,34.902595],[-120.631709,35.099764],[-120.894602,35.247642],[-120.905556,35.450289],[-121.004141,35.461243],[-121.168449,35.636505],[-121.283465,35.674843],[-121.332757,35.784382],[-121.716143,36.195153],[-121.896882,36.315645],[-121.935221,36.638785],[-121.858544,36.6114],[-121.787344,36.803093],[-121.929744,36.978355],[-122.105006,36.956447],[-122.335038,37.115279],[-122.417192,37.241248],[-122.400761,37.361741],[-122.515777,37.520572],[-122.515777,37.783465],[-122.329561,37.783465],[-122.406238,38.15042],[-122.488392,38.112082],[-122.504823,37.931343],[-122.701993,37.893004],[-122.937501,38.029928],[-122.97584,38.265436],[-123.129194,38.451652],[-123.331841,38.566668],[-123.44138,38.698114],[-123.737134,38.95553],[-123.687842,39.032208],[-123.824765,39.366301],[-123.764519,39.552517],[-123.85215,39.831841],[-124.109566,40.105688],[-124.361506,40.259042],[-124.410798,40.439781],[-124.158859,40.877937],[-124.109566,41.025814],[-124.158859,41.14083],[-124.065751,41.442061],[-124.147905,41.715908],[-124.257444,41.781632],[-124.213628,42.000709],[-123.233256,42.006186]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-107.919731,41.003906],[-105.728954,40.998429],[-104.053011,41.003906],[-102.053927,41.003906],[-102.053927,40.001626],[-102.042974,36.994786],[-103.001438,37.000263],[-104.337812,36.994786],[-106.868158,36.994786],[-107.421329,37.000263],[-109.042503,37.000263],[-109.042503,38.166851],[-109.058934,38.27639],[-109.053457,39.125316],[-109.04798,40.998429],[-107.919731,41.003906]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-73.053528,42.039048],[-71.799309,42.022617],[-71.799309,42.006186],[-71.799309,41.414677],[-71.859555,41.321569],[-71.947186,41.338],[-72.385341,41.261322],[-72.905651,41.28323],[-73.130205,41.146307],[-73.371191,41.102491],[-73.655992,40.987475],[-73.727192,41.102491],[-73.48073,41.21203],[-73.55193,41.294184],[-73.486206,42.050002],[-73.053528,42.039048]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-75.414089,39.804456],[-75.507197,39.683964],[-75.611259,39.61824],[-75.589352,39.459409],[-75.441474,39.311532],[-75.403136,39.065069],[-75.189535,38.807653],[-75.09095,38.796699],[-75.047134,38.451652],[-75.693413,38.462606],[-75.786521,39.722302],[-75.616736,39.831841],[-75.414089,39.804456]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-85.497137,30.997536],[-85.004212,31.003013],[-84.867289,30.712735],[-83.498053,30.647012],[-82.216449,30.570335],[-82.167157,30.356734],[-82.046664,30.362211],[-82.002849,30.564858],[-82.041187,30.751074],[-81.948079,30.827751],[-81.718048,30.745597],[-81.444201,30.707258],[-81.383954,30.27458],[-81.257985,29.787132],[-80.967707,29.14633],[-80.524075,28.461713],[-80.589798,28.41242],[-80.56789,28.094758],[-80.381674,27.738757],[-80.091397,27.021277],[-80.03115,26.796723],[-80.036627,26.566691],[-80.146166,25.739673],[-80.239274,25.723243],[-80.337859,25.465826],[-80.304997,25.383672],[-80.49669,25.197456],[-80.573367,25.241272],[-80.759583,25.164595],[-81.077246,25.120779],[-81.170354,25.224841],[-81.126538,25.378195],[-81.351093,25.821827],[-81.526355,25.903982],[-81.679709,25.843735],[-81.800202,26.090198],[-81.833064,26.292844],[-82.041187,26.517399],[-82.09048,26.665276],[-82.057618,26.878877],[-82.172634,26.917216],[-82.145249,26.791246],[-82.249311,26.758384],[-82.566974,27.300601],[-82.692943,27.437525],[-82.391711,27.837342],[-82.588881,27.815434],[-82.720328,27.689464],[-82.851774,27.886634],[-82.676512,28.434328],[-82.643651,28.888914],[-82.764143,28.998453],[-82.802482,29.14633],[-82.994175,29.179192],[-83.218729,29.420177],[-83.399469,29.518762],[-83.410422,29.66664],[-83.536392,29.721409],[-83.640454,29.885717],[-84.02384,30.104795],[-84.357933,30.055502],[-84.341502,29.902148],[-84.451041,29.929533],[-84.867289,29.743317],[-85.310921,29.699501],[-85.299967,29.80904],[-85.404029,29.940487],[-85.924338,30.236241],[-86.29677,30.362211],[-86.630863,30.395073],[-86.910187,30.373165],[-87.518128,30.280057],[-87.37025,30.427934],[-87.446927,30.510088],[-87.408589,30.674397],[-87.633143,30.86609],[-87.600282,30.997536],[-85.497137,30.997536]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-83.109191,35.00118],[-83.322791,34.787579],[-83.339222,34.683517],[-83.005129,34.469916],[-82.901067,34.486347],[-82.747713,34.26727],[-82.714851,34.152254],[-82.55602,33.94413],[-82.325988,33.81816],[-82.194542,33.631944],[-81.926172,33.462159],[-81.937125,33.347144],[-81.761863,33.160928],[-81.493493,33.007573],[-81.42777,32.843265],[-81.416816,32.629664],[-81.279893,32.558464],[-81.121061,32.290094],[-81.115584,32.120309],[-80.885553,32.032678],[-81.132015,31.693108],[-81.175831,31.517845],[-81.279893,31.364491],[-81.290846,31.20566],[-81.400385,31.13446],[-81.444201,30.707258],[-81.718048,30.745597],[-81.948079,30.827751],[-82.041187,30.751074],[-82.002849,30.564858],[-82.046664,30.362211],[-82.167157,30.356734],[-82.216449,30.570335],[-83.498053,30.647012],[-84.867289,30.712735],[-85.004212,31.003013],[-85.113751,31.27686],[-85.042551,31.539753],[-85.141136,31.840985],[-85.053504,32.01077],[-85.058981,32.13674],[-84.889196,32.262709],[-85.004212,32.322956],[-84.960397,32.421541],[-85.069935,32.580372],[-85.184951,32.859696],[-85.431413,34.124869],[-85.606675,34.984749],[-84.319594,34.990226],[-83.618546,34.984749],[-83.109191,35.00118]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-155.634835,18.948267],[-155.881297,19.035898],[-155.919636,19.123529],[-155.886774,19.348084],[-156.062036,19.73147],[-155.925113,19.857439],[-155.826528,20.032702],[-155.897728,20.147717],[-155.87582,20.26821],[-155.596496,20.12581],[-155.284311,20.021748],[-155.092618,19.868393],[-155.092618,19.736947],[-154.807817,19.523346],[-154.983079,19.348084],[-155.295265,19.26593],[-155.514342,19.134483],[-155.634835,18.948267]]],[[[-156.587823,21.029505],[-156.472807,20.892581],[-156.324929,20.952827],[-156.00179,20.793996],[-156.051082,20.651596],[-156.379699,20.580396],[-156.445422,20.60778],[-156.461853,20.783042],[-156.631638,20.821381],[-156.697361,20.919966],[-156.587823,21.029505]]],[[[-156.982162,21.210244],[-157.080747,21.106182],[-157.310779,21.106182],[-157.239579,21.221198],[-156.982162,21.210244]]],[[[-157.951581,21.697691],[-157.842042,21.462183],[-157.896811,21.325259],[-158.110412,21.303352],[-158.252813,21.582676],[-158.126843,21.588153],[-157.951581,21.697691]]],[[[-159.468693,22.228955],[-159.353678,22.218001],[-159.298908,22.113939],[-159.33177,21.966061],[-159.446786,21.872953],[-159.764448,21.987969],[-159.726109,22.152277],[-159.468693,22.228955]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-116.04751,49.000239],[-116.04751,47.976051],[-115.724371,47.696727],[-115.718894,47.42288],[-115.527201,47.302388],[-115.324554,47.258572],[-115.302646,47.187372],[-114.930214,46.919002],[-114.886399,46.809463],[-114.623506,46.705401],[-114.612552,46.639678],[-114.322274,46.645155],[-114.464674,46.272723],[-114.492059,46.037214],[-114.387997,45.88386],[-114.568736,45.774321],[-114.497536,45.670259],[-114.546828,45.560721],[-114.333228,45.456659],[-114.086765,45.593582],[-113.98818,45.703121],[-113.807441,45.604536],[-113.834826,45.522382],[-113.736241,45.330689],[-113.571933,45.128042],[-113.45144,45.056842],[-113.456917,44.865149],[-113.341901,44.782995],[-113.133778,44.772041],[-113.002331,44.448902],[-112.887315,44.394132],[-112.783254,44.48724],[-112.471068,44.481763],[-112.241036,44.569394],[-112.104113,44.520102],[-111.868605,44.563917],[-111.819312,44.509148],[-111.616665,44.547487],[-111.386634,44.75561],[-111.227803,44.580348],[-111.047063,44.476286],[-111.047063,42.000709],[-112.164359,41.995232],[-114.04295,41.995232],[-117.027882,42.000709],[-117.027882,43.830007],[-116.896436,44.158624],[-116.97859,44.240778],[-117.170283,44.257209],[-117.241483,44.394132],[-117.038836,44.750133],[-116.934774,44.782995],[-116.830713,44.930872],[-116.847143,45.02398],[-116.732128,45.144473],[-116.671881,45.319735],[-116.463758,45.61549],[-116.545912,45.752413],[-116.78142,45.823614],[-116.918344,45.993399],[-116.92382,46.168661],[-117.055267,46.343923],[-117.038836,46.426077],[-117.044313,47.762451],[-117.033359,49.000239],[-116.04751,49.000239]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-90.639984,42.510065],[-88.788778,42.493634],[-87.802929,42.493634],[-87.83579,42.301941],[-87.682436,42.077386],[-87.523605,41.710431],[-87.529082,39.34987],[-87.63862,39.169131],[-87.512651,38.95553],[-87.49622,38.780268],[-87.62219,38.637868],[-87.655051,38.506421],[-87.83579,38.292821],[-87.950806,38.27639],[-87.923421,38.15042],[-88.000098,38.101128],[-88.060345,37.865619],[-88.027483,37.799896],[-88.15893,37.657496],[-88.065822,37.482234],[-88.476592,37.389126],[-88.514931,37.285064],[-88.421823,37.153617],[-88.547792,37.071463],[-88.914747,37.224817],[-89.029763,37.213863],[-89.183118,37.038601],[-89.133825,36.983832],[-89.292656,36.994786],[-89.517211,37.279587],[-89.435057,37.34531],[-89.517211,37.537003],[-89.517211,37.690357],[-89.84035,37.903958],[-89.949889,37.88205],[-90.059428,38.013497],[-90.355183,38.216144],[-90.349706,38.374975],[-90.179921,38.632391],[-90.207305,38.725499],[-90.10872,38.845992],[-90.251121,38.917192],[-90.470199,38.961007],[-90.585214,38.867899],[-90.661891,38.928146],[-90.727615,39.256762],[-91.061708,39.470363],[-91.368417,39.727779],[-91.494386,40.034488],[-91.50534,40.237135],[-91.417709,40.379535],[-91.401278,40.560274],[-91.121954,40.669813],[-91.09457,40.823167],[-90.963123,40.921752],[-90.946692,41.097014],[-91.111001,41.239415],[-91.045277,41.414677],[-90.656414,41.463969],[-90.344229,41.589939],[-90.311367,41.743293],[-90.179921,41.809016],[-90.141582,42.000709],[-90.168967,42.126679],[-90.393521,42.225264],[-90.420906,42.329326],[-90.639984,42.510065]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-85.990061,41.759724],[-84.807042,41.759724],[-84.807042,41.694001],[-84.801565,40.500028],[-84.817996,39.103408],[-84.894673,39.059592],[-84.812519,38.785745],[-84.987781,38.780268],[-85.173997,38.68716],[-85.431413,38.730976],[-85.42046,38.533806],[-85.590245,38.451652],[-85.655968,38.325682],[-85.83123,38.27639],[-85.924338,38.024451],[-86.039354,37.958727],[-86.263908,38.051835],[-86.302247,38.166851],[-86.521325,38.040881],[-86.504894,37.931343],[-86.729448,37.893004],[-86.795172,37.991589],[-87.047111,37.893004],[-87.129265,37.788942],[-87.381204,37.93682],[-87.512651,37.903958],[-87.600282,37.975158],[-87.682436,37.903958],[-87.934375,37.893004],[-88.027483,37.799896],[-88.060345,37.865619],[-88.000098,38.101128],[-87.923421,38.15042],[-87.950806,38.27639],[-87.83579,38.292821],[-87.655051,38.506421],[-87.62219,38.637868],[-87.49622,38.780268],[-87.512651,38.95553],[-87.63862,39.169131],[-87.529082,39.34987],[-87.523605,41.710431],[-87.42502,41.644708],[-87.118311,41.644708],[-86.822556,41.759724],[-85.990061,41.759724]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-91.368417,43.501391],[-91.215062,43.501391],[-91.204109,43.353514],[-91.056231,43.254929],[-91.176724,43.134436],[-91.143862,42.909881],[-91.067185,42.75105],[-90.711184,42.636034],[-90.639984,42.510065],[-90.420906,42.329326],[-90.393521,42.225264],[-90.168967,42.126679],[-90.141582,42.000709],[-90.179921,41.809016],[-90.311367,41.743293],[-90.344229,41.589939],[-90.656414,41.463969],[-91.045277,41.414677],[-91.111001,41.239415],[-90.946692,41.097014],[-90.963123,40.921752],[-91.09457,40.823167],[-91.121954,40.669813],[-91.401278,40.560274],[-91.417709,40.379535],[-91.527248,40.412397],[-91.729895,40.615043],[-91.833957,40.609566],[-93.257961,40.582182],[-94.632673,40.571228],[-95.7664,40.587659],[-95.881416,40.719105],[-95.826646,40.976521],[-95.925231,41.201076],[-95.919754,41.453015],[-96.095016,41.540646],[-96.122401,41.67757],[-96.062155,41.798063],[-96.127878,41.973325],[-96.264801,42.039048],[-96.44554,42.488157],[-96.631756,42.707235],[-96.544125,42.855112],[-96.511264,43.052282],[-96.434587,43.123482],[-96.560556,43.222067],[-96.527695,43.397329],[-96.582464,43.479483],[-96.451017,43.501391],[-91.368417,43.501391]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-101.90605,40.001626],[-95.306337,40.001626],[-95.207752,39.908518],[-94.884612,39.831841],[-95.109167,39.541563],[-94.983197,39.442978],[-94.824366,39.20747],[-94.610765,39.158177],[-94.616242,37.000263],[-100.087706,37.000263],[-102.042974,36.994786],[-102.053927,40.001626],[-101.90605,40.001626]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-83.903347,38.769315],[-83.678792,38.632391],[-83.519961,38.703591],[-83.142052,38.626914],[-83.032514,38.725499],[-82.890113,38.758361],[-82.846298,38.588575],[-82.731282,38.561191],[-82.594358,38.424267],[-82.621743,38.123036],[-82.50125,37.931343],[-82.342419,37.783465],[-82.293127,37.668449],[-82.101434,37.553434],[-81.969987,37.537003],[-82.353373,37.268633],[-82.720328,37.120755],[-82.720328,37.044078],[-82.868205,36.978355],[-82.879159,36.890724],[-83.070852,36.852385],[-83.136575,36.742847],[-83.673316,36.600446],[-83.689746,36.584015],[-84.544149,36.594969],[-85.289013,36.627831],[-85.486183,36.616877],[-86.592525,36.655216],[-87.852221,36.633308],[-88.071299,36.677123],[-88.054868,36.496384],[-89.298133,36.507338],[-89.418626,36.496384],[-89.363857,36.622354],[-89.215979,36.578538],[-89.133825,36.983832],[-89.183118,37.038601],[-89.029763,37.213863],[-88.914747,37.224817],[-88.547792,37.071463],[-88.421823,37.153617],[-88.514931,37.285064],[-88.476592,37.389126],[-88.065822,37.482234],[-88.15893,37.657496],[-88.027483,37.799896],[-87.934375,37.893004],[-87.682436,37.903958],[-87.600282,37.975158],[-87.512651,37.903958],[-87.381204,37.93682],[-87.129265,37.788942],[-87.047111,37.893004],[-86.795172,37.991589],[-86.729448,37.893004],[-86.504894,37.931343],[-86.521325,38.040881],[-86.302247,38.166851],[-86.263908,38.051835],[-86.039354,37.958727],[-85.924338,38.024451],[-85.83123,38.27639],[-85.655968,38.325682],[-85.590245,38.451652],[-85.42046,38.533806],[-85.431413,38.730976],[-85.173997,38.68716],[-84.987781,38.780268],[-84.812519,38.785745],[-84.894673,39.059592],[-84.817996,39.103408],[-84.43461,39.103408],[-84.231963,38.895284],[-84.215533,38.807653],[-83.903347,38.769315]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-93.608485,33.018527],[-91.16577,33.002096],[-91.072662,32.887081],[-91.143862,32.843265],[-91.154816,32.640618],[-91.006939,32.514649],[-90.985031,32.218894],[-91.105524,31.988862],[-91.341032,31.846462],[-91.401278,31.621907],[-91.499863,31.643815],[-91.516294,31.27686],[-91.636787,31.265906],[-91.565587,31.068736],[-91.636787,30.997536],[-89.747242,30.997536],[-89.845827,30.66892],[-89.681519,30.449842],[-89.643181,30.285534],[-89.522688,30.181472],[-89.818443,30.044549],[-89.84035,29.945964],[-89.599365,29.88024],[-89.495303,30.039072],[-89.287179,29.88024],[-89.30361,29.754271],[-89.424103,29.699501],[-89.648657,29.748794],[-89.621273,29.655686],[-89.69795,29.513285],[-89.506257,29.387316],[-89.199548,29.348977],[-89.09001,29.2011],[-89.002379,29.179192],[-89.16121,29.009407],[-89.336472,29.042268],[-89.484349,29.217531],[-89.851304,29.310638],[-89.851304,29.480424],[-90.032043,29.425654],[-90.021089,29.283254],[-90.103244,29.151807],[-90.23469,29.129899],[-90.333275,29.277777],[-90.563307,29.283254],[-90.645461,29.129899],[-90.798815,29.086084],[-90.963123,29.179192],[-91.09457,29.190146],[-91.220539,29.436608],[-91.445094,29.546147],[-91.532725,29.529716],[-91.620356,29.73784],[-91.883249,29.710455],[-91.888726,29.836425],[-92.146142,29.715932],[-92.113281,29.622824],[-92.31045,29.535193],[-92.617159,29.579009],[-92.97316,29.715932],[-93.2251,29.776178],[-93.767317,29.726886],[-93.838517,29.688547],[-93.926148,29.787132],[-93.690639,30.143133],[-93.767317,30.334826],[-93.696116,30.438888],[-93.728978,30.575812],[-93.630393,30.679874],[-93.526331,30.93729],[-93.542762,31.15089],[-93.816609,31.556184],[-93.822086,31.775262],[-94.041164,31.994339],[-94.041164,33.018527],[-93.608485,33.018527]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-70.703921,43.057759],[-70.824413,43.128959],[-70.807983,43.227544],[-70.966814,43.34256],[-71.032537,44.657025],[-71.08183,45.303304],[-70.649151,45.440228],[-70.720352,45.511428],[-70.556043,45.664782],[-70.386258,45.735983],[-70.41912,45.796229],[-70.260289,45.889337],[-70.309581,46.064599],[-70.210996,46.327492],[-70.057642,46.415123],[-69.997395,46.694447],[-69.225147,47.461219],[-69.044408,47.428357],[-69.033454,47.242141],[-68.902007,47.176418],[-68.578868,47.285957],[-68.376221,47.285957],[-68.233821,47.357157],[-67.954497,47.198326],[-67.790188,47.066879],[-67.779235,45.944106],[-67.801142,45.675736],[-67.456095,45.604536],[-67.505388,45.48952],[-67.417757,45.379982],[-67.488957,45.281397],[-67.346556,45.128042],[-67.16034,45.160904],[-66.979601,44.804903],[-67.187725,44.646072],[-67.308218,44.706318],[-67.406803,44.596779],[-67.549203,44.624164],[-67.565634,44.531056],[-67.75185,44.54201],[-68.047605,44.328409],[-68.118805,44.476286],[-68.222867,44.48724],[-68.173574,44.328409],[-68.403606,44.251732],[-68.458375,44.377701],[-68.567914,44.311978],[-68.82533,44.311978],[-68.830807,44.459856],[-68.984161,44.426994],[-68.956777,44.322932],[-69.099177,44.103854],[-69.071793,44.043608],[-69.258008,43.923115],[-69.444224,43.966931],[-69.553763,43.840961],[-69.707118,43.82453],[-69.833087,43.720469],[-69.986442,43.742376],[-70.030257,43.851915],[-70.254812,43.676653],[-70.194565,43.567114],[-70.358873,43.528776],[-70.369827,43.435668],[-70.556043,43.320652],[-70.703921,43.057759]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-75.994645,37.95325],[-76.016553,37.95325],[-76.043938,37.95325],[-75.994645,37.95325]]],[[[-79.477979,39.722302],[-75.786521,39.722302],[-75.693413,38.462606],[-75.047134,38.451652],[-75.244304,38.029928],[-75.397659,38.013497],[-75.671506,37.95325],[-75.885106,37.909435],[-75.879629,38.073743],[-75.961783,38.139466],[-75.846768,38.210667],[-76.000122,38.374975],[-76.049415,38.303775],[-76.257538,38.320205],[-76.328738,38.500944],[-76.263015,38.500944],[-76.257538,38.736453],[-76.191815,38.829561],[-76.279446,39.147223],[-76.169907,39.333439],[-76.000122,39.366301],[-75.972737,39.557994],[-76.098707,39.536086],[-76.104184,39.437501],[-76.367077,39.311532],[-76.443754,39.196516],[-76.460185,38.906238],[-76.55877,38.769315],[-76.514954,38.539283],[-76.383508,38.380452],[-76.399939,38.259959],[-76.317785,38.139466],[-76.3616,38.057312],[-76.591632,38.216144],[-76.920248,38.292821],[-77.018833,38.446175],[-77.205049,38.358544],[-77.276249,38.479037],[-77.128372,38.632391],[-77.040741,38.791222],[-76.909294,38.895284],[-77.035264,38.993869],[-77.117418,38.933623],[-77.248864,39.026731],[-77.456988,39.076023],[-77.456988,39.223901],[-77.566527,39.306055],[-77.719881,39.322485],[-77.834897,39.601809],[-78.004682,39.601809],[-78.174467,39.694917],[-78.267575,39.61824],[-78.431884,39.623717],[-78.470222,39.514178],[-78.765977,39.585379],[-78.963147,39.437501],[-79.094593,39.470363],[-79.291763,39.300578],[-79.488933,39.20747],[-79.477979,39.722302]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-70.917521,42.887974],[-70.818936,42.871543],[-70.780598,42.696281],[-70.824413,42.55388],[-70.983245,42.422434],[-70.988722,42.269079],[-70.769644,42.247172],[-70.638197,42.08834],[-70.660105,41.962371],[-70.550566,41.929509],[-70.539613,41.814493],[-70.260289,41.715908],[-69.937149,41.809016],[-70.008349,41.672093],[-70.484843,41.5516],[-70.660105,41.546123],[-70.764167,41.639231],[-70.928475,41.611847],[-70.933952,41.540646],[-71.120168,41.496831],[-71.196845,41.67757],[-71.22423,41.710431],[-71.328292,41.781632],[-71.383061,42.01714],[-71.530939,42.01714],[-71.799309,42.006186],[-71.799309,42.022617],[-73.053528,42.039048],[-73.486206,42.050002],[-73.508114,42.08834],[-73.267129,42.745573],[-72.456542,42.729142],[-71.29543,42.696281],[-71.185891,42.789389],[-70.917521,42.887974]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-83.454238,41.732339],[-84.807042,41.694001],[-84.807042,41.759724],[-85.990061,41.759724],[-86.822556,41.759724],[-86.619909,41.891171],[-86.482986,42.115725],[-86.357016,42.252649],[-86.263908,42.444341],[-86.209139,42.718189],[-86.231047,43.013943],[-86.526801,43.594499],[-86.433693,43.813577],[-86.499417,44.07647],[-86.269385,44.34484],[-86.220093,44.569394],[-86.252954,44.689887],[-86.088646,44.73918],[-86.066738,44.903488],[-85.809322,44.947303],[-85.612152,45.128042],[-85.628583,44.766564],[-85.524521,44.750133],[-85.393075,44.930872],[-85.387598,45.237581],[-85.305444,45.314258],[-85.031597,45.363551],[-85.119228,45.577151],[-84.938489,45.75789],[-84.713934,45.768844],[-84.461995,45.653829],[-84.215533,45.637398],[-84.09504,45.494997],[-83.908824,45.484043],[-83.596638,45.352597],[-83.4871,45.358074],[-83.317314,45.144473],[-83.454238,45.029457],[-83.322791,44.88158],[-83.273499,44.711795],[-83.333745,44.339363],[-83.536392,44.246255],[-83.585684,44.054562],[-83.82667,43.988839],[-83.958116,43.758807],[-83.908824,43.671176],[-83.667839,43.589022],[-83.481623,43.714992],[-83.262545,43.972408],[-82.917498,44.070993],[-82.747713,43.994316],[-82.643651,43.851915],[-82.539589,43.435668],[-82.523158,43.227544],[-82.413619,42.975605],[-82.517681,42.614127],[-82.681989,42.559357],[-82.687466,42.690804],[-82.797005,42.652465],[-82.922975,42.351234],[-83.125621,42.236218],[-83.185868,42.006186],[-83.437807,41.814493],[-83.454238,41.732339]]],[[[-85.508091,45.730506],[-85.49166,45.610013],[-85.623106,45.588105],[-85.568337,45.75789],[-85.508091,45.730506]]],[[[-87.589328,45.095181],[-87.742682,45.199243],[-87.649574,45.341643],[-87.885083,45.363551],[-87.791975,45.500474],[-87.781021,45.675736],[-87.989145,45.796229],[-88.10416,45.922199],[-88.531362,46.020784],[-88.662808,45.987922],[-89.09001,46.135799],[-90.119674,46.338446],[-90.229213,46.508231],[-90.415429,46.568478],[-90.026566,46.672539],[-89.851304,46.793032],[-89.413149,46.842325],[-89.128348,46.990202],[-88.996902,46.995679],[-88.887363,47.099741],[-88.575177,47.247618],[-88.416346,47.373588],[-88.180837,47.455742],[-87.956283,47.384542],[-88.350623,47.077833],[-88.443731,46.973771],[-88.438254,46.787555],[-88.246561,46.929956],[-87.901513,46.908048],[-87.633143,46.809463],[-87.392158,46.535616],[-87.260711,46.486323],[-87.008772,46.530139],[-86.948526,46.469893],[-86.696587,46.437031],[-86.159846,46.667063],[-85.880522,46.68897],[-85.508091,46.678016],[-85.256151,46.754694],[-85.064458,46.760171],[-85.02612,46.480847],[-84.82895,46.442508],[-84.63178,46.486323],[-84.549626,46.4206],[-84.418179,46.502754],[-84.127902,46.530139],[-84.122425,46.179615],[-83.990978,46.031737],[-83.793808,45.993399],[-83.7719,46.091984],[-83.580208,46.091984],[-83.476146,45.987922],[-83.563777,45.911245],[-84.111471,45.976968],[-84.374364,45.933153],[-84.659165,46.053645],[-84.741319,45.944106],[-84.70298,45.850998],[-84.82895,45.872906],[-85.015166,46.00983],[-85.338305,46.091984],[-85.502614,46.097461],[-85.661445,45.966014],[-85.924338,45.933153],[-86.209139,45.960537],[-86.324155,45.905768],[-86.351539,45.796229],[-86.663725,45.703121],[-86.647294,45.834568],[-86.784218,45.861952],[-86.838987,45.725029],[-87.069019,45.719552],[-87.17308,45.659305],[-87.326435,45.423797],[-87.611236,45.122565],[-87.589328,45.095181]]],[[[-88.805209,47.976051],[-89.057148,47.850082],[-89.188594,47.833651],[-89.177641,47.937713],[-88.547792,48.173221],[-88.668285,48.008913],[-88.805209,47.976051]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-92.014696,46.705401],[-92.091373,46.749217],[-92.29402,46.667063],[-92.29402,46.075553],[-92.354266,46.015307],[-92.639067,45.933153],[-92.869098,45.719552],[-92.885529,45.577151],[-92.770513,45.566198],[-92.644544,45.440228],[-92.75956,45.286874],[-92.737652,45.117088],[-92.808852,44.750133],[-92.545959,44.569394],[-92.337835,44.552964],[-92.233773,44.443425],[-91.927065,44.333886],[-91.877772,44.202439],[-91.592971,44.032654],[-91.43414,43.994316],[-91.242447,43.775238],[-91.269832,43.616407],[-91.215062,43.501391],[-91.368417,43.501391],[-96.451017,43.501391],[-96.451017,45.297827],[-96.681049,45.412843],[-96.856311,45.604536],[-96.582464,45.818137],[-96.560556,45.933153],[-96.598895,46.332969],[-96.719387,46.437031],[-96.801542,46.656109],[-96.785111,46.924479],[-96.823449,46.968294],[-96.856311,47.609096],[-97.053481,47.948667],[-97.130158,48.140359],[-97.16302,48.545653],[-97.097296,48.682577],[-97.228743,49.000239],[-95.152983,49.000239],[-95.152983,49.383625],[-94.955813,49.372671],[-94.824366,49.295994],[-94.69292,48.775685],[-94.588858,48.715438],[-94.260241,48.699007],[-94.221903,48.649715],[-93.838517,48.627807],[-93.794701,48.518268],[-93.466085,48.545653],[-93.466085,48.589469],[-93.208669,48.644238],[-92.984114,48.62233],[-92.726698,48.540176],[-92.655498,48.436114],[-92.50762,48.447068],[-92.370697,48.222514],[-92.304974,48.315622],[-92.053034,48.359437],[-92.009219,48.266329],[-91.713464,48.200606],[-91.713464,48.112975],[-91.565587,48.041775],[-91.264355,48.080113],[-91.083616,48.178698],[-90.837154,48.238944],[-90.749522,48.091067],[-90.579737,48.123929],[-90.377091,48.091067],[-90.141582,48.112975],[-89.873212,47.987005],[-89.615796,48.008913],[-89.637704,47.954144],[-89.971797,47.828174],[-90.437337,47.729589],[-90.738569,47.625527],[-91.171247,47.368111],[-91.357463,47.20928],[-91.642264,47.028541],[-92.091373,46.787555],[-92.014696,46.705401]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-88.471115,34.995703],[-88.202745,34.995703],[-88.098683,34.891641],[-88.241084,33.796253],[-88.471115,31.895754],[-88.394438,30.367688],[-88.503977,30.323872],[-88.744962,30.34578],[-88.843547,30.411504],[-89.084533,30.367688],[-89.418626,30.252672],[-89.522688,30.181472],[-89.643181,30.285534],[-89.681519,30.449842],[-89.845827,30.66892],[-89.747242,30.997536],[-91.636787,30.997536],[-91.565587,31.068736],[-91.636787,31.265906],[-91.516294,31.27686],[-91.499863,31.643815],[-91.401278,31.621907],[-91.341032,31.846462],[-91.105524,31.988862],[-90.985031,32.218894],[-91.006939,32.514649],[-91.154816,32.640618],[-91.143862,32.843265],[-91.072662,32.887081],[-91.16577,33.002096],[-91.089093,33.13902],[-91.143862,33.347144],[-91.056231,33.429298],[-91.231493,33.560744],[-91.072662,33.867453],[-90.891923,34.026284],[-90.952169,34.135823],[-90.744046,34.300131],[-90.749522,34.365854],[-90.568783,34.420624],[-90.585214,34.617794],[-90.481152,34.661609],[-90.409952,34.831394],[-90.251121,34.908072],[-90.311367,34.995703],[-88.471115,34.995703]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-91.833957,40.609566],[-91.729895,40.615043],[-91.527248,40.412397],[-91.417709,40.379535],[-91.50534,40.237135],[-91.494386,40.034488],[-91.368417,39.727779],[-91.061708,39.470363],[-90.727615,39.256762],[-90.661891,38.928146],[-90.585214,38.867899],[-90.470199,38.961007],[-90.251121,38.917192],[-90.10872,38.845992],[-90.207305,38.725499],[-90.179921,38.632391],[-90.349706,38.374975],[-90.355183,38.216144],[-90.059428,38.013497],[-89.949889,37.88205],[-89.84035,37.903958],[-89.517211,37.690357],[-89.517211,37.537003],[-89.435057,37.34531],[-89.517211,37.279587],[-89.292656,36.994786],[-89.133825,36.983832],[-89.215979,36.578538],[-89.363857,36.622354],[-89.418626,36.496384],[-89.484349,36.496384],[-89.539119,36.496384],[-89.533642,36.249922],[-89.730812,35.997983],[-90.377091,35.997983],[-90.218259,36.184199],[-90.064905,36.304691],[-90.152536,36.496384],[-94.473842,36.501861],[-94.616242,36.501861],[-94.616242,37.000263],[-94.610765,39.158177],[-94.824366,39.20747],[-94.983197,39.442978],[-95.109167,39.541563],[-94.884612,39.831841],[-95.207752,39.908518],[-95.306337,40.001626],[-95.552799,40.264519],[-95.7664,40.587659],[-94.632673,40.571228],[-93.257961,40.582182],[-91.833957,40.609566]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-104.047534,49.000239],[-104.042057,47.861036],[-104.047534,45.944106],[-104.042057,44.996596],[-104.058488,44.996596],[-105.91517,45.002073],[-109.080842,45.002073],[-111.05254,45.002073],[-111.047063,44.476286],[-111.227803,44.580348],[-111.386634,44.75561],[-111.616665,44.547487],[-111.819312,44.509148],[-111.868605,44.563917],[-112.104113,44.520102],[-112.241036,44.569394],[-112.471068,44.481763],[-112.783254,44.48724],[-112.887315,44.394132],[-113.002331,44.448902],[-113.133778,44.772041],[-113.341901,44.782995],[-113.456917,44.865149],[-113.45144,45.056842],[-113.571933,45.128042],[-113.736241,45.330689],[-113.834826,45.522382],[-113.807441,45.604536],[-113.98818,45.703121],[-114.086765,45.593582],[-114.333228,45.456659],[-114.546828,45.560721],[-114.497536,45.670259],[-114.568736,45.774321],[-114.387997,45.88386],[-114.492059,46.037214],[-114.464674,46.272723],[-114.322274,46.645155],[-114.612552,46.639678],[-114.623506,46.705401],[-114.886399,46.809463],[-114.930214,46.919002],[-115.302646,47.187372],[-115.324554,47.258572],[-115.527201,47.302388],[-115.718894,47.42288],[-115.724371,47.696727],[-116.04751,47.976051],[-116.04751,49.000239],[-111.50165,48.994762],[-109.453274,49.000239],[-104.047534,49.000239]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-103.324578,43.002989],[-101.626726,42.997512],[-98.499393,42.997512],[-98.466531,42.94822],[-97.951699,42.767481],[-97.831206,42.866066],[-97.688806,42.844158],[-97.217789,42.844158],[-96.692003,42.657942],[-96.626279,42.515542],[-96.44554,42.488157],[-96.264801,42.039048],[-96.127878,41.973325],[-96.062155,41.798063],[-96.122401,41.67757],[-96.095016,41.540646],[-95.919754,41.453015],[-95.925231,41.201076],[-95.826646,40.976521],[-95.881416,40.719105],[-95.7664,40.587659],[-95.552799,40.264519],[-95.306337,40.001626],[-101.90605,40.001626],[-102.053927,40.001626],[-102.053927,41.003906],[-104.053011,41.003906],[-104.053011,43.002989],[-103.324578,43.002989]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-117.027882,42.000709],[-114.04295,41.995232],[-114.048427,37.000263],[-114.048427,36.195153],[-114.152489,36.025367],[-114.251074,36.01989],[-114.371566,36.140383],[-114.738521,36.102045],[-114.678275,35.516012],[-114.596121,35.324319],[-114.574213,35.138103],[-114.634459,35.00118],[-115.85034,35.970598],[-116.540435,36.501861],[-117.498899,37.21934],[-118.71478,38.101128],[-120.001861,38.999346],[-119.996384,40.264519],[-120.001861,41.995232],[-118.698349,41.989755],[-117.027882,42.000709]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-71.08183,45.303304],[-71.032537,44.657025],[-70.966814,43.34256],[-70.807983,43.227544],[-70.824413,43.128959],[-70.703921,43.057759],[-70.818936,42.871543],[-70.917521,42.887974],[-71.185891,42.789389],[-71.29543,42.696281],[-72.456542,42.729142],[-72.544173,42.80582],[-72.533219,42.953697],[-72.445588,43.008466],[-72.456542,43.150867],[-72.379864,43.572591],[-72.204602,43.769761],[-72.116971,43.994316],[-72.02934,44.07647],[-72.034817,44.322932],[-71.700724,44.41604],[-71.536416,44.585825],[-71.629524,44.750133],[-71.4926,44.914442],[-71.503554,45.013027],[-71.361154,45.270443],[-71.131122,45.243058],[-71.08183,45.303304]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-74.236547,41.14083],[-73.902454,40.998429],[-74.022947,40.708151],[-74.187255,40.642428],[-74.274886,40.489074],[-74.001039,40.412397],[-73.979131,40.297381],[-74.099624,39.760641],[-74.411809,39.360824],[-74.614456,39.245808],[-74.795195,38.993869],[-74.888303,39.158177],[-75.178581,39.240331],[-75.534582,39.459409],[-75.55649,39.607286],[-75.561967,39.629194],[-75.507197,39.683964],[-75.414089,39.804456],[-75.145719,39.88661],[-75.129289,39.963288],[-74.82258,40.127596],[-74.773287,40.215227],[-75.058088,40.417874],[-75.069042,40.543843],[-75.195012,40.576705],[-75.205966,40.691721],[-75.052611,40.866983],[-75.134765,40.971045],[-74.882826,41.179168],[-74.828057,41.288707],[-74.69661,41.359907],[-74.236547,41.14083]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-107.421329,37.000263],[-106.868158,36.994786],[-104.337812,36.994786],[-103.001438,37.000263],[-103.001438,36.501861],[-103.039777,36.501861],[-103.045254,34.01533],[-103.067161,33.002096],[-103.067161,31.999816],[-106.616219,31.999816],[-106.643603,31.901231],[-106.528588,31.786216],[-108.210008,31.786216],[-108.210008,31.331629],[-109.04798,31.331629],[-109.042503,37.000263],[-107.421329,37.000263]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-73.343806,45.013027],[-73.332852,44.804903],[-73.387622,44.618687],[-73.294514,44.437948],[-73.321898,44.246255],[-73.436914,44.043608],[-73.349283,43.769761],[-73.404052,43.687607],[-73.245221,43.523299],[-73.278083,42.833204],[-73.267129,42.745573],[-73.508114,42.08834],[-73.486206,42.050002],[-73.55193,41.294184],[-73.48073,41.21203],[-73.727192,41.102491],[-73.655992,40.987475],[-73.22879,40.905321],[-73.141159,40.965568],[-72.774204,40.965568],[-72.587988,40.998429],[-72.28128,41.157261],[-72.259372,41.042245],[-72.100541,40.992952],[-72.467496,40.845075],[-73.239744,40.625997],[-73.562884,40.582182],[-73.776484,40.593136],[-73.935316,40.543843],[-74.022947,40.708151],[-73.902454,40.998429],[-74.236547,41.14083],[-74.69661,41.359907],[-74.740426,41.431108],[-74.89378,41.436584],[-75.074519,41.60637],[-75.052611,41.754247],[-75.173104,41.869263],[-75.249781,41.863786],[-75.35932,42.000709],[-79.76278,42.000709],[-79.76278,42.252649],[-79.76278,42.269079],[-79.149363,42.55388],[-79.050778,42.690804],[-78.853608,42.783912],[-78.930285,42.953697],[-79.012439,42.986559],[-79.072686,43.260406],[-78.486653,43.375421],[-77.966344,43.369944],[-77.75822,43.34256],[-77.533665,43.233021],[-77.391265,43.276836],[-76.958587,43.271359],[-76.695693,43.34256],[-76.41637,43.523299],[-76.235631,43.528776],[-76.230154,43.802623],[-76.137046,43.961454],[-76.3616,44.070993],[-76.312308,44.196962],[-75.912491,44.366748],[-75.764614,44.514625],[-75.282643,44.848718],[-74.828057,45.018503],[-74.148916,44.991119],[-73.343806,45.013027]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-80.978661,36.562108],[-80.294043,36.545677],[-79.510841,36.5402],[-75.868676,36.551154],[-75.75366,36.151337],[-76.032984,36.189676],[-76.071322,36.140383],[-76.410893,36.080137],[-76.460185,36.025367],[-76.68474,36.008937],[-76.673786,35.937736],[-76.399939,35.987029],[-76.3616,35.943213],[-76.060368,35.992506],[-75.961783,35.899398],[-75.781044,35.937736],[-75.715321,35.696751],[-75.775568,35.581735],[-75.89606,35.570781],[-76.147999,35.324319],[-76.482093,35.313365],[-76.536862,35.14358],[-76.394462,34.973795],[-76.279446,34.940933],[-76.493047,34.661609],[-76.673786,34.694471],[-76.991448,34.667086],[-77.210526,34.60684],[-77.555573,34.415147],[-77.82942,34.163208],[-77.971821,33.845545],[-78.179944,33.916745],[-78.541422,33.851022],[-79.675149,34.80401],[-80.797922,34.820441],[-80.781491,34.935456],[-80.934845,35.105241],[-81.038907,35.044995],[-81.044384,35.149057],[-82.276696,35.198349],[-82.550543,35.160011],[-82.764143,35.066903],[-83.109191,35.00118],[-83.618546,34.984749],[-84.319594,34.990226],[-84.29221,35.225734],[-84.09504,35.247642],[-84.018363,35.41195],[-83.7719,35.559827],[-83.498053,35.565304],[-83.251591,35.718659],[-82.994175,35.773428],[-82.775097,35.997983],[-82.638174,36.063706],[-82.610789,35.965121],[-82.216449,36.156814],[-82.03571,36.118475],[-81.909741,36.304691],[-81.723525,36.353984],[-81.679709,36.589492],[-80.978661,36.562108]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-97.228743,49.000239],[-97.097296,48.682577],[-97.16302,48.545653],[-97.130158,48.140359],[-97.053481,47.948667],[-96.856311,47.609096],[-96.823449,46.968294],[-96.785111,46.924479],[-96.801542,46.656109],[-96.719387,46.437031],[-96.598895,46.332969],[-96.560556,45.933153],[-104.047534,45.944106],[-104.042057,47.861036],[-104.047534,49.000239],[-97.228743,49.000239]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-80.518598,41.978802],[-80.518598,40.636951],[-80.666475,40.582182],[-80.595275,40.472643],[-80.600752,40.319289],[-80.737675,40.078303],[-80.830783,39.711348],[-81.219646,39.388209],[-81.345616,39.344393],[-81.455155,39.410117],[-81.57017,39.267716],[-81.685186,39.273193],[-81.811156,39.0815],[-81.783771,38.966484],[-81.887833,38.873376],[-82.03571,39.026731],[-82.221926,38.785745],[-82.172634,38.632391],[-82.293127,38.577622],[-82.331465,38.446175],[-82.594358,38.424267],[-82.731282,38.561191],[-82.846298,38.588575],[-82.890113,38.758361],[-83.032514,38.725499],[-83.142052,38.626914],[-83.519961,38.703591],[-83.678792,38.632391],[-83.903347,38.769315],[-84.215533,38.807653],[-84.231963,38.895284],[-84.43461,39.103408],[-84.817996,39.103408],[-84.801565,40.500028],[-84.807042,41.694001],[-83.454238,41.732339],[-83.065375,41.595416],[-82.933929,41.513262],[-82.835344,41.589939],[-82.616266,41.431108],[-82.479343,41.381815],[-82.013803,41.513262],[-81.739956,41.485877],[-81.444201,41.672093],[-81.011523,41.852832],[-80.518598,41.978802],[-80.518598,41.978802]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-100.087706,37.000263],[-94.616242,37.000263],[-94.616242,36.501861],[-94.430026,35.395519],[-94.484796,33.637421],[-94.868182,33.74696],[-94.966767,33.861976],[-95.224183,33.960561],[-95.289906,33.87293],[-95.547322,33.878407],[-95.602092,33.933176],[-95.8376,33.834591],[-95.936185,33.889361],[-96.149786,33.840068],[-96.346956,33.686714],[-96.423633,33.774345],[-96.631756,33.845545],[-96.850834,33.845545],[-96.922034,33.960561],[-97.173974,33.736006],[-97.256128,33.861976],[-97.371143,33.823637],[-97.458774,33.905791],[-97.694283,33.982469],[-97.869545,33.851022],[-97.946222,33.987946],[-98.088623,34.004376],[-98.170777,34.113915],[-98.36247,34.157731],[-98.488439,34.064623],[-98.570593,34.146777],[-98.767763,34.135823],[-98.986841,34.223454],[-99.189488,34.2125],[-99.260688,34.404193],[-99.57835,34.415147],[-99.698843,34.382285],[-99.923398,34.573978],[-100.000075,34.563024],[-100.000075,36.501861],[-101.812942,36.501861],[-103.001438,36.501861],[-103.001438,37.000263],[-102.042974,36.994786],[-100.087706,37.000263]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-123.211348,46.174138],[-123.11824,46.185092],[-122.904639,46.08103],[-122.811531,45.960537],[-122.762239,45.659305],[-122.247407,45.549767],[-121.809251,45.708598],[-121.535404,45.725029],[-121.217742,45.670259],[-121.18488,45.604536],[-120.637186,45.746937],[-120.505739,45.697644],[-120.209985,45.725029],[-119.963522,45.823614],[-119.525367,45.911245],[-119.125551,45.933153],[-118.988627,45.998876],[-116.918344,45.993399],[-116.78142,45.823614],[-116.545912,45.752413],[-116.463758,45.61549],[-116.671881,45.319735],[-116.732128,45.144473],[-116.847143,45.02398],[-116.830713,44.930872],[-116.934774,44.782995],[-117.038836,44.750133],[-117.241483,44.394132],[-117.170283,44.257209],[-116.97859,44.240778],[-116.896436,44.158624],[-117.027882,43.830007],[-117.027882,42.000709],[-118.698349,41.989755],[-120.001861,41.995232],[-121.037003,41.995232],[-122.378853,42.011663],[-123.233256,42.006186],[-124.213628,42.000709],[-124.356029,42.115725],[-124.432706,42.438865],[-124.416275,42.663419],[-124.553198,42.838681],[-124.454613,43.002989],[-124.383413,43.271359],[-124.235536,43.55616],[-124.169813,43.8081],[-124.060274,44.657025],[-124.076705,44.772041],[-123.97812,45.144473],[-123.939781,45.659305],[-123.994551,45.944106],[-123.945258,46.113892],[-123.545441,46.261769],[-123.370179,46.146753],[-123.211348,46.174138]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-79.76278,42.252649],[-79.76278,42.000709],[-75.35932,42.000709],[-75.249781,41.863786],[-75.173104,41.869263],[-75.052611,41.754247],[-75.074519,41.60637],[-74.89378,41.436584],[-74.740426,41.431108],[-74.69661,41.359907],[-74.828057,41.288707],[-74.882826,41.179168],[-75.134765,40.971045],[-75.052611,40.866983],[-75.205966,40.691721],[-75.195012,40.576705],[-75.069042,40.543843],[-75.058088,40.417874],[-74.773287,40.215227],[-74.82258,40.127596],[-75.129289,39.963288],[-75.145719,39.88661],[-75.414089,39.804456],[-75.616736,39.831841],[-75.786521,39.722302],[-79.477979,39.722302],[-80.518598,39.722302],[-80.518598,40.636951],[-80.518598,41.978802],[-80.518598,41.978802],[-80.332382,42.033571],[-79.76278,42.269079],[-79.76278,42.252649]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-71.196845,41.67757],[-71.120168,41.496831],[-71.317338,41.474923],[-71.196845,41.67757]]],[[[-71.530939,42.01714],[-71.383061,42.01714],[-71.328292,41.781632],[-71.22423,41.710431],[-71.344723,41.726862],[-71.448785,41.578985],[-71.481646,41.370861],[-71.859555,41.321569],[-71.799309,41.414677],[-71.799309,42.006186],[-71.530939,42.01714]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-82.764143,35.066903],[-82.550543,35.160011],[-82.276696,35.198349],[-81.044384,35.149057],[-81.038907,35.044995],[-80.934845,35.105241],[-80.781491,34.935456],[-80.797922,34.820441],[-79.675149,34.80401],[-78.541422,33.851022],[-78.716684,33.80173],[-78.935762,33.637421],[-79.149363,33.380005],[-79.187701,33.171881],[-79.357487,33.007573],[-79.582041,33.007573],[-79.631334,32.887081],[-79.866842,32.755634],[-79.998289,32.613234],[-80.206412,32.552987],[-80.430967,32.399633],[-80.452875,32.328433],[-80.660998,32.246279],[-80.885553,32.032678],[-81.115584,32.120309],[-81.121061,32.290094],[-81.279893,32.558464],[-81.416816,32.629664],[-81.42777,32.843265],[-81.493493,33.007573],[-81.761863,33.160928],[-81.937125,33.347144],[-81.926172,33.462159],[-82.194542,33.631944],[-82.325988,33.81816],[-82.55602,33.94413],[-82.714851,34.152254],[-82.747713,34.26727],[-82.901067,34.486347],[-83.005129,34.469916],[-83.339222,34.683517],[-83.322791,34.787579],[-83.109191,35.00118],[-82.764143,35.066903]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-104.047534,45.944106],[-96.560556,45.933153],[-96.582464,45.818137],[-96.856311,45.604536],[-96.681049,45.412843],[-96.451017,45.297827],[-96.451017,43.501391],[-96.582464,43.479483],[-96.527695,43.397329],[-96.560556,43.222067],[-96.434587,43.123482],[-96.511264,43.052282],[-96.544125,42.855112],[-96.631756,42.707235],[-96.44554,42.488157],[-96.626279,42.515542],[-96.692003,42.657942],[-97.217789,42.844158],[-97.688806,42.844158],[-97.831206,42.866066],[-97.951699,42.767481],[-98.466531,42.94822],[-98.499393,42.997512],[-101.626726,42.997512],[-103.324578,43.002989],[-104.053011,43.002989],[-104.058488,44.996596],[-104.042057,44.996596],[-104.047534,45.944106]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-88.054868,36.496384],[-88.071299,36.677123],[-87.852221,36.633308],[-86.592525,36.655216],[-85.486183,36.616877],[-85.289013,36.627831],[-84.544149,36.594969],[-83.689746,36.584015],[-83.673316,36.600446],[-81.679709,36.589492],[-81.723525,36.353984],[-81.909741,36.304691],[-82.03571,36.118475],[-82.216449,36.156814],[-82.610789,35.965121],[-82.638174,36.063706],[-82.775097,35.997983],[-82.994175,35.773428],[-83.251591,35.718659],[-83.498053,35.565304],[-83.7719,35.559827],[-84.018363,35.41195],[-84.09504,35.247642],[-84.29221,35.225734],[-84.319594,34.990226],[-85.606675,34.984749],[-87.359296,35.00118],[-88.202745,34.995703],[-88.471115,34.995703],[-90.311367,34.995703],[-90.212782,35.023087],[-90.114197,35.198349],[-90.130628,35.439335],[-89.944412,35.603643],[-89.911551,35.756997],[-89.763673,35.811767],[-89.730812,35.997983],[-89.533642,36.249922],[-89.539119,36.496384],[-89.484349,36.496384],[-89.418626,36.496384],[-89.298133,36.507338],[-88.054868,36.496384]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-101.812942,36.501861],[-100.000075,36.501861],[-100.000075,34.563024],[-99.923398,34.573978],[-99.698843,34.382285],[-99.57835,34.415147],[-99.260688,34.404193],[-99.189488,34.2125],[-98.986841,34.223454],[-98.767763,34.135823],[-98.570593,34.146777],[-98.488439,34.064623],[-98.36247,34.157731],[-98.170777,34.113915],[-98.088623,34.004376],[-97.946222,33.987946],[-97.869545,33.851022],[-97.694283,33.982469],[-97.458774,33.905791],[-97.371143,33.823637],[-97.256128,33.861976],[-97.173974,33.736006],[-96.922034,33.960561],[-96.850834,33.845545],[-96.631756,33.845545],[-96.423633,33.774345],[-96.346956,33.686714],[-96.149786,33.840068],[-95.936185,33.889361],[-95.8376,33.834591],[-95.602092,33.933176],[-95.547322,33.878407],[-95.289906,33.87293],[-95.224183,33.960561],[-94.966767,33.861976],[-94.868182,33.74696],[-94.484796,33.637421],[-94.380734,33.544313],[-94.183564,33.593606],[-94.041164,33.54979],[-94.041164,33.018527],[-94.041164,31.994339],[-93.822086,31.775262],[-93.816609,31.556184],[-93.542762,31.15089],[-93.526331,30.93729],[-93.630393,30.679874],[-93.728978,30.575812],[-93.696116,30.438888],[-93.767317,30.334826],[-93.690639,30.143133],[-93.926148,29.787132],[-93.838517,29.688547],[-94.002825,29.68307],[-94.523134,29.546147],[-94.70935,29.622824],[-94.742212,29.787132],[-94.873659,29.672117],[-94.966767,29.699501],[-95.016059,29.557101],[-94.911997,29.496854],[-94.895566,29.310638],[-95.081782,29.113469],[-95.383014,28.867006],[-95.985477,28.604113],[-96.045724,28.647929],[-96.226463,28.582205],[-96.23194,28.642452],[-96.478402,28.598636],[-96.593418,28.724606],[-96.664618,28.697221],[-96.401725,28.439805],[-96.593418,28.357651],[-96.774157,28.406943],[-96.801542,28.226204],[-97.026096,28.039988],[-97.256128,27.694941],[-97.404005,27.333463],[-97.513544,27.360848],[-97.540929,27.229401],[-97.425913,27.262263],[-97.480682,26.99937],[-97.557359,26.988416],[-97.562836,26.840538],[-97.469728,26.758384],[-97.442344,26.457153],[-97.332805,26.353091],[-97.30542,26.161398],[-97.217789,25.991613],[-97.524498,25.887551],[-97.650467,26.018997],[-97.885976,26.06829],[-98.198161,26.057336],[-98.466531,26.221644],[-98.669178,26.238075],[-98.822533,26.369522],[-99.030656,26.413337],[-99.173057,26.539307],[-99.266165,26.840538],[-99.446904,27.021277],[-99.424996,27.174632],[-99.50715,27.33894],[-99.479765,27.48134],[-99.605735,27.640172],[-99.709797,27.656603],[-99.879582,27.799003],[-99.934351,27.979742],[-100.082229,28.14405],[-100.29583,28.280974],[-100.399891,28.582205],[-100.498476,28.66436],[-100.629923,28.905345],[-100.673738,29.102515],[-100.799708,29.244915],[-101.013309,29.370885],[-101.062601,29.458516],[-101.259771,29.535193],[-101.413125,29.754271],[-101.851281,29.803563],[-102.114174,29.792609],[-102.338728,29.869286],[-102.388021,29.765225],[-102.629006,29.732363],[-102.809745,29.524239],[-102.919284,29.190146],[-102.97953,29.184669],[-103.116454,28.987499],[-103.280762,28.982022],[-103.527224,29.135376],[-104.146119,29.381839],[-104.266611,29.513285],[-104.507597,29.639255],[-104.677382,29.924056],[-104.688336,30.181472],[-104.858121,30.389596],[-104.896459,30.570335],[-105.005998,30.685351],[-105.394861,30.855136],[-105.602985,31.085167],[-105.77277,31.167321],[-105.953509,31.364491],[-106.205448,31.468553],[-106.38071,31.731446],[-106.528588,31.786216],[-106.643603,31.901231],[-106.616219,31.999816],[-103.067161,31.999816],[-103.067161,33.002096],[-103.045254,34.01533],[-103.039777,36.501861],[-103.001438,36.501861],[-101.812942,36.501861]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-112.164359,41.995232],[-111.047063,42.000709],[-111.047063,40.998429],[-109.04798,40.998429],[-109.053457,39.125316],[-109.058934,38.27639],[-109.042503,38.166851],[-109.042503,37.000263],[-110.499369,37.00574],[-114.048427,37.000263],[-114.04295,41.995232],[-112.164359,41.995232]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-71.503554,45.013027],[-71.4926,44.914442],[-71.629524,44.750133],[-71.536416,44.585825],[-71.700724,44.41604],[-72.034817,44.322932],[-72.02934,44.07647],[-72.116971,43.994316],[-72.204602,43.769761],[-72.379864,43.572591],[-72.456542,43.150867],[-72.445588,43.008466],[-72.533219,42.953697],[-72.544173,42.80582],[-72.456542,42.729142],[-73.267129,42.745573],[-73.278083,42.833204],[-73.245221,43.523299],[-73.404052,43.687607],[-73.349283,43.769761],[-73.436914,44.043608],[-73.321898,44.246255],[-73.294514,44.437948],[-73.387622,44.618687],[-73.332852,44.804903],[-73.343806,45.013027],[-72.308664,45.002073],[-71.503554,45.013027]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-75.397659,38.013497],[-75.244304,38.029928],[-75.375751,37.860142],[-75.512674,37.799896],[-75.594828,37.569865],[-75.802952,37.197433],[-75.972737,37.120755],[-76.027507,37.257679],[-75.939876,37.564388],[-75.671506,37.95325],[-75.397659,38.013497]]],[[[-76.016553,37.95325],[-75.994645,37.95325],[-76.043938,37.95325],[-76.016553,37.95325]]],[[[-78.349729,39.464886],[-77.82942,39.130793],[-77.719881,39.322485],[-77.566527,39.306055],[-77.456988,39.223901],[-77.456988,39.076023],[-77.248864,39.026731],[-77.117418,38.933623],[-77.040741,38.791222],[-77.128372,38.632391],[-77.248864,38.588575],[-77.325542,38.446175],[-77.281726,38.342113],[-77.013356,38.374975],[-76.964064,38.216144],[-76.613539,38.15042],[-76.514954,38.024451],[-76.235631,37.887527],[-76.3616,37.608203],[-76.246584,37.389126],[-76.383508,37.285064],[-76.399939,37.159094],[-76.273969,37.082417],[-76.410893,36.961924],[-76.619016,37.120755],[-76.668309,37.065986],[-76.48757,36.95097],[-75.994645,36.923586],[-75.868676,36.551154],[-79.510841,36.5402],[-80.294043,36.545677],[-80.978661,36.562108],[-81.679709,36.589492],[-83.673316,36.600446],[-83.136575,36.742847],[-83.070852,36.852385],[-82.879159,36.890724],[-82.868205,36.978355],[-82.720328,37.044078],[-82.720328,37.120755],[-82.353373,37.268633],[-81.969987,37.537003],[-81.986418,37.454849],[-81.849494,37.285064],[-81.679709,37.20291],[-81.55374,37.208387],[-81.362047,37.339833],[-81.225123,37.235771],[-80.967707,37.290541],[-80.513121,37.482234],[-80.474782,37.421987],[-80.29952,37.509618],[-80.294043,37.690357],[-80.184505,37.849189],[-79.998289,37.997066],[-79.921611,38.177805],[-79.724442,38.364021],[-79.647764,38.594052],[-79.477979,38.457129],[-79.313671,38.413313],[-79.209609,38.495467],[-78.996008,38.851469],[-78.870039,38.763838],[-78.404499,39.169131],[-78.349729,39.464886]]]]}",
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[-117.033359,49.000239],[-117.044313,47.762451],[-117.038836,46.426077],[-117.055267,46.343923],[-116.92382,46.168661],[-116.918344,45.993399],[-118.988627,45.998876],[-119.125551,45.933153],[-119.525367,45.911245],[-119.963522,45.823614],[-120.209985,45.725029],[-120.505739,45.697644],[-120.637186,45.746937],[-121.18488,45.604536],[-121.217742,45.670259],[-121.535404,45.725029],[-121.809251,45.708598],[-122.247407,45.549767],[-122.762239,45.659305],[-122.811531,45.960537],[-122.904639,46.08103],[-123.11824,46.185092],[-123.211348,46.174138],[-123.370179,46.146753],[-123.545441,46.261769],[-123.72618,46.300108],[-123.874058,46.239861],[-124.065751,46.327492],[-124.027412,46.464416],[-123.895966,46.535616],[-124.098612,46.74374],[-124.235536,47.285957],[-124.31769,47.357157],[-124.427229,47.740543],[-124.624399,47.88842],[-124.706553,48.184175],[-124.597014,48.381345],[-124.394367,48.288237],[-123.983597,48.162267],[-123.704273,48.167744],[-123.424949,48.118452],[-123.162056,48.167744],[-123.036086,48.080113],[-122.800578,48.08559],[-122.636269,47.866512],[-122.515777,47.882943],[-122.493869,47.587189],[-122.422669,47.318818],[-122.324084,47.346203],[-122.422669,47.576235],[-122.395284,47.800789],[-122.230976,48.030821],[-122.362422,48.123929],[-122.373376,48.288237],[-122.471961,48.468976],[-122.422669,48.600422],[-122.488392,48.753777],[-122.647223,48.775685],[-122.795101,48.8907],[-122.756762,49.000239],[-117.033359,49.000239]]],[[[-122.718423,48.310145],[-122.586977,48.35396],[-122.608885,48.151313],[-122.767716,48.227991],[-122.718423,48.310145]]],[[[-123.025132,48.583992],[-122.915593,48.715438],[-122.767716,48.556607],[-122.811531,48.419683],[-123.041563,48.458022],[-123.025132,48.583992]]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-80.518598,40.636951],[-80.518598,39.722302],[-79.477979,39.722302],[-79.488933,39.20747],[-79.291763,39.300578],[-79.094593,39.470363],[-78.963147,39.437501],[-78.765977,39.585379],[-78.470222,39.514178],[-78.431884,39.623717],[-78.267575,39.61824],[-78.174467,39.694917],[-78.004682,39.601809],[-77.834897,39.601809],[-77.719881,39.322485],[-77.82942,39.130793],[-78.349729,39.464886],[-78.404499,39.169131],[-78.870039,38.763838],[-78.996008,38.851469],[-79.209609,38.495467],[-79.313671,38.413313],[-79.477979,38.457129],[-79.647764,38.594052],[-79.724442,38.364021],[-79.921611,38.177805],[-79.998289,37.997066],[-80.184505,37.849189],[-80.294043,37.690357],[-80.29952,37.509618],[-80.474782,37.421987],[-80.513121,37.482234],[-80.967707,37.290541],[-81.225123,37.235771],[-81.362047,37.339833],[-81.55374,37.208387],[-81.679709,37.20291],[-81.849494,37.285064],[-81.986418,37.454849],[-81.969987,37.537003],[-82.101434,37.553434],[-82.293127,37.668449],[-82.342419,37.783465],[-82.50125,37.931343],[-82.621743,38.123036],[-82.594358,38.424267],[-82.331465,38.446175],[-82.293127,38.577622],[-82.172634,38.632391],[-82.221926,38.785745],[-82.03571,39.026731],[-81.887833,38.873376],[-81.783771,38.966484],[-81.811156,39.0815],[-81.685186,39.273193],[-81.57017,39.267716],[-81.455155,39.410117],[-81.345616,39.344393],[-81.219646,39.388209],[-80.830783,39.711348],[-80.737675,40.078303],[-80.600752,40.319289],[-80.595275,40.472643],[-80.666475,40.582182],[-80.518598,40.636951]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-90.415429,46.568478],[-90.229213,46.508231],[-90.119674,46.338446],[-89.09001,46.135799],[-88.662808,45.987922],[-88.531362,46.020784],[-88.10416,45.922199],[-87.989145,45.796229],[-87.781021,45.675736],[-87.791975,45.500474],[-87.885083,45.363551],[-87.649574,45.341643],[-87.742682,45.199243],[-87.589328,45.095181],[-87.627666,44.974688],[-87.819359,44.95278],[-87.983668,44.722749],[-88.043914,44.563917],[-87.928898,44.536533],[-87.775544,44.640595],[-87.611236,44.837764],[-87.403112,44.914442],[-87.238804,45.166381],[-87.03068,45.22115],[-87.047111,45.089704],[-87.189511,44.969211],[-87.468835,44.552964],[-87.545512,44.322932],[-87.540035,44.158624],[-87.644097,44.103854],[-87.737205,43.8793],[-87.704344,43.687607],[-87.791975,43.561637],[-87.912467,43.249452],[-87.885083,43.002989],[-87.76459,42.783912],[-87.802929,42.493634],[-88.788778,42.493634],[-90.639984,42.510065],[-90.711184,42.636034],[-91.067185,42.75105],[-91.143862,42.909881],[-91.176724,43.134436],[-91.056231,43.254929],[-91.204109,43.353514],[-91.215062,43.501391],[-91.269832,43.616407],[-91.242447,43.775238],[-91.43414,43.994316],[-91.592971,44.032654],[-91.877772,44.202439],[-91.927065,44.333886],[-92.233773,44.443425],[-92.337835,44.552964],[-92.545959,44.569394],[-92.808852,44.750133],[-92.737652,45.117088],[-92.75956,45.286874],[-92.644544,45.440228],[-92.770513,45.566198],[-92.885529,45.577151],[-92.869098,45.719552],[-92.639067,45.933153],[-92.354266,46.015307],[-92.29402,46.075553],[-92.29402,46.667063],[-92.091373,46.749217],[-92.014696,46.705401],[-91.790141,46.694447],[-91.09457,46.864232],[-90.837154,46.95734],[-90.749522,46.88614],[-90.886446,46.754694],[-90.55783,46.584908],[-90.415429,46.568478]]]}",
"{\"type\":\"Polygon\",\"coordinates\":[[[-109.080842,45.002073],[-105.91517,45.002073],[-104.058488,44.996596],[-104.053011,43.002989],[-104.053011,41.003906],[-105.728954,40.998429],[-107.919731,41.003906],[-109.04798,40.998429],[-111.047063,40.998429],[-111.047063,42.000709],[-111.047063,44.476286],[-111.05254,45.002073],[-109.080842,45.002073]]]}"
]
},
"tooltips": {
"variables": [
"name",
"population"
],
"disable_splitting": true
}
}
],
"theme": {
"name": "classic",
"axis": {
"blank": true
},
"line": {
"blank": true
},
"axis_ontop": false,
"axis_ontop_y": false,
"axis_ontop_x": false
}
},
"apply_color_scheme": true,
"swing_enabled": true
}
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 17
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"### Custom SQL Database support\n",
"\n",
"Our JDBC-based SQL integration for DataFrame has become extensible!\n",
"\n",
"This means that if you have an SQL database that we currently don't support, you can\n",
"create your own `DbType` instance and read from your database to a dataframe.\n",
"(Remember that we already support quite a few databases: MariaDB, PostgreSQL, MySQL, SQLite, MS SQL, and H2 (with dialects))"
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"To get started, we need a custom `DbType`.\n",
"\n",
"For the sake of example, we'll create a custom DbType based on the `H2` Database. Ordinarily, you'd extend `DbType(\"jdbc name of your database\")`."
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:55.881508Z",
"start_time": "2024-12-06T13:22:55.696856Z"
}
},
"cell_type": "code",
"source": [
"import org.jetbrains.kotlinx.dataframe.io.db.*\n",
"import org.jetbrains.kotlinx.dataframe.schema.ColumnSchema\n",
"import java.sql.ResultSet\n",
"import kotlin.reflect.KType\n",
"\n",
"object CustomDbType : H2(MySql) {\n",
"\n",
" /**\n",
" * Represents the JDBC driver class name for a given database type.\n",
" * Something like \"org.h2.Driver\".\n",
" */\n",
" override val driverClassName: String\n",
" get() = super.driverClassName\n",
"\n",
" /**\n",
" * Here you define which KType you expect the column to be based on [tableColumnMetadata].\n",
" * This is mostly for special cases, as DataFrame can already infer most types\n",
" * from the databse automatically.\n",
" *\n",
" * Return `null` to let DataFrame figure out the type.\n",
" */\n",
" override fun convertSqlTypeToKType(tableColumnMetadata: TableColumnMetadata): KType? {\n",
" return super.convertSqlTypeToKType(tableColumnMetadata)\n",
" }\n",
"\n",
" /**\n",
" * Similar to [convertSqlTypeToKType] but here you'll need to define a [ColumnSchema] for the column\n",
" * based on [tableColumnMetadata].\n",
" *\n",
" * Return `null` to let DataFrame figure out the schema.\n",
" */\n",
" override fun convertSqlTypeToColumnSchemaValue(tableColumnMetadata: TableColumnMetadata): ColumnSchema? {\n",
" return super.convertSqlTypeToColumnSchemaValue(tableColumnMetadata)\n",
" }\n",
"\n",
" /**\n",
" * Here you define where to get the table metadata for information about the database table,\n",
" * including its name, schema name, and catalogue name.\n",
" */\n",
" override fun buildTableMetadata(tables: ResultSet): TableMetadata {\n",
" return super.buildTableMetadata(tables)\n",
" }\n",
"\n",
" /**\n",
" * Return whether the table with metadata [tableMetadata] should be considered\n",
" * a system table or not.\n",
" *\n",
" * System tables are skipped when reading.\n",
" */\n",
" override fun isSystemTable(tableMetadata: TableMetadata): Boolean {\n",
" return super.isSystemTable(tableMetadata)\n",
" }\n",
"\n",
" /**\n",
" * Can be overridden to change DataFrame limits queries in your specific DataBase type.\n",
" *\n",
" * By default it executes: `\"$sqlQuery LIMIT $limit\"`\n",
" */\n",
" override fun sqlQueryLimit(sqlQuery: String, limit: Int): String {\n",
" return super.sqlQueryLimit(sqlQuery, limit)\n",
" }\n",
"}"
],
"outputs": [],
"execution_count": 18
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Now that we have a custom `DbType` we can connect to our database (add some demo data) and retrieve it in a dataframe!"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:22:59.254923Z",
"start_time": "2024-12-06T13:22:58.635951Z"
}
},
"cell_type": "code",
"source": [
"import org.intellij.lang.annotations.Language\n",
"import java.sql.DriverManager\n",
"\n",
"val URL = \"jdbc:h2:mem:test5;DB_CLOSE_DELAY=-1;MODE=MySQL;DATABASE_TO_UPPER=false\"\n",
"val connection = DriverManager.getConnection(URL)\n",
"\n",
"// insert some demo data\n",
"val statements = listOf(\n",
" \"\"\"\n",
" CREATE TABLE Customer (\n",
" id INT PRIMARY KEY,\n",
" name VARCHAR(50),\n",
" age INT\n",
" )\n",
" \"\"\".trimIndent(),\n",
" \"\"\"\n",
" CREATE TABLE Sale (\n",
" id INT PRIMARY KEY,\n",
" customerId INT,\n",
" amount DECIMAL(10, 2) NOT NULL\n",
" )\n",
" \"\"\".trimIndent(),\n",
" \"INSERT INTO Customer (id, name, age) VALUES (1, 'John', 40)\",\n",
" \"INSERT INTO Customer (id, name, age) VALUES (2, 'Alice', 25)\",\n",
" \"INSERT INTO Customer (id, name, age) VALUES (3, 'Bob', 47)\",\n",
" \"INSERT INTO Customer (id, name, age) VALUES (4, NULL, NULL)\",\n",
" \"INSERT INTO Sale (id, customerId, amount) VALUES (1, 1, 100.50)\",\n",
" \"INSERT INTO Sale (id, customerId, amount) VALUES (2, 2, 50.00)\",\n",
" \"INSERT INTO Sale (id, customerId, amount) VALUES (3, 1, 75.25)\",\n",
" \"INSERT INTO Sale (id, customerId, amount) VALUES (4, 3, 35.15)\",\n",
")\n",
"statements.forEach { connection.createStatement().execute(it) }"
],
"outputs": [],
"execution_count": 19
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:23:00.639307Z",
"start_time": "2024-12-06T13:23:00.376403Z"
}
},
"cell_type": "code",
"source": [
"// and read it :)\n",
"DataFrame.readSqlQuery(connection, \"SELECT * FROM Customer\")"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_17()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_17\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202592&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 4, columnsCount = 3&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;id: Int&bsol;&quot;&gt;id&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;2&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;3&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;4&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;name: String?&bsol;&quot;&gt;name&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;John&quot;,&quot;Alice&quot;,&quot;Bob&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;age: Int?&bsol;&quot;&gt;age&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;40&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;25&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;47&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;null&bsol;&quot;&gt;null&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202592, rootId: 587202592, totalRows: 4 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202592) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_17() {\n",
" let elem = document.getElementById(\"iframe_out_17\");\n",
" resize_iframe_out_17(elem);\n",
" setInterval(resize_iframe_out_17, 5000, elem);\n",
" }\n",
" function resize_iframe_out_17(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202593\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">id</th><th class=\"bottomBorder\" style=\"text-align:left\">name</th><th class=\"bottomBorder\" style=\"text-align:left\">age</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">John</td><td style=\"vertical-align:top\">40</td></tr><tr><td style=\"vertical-align:top\">2</td><td style=\"vertical-align:top\">Alice</td><td style=\"vertical-align:top\">25</td></tr><tr><td style=\"vertical-align:top\">3</td><td style=\"vertical-align:top\">Bob</td><td style=\"vertical-align:top\">47</td></tr><tr><td style=\"vertical-align:top\">4</td><td style=\"vertical-align:top\">null</td><td style=\"vertical-align:top\">null</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202593\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"id\",\"name\",\"age\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int?\"}],\"nrow\":4,\"ncol\":3},\"kotlin_dataframe\":[{\"id\":1,\"name\":\"John\",\"age\":40},{\"id\":2,\"name\":\"Alice\",\"age\":25},{\"id\":3,\"name\":\"Bob\",\"age\":47},{\"id\":4,\"name\":null,\"age\":null}]}"
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 20
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"On the documentation website, you can find another [example](https://kotlin.github.io/dataframe/readSqlFromCustomDatabase.html) to support custom databases.\n",
"This time, it uses HSQLDB."
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"### `BigInteger` support\n",
"\n",
"Java has support for arbitrarily large decimal- and integer values: `BigDecimal` and `BigInteger`.\n",
"This is very helpful when working with huge numbers and `Double` and `Long` are not big enough.\n",
"Maybe Kotlin will even gain its own representation [in the future](https://youtrack.jetbrains.com/issue/KT-20912/BigDecimal-BigInteger-types-in-Kotlin-stdlib)!\n",
"\n",
"DataFrame has supported `BigDecimal` for a while, but it lacked `BigInteger` support. DataFrame 0.15 fixes that.\n",
"\n",
"Let's make a column with numbers so large that they can only be represented as `String`:"
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:23:06.153948Z",
"start_time": "2024-12-06T13:23:05.802813Z"
}
},
"cell_type": "code",
"source": [
"import java.math.BigInteger\n",
"import kotlin.random.Random\n",
"import kotlin.random.nextLong\n",
"import kotlin.random.nextUInt\n",
"\n",
"val largestLong = Long.MAX_VALUE.toString()\n",
"val giantNumberCol: DataColumn<String> by List(10) {\n",
" largestLong + abs(Random.nextLong()).toString()\n",
"}.toColumn()\n",
"\n",
"giantNumberCol"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_19()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_19\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202596&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;DataColumn: name = &quot;giantNumberCol&quot;, type = String, size = 10&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;giantNumberCol: String&bsol;&quot;&gt;giantNumberCol&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;92233720368547758076895131956927986339&quot;,&quot;92233720368547758078046379596815421908&quot;,&quot;92233720368547758074448343410727247115&quot;,&quot;92233720368547758076039595862559697533&quot;,&quot;92233720368547758075144108214797648735&quot;,&quot;92233720368547758078096095849008105978&quot;,&quot;92233720368547758074672787943104667710&quot;,&quot;92233720368547758074824236907230894613&quot;,&quot;92233720368547758072945460066985633410&quot;,&quot;92233720368547758078189171310245143715&quot;] }, \n",
"], id: 587202596, rootId: 587202596, totalRows: 10 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202596) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_19() {\n",
" let elem = document.getElementById(\"iframe_out_19\");\n",
" resize_iframe_out_19(elem);\n",
" setInterval(resize_iframe_out_19, 5000, elem);\n",
" }\n",
" function resize_iframe_out_19(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202597\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">giantNumberCol</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">92233720368547758076895131956927986339</td></tr><tr><td style=\"vertical-align:top\">92233720368547758078046379596815421908</td></tr><tr><td style=\"vertical-align:top\">92233720368547758074448343410727247115</td></tr><tr><td style=\"vertical-align:top\">92233720368547758076039595862559697533</td></tr><tr><td style=\"vertical-align:top\">92233720368547758075144108214797648735</td></tr><tr><td style=\"vertical-align:top\">92233720368547758078096095849008105978</td></tr><tr><td style=\"vertical-align:top\">92233720368547758074672787943104667710</td></tr><tr><td style=\"vertical-align:top\">92233720368547758074824236907230894613</td></tr><tr><td style=\"vertical-align:top\">92233720368547758072945460066985633410</td></tr><tr><td style=\"vertical-align:top\">92233720368547758078189171310245143715</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202597\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"giantNumberCol\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":10,\"ncol\":1},\"kotlin_dataframe\":[{\"giantNumberCol\":\"92233720368547758076895131956927986339\"},{\"giantNumberCol\":\"92233720368547758078046379596815421908\"},{\"giantNumberCol\":\"92233720368547758074448343410727247115\"},{\"giantNumberCol\":\"92233720368547758076039595862559697533\"},{\"giantNumberCol\":\"92233720368547758075144108214797648735\"},{\"giantNumberCol\":\"92233720368547758078096095849008105978\"},{\"giantNumberCol\":\"92233720368547758074672787943104667710\"},{\"giantNumberCol\":\"92233720368547758074824236907230894613\"},{\"giantNumberCol\":\"92233720368547758072945460066985633410\"},{\"giantNumberCol\":\"92233720368547758078189171310245143715\"}]}"
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 21
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"We now have overloads to convert/parse this column to `BigInteger`, just like for the other conversions.\n",
"This also allows us to perform mathematical operations with it!"
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:23:09.524002Z",
"start_time": "2024-12-06T13:23:09.358644Z"
}
},
"cell_type": "code",
"source": [
"val bigIntCol = giantNumberCol.convertToBigInteger()\n",
"\n",
"DISPLAY(bigIntCol.type)\n",
"\n",
"bigIntCol * -1.toBigInteger()"
],
"outputs": [
{
"data": {
"text/plain": [
"java.math.BigInteger"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_21()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_21\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202600&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;DataColumn: name = &quot;giantNumberCol&quot;, type = java.math.BigInteger, size = 10&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;giantNumberCol: java.math.BigInteger&bsol;&quot;&gt;giantNumberCol&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758076895131956927986339&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758078046379596815421908&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758074448343410727247115&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758076039595862559697533&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758075144108214797648735&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758078096095849008105978&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758074672787943104667710&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758074824236907230894613&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758072945460066985633410&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-92233720368547758078189171310245143715&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202600, rootId: 587202600, totalRows: 10 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202600) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_21() {\n",
" let elem = document.getElementById(\"iframe_out_21\");\n",
" resize_iframe_out_21(elem);\n",
" setInterval(resize_iframe_out_21, 5000, elem);\n",
" }\n",
" function resize_iframe_out_21(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202601\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">giantNumberCol</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">-92233720368547758076895131956927986339</td></tr><tr><td style=\"vertical-align:top\">-92233720368547758078046379596815421908</td></tr><tr><td style=\"vertical-align:top\">-92233720368547758074448343410727247115</td></tr><tr><td style=\"vertical-align:top\">-92233720368547758076039595862559697533</td></tr><tr><td style=\"vertical-align:top\">-92233720368547758075144108214797648735</td></tr><tr><td style=\"vertical-align:top\">-92233720368547758078096095849008105978</td></tr><tr><td style=\"vertical-align:top\">-92233720368547758074672787943104667710</td></tr><tr><td style=\"vertical-align:top\">-92233720368547758074824236907230894613</td></tr><tr><td style=\"vertical-align:top\">-92233720368547758072945460066985633410</td></tr><tr><td style=\"vertical-align:top\">-92233720368547758078189171310245143715</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202601\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"giantNumberCol\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"java.math.BigInteger\"}],\"nrow\":10,\"ncol\":1},\"kotlin_dataframe\":[{\"giantNumberCol\":\"-92233720368547758076895131956927986339\"},{\"giantNumberCol\":\"-92233720368547758078046379596815421908\"},{\"giantNumberCol\":\"-92233720368547758074448343410727247115\"},{\"giantNumberCol\":\"-92233720368547758076039595862559697533\"},{\"giantNumberCol\":\"-92233720368547758075144108214797648735\"},{\"giantNumberCol\":\"-92233720368547758078096095849008105978\"},{\"giantNumberCol\":\"-92233720368547758074672787943104667710\"},{\"giantNumberCol\":\"-92233720368547758074824236907230894613\"},{\"giantNumberCol\":\"-92233720368547758072945460066985633410\"},{\"giantNumberCol\":\"-92233720368547758078189171310245143715\"}]}"
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 22
},
{
"metadata": {},
"cell_type": "markdown",
"source": "We also support conversions from/to `BigInteger`, both on the column itself, and when the column is inside a dataframe:"
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:23:13.586831Z",
"start_time": "2024-12-06T13:23:13.267707Z"
}
},
"cell_type": "code",
"source": [
"val df = bigIntCol.toDataFrame()\n",
" .convert { bigIntCol }.toBigDecimal()\n",
"\n",
"DISPLAY(df.schema())\n",
"df"
],
"outputs": [
{
"data": {
"text/plain": [
"giantNumberCol: java.math.BigDecimal"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_23()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_23\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202604&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 10, columnsCount = 1&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;giantNumberCol: java.math.BigDecimal&bsol;&quot;&gt;giantNumberCol&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202604, rootId: 587202604, totalRows: 10 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202604) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_23() {\n",
" let elem = document.getElementById(\"iframe_out_23\");\n",
" resize_iframe_out_23(elem);\n",
" setInterval(resize_iframe_out_23, 5000, elem);\n",
" }\n",
" function resize_iframe_out_23(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202605\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">giantNumberCol</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">9223372036854775807689513195692798633<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">9223372036854775807804637959681542190<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">9223372036854775807444834341072724711<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">9223372036854775807603959586255969753<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">9223372036854775807514410821479764873<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">9223372036854775807809609584900810597<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">9223372036854775807467278794310466771<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">9223372036854775807482423690723089461<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">9223372036854775807294546006698563341<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">9223372036854775807818917131024514371<span class=\"structural\">...</span></td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202605\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"giantNumberCol\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"java.math.BigDecimal\"}],\"nrow\":10,\"ncol\":1},\"kotlin_dataframe\":[{\"giantNumberCol\":\"92233720368547758076895131956927986339\"},{\"giantNumberCol\":\"92233720368547758078046379596815421908\"},{\"giantNumberCol\":\"92233720368547758074448343410727247115\"},{\"giantNumberCol\":\"92233720368547758076039595862559697533\"},{\"giantNumberCol\":\"92233720368547758075144108214797648735\"},{\"giantNumberCol\":\"92233720368547758078096095849008105978\"},{\"giantNumberCol\":\"92233720368547758074672787943104667710\"},{\"giantNumberCol\":\"92233720368547758074824236907230894613\"},{\"giantNumberCol\":\"92233720368547758072945460066985633410\"},{\"giantNumberCol\":\"92233720368547758078189171310245143715\"}]}"
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 23
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"Finally, statistics also support `BigInteger`, as well as all other number types.\n",
"\n",
"(`.describe()` now also works a bit better, both supporting `BigInteger` as well as columns with mixed number types [Relevant issue #558](https://github.com/Kotlin/dataframe/issues/558).\n",
"We'll continue to improve the statistics functions in the next releases)"
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:23:16.423436Z",
"start_time": "2024-12-06T13:23:15.964868Z"
}
},
"cell_type": "code",
"source": [
"import java.math.BigDecimal\n",
"\n",
"val bigDecimalCol: DataColumn<BigDecimal> by bigIntCol.convertTo()\n",
"val mixedNumberCol: DataColumn<Number> by bigIntCol.map {\n",
" if (it % 2.toBigInteger() == 0.toBigInteger()) Random.nextDouble() else Random.nextInt()\n",
"}\n",
"\n",
"dataFrameOf(\n",
" bigIntCol named \"bigIntCol\",\n",
" bigDecimalCol,\n",
" mixedNumberCol,\n",
").describe()"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_25()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_25\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202608&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 3, columnsCount = 12&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;name: String&bsol;&quot;&gt;name&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;bigIntCol&quot;,&quot;bigDecimalCol&quot;,&quot;mixedNumberCol&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;type: String&bsol;&quot;&gt;type&lt;&sol;span&gt;&quot;, children: [], rightAlign: false, values: [&quot;java.math.BigInteger&quot;,&quot;java.math.BigDecimal&quot;,&quot;Number&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;count: Int&bsol;&quot;&gt;count&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;unique: Int&bsol;&quot;&gt;unique&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;10&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;nulls: Int&bsol;&quot;&gt;nulls&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;top: Number&bsol;&quot;&gt;top&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;92233720368547758076895131956927986339&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-558408044&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;freq: Int&bsol;&quot;&gt;freq&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;mean: Double&bsol;&quot;&gt;mean&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;92233720368547760000000000000000000000.000000&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9223372036854776000000000000000000000&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;92233720368547760000000000000000000000.000000&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9223372036854776000000000000000000000&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-285953766.155901&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;std: Double&bsol;&quot;&gt;std&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.000000&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1817876800039198720.000000&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1186872780.278754&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;min: Number&bsol;&quot;&gt;min&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;92233720368547758072945460066985633410&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-2.071878e+09&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;median: Number&bsol;&quot;&gt;median&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;92233720368547758075591852038678673134&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;92233720368547758075591852038678673134.000000&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9223372036854775807559185203867867313&lt;span class=&bsol;&quot;structural&bsol;&quot;&gt;...&lt;&sol;span&gt;&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.089672&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"{ name: &quot;&lt;span title=&bsol;&quot;max: Number&bsol;&quot;&gt;max&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;92233720368547758078189171310245143715&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;9.223372e+37&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.949814e+09&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202608, rootId: 587202608, totalRows: 3 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202608) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_25() {\n",
" let elem = document.getElementById(\"iframe_out_25\");\n",
" resize_iframe_out_25(elem);\n",
" setInterval(resize_iframe_out_25, 5000, elem);\n",
" }\n",
" function resize_iframe_out_25(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202609\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">name</th><th class=\"bottomBorder\" style=\"text-align:left\">type</th><th class=\"bottomBorder\" style=\"text-align:left\">count</th><th class=\"bottomBorder\" style=\"text-align:left\">unique</th><th class=\"bottomBorder\" style=\"text-align:left\">nulls</th><th class=\"bottomBorder\" style=\"text-align:left\">top</th><th class=\"bottomBorder\" style=\"text-align:left\">freq</th><th class=\"bottomBorder\" style=\"text-align:left\">mean</th><th class=\"bottomBorder\" style=\"text-align:left\">std</th><th class=\"bottomBorder\" style=\"text-align:left\">min</th><th class=\"bottomBorder\" style=\"text-align:left\">median</th><th class=\"bottomBorder\" style=\"text-align:left\">max</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">bigIntCol</td><td style=\"vertical-align:top\">java.math.BigInteger</td><td style=\"vertical-align:top\">10</td><td style=\"vertical-align:top\">10</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">92233720368547758076895131956927986339</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">9223372036854776000000000000000000000<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">0.000000</td><td style=\"vertical-align:top\">92233720368547758072945460066985633410</td><td style=\"vertical-align:top\">92233720368547758075591852038678673134</td><td style=\"vertical-align:top\">92233720368547758078189171310245143715</td></tr><tr><td style=\"vertical-align:top\">bigDecimalCol</td><td style=\"vertical-align:top\">java.math.BigDecimal</td><td style=\"vertical-align:top\">10</td><td style=\"vertical-align:top\">10</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">9223372036854775807689513195692798633<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">9223372036854776000000000000000000000<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">1817876800039198720.000000</td><td style=\"vertical-align:top\">9223372036854775807294546006698563341<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">9223372036854775807559185203867867313<span class=\"structural\">...</span></td><td style=\"vertical-align:top\">9223372036854775807818917131024514371<span class=\"structural\">...</span></td></tr><tr><td style=\"vertical-align:top\">mixedNumberCol</td><td style=\"vertical-align:top\">Number</td><td style=\"vertical-align:top\">10</td><td style=\"vertical-align:top\">10</td><td style=\"vertical-align:top\">0</td><td style=\"vertical-align:top\">-558408044</td><td style=\"vertical-align:top\">1</td><td style=\"vertical-align:top\">-285953766.155901</td><td style=\"vertical-align:top\">1186872780.278754</td><td style=\"vertical-align:top\">-2071877832.000000</td><td style=\"vertical-align:top\">0.089672</td><td style=\"vertical-align:top\">1949813924.000000</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202609\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"name\",\"type\",\"count\",\"unique\",\"nulls\",\"top\",\"freq\",\"mean\",\"std\",\"min\",\"median\",\"max\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Number\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Number\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Number\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Number\"}],\"nrow\":3,\"ncol\":12},\"kotlin_dataframe\":[{\"name\":\"bigIntCol\",\"type\":\"java.math.BigInteger\",\"count\":10,\"unique\":10,\"nulls\":0,\"top\":\"92233720368547758076895131956927986339\",\"freq\":1,\"mean\":9.223372036854776E37,\"std\":0.0,\"min\":\"92233720368547758072945460066985633410\",\"median\":\"92233720368547758075591852038678673134\",\"max\":\"92233720368547758078189171310245143715\"},{\"name\":\"bigDecimalCol\",\"type\":\"java.math.BigDecimal\",\"count\":10,\"unique\":10,\"nulls\":0,\"top\":\"92233720368547758076895131956927986339\",\"freq\":1,\"mean\":9.223372036854776E37,\"std\":1.81787680003919872E18,\"min\":\"92233720368547758072945460066985633410\",\"median\":\"92233720368547758075591852038678673134\",\"max\":\"92233720368547758078189171310245143715\"},{\"name\":\"mixedNumberCol\",\"type\":\"Number\",\"count\":10,\"unique\":10,\"nulls\":0,\"top\":\"-558408044\",\"freq\":1,\"mean\":-2.8595376615590066E8,\"std\":1.1868727802787535E9,\"min\":\"-2.071877832E9\",\"median\":\"0.08967151389679417\",\"max\":\"1.949813924E9\"}]}"
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 24
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"### Improved Parsing\n",
"\n",
"[Parsing](https://kotlin.github.io/dataframe/parse.html), in DataFrame, is a special case of [`convert`](https://kotlin.github.io/dataframe/convert.html).\n",
"It can convert `String` columns to any other supported type by guessing.\n",
"This can be done manually, by calling `.parse()` on a dataframe, but it also happens automatically when reading from textual data, like CSV.\n",
"\n",
"In DataFrame 0.15:\n",
"- The speed of parsing and guessing types has improved\n",
"- We gained support for parsing strings to `Char`\n",
"- We have a new experimental double parser\n",
"\n",
"The new double parser is based on [FastDoubleParser](https://github.com/wrandelshofer/FastDoubleParser) and\n",
"can be enabled by setting `useFastDoubleParser = true` in the parser options."
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:23:21.340462Z",
"start_time": "2024-12-06T13:23:21.180139Z"
}
},
"cell_type": "code",
"source": [
"// enabling the fast double parser globally can be done like\n",
"DataFrame.parser.apply {\n",
" useFastDoubleParser = true\n",
" // you can also set other global parsing options here\n",
"}\n",
"\n",
"// or you can choose to enable it per call\n",
"// Each function that parses strings should have the `parserOptions` argument:\n",
"DataFrame.readDelimStr(\n",
" text = \"\"\"\n",
" numbers\n",
" 0,12\n",
" 100.456,23\n",
" 1,00\n",
" \"\"\".trimIndent(),\n",
" delimiter = ';',\n",
" parserOptions = ParserOptions(\n",
" locale = Locale.GERMAN,\n",
" useFastDoubleParser = true,\n",
" )\n",
")"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_27()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_27\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202612&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;DataFrame: rowsCount = 3, columnsCount = 1&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;numbers: Double&bsol;&quot;&gt;numbers&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;0.12&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;100456.23&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1.00&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202612, rootId: 587202612, totalRows: 3 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202612) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_27() {\n",
" let elem = document.getElementById(\"iframe_out_27\");\n",
" resize_iframe_out_27(elem);\n",
" setInterval(resize_iframe_out_27, 5000, elem);\n",
" }\n",
" function resize_iframe_out_27(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202613\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">numbers</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">0.120000</td></tr><tr><td style=\"vertical-align:top\">100456.230000</td></tr><tr><td style=\"vertical-align:top\">1.000000</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202613\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"numbers\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":3,\"ncol\":1},\"kotlin_dataframe\":[{\"numbers\":0.12},{\"numbers\":100456.23},{\"numbers\":1.0}]}"
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 25
},
{
"metadata": {},
"cell_type": "markdown",
"source": [
"Our implementation of `FastDoubleParser` is configured to be very forgiving, depending on the locale.\n",
"\n",
"For instance, in the French, numbers are often formatted like \"100 512,123\", which contains a non-breaking space character (\" \").\n",
"If you come across files which use normal spaces (\" \"), many double parsers would fail.\n",
"\n",
"The same holds for the Estonian minus (\"\") which is expected if your locale is set to Estonian ([Relevant issue #607](https://github.com/Kotlin/dataframe/issues/607)).\n",
"\n",
"We now try to catch these cases and save you some headaches :).\n",
"Do not hesitate to provide feedback if you have a case that fails, and you think it should work!"
]
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-06T13:23:24.868732Z",
"start_time": "2024-12-06T13:23:24.657924Z"
}
},
"cell_type": "code",
"source": [
"val estonianNumbers by listOf(\n",
" \"12,45\",\n",
" \"13,35\", // note the different minus sign '' vs '-'\n",
" \"204 235,23\", // note the different minus sign '' vs '-'\n",
" \"100 123,35\", // space instead of NBSP\n",
" \"1,234e3\",\n",
" \"-345,122\", // 'ordinary' minus sign\n",
").toColumn()\n",
"\n",
"estonianNumbers.parse(ParserOptions(locale = Locale.forLanguageTag(\"et-EE\"), useFastDoubleParser = true))"
],
"outputs": [
{
"data": {
"text/html": [
" <iframe onload=\"o_resize_iframe_out_29()\" style=\"width:100%;\" class=\"result_container\" id=\"iframe_out_29\" frameBorder=\"0\" srcdoc=\" &lt;html theme='dark'&gt;\n",
" &lt;head&gt;\n",
" &lt;style type=&quot;text&sol;css&quot;&gt;\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody &gt; tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover &gt; td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"&sol;* formatting *&sol;\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
":root {\n",
" --scroll-bg: #f5f5f5;\n",
" --scroll-fg: #b3b3b3;\n",
"}\n",
":root[theme=&quot;dark&quot;], :root [data-jp-theme-light=&quot;false&quot;]{\n",
" --scroll-bg: #3c3c3c;\n",
" --scroll-fg: #97e1fb;\n",
"}\n",
"body {\n",
" scrollbar-color: var(--scroll-fg) var(--scroll-bg);\n",
"}\n",
"body::-webkit-scrollbar {\n",
" width: 10px; &sol;* Mostly for vertical scrollbars *&sol;\n",
" height: 10px; &sol;* Mostly for horizontal scrollbars *&sol;\n",
"}\n",
"body::-webkit-scrollbar-thumb {\n",
" background-color: var(--scroll-fg);\n",
"}\n",
"body::-webkit-scrollbar-track {\n",
" background-color: var(--scroll-bg);\n",
"}\n",
" &lt;&sol;style&gt;\n",
" &lt;&sol;head&gt;\n",
" &lt;body&gt;\n",
" &lt;table class=&quot;dataframe&quot; id=&quot;df_587202616&quot;&gt;&lt;&sol;table&gt;\n",
"\n",
"&lt;p class=&quot;dataframe_description&quot;&gt;DataColumn: name = &quot;estonianNumbers&quot;, type = Double, size = 6&lt;&sol;p&gt;\n",
"\n",
" &lt;&sol;body&gt;\n",
" &lt;script&gt;\n",
" (function () {\n",
" window.DataFrame = window.DataFrame || new (function () {\n",
" this.addTable = function (df) {\n",
" let cols = df.cols;\n",
" for (let i = 0; i &lt; cols.length; i++) {\n",
" for (let c of cols[i].children) {\n",
" cols[c].parent = i;\n",
" }\n",
" }\n",
" df.nrow = 0\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" if (df.cols[i].values.length &gt; df.nrow) df.nrow = df.cols[i].values.length\n",
" }\n",
" if (df.id === df.rootId) {\n",
" df.expandedFrames = new Set()\n",
" df.childFrames = {}\n",
" const table = this.getTableElement(df.id)\n",
" table.df = df\n",
" for (let i = 0; i &lt; df.cols.length; i++) {\n",
" let col = df.cols[i]\n",
" if (col.parent === undefined &amp;&amp; col.children.length &gt; 0) col.expanded = true\n",
" }\n",
" } else {\n",
" const rootDf = this.getTableData(df.rootId)\n",
" rootDf.childFrames[df.id] = df\n",
" }\n",
" }\n",
"\n",
" this.computeRenderData = function (df) {\n",
" let result = []\n",
" let pos = 0\n",
" for (let col = 0; col &lt; df.cols.length; col++) {\n",
" if (df.cols[col].parent === undefined)\n",
" pos += this.computeRenderDataRec(df.cols, col, pos, 0, result, false, false)\n",
" }\n",
" for (let i = 0; i &lt; result.length; i++) {\n",
" let row = result[i]\n",
" for (let j = 0; j &lt; row.length; j++) {\n",
" let cell = row[j]\n",
" if (j === 0)\n",
" cell.leftBd = false\n",
" if (j &lt; row.length - 1) {\n",
" let nextData = row[j + 1]\n",
" if (nextData.leftBd) cell.rightBd = true\n",
" else if (cell.rightBd) nextData.leftBd = true\n",
" } else cell.rightBd = false\n",
" }\n",
" }\n",
" return result\n",
" }\n",
"\n",
" this.computeRenderDataRec = function (cols, colId, pos, depth, result, leftBorder, rightBorder) {\n",
" if (result.length === depth) {\n",
" const array = [];\n",
" if (pos &gt; 0) {\n",
" let j = 0\n",
" for (let i = 0; j &lt; pos; i++) {\n",
" let c = result[depth - 1][i]\n",
" j += c.span\n",
" let copy = Object.assign({empty: true}, c)\n",
" array.push(copy)\n",
" }\n",
" }\n",
" result.push(array)\n",
" }\n",
" const col = cols[colId];\n",
" let size = 0;\n",
" if (col.expanded) {\n",
" let childPos = pos\n",
" for (let i = 0; i &lt; col.children.length; i++) {\n",
" let child = col.children[i]\n",
" let childLeft = i === 0 &amp;&amp; (col.children.length &gt; 1 || leftBorder)\n",
" let childRight = i === col.children.length - 1 &amp;&amp; (col.children.length &gt; 1 || rightBorder)\n",
" let childSize = this.computeRenderDataRec(cols, child, childPos, depth + 1, result, childLeft, childRight)\n",
" childPos += childSize\n",
" size += childSize\n",
" }\n",
" } else {\n",
" for (let i = depth + 1; i &lt; result.length; i++)\n",
" result[i].push({id: colId, span: 1, leftBd: leftBorder, rightBd: rightBorder, empty: true})\n",
" size = 1\n",
" }\n",
" let left = leftBorder\n",
" let right = rightBorder\n",
" if (size &gt; 1) {\n",
" left = true\n",
" right = true\n",
" }\n",
" result[depth].push({id: colId, span: size, leftBd: left, rightBd: right})\n",
" return size\n",
" }\n",
"\n",
" this.getTableElement = function (id) {\n",
" return document.getElementById(&quot;df_&quot; + id)\n",
" }\n",
"\n",
" this.getTableData = function (id) {\n",
" return this.getTableElement(id).df\n",
" }\n",
"\n",
" this.createExpander = function (isExpanded) {\n",
" const svgNs = &quot;http:&sol;&sol;www.w3.org&sol;2000&sol;svg&quot;\n",
" let svg = document.createElementNS(svgNs, &quot;svg&quot;)\n",
" svg.classList.add(&quot;expanderSvg&quot;)\n",
" let path = document.createElementNS(svgNs, &quot;path&quot;)\n",
" if (isExpanded) {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;0 -2 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 4 4 4 -4 -1 -1 -3 3Z&quot;)\n",
" } else {\n",
" svg.setAttribute(&quot;viewBox&quot;, &quot;-2 0 8 8&quot;)\n",
" path.setAttribute(&quot;d&quot;, &quot;M1 0 l-1 1 3 3 -3 3 1 1 4 -4Z&quot;)\n",
" }\n",
" path.setAttribute(&quot;fill&quot;, &quot;currentColor&quot;)\n",
" svg.appendChild(path)\n",
" return svg\n",
" }\n",
"\n",
" this.renderTable = function (id) {\n",
"\n",
" let table = this.getTableElement(id)\n",
"\n",
" if (table === null) return\n",
"\n",
" table.innerHTML = &quot;&quot;\n",
"\n",
" let df = table.df\n",
" let rootDf = df.rootId === df.id ? df : this.getTableData(df.rootId)\n",
"\n",
" &sol;&sol; header\n",
" let header = document.createElement(&quot;thead&quot;)\n",
" table.appendChild(header)\n",
"\n",
" let renderData = this.computeRenderData(df)\n",
" for (let j = 0; j &lt; renderData.length; j++) {\n",
" let rowData = renderData[j]\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" let isLastRow = j === renderData.length - 1\n",
" header.appendChild(tr);\n",
" for (let i = 0; i &lt; rowData.length; i++) {\n",
" let cell = rowData[i]\n",
" let th = document.createElement(&quot;th&quot;);\n",
" th.setAttribute(&quot;colspan&quot;, cell.span)\n",
" let colId = cell.id\n",
" let col = df.cols[colId];\n",
" if (!cell.empty) {\n",
" if (col.children.length === 0) {\n",
" th.innerHTML = col.name\n",
" } else {\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" col.expanded = !col.expanded\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(col.expanded))\n",
" link.innerHTML += col.name\n",
" th.appendChild(link)\n",
" }\n",
" }\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (isLastRow)\n",
" classes += &quot; bottomBorder&quot;\n",
" if (classes.length &gt; 0)\n",
" th.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(th)\n",
" }\n",
" }\n",
"\n",
" &sol;&sol; body\n",
" let body = document.createElement(&quot;tbody&quot;)\n",
" table.appendChild(body)\n",
"\n",
" let columns = renderData.pop()\n",
" for (let row = 0; row &lt; df.nrow; row++) {\n",
" let tr = document.createElement(&quot;tr&quot;);\n",
" body.appendChild(tr)\n",
" for (let i = 0; i &lt; columns.length; i++) {\n",
" let cell = columns[i]\n",
" let td = document.createElement(&quot;td&quot;);\n",
" let colId = cell.id\n",
" let col = df.cols[colId]\n",
" let classes = (cell.leftBd ? &quot; leftBorder&quot; : &quot;&quot;) + (cell.rightBd ? &quot; rightBorder&quot; : &quot;&quot;)\n",
" if (col.rightAlign)\n",
" classes += &quot; rightAlign&quot;\n",
" if (classes.length &gt; 0)\n",
" td.setAttribute(&quot;class&quot;, classes)\n",
" tr.appendChild(td)\n",
" let value = col.values[row]\n",
" if (value.frameId !== undefined) {\n",
" let frameId = value.frameId\n",
" let expanded = rootDf.expandedFrames.has(frameId)\n",
" let link = document.createElement(&quot;a&quot;)\n",
" link.className = &quot;expander&quot;\n",
" let that = this\n",
" link.onclick = function () {\n",
" if (rootDf.expandedFrames.has(frameId))\n",
" rootDf.expandedFrames.delete(frameId)\n",
" else rootDf.expandedFrames.add(frameId)\n",
" that.renderTable(id)\n",
" }\n",
" link.appendChild(this.createExpander(expanded))\n",
" link.innerHTML += value.value\n",
" if (expanded) {\n",
" td.appendChild(link)\n",
" td.appendChild(document.createElement(&quot;p&quot;))\n",
" const childTable = document.createElement(&quot;table&quot;)\n",
" childTable.className = &quot;dataframe&quot;\n",
" childTable.id = &quot;df_&quot; + frameId\n",
" let childDf = rootDf.childFrames[frameId]\n",
" childTable.df = childDf\n",
" td.appendChild(childTable)\n",
" this.renderTable(frameId)\n",
" if (childDf.nrow !== childDf.totalRows) {\n",
" const footer = document.createElement(&quot;p&quot;)\n",
" footer.innerText = `... showing only top ${childDf.nrow} of ${childDf.totalRows} rows`\n",
" td.appendChild(footer)\n",
" }\n",
" } else {\n",
" td.appendChild(link)\n",
" }\n",
" } else if (value.style !== undefined) {\n",
" td.innerHTML = value.value\n",
" td.setAttribute(&quot;style&quot;, value.style)\n",
" } else td.innerHTML = value\n",
" this.nodeScriptReplace(td)\n",
" }\n",
" }\n",
" }\n",
"\n",
" this.nodeScriptReplace = function (node) {\n",
" if (this.nodeScriptIs(node) === true) {\n",
" node.parentNode.replaceChild(this.nodeScriptClone(node), node);\n",
" } else {\n",
" let i = -1, children = node.childNodes;\n",
" while (++i &lt; children.length) {\n",
" this.nodeScriptReplace(children[i]);\n",
" }\n",
" }\n",
"\n",
" return node;\n",
" }\n",
"\n",
" this.nodeScriptClone = function (node) {\n",
" let script = document.createElement(&quot;script&quot;);\n",
" script.text = node.innerHTML;\n",
"\n",
" let i = -1, attrs = node.attributes, attr;\n",
" while (++i &lt; attrs.length) {\n",
" script.setAttribute((attr = attrs[i]).name, attr.value);\n",
" }\n",
" return script;\n",
" }\n",
"\n",
" this.nodeScriptIs = function (node) {\n",
" return node.tagName === 'SCRIPT';\n",
" }\n",
" })()\n",
"\n",
" window.call_DataFrame = function (f) {\n",
" return f();\n",
" };\n",
"\n",
" let funQueue = window[&quot;kotlinQueues&quot;] &amp;&amp; window[&quot;kotlinQueues&quot;][&quot;DataFrame&quot;];\n",
" if (funQueue) {\n",
" funQueue.forEach(function (f) {\n",
" f();\n",
" });\n",
" funQueue = [];\n",
" }\n",
"})()\n",
"\n",
"&sol;*&lt;!--*&sol;\n",
"call_DataFrame(function() { DataFrame.addTable({ cols: [{ name: &quot;&lt;span title=&bsol;&quot;estonianNumbers: Double&bsol;&quot;&gt;estonianNumbers&lt;&sol;span&gt;&quot;, children: [], rightAlign: true, values: [&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;12.450&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-13.350&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-204235.230&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;100123.350&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;1234.000&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;,&quot;&lt;span class=&bsol;&quot;formatted&bsol;&quot; title=&bsol;&quot;&bsol;&quot;&gt;&lt;span class=&bsol;&quot;numbers&bsol;&quot;&gt;-345.122&lt;&sol;span&gt;&lt;&sol;span&gt;&quot;] }, \n",
"], id: 587202616, rootId: 587202616, totalRows: 6 } ) });\n",
"&sol;*--&gt;*&sol;\n",
"\n",
"call_DataFrame(function() { DataFrame.renderTable(587202616) });\n",
"\n",
"\n",
" &lt;&sol;script&gt;\n",
" &lt;&sol;html&gt;\"></iframe>\n",
" <script>\n",
" function o_resize_iframe_out_29() {\n",
" let elem = document.getElementById(\"iframe_out_29\");\n",
" resize_iframe_out_29(elem);\n",
" setInterval(resize_iframe_out_29, 5000, elem);\n",
" }\n",
" function resize_iframe_out_29(el) {\n",
" let h = el.contentWindow.document.body.scrollHeight;\n",
" el.height = h === 0 ? 0 : h + 41;\n",
" }\n",
" </script> <html theme='dark'>\n",
" <head>\n",
" <style type=\"text/css\">\n",
" :root {\n",
" --background: #fff;\n",
" --background-odd: #f5f5f5;\n",
" --background-hover: #d9edfd;\n",
" --header-text-color: #474747;\n",
" --text-color: #848484;\n",
" --text-color-dark: #000;\n",
" --text-color-medium: #737373;\n",
" --text-color-pale: #b3b3b3;\n",
" --inner-border-color: #aaa;\n",
" --bold-border-color: #000;\n",
" --link-color: #296eaa;\n",
" --link-color-pale: #296eaa;\n",
" --link-hover: #1a466c;\n",
"}\n",
"\n",
":root[theme=\"dark\"], :root [data-jp-theme-light=\"false\"], .dataframe_dark{\n",
" --background: #303030;\n",
" --background-odd: #3c3c3c;\n",
" --background-hover: #464646;\n",
" --header-text-color: #dddddd;\n",
" --text-color: #b3b3b3;\n",
" --text-color-dark: #dddddd;\n",
" --text-color-medium: #b2b2b2;\n",
" --text-color-pale: #737373;\n",
" --inner-border-color: #707070;\n",
" --bold-border-color: #777777;\n",
" --link-color: #008dc0;\n",
" --link-color-pale: #97e1fb;\n",
" --link-hover: #00688e;\n",
"}\n",
"\n",
"p.dataframe_description {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe {\n",
" font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n",
" font-size: 12px;\n",
" background-color: var(--background);\n",
" color: var(--text-color-dark);\n",
" border: none;\n",
" border-collapse: collapse;\n",
"}\n",
"\n",
"table.dataframe th, td {\n",
" padding: 6px;\n",
" border: 1px solid transparent;\n",
" text-align: left;\n",
"}\n",
"\n",
"table.dataframe th {\n",
" background-color: var(--background);\n",
" color: var(--header-text-color);\n",
"}\n",
"\n",
"table.dataframe td {\n",
" vertical-align: top;\n",
" white-space: nowrap;\n",
"}\n",
"\n",
"table.dataframe th.bottomBorder {\n",
" border-bottom-color: var(--bold-border-color);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(odd) {\n",
" background: var(--background-odd);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:nth-child(even) {\n",
" background: var(--background);\n",
"}\n",
"\n",
"table.dataframe tbody > tr:hover {\n",
" background: var(--background-hover);\n",
"}\n",
"\n",
"table.dataframe a {\n",
" cursor: pointer;\n",
" color: var(--link-color);\n",
" text-decoration: none;\n",
"}\n",
"\n",
"table.dataframe tr:hover > td a {\n",
" color: var(--link-color-pale);\n",
"}\n",
"\n",
"table.dataframe a:hover {\n",
" color: var(--link-hover);\n",
" text-decoration: underline;\n",
"}\n",
"\n",
"table.dataframe img {\n",
" max-width: fit-content;\n",
"}\n",
"\n",
"table.dataframe th.complex {\n",
" background-color: var(--background);\n",
" border: 1px solid var(--background);\n",
"}\n",
"\n",
"table.dataframe .leftBorder {\n",
" border-left-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightBorder {\n",
" border-right-color: var(--inner-border-color);\n",
"}\n",
"\n",
"table.dataframe .rightAlign {\n",
" text-align: right;\n",
"}\n",
"\n",
"table.dataframe .expanderSvg {\n",
" width: 8px;\n",
" height: 8px;\n",
" margin-right: 3px;\n",
"}\n",
"\n",
"table.dataframe .expander {\n",
" display: flex;\n",
" align-items: center;\n",
"}\n",
"\n",
"/* formatting */\n",
"\n",
"table.dataframe .null {\n",
" color: var(--text-color-pale);\n",
"}\n",
"\n",
"table.dataframe .structural {\n",
" color: var(--text-color-medium);\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .dataFrameCaption {\n",
" font-weight: bold;\n",
"}\n",
"\n",
"table.dataframe .numbers {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe td:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"table.dataframe tr:hover .formatted .structural, .null {\n",
" color: var(--text-color-dark);\n",
"}\n",
"\n",
"\n",
" </style>\n",
" </head>\n",
" <body>\n",
" <table class=\"dataframe\" id=\"static_df_587202617\"><thead><tr><th class=\"bottomBorder\" style=\"text-align:left\">estonianNumbers</th></tr></thead><tbody><tr><td style=\"vertical-align:top\">12.450000</td></tr><tr><td style=\"vertical-align:top\">-13.350000</td></tr><tr><td style=\"vertical-align:top\">-204235.230000</td></tr><tr><td style=\"vertical-align:top\">100123.350000</td></tr><tr><td style=\"vertical-align:top\">1234.000000</td></tr><tr><td style=\"vertical-align:top\">-345.122000</td></tr></tbody></table>\n",
" </body>\n",
" <script>\n",
" document.getElementById(\"static_df_587202617\").style.display = \"none\";\n",
" </script>\n",
" </html>"
],
"application/kotlindataframe+json": "{\"$version\":\"2.1.1\",\"metadata\":{\"columns\":[\"estonianNumbers\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"}],\"nrow\":6,\"ncol\":1},\"kotlin_dataframe\":[{\"estonianNumbers\":12.45},{\"estonianNumbers\":-13.35},{\"estonianNumbers\":-204235.23},{\"estonianNumbers\":100123.35},{\"estonianNumbers\":1234.0},{\"estonianNumbers\":-345.122}]}"
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 26
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2024-12-04T16:30:42.349987Z",
"start_time": "2024-12-04T16:30:42.343181Z"
}
},
"cell_type": "code",
"source": "",
"outputs": [],
"execution_count": null
}
],
"metadata": {
"kernelspec": {
"display_name": "Kotlin",
"language": "kotlin",
"name": "kotlin"
},
"language_info": {
"name": "kotlin",
"version": "1.9.23",
"mimetype": "text/x-kotlin",
"file_extension": ".kt",
"pygments_lexer": "kotlin",
"codemirror_mode": "text/x-kotlin",
"nbconvert_exporter": ""
},
"ktnbPluginMetadata": {
"projectLibraries": false
}
},
"nbformat": 4,
"nbformat_minor": 0
}